@leavepulse/ui 0.69.0 → 0.70.1

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 (640) hide show
  1. package/README.md +49 -0
  2. package/dist/assets/LoaderMark-DxBV2iDJ.css +43 -0
  3. package/dist/assets/LpActivityLine-B3EwNQEB.css +33 -0
  4. package/dist/assets/{LpCommandPalette-DxyjhYn_.css → LpCommandPalette-u-zOxKWa.css} +21 -31
  5. package/dist/assets/LpDock-Cbh0wQUv.css +17 -0
  6. package/dist/assets/{LpDropzone-Qb8k7cg4.css → LpDropzone-Bb1vBTeU.css} +12 -17
  7. package/dist/assets/{LpImageEditor-CElPDzpF.css → LpImageEditor-XM5bAziW.css} +6 -6
  8. package/dist/assets/LpLogViewer-BDNW6P52.css +38 -0
  9. package/dist/assets/{LpPalettePreview-CJmAKgYW.css → LpPalettePreview-B9VKDrvA.css} +2 -7
  10. package/dist/assets/LpRepeater-C1Cw27hj.css +21 -0
  11. package/dist/assets/{LpRollingText-BGnE6q9j.css → LpRollingText-dyOXedGO.css} +7 -0
  12. package/dist/assets/LpShinyText-D69cBYDR.css +61 -0
  13. package/dist/assets/LpStatus-430OGTZY.css +17 -0
  14. package/dist/assets/LpStepMark-Drvx33Vg.css +10 -0
  15. package/dist/assets/{LpTable-BPERfJIk.css → LpTable-DHxEQ_-3.css} +19 -19
  16. package/dist/assets/LpTabs-BJ-nrJuI.css +18 -0
  17. package/dist/assets/LpTextReveal-DjI1MsDS.css +35 -0
  18. package/dist/assets/LpTypewriter-CXAm9Nca.css +27 -0
  19. package/dist/chunks/AttentionDot-DCBf4aWg.js +25 -0
  20. package/dist/chunks/{ContextMenuItems-B7XFHksm.js → ContextMenuItems-6kxEivBI.js} +11 -5
  21. package/dist/chunks/{DropzoneLinkField-CjkrpDqO.js → DropzoneLinkField-Bw8Flkhk.js} +2 -2
  22. package/dist/chunks/FieldWrapper-BiennROB.js +43 -0
  23. package/dist/chunks/{LayoutCanvas-DF9CovaK.js → LayoutCanvas-BsJIzhdd.js} +1 -1
  24. package/dist/chunks/{LayoutNode-D9bIFzk0.js → LayoutNode-DJVhkSGk.js} +6 -8
  25. package/dist/chunks/LegendSwatch-BhRjrtzv.js +18 -0
  26. package/dist/chunks/LoaderMark-C1dubiKn.js +85 -0
  27. package/dist/chunks/{LpActionBar-MPKMu3pz.js → LpActionBar-CzOFar5t.js} +14 -20
  28. package/dist/chunks/LpActivityLine-CJvzrNpj.js +95 -0
  29. package/dist/chunks/{LpAddressInput-DG0BTqdH.js → LpAddressInput-Chv_Xf8q.js} +7 -7
  30. package/dist/chunks/LpAlert-C5igj802.js +119 -0
  31. package/dist/chunks/{LpAppShell-DPh1756q.js → LpAppShell-BiWByLmt.js} +15 -16
  32. package/dist/chunks/{LpAutocomplete-Dgn6hw3p.js → LpAutocomplete-D92niDHE.js} +15 -32
  33. package/dist/chunks/{LpAvatar-Bs0Fb1lC.js → LpAvatar-CLPl-qOF.js} +18 -6
  34. package/dist/chunks/LpBadge-BBq1Er9T.js +126 -0
  35. package/dist/chunks/LpBreadcrumbs-JKEi_yFF.js +144 -0
  36. package/dist/chunks/{LpButton-DNR-YAq5.js → LpButton-CVxBfGjd.js} +12 -4
  37. package/dist/chunks/{LpCalendar-BLya39Fh.js → LpCalendar-pVL91-Pl.js} +1 -1
  38. package/dist/chunks/{LpCard-Bf71NXZq.js → LpCard-CqKLnEhl.js} +18 -8
  39. package/dist/chunks/{LpCheckbox-Da5oZPHo.js → LpCheckbox-DHc2bHDe.js} +9 -6
  40. package/dist/chunks/{LpCodeBlock-lLbmslfs.js → LpCodeBlock-BGsQhxw8.js} +24 -32
  41. package/dist/chunks/LpCodeDisplay-CbJMs-IK.js +189 -0
  42. package/dist/chunks/LpCollapse-CWS9M_lm.js +115 -0
  43. package/dist/chunks/{LpColorPicker-DtEfBAcK.js → LpColorPicker-B7HSIFmn.js} +11 -6
  44. package/dist/chunks/{LpConfirmDialog-D7s4jakB.js → LpConfirmDialog-CfGCux8m.js} +3 -3
  45. package/dist/chunks/{LpConfirmHost-DrYI5y1K.js → LpConfirmHost-exB7JmcO.js} +1 -1
  46. package/dist/chunks/{LpContextMenu-CRnjoqSt.js → LpContextMenu-Cj96ENDC.js} +16 -7
  47. package/dist/chunks/LpCopyButton-DzHjnFs0.js +133 -0
  48. package/dist/chunks/LpCountdown-BQnmB4gq.js +231 -0
  49. package/dist/chunks/LpDataList-CHNYQw7h.js +121 -0
  50. package/dist/chunks/LpDatePicker-ac1_6o5P.js +169 -0
  51. package/dist/chunks/LpDateRangePicker-B15gYrZJ.js +127 -0
  52. package/dist/chunks/{LpDisclosure-6AplYBub.js → LpDisclosure-DOarzlAG.js} +22 -11
  53. package/dist/chunks/{LpDrawer-Q4SOxM4s.js → LpDrawer-DGNKRsGq.js} +9 -4
  54. package/dist/chunks/{LpDropdownMenu-DWTt0ooM.js → LpDropdownMenu-R4aYVtVV.js} +14 -6
  55. package/dist/chunks/LpEditable-Ws3DNQHn.js +238 -0
  56. package/dist/chunks/{LpEmptyState-om1UnFjV.js → LpEmptyState-KTKipws2.js} +1 -1
  57. package/dist/chunks/{LpFieldNotice-CHuDeLjc.js → LpFieldNotice-CurbNuXI.js} +1 -1
  58. package/dist/chunks/{LpFileTree-CW24YsVX.js → LpFileTree-DDNg34tJ.js} +5 -3
  59. package/dist/chunks/{LpFileTreeNode-BXhTHaKW.js → LpFileTreeNode-DmPuYNZ_.js} +42 -55
  60. package/dist/chunks/{LpFormField-DPb47HEm.js → LpFormField-BWwgm1E4.js} +23 -9
  61. package/dist/chunks/LpFrame-BVQCQLDI.js +155 -0
  62. package/dist/chunks/LpGauge-C14Z9503.js +204 -0
  63. package/dist/chunks/LpGlowBorder-B8V-QzIl.js +40 -0
  64. package/dist/chunks/{LpHintExample-C1eKYdeL.js → LpHintExample-9Py0wc-L.js} +11 -34
  65. package/dist/chunks/{LpHintLayer-7UOdWQG3.js → LpHintLayer-HvwUA5Ec.js} +27 -14
  66. package/dist/chunks/{LpHints-BUtBp9-w.js → LpHints-DxbPKOzQ.js} +3 -3
  67. package/dist/chunks/LpHoverCard-spGxyw7T.js +130 -0
  68. package/dist/chunks/{LpIcon-6tSrZ3Zy.js → LpIcon-HJP5xMz4.js} +1 -1
  69. package/dist/chunks/LpIdenticon-BzdC_qz9.js +63 -0
  70. package/dist/chunks/{LpInfraNode-Ds_8SZgN.js → LpInfraNode-D64hywJI.js} +39 -25
  71. package/dist/chunks/{LpInput-CUyr6PIE.js → LpInput-CDuwODJG.js} +44 -18
  72. package/dist/chunks/{LpLightbox-B9J8rzsj.js → LpLightbox-XJ0LpTcZ.js} +69 -69
  73. package/dist/chunks/LpLoader-DjJEX8hL.js +92 -0
  74. package/dist/chunks/{LpLogViewer-4QFc-sVN.js → LpLogViewer-DKK4ySZl.js} +225 -129
  75. package/dist/chunks/LpMagnetic-CtXKLa2Y.js +62 -0
  76. package/dist/chunks/{LpMapPicker-BTbkFeSG.js → LpMapPicker-BtIl7NOM.js} +34 -31
  77. package/dist/chunks/LpMasonry--k0571qG.js +185 -0
  78. package/dist/chunks/{LpMediaGallery-CuPcscx3.js → LpMediaGallery-rmI1DjKN.js} +3 -3
  79. package/dist/chunks/{LpModal-hk1noDcr.js → LpModal-eBMt2Fqn.js} +8 -3
  80. package/dist/chunks/{LpModalNav-DQd2keZm.js → LpModalNav-DiyFCHiZ.js} +4 -4
  81. package/dist/chunks/{LpNotificationBell-X84PJIxD.js → LpNotificationBell-D-WhE5m2.js} +32 -48
  82. package/dist/chunks/LpNumberField-B9k-h2HE.js +140 -0
  83. package/dist/chunks/{LpNumberFlow-z4WPZcZu.js → LpNumberFlow-Cfyh033Q.js} +8 -28
  84. package/dist/chunks/{LpOtpInput-PbeNJ5In.js → LpOtpInput-CeBPsM7D.js} +2 -1
  85. package/dist/chunks/{LpPagination-Bx-VG4Ag.js → LpPagination-VNCX6pFC.js} +37 -6
  86. package/dist/chunks/{LpPalettePreview-CFav_7co.js → LpPalettePreview-BNB8T_MY.js} +1 -1
  87. package/dist/chunks/{LpPasswordInput-CbnXitAS.js → LpPasswordInput-GL2KOFK8.js} +26 -22
  88. package/dist/chunks/{LpPhoneInput-DP69HONS.js → LpPhoneInput-C60tx1tC.js} +12 -7
  89. package/dist/chunks/{LpPie-yLF9-aDR.js → LpPie-BgXZ3xmm.js} +159 -48
  90. package/dist/chunks/LpPipeline-B31h41Mu.js +329 -0
  91. package/dist/chunks/{LpPopover-DVnkHaOu.js → LpPopover-DmZ3wUtP.js} +13 -7
  92. package/dist/chunks/{LpProgress-CA86wxXu.js → LpProgress-CE-m5OpD.js} +23 -63
  93. package/dist/chunks/LpQuota-DaL8TgNe.js +162 -0
  94. package/dist/chunks/{LpRadioGroup-8S5hf8lE.js → LpRadioGroup-CGBr5nIp.js} +1 -1
  95. package/dist/chunks/{LpRangeCalendar-ByQi-WUz.js → LpRangeCalendar-c5qj7YcC.js} +1 -1
  96. package/dist/chunks/{LpRangeSlider-C1yF9-nP.js → LpRangeSlider-Dv6lNvHY.js} +6 -2
  97. package/dist/chunks/LpRelativeTime-yin9uQP7.js +73 -0
  98. package/dist/chunks/LpRepeater-D0S7jjwr.js +180 -0
  99. package/dist/chunks/LpRevealOnScroll-DcQjexLy.js +76 -0
  100. package/dist/chunks/{LpRollingText-DB7upf-5.js → LpRollingText-DiL717LK.js} +4 -3
  101. package/dist/chunks/LpScramble-TDO5Kdou.js +85 -0
  102. package/dist/chunks/LpSecretField-CfWyHv9m.js +316 -0
  103. package/dist/chunks/{LpSection-BmRXe6ZP.js → LpSection-BW4xJ-Li.js} +1 -1
  104. package/dist/chunks/{LpSegmented-CW3bFHM4.js → LpSegmented-BO99Sr4m.js} +11 -14
  105. package/dist/chunks/{LpSelect-BCyDYoih.js → LpSelect-C_8cJtj6.js} +91 -111
  106. package/dist/chunks/LpShaderBackdrop-Bote0iuy.js +332 -0
  107. package/dist/chunks/LpShinyText-DX2ajtWq.js +48 -0
  108. package/dist/chunks/{LpSidebar-DfIiS-lB.js → LpSidebar-CZRXtvem.js} +5 -3
  109. package/dist/chunks/{LpSidebarNav-C5FDNI0t.js → LpSidebarNav-DBg1U1oW.js} +3 -3
  110. package/dist/chunks/{LpSlider-Cuzmrd7p.js → LpSlider-DuoRpOrH.js} +6 -2
  111. package/dist/chunks/{LpSparkline-DXT4KrSi.js → LpSparkline-CExIRDb3.js} +32 -27
  112. package/dist/chunks/LpSpotlight-4F3NeUMY.js +41 -0
  113. package/dist/chunks/{LpStat-iBMF5QNk.js → LpStat-DFKlPJgy.js} +38 -35
  114. package/dist/chunks/LpStatus-BsGLrpor.js +86 -0
  115. package/dist/chunks/LpStepMark-TrzOioa9.js +101 -0
  116. package/dist/chunks/LpStepper-BbnS5jUr.js +76 -0
  117. package/dist/chunks/{LpSwap-D82jiecV.js → LpSwap-DzE6M3Mg.js} +1 -1
  118. package/dist/chunks/LpSwitch-DrzKrZZV.js +112 -0
  119. package/dist/chunks/{LpTableFilter-CuIbgdW0.js → LpTableFilter-DyvHGbOk.js} +3 -2
  120. package/dist/chunks/{LpTableOfContents-C_4VBktT.js → LpTableOfContents-rYvo8z5T.js} +34 -21
  121. package/dist/chunks/{LpTagsInput-DiXrpYeE.js → LpTagsInput-DZg80W-B.js} +68 -71
  122. package/dist/chunks/LpTextReveal-CtAnOUkp.js +140 -0
  123. package/dist/chunks/{LpTextarea-xoQd5Lnp.js → LpTextarea-DiWjeVoJ.js} +12 -11
  124. package/dist/chunks/{LpThemeProvider-CQ2jC9TA.js → LpThemeProvider-DcbfOxsU.js} +1 -1
  125. package/dist/chunks/LpThemeStudio-DxVZMtzN.js +416 -0
  126. package/dist/chunks/LpThemeStudioSection-BwhqYDLf.js +20 -0
  127. package/dist/chunks/LpThemeSwitcher-CadVBTBn.js +278 -0
  128. package/dist/chunks/{LpTimeField-MFgAsNc5.js → LpTimeField-BFQVf_PW.js} +13 -5
  129. package/dist/chunks/{LpToaster-C4zE9zB7.js → LpToaster-Wv9ksj4q.js} +49 -82
  130. package/dist/chunks/{LpTooltip-suFCM34F.js → LpTooltip-Cz8SQwRt.js} +8 -3
  131. package/dist/chunks/{LpTopologyCanvas-6ozNrQKh.js → LpTopologyCanvas-C17A1XCb.js} +1 -1
  132. package/dist/chunks/{LpTour-BUp3Jt2e.js → LpTour-CY2bFXge.js} +24 -18
  133. package/dist/chunks/LpTruncate-D_5Pfv5B.js +112 -0
  134. package/dist/chunks/LpTypewriter-BCL_a6wE.js +159 -0
  135. package/dist/chunks/{LpUptimeBar-B6kHw4Cj.js → LpUptimeBar-Tew1Ykx4.js} +10 -9
  136. package/dist/chunks/{LpVideoBackdrop-qWRYBOTQ.js → LpVideoBackdrop-DS1wGv-X.js} +7 -8
  137. package/dist/chunks/{MenuTitle-obgek0B7.js → MenuTitle-BjQZX8tQ.js} +1 -1
  138. package/dist/chunks/OptionContent-CmYUUeWj.js +40 -0
  139. package/dist/chunks/PickerField-DoHv0WMH.js +125 -0
  140. package/dist/chunks/RevealToggle-C-KzaQGJ.js +65 -0
  141. package/dist/chunks/StepConnector-37OgEOXA.js +41 -0
  142. package/dist/chunks/TourCard-BJ8i7dk0.js +123 -0
  143. package/dist/chunks/backdrop-Dkf2vM81.js +59 -0
  144. package/dist/chunks/{icons-DVhZ_plB.js → icons-4IywzkHk.js} +1 -1
  145. package/dist/chunks/{useTheme-2qHG8NEU.js → useTheme-BOV_-AiY.js} +9 -65
  146. package/dist/component-names.d.ts +1 -1
  147. package/dist/components/AttentionDot.vue.d.ts +9 -0
  148. package/dist/components/AttentionDot.vue.js +4 -0
  149. package/dist/components/ContextMenuItems.vue.js +1 -1
  150. package/dist/components/DropzoneLinkField.vue.js +1 -1
  151. package/dist/components/FieldWrapper.vue.d.ts +25 -0
  152. package/dist/components/FieldWrapper.vue.js +4 -0
  153. package/dist/components/LayoutCanvas.vue.js +1 -1
  154. package/dist/components/LayoutNode.vue.d.ts +4 -4
  155. package/dist/components/LayoutNode.vue.js +1 -1
  156. package/dist/components/LegendSwatch.vue.d.ts +6 -0
  157. package/dist/components/LegendSwatch.vue.js +4 -0
  158. package/dist/components/LoaderMark.vue.d.ts +12 -0
  159. package/dist/components/LoaderMark.vue.js +4 -0
  160. package/dist/components/LpActionBar.vue.js +1 -1
  161. package/dist/components/LpActivityLine.vue.d.ts +58 -0
  162. package/dist/components/LpActivityLine.vue.js +4 -0
  163. package/dist/components/LpAddressInput.vue.js +1 -1
  164. package/dist/components/LpAlert.vue.d.ts +2 -2
  165. package/dist/components/LpAlert.vue.js +1 -1
  166. package/dist/components/LpAppShell.vue.d.ts +8 -7
  167. package/dist/components/LpAppShell.vue.js +1 -1
  168. package/dist/components/LpAutocomplete.vue.js +1 -1
  169. package/dist/components/LpAvatar.vue.d.ts +16 -0
  170. package/dist/components/LpAvatar.vue.js +1 -1
  171. package/dist/components/LpBadge.vue.d.ts +19 -5
  172. package/dist/components/LpBadge.vue.js +1 -1
  173. package/dist/components/LpBreadcrumbs.vue.js +1 -1
  174. package/dist/components/LpButton.vue.d.ts +2 -2
  175. package/dist/components/LpButton.vue.js +1 -1
  176. package/dist/components/LpCalendar.vue.js +1 -1
  177. package/dist/components/LpCard.vue.d.ts +24 -0
  178. package/dist/components/LpCard.vue.js +1 -1
  179. package/dist/components/LpChart.vue.js +131 -160
  180. package/dist/components/LpCheckbox.vue.d.ts +2 -2
  181. package/dist/components/LpCheckbox.vue.js +1 -1
  182. package/dist/components/LpCodeBlock.vue.js +1 -1
  183. package/dist/components/LpCodeDisplay.vue.d.ts +89 -0
  184. package/dist/components/LpCodeDisplay.vue.js +4 -0
  185. package/dist/components/LpCollapse.vue.d.ts +58 -0
  186. package/dist/components/LpCollapse.vue.js +4 -0
  187. package/dist/components/LpColorPicker.vue.d.ts +2 -2
  188. package/dist/components/LpColorPicker.vue.js +1 -1
  189. package/dist/components/LpCommandPalette.vue.js +34 -23
  190. package/dist/components/LpConfirmDialog.vue.js +1 -1
  191. package/dist/components/LpConfirmHost.vue.js +1 -1
  192. package/dist/components/LpContextMenu.vue.js +1 -1
  193. package/dist/components/LpCopyButton.vue.d.ts +82 -0
  194. package/dist/components/LpCopyButton.vue.js +4 -0
  195. package/dist/components/LpCountdown.vue.d.ts +100 -0
  196. package/dist/components/LpCountdown.vue.js +4 -0
  197. package/dist/components/LpDataList.vue.d.ts +66 -0
  198. package/dist/components/LpDataList.vue.js +4 -0
  199. package/dist/components/LpDatePicker.vue.d.ts +3 -1
  200. package/dist/components/LpDatePicker.vue.js +1 -1
  201. package/dist/components/LpDateRangePicker.vue.d.ts +3 -1
  202. package/dist/components/LpDateRangePicker.vue.js +1 -1
  203. package/dist/components/LpDisclosure.vue.js +1 -1
  204. package/dist/components/LpDock.vue.d.ts +74 -0
  205. package/dist/components/LpDock.vue.js +204 -0
  206. package/dist/components/LpDrawer.vue.js +1 -1
  207. package/dist/components/LpDropdownMenu.vue.js +1 -1
  208. package/dist/components/LpDropzone.vue.d.ts +8 -1
  209. package/dist/components/LpDropzone.vue.js +36 -15
  210. package/dist/components/LpEditable.vue.d.ts +85 -0
  211. package/dist/components/LpEditable.vue.js +4 -0
  212. package/dist/components/LpEmptyState.vue.js +1 -1
  213. package/dist/components/LpFieldNotice.vue.js +1 -1
  214. package/dist/components/LpFileTree.vue.js +1 -1
  215. package/dist/components/LpFileTreeNode.vue.js +1 -1
  216. package/dist/components/LpFormField.vue.js +1 -1
  217. package/dist/components/LpFrame.vue.d.ts +22 -0
  218. package/dist/components/LpFrame.vue.js +4 -0
  219. package/dist/components/LpGauge.vue.d.ts +116 -0
  220. package/dist/components/LpGauge.vue.js +4 -0
  221. package/dist/components/LpGlowBorder.vue.d.ts +47 -0
  222. package/dist/components/LpGlowBorder.vue.js +4 -0
  223. package/dist/components/LpHintExample.vue.d.ts +2 -2
  224. package/dist/components/LpHintExample.vue.js +1 -1
  225. package/dist/components/LpHintLayer.vue.js +1 -1
  226. package/dist/components/LpHints.vue.js +1 -1
  227. package/dist/components/LpHoverCard.vue.d.ts +60 -0
  228. package/dist/components/LpHoverCard.vue.js +4 -0
  229. package/dist/components/LpIcon.vue.js +1 -1
  230. package/dist/components/LpIdenticon.vue.d.ts +37 -0
  231. package/dist/components/LpIdenticon.vue.js +4 -0
  232. package/dist/components/LpImageEditor.vue.js +13 -19
  233. package/dist/components/LpInfraNode.vue.js +1 -1
  234. package/dist/components/LpInput.vue.d.ts +10 -0
  235. package/dist/components/LpInput.vue.js +1 -1
  236. package/dist/components/LpLightbox.vue.js +1 -1
  237. package/dist/components/LpLoader.vue.d.ts +106 -0
  238. package/dist/components/LpLoader.vue.js +4 -0
  239. package/dist/components/LpLogViewer.vue.js +1 -1
  240. package/dist/components/LpMagnetic.vue.d.ts +28 -0
  241. package/dist/components/LpMagnetic.vue.js +4 -0
  242. package/dist/components/LpMapPicker.vue.js +1 -1
  243. package/dist/components/LpMasonry.vue.d.ts +42 -0
  244. package/dist/components/LpMasonry.vue.js +4 -0
  245. package/dist/components/LpMediaGallery.vue.js +1 -1
  246. package/dist/components/LpModal.vue.js +1 -1
  247. package/dist/components/LpModalNav.vue.js +1 -1
  248. package/dist/components/LpNotificationBell.vue.d.ts +15 -6
  249. package/dist/components/LpNotificationBell.vue.js +1 -1
  250. package/dist/components/LpNumberField.vue.d.ts +57 -0
  251. package/dist/components/LpNumberField.vue.js +1 -1
  252. package/dist/components/LpNumberFlow.vue.js +1 -1
  253. package/dist/components/LpOtpInput.vue.d.ts +12 -4
  254. package/dist/components/LpOtpInput.vue.js +1 -1
  255. package/dist/components/LpPagination.vue.js +1 -1
  256. package/dist/components/LpPaletteFacts.vue.js +2 -2
  257. package/dist/components/LpPaletteHeader.vue.js +2 -2
  258. package/dist/components/LpPalettePreview.vue.js +1 -1
  259. package/dist/components/LpPaletteStats.vue.js +2 -2
  260. package/dist/components/LpPasswordInput.vue.d.ts +19 -2
  261. package/dist/components/LpPasswordInput.vue.js +1 -1
  262. package/dist/components/LpPhoneInput.vue.js +1 -1
  263. package/dist/components/LpPie.vue.d.ts +3 -1
  264. package/dist/components/LpPie.vue.js +1 -1
  265. package/dist/components/LpPipeline.vue.d.ts +91 -0
  266. package/dist/components/LpPipeline.vue.js +4 -0
  267. package/dist/components/LpPopover.vue.d.ts +2 -2
  268. package/dist/components/LpPopover.vue.js +1 -1
  269. package/dist/components/LpProgress.vue.d.ts +11 -4
  270. package/dist/components/LpProgress.vue.js +1 -1
  271. package/dist/components/LpQuota.vue.d.ts +68 -0
  272. package/dist/components/LpQuota.vue.js +4 -0
  273. package/dist/components/LpRadioGroup.vue.js +1 -1
  274. package/dist/components/LpRangeCalendar.vue.js +1 -1
  275. package/dist/components/LpRangeSlider.vue.js +1 -1
  276. package/dist/components/LpRelativeTime.vue.d.ts +41 -0
  277. package/dist/components/LpRelativeTime.vue.js +4 -0
  278. package/dist/components/LpRepeater.vue.d.ts +48 -0
  279. package/dist/components/LpRepeater.vue.js +4 -0
  280. package/dist/components/LpRevealOnScroll.vue.d.ts +67 -0
  281. package/dist/components/LpRevealOnScroll.vue.js +4 -0
  282. package/dist/components/LpRollingText.vue.d.ts +3 -1
  283. package/dist/components/LpRollingText.vue.js +1 -1
  284. package/dist/components/LpScramble.vue.d.ts +55 -0
  285. package/dist/components/LpScramble.vue.js +4 -0
  286. package/dist/components/LpScrollArea.vue.d.ts +1 -1
  287. package/dist/components/LpSecretField.vue.d.ts +108 -0
  288. package/dist/components/LpSecretField.vue.js +4 -0
  289. package/dist/components/LpSection.vue.js +1 -1
  290. package/dist/components/LpSegmented.vue.js +1 -1
  291. package/dist/components/LpSelect.vue.d.ts +2 -0
  292. package/dist/components/LpSelect.vue.js +1 -1
  293. package/dist/components/LpShaderBackdrop.vue.d.ts +39 -0
  294. package/dist/components/LpShaderBackdrop.vue.js +4 -0
  295. package/dist/components/LpShinyText.vue.d.ts +39 -0
  296. package/dist/components/LpShinyText.vue.js +4 -0
  297. package/dist/components/LpShortcutsDialog.vue.js +1 -1
  298. package/dist/components/LpSidebar.vue.js +1 -1
  299. package/dist/components/LpSidebarNav.vue.js +1 -1
  300. package/dist/components/LpSlider.vue.js +1 -1
  301. package/dist/components/LpSparkline.vue.d.ts +4 -3
  302. package/dist/components/LpSparkline.vue.js +1 -1
  303. package/dist/components/LpSpotlight.vue.d.ts +37 -0
  304. package/dist/components/LpSpotlight.vue.js +4 -0
  305. package/dist/components/LpStat.vue.js +1 -1
  306. package/dist/components/LpStatus.vue.d.ts +65 -0
  307. package/dist/components/LpStatus.vue.js +4 -0
  308. package/dist/components/LpStepMark.vue.d.ts +31 -0
  309. package/dist/components/LpStepMark.vue.js +4 -0
  310. package/dist/components/LpStepper.vue.js +1 -1
  311. package/dist/components/LpSwap.vue.js +1 -1
  312. package/dist/components/LpSwitch.vue.d.ts +2 -2
  313. package/dist/components/LpSwitch.vue.js +1 -1
  314. package/dist/components/LpTable.vue.js +104 -120
  315. package/dist/components/LpTableFilter.vue.js +1 -1
  316. package/dist/components/LpTableOfContents.vue.d.ts +6 -1
  317. package/dist/components/LpTableOfContents.vue.js +1 -1
  318. package/dist/components/LpTabs.vue.d.ts +5 -5
  319. package/dist/components/LpTabs.vue.js +25 -33
  320. package/dist/components/LpTagsInput.vue.js +1 -1
  321. package/dist/components/LpTextReveal.vue.d.ts +58 -0
  322. package/dist/components/LpTextReveal.vue.js +4 -0
  323. package/dist/components/LpTextarea.vue.js +1 -1
  324. package/dist/components/LpThemeProvider.vue.js +1 -1
  325. package/dist/components/LpThemeStudio.vue.d.ts +54 -0
  326. package/dist/components/LpThemeStudio.vue.js +4 -0
  327. package/dist/components/LpThemeStudioSection.vue.d.ts +16 -0
  328. package/dist/components/LpThemeStudioSection.vue.js +4 -0
  329. package/dist/components/LpThemeSwitcher.vue.d.ts +32 -1
  330. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  331. package/dist/components/LpTimeField.vue.d.ts +2 -0
  332. package/dist/components/LpTimeField.vue.js +1 -1
  333. package/dist/components/LpToaster.vue.js +1 -1
  334. package/dist/components/LpTooltip.vue.d.ts +2 -2
  335. package/dist/components/LpTooltip.vue.js +1 -1
  336. package/dist/components/LpTopologyCanvas.vue.js +1 -1
  337. package/dist/components/LpTour.vue.js +1 -1
  338. package/dist/components/LpTruncate.vue.d.ts +34 -0
  339. package/dist/components/LpTruncate.vue.js +4 -0
  340. package/dist/components/LpTypewriter.vue.d.ts +61 -0
  341. package/dist/components/LpTypewriter.vue.js +4 -0
  342. package/dist/components/LpUptimeBar.vue.js +1 -1
  343. package/dist/components/LpVideoBackdrop.vue.js +1 -1
  344. package/dist/components/MenuTitle.vue.js +1 -1
  345. package/dist/components/OptionContent.vue.d.ts +7 -0
  346. package/dist/components/OptionContent.vue.js +4 -0
  347. package/dist/components/PickerField.vue.d.ts +45 -0
  348. package/dist/components/PickerField.vue.js +4 -0
  349. package/dist/components/RevealToggle.vue.d.ts +21 -0
  350. package/dist/components/RevealToggle.vue.js +4 -0
  351. package/dist/components/StepConnector.vue.d.ts +19 -0
  352. package/dist/components/StepConnector.vue.js +4 -0
  353. package/dist/components/TourCard.vue.js +1 -1
  354. package/dist/components/badge.d.ts +1 -0
  355. package/dist/components/badge.js +4 -0
  356. package/dist/components/chart.d.ts +5 -1
  357. package/dist/components/chart.js +2 -21
  358. package/dist/components/dateRange.d.ts +11 -0
  359. package/dist/components/dateRange.js +12 -0
  360. package/dist/components/dock.d.ts +19 -0
  361. package/dist/components/dock.js +16 -0
  362. package/dist/components/dropdown.d.ts +10 -1
  363. package/dist/components/dropdown.js +7 -2
  364. package/dist/components/fieldText.d.ts +38 -0
  365. package/dist/components/fieldText.js +53 -0
  366. package/dist/components/fileTree.d.ts +7 -3
  367. package/dist/components/fileTree.js +12 -18
  368. package/dist/components/format.d.ts +41 -0
  369. package/dist/components/format.js +67 -0
  370. package/dist/components/identicon.d.ts +38 -0
  371. package/dist/components/identicon.js +85 -0
  372. package/dist/components/masonry.d.ts +32 -0
  373. package/dist/components/masonry.js +40 -0
  374. package/dist/components/menuWhen.js +1 -1
  375. package/dist/components/meter.d.ts +64 -0
  376. package/dist/components/meter.js +53 -0
  377. package/dist/components/otp.d.ts +1 -1
  378. package/dist/components/otp.js +7 -2
  379. package/dist/components/pipeline.d.ts +55 -0
  380. package/dist/components/pipeline.js +51 -0
  381. package/dist/components/quota.d.ts +57 -0
  382. package/dist/components/quota.js +40 -0
  383. package/dist/components/relativeTime.d.ts +24 -0
  384. package/dist/components/relativeTime.js +56 -0
  385. package/dist/components/reveal.d.ts +18 -0
  386. package/dist/components/reveal.js +32 -0
  387. package/dist/components/scramble.d.ts +68 -0
  388. package/dist/components/scramble.js +58 -0
  389. package/dist/components/shaderBackdrop.d.ts +20 -0
  390. package/dist/components/shaderBackdrop.js +156 -0
  391. package/dist/components/slider.d.ts +5 -0
  392. package/dist/components/slider.js +24 -0
  393. package/dist/components/slotText.d.ts +2 -0
  394. package/dist/components/slotText.js +9 -0
  395. package/dist/components/status.d.ts +14 -0
  396. package/dist/components/status.js +22 -0
  397. package/dist/components/tableFacets.d.ts +8 -0
  398. package/dist/components/tableFacets.js +19 -0
  399. package/dist/components/textSplit.d.ts +17 -0
  400. package/dist/components/textSplit.js +24 -0
  401. package/dist/components/timeSpan.d.ts +78 -0
  402. package/dist/components/timeSpan.js +85 -0
  403. package/dist/components/tone.d.ts +43 -0
  404. package/dist/components/tone.js +82 -0
  405. package/dist/components/tour.js +3 -2
  406. package/dist/components/typewriter.d.ts +36 -0
  407. package/dist/components/typewriter.js +53 -0
  408. package/dist/components/videoBackdrop.js +5 -6
  409. package/dist/composables/easing.d.ts +22 -1
  410. package/dist/composables/easing.js +42 -1
  411. package/dist/composables/pseudoLocale.d.ts +15 -0
  412. package/dist/composables/pseudoLocale.js +96 -0
  413. package/dist/composables/scroll.js +5 -3
  414. package/dist/composables/useClipboard.d.ts +4 -1
  415. package/dist/composables/useClipboard.js +12 -2
  416. package/dist/composables/useField.d.ts +13 -0
  417. package/dist/composables/useField.js +26 -1
  418. package/dist/composables/useForm.js +32 -9
  419. package/dist/composables/useInView.d.ts +11 -0
  420. package/dist/composables/useInView.js +39 -0
  421. package/dist/composables/useLoadingGate.d.ts +8 -0
  422. package/dist/composables/useLoadingGate.js +38 -0
  423. package/dist/composables/useLpConfig.d.ts +10 -0
  424. package/dist/composables/useLpConfig.js +11 -1
  425. package/dist/composables/useMediaQuery.js +3 -1
  426. package/dist/composables/useNow.d.ts +16 -0
  427. package/dist/composables/useNow.js +39 -0
  428. package/dist/composables/usePersisted.js +14 -7
  429. package/dist/composables/usePillTransition.d.ts +5 -2
  430. package/dist/composables/usePillTransition.js +4 -3
  431. package/dist/composables/usePointerFrame.d.ts +18 -0
  432. package/dist/composables/usePointerFrame.js +31 -0
  433. package/dist/composables/useReducedMotion.d.ts +2 -0
  434. package/dist/composables/useReducedMotion.js +7 -0
  435. package/dist/composables/useRepeater.d.ts +17 -0
  436. package/dist/composables/useRepeater.js +31 -0
  437. package/dist/composables/useResizeObserver.d.ts +8 -0
  438. package/dist/composables/useResizeObserver.js +33 -0
  439. package/dist/composables/useRevealedValue.d.ts +31 -0
  440. package/dist/composables/useRevealedValue.js +26 -0
  441. package/dist/composables/useScramble.d.ts +42 -0
  442. package/dist/composables/useScramble.js +76 -0
  443. package/dist/composables/useShift.js +2 -10
  444. package/dist/composables/useSpotlight.d.ts +18 -0
  445. package/dist/composables/useSpotlight.js +53 -0
  446. package/dist/composables/useTilt.js +26 -18
  447. package/dist/composables/useTween.d.ts +43 -0
  448. package/dist/composables/useTween.js +69 -0
  449. package/dist/composables/useView.d.ts +18 -0
  450. package/dist/composables/useView.js +64 -0
  451. package/dist/icons-all.js +1 -1
  452. package/dist/index.d.ts +98 -1
  453. package/dist/index.js +263 -105
  454. package/dist/theme/define.d.ts +12 -0
  455. package/dist/theme/studio.d.ts +90 -0
  456. package/package.json +8 -2
  457. package/src/component-names.ts +33 -0
  458. package/src/components/AttentionDot.vue +27 -0
  459. package/src/components/ContextMenuItems.vue +5 -2
  460. package/src/components/FieldWrapper.vue +38 -0
  461. package/src/components/LayoutNode.vue +5 -9
  462. package/src/components/LegendSwatch.vue +15 -0
  463. package/src/components/LoaderMark.vue +90 -0
  464. package/src/components/LpActionBar.vue +12 -20
  465. package/src/components/LpActivityLine.vue +186 -0
  466. package/src/components/LpAlert.vue +54 -24
  467. package/src/components/LpAppShell.vue +7 -11
  468. package/src/components/LpAutocomplete.vue +16 -14
  469. package/src/components/LpAvatar.vue +17 -2
  470. package/src/components/LpBadge.vue +77 -13
  471. package/src/components/LpBreadcrumbs.vue +101 -35
  472. package/src/components/LpButton.vue +15 -3
  473. package/src/components/LpCard.vue +30 -7
  474. package/src/components/LpChart.vue +162 -171
  475. package/src/components/LpCheckbox.vue +10 -4
  476. package/src/components/LpCodeBlock.vue +11 -19
  477. package/src/components/LpCodeDisplay.vue +228 -0
  478. package/src/components/LpCollapse.vue +162 -0
  479. package/src/components/LpColorPicker.vue +10 -1
  480. package/src/components/LpCommandPalette.vue +38 -24
  481. package/src/components/LpContextMenu.vue +13 -3
  482. package/src/components/LpCopyButton.vue +185 -0
  483. package/src/components/LpCountdown.vue +308 -0
  484. package/src/components/LpDataList.vue +154 -0
  485. package/src/components/LpDatePicker.vue +55 -104
  486. package/src/components/LpDateRangePicker.vue +51 -95
  487. package/src/components/LpDisclosure.vue +58 -36
  488. package/src/components/LpDock.vue +274 -0
  489. package/src/components/LpDrawer.vue +10 -1
  490. package/src/components/LpDropdownMenu.vue +11 -2
  491. package/src/components/LpDropzone.vue +34 -13
  492. package/src/components/LpEditable.vue +295 -0
  493. package/src/components/LpFileTree.vue +5 -1
  494. package/src/components/LpFileTreeNode.vue +25 -50
  495. package/src/components/LpFormField.vue +22 -3
  496. package/src/components/LpFrame.vue +200 -0
  497. package/src/components/LpGauge.vue +287 -0
  498. package/src/components/LpGlowBorder.vue +60 -0
  499. package/src/components/LpHintExample.vue +9 -32
  500. package/src/components/LpHintLayer.vue +13 -3
  501. package/src/components/LpHoverCard.vue +175 -0
  502. package/src/components/LpIdenticon.vue +69 -0
  503. package/src/components/LpImageEditor.vue +15 -18
  504. package/src/components/LpInfraNode.vue +27 -16
  505. package/src/components/LpInput.vue +30 -16
  506. package/src/components/LpLightbox.vue +44 -23
  507. package/src/components/LpLoader.vue +145 -0
  508. package/src/components/LpLogViewer.vue +311 -82
  509. package/src/components/LpMagnetic.vue +97 -0
  510. package/src/components/LpMapPicker.vue +26 -28
  511. package/src/components/LpMasonry.vue +247 -0
  512. package/src/components/LpModal.vue +10 -1
  513. package/src/components/LpNotificationBell.vue +33 -49
  514. package/src/components/LpNumberField.vue +79 -14
  515. package/src/components/LpNumberFlow.vue +10 -35
  516. package/src/components/LpOtpInput.vue +7 -2
  517. package/src/components/LpPagination.vue +38 -4
  518. package/src/components/LpPalettePreview.vue +2 -7
  519. package/src/components/LpPasswordInput.vue +25 -18
  520. package/src/components/LpPhoneInput.vue +12 -3
  521. package/src/components/LpPie.vue +197 -36
  522. package/src/components/LpPipeline.vue +366 -0
  523. package/src/components/LpPopover.vue +14 -1
  524. package/src/components/LpProgress.vue +22 -84
  525. package/src/components/LpQuota.vue +197 -0
  526. package/src/components/LpRangeSlider.vue +5 -1
  527. package/src/components/LpRelativeTime.vue +90 -0
  528. package/src/components/LpRepeater.vue +131 -0
  529. package/src/components/LpRevealOnScroll.vue +125 -0
  530. package/src/components/LpRollingText.vue +12 -1
  531. package/src/components/LpScramble.vue +107 -0
  532. package/src/components/LpSecretField.vue +320 -0
  533. package/src/components/LpSegmented.vue +3 -10
  534. package/src/components/LpSelect.vue +74 -65
  535. package/src/components/LpShaderBackdrop.vue +434 -0
  536. package/src/components/LpShinyText.vue +139 -0
  537. package/src/components/LpSidebar.vue +2 -0
  538. package/src/components/LpSlider.vue +5 -1
  539. package/src/components/LpSparkline.vue +55 -37
  540. package/src/components/LpSpotlight.vue +51 -0
  541. package/src/components/LpStat.vue +6 -2
  542. package/src/components/LpStatus.vue +127 -0
  543. package/src/components/LpStepMark.vue +138 -0
  544. package/src/components/LpStepper.vue +37 -43
  545. package/src/components/LpSwap.vue +2 -2
  546. package/src/components/LpSwitch.vue +15 -22
  547. package/src/components/LpTable.vue +47 -63
  548. package/src/components/LpTableFilter.vue +1 -0
  549. package/src/components/LpTableOfContents.vue +53 -29
  550. package/src/components/LpTabs.vue +10 -21
  551. package/src/components/LpTagsInput.vue +53 -37
  552. package/src/components/LpTextReveal.vue +236 -0
  553. package/src/components/LpTextarea.vue +11 -11
  554. package/src/components/LpThemeStudio.vue +216 -0
  555. package/src/components/LpThemeStudioSection.vue +16 -0
  556. package/src/components/LpThemeSwitcher.vue +156 -47
  557. package/src/components/LpTimeField.vue +9 -1
  558. package/src/components/LpToaster.vue +63 -83
  559. package/src/components/LpTooltip.vue +10 -1
  560. package/src/components/LpTour.vue +24 -13
  561. package/src/components/LpTruncate.vue +135 -0
  562. package/src/components/LpTypewriter.vue +236 -0
  563. package/src/components/LpUptimeBar.vue +6 -5
  564. package/src/components/LpVideoBackdrop.vue +15 -13
  565. package/src/components/OptionContent.vue +17 -0
  566. package/src/components/PickerField.vue +59 -0
  567. package/src/components/RevealToggle.vue +51 -0
  568. package/src/components/StepConnector.vue +54 -0
  569. package/src/components/TourCard.vue +29 -16
  570. package/src/components/badge.ts +8 -0
  571. package/src/components/chart.ts +8 -23
  572. package/src/components/dateRange.ts +25 -0
  573. package/src/components/dock.ts +31 -0
  574. package/src/components/dropdown.ts +15 -3
  575. package/src/components/fieldText.ts +95 -0
  576. package/src/components/fileTree.ts +19 -21
  577. package/src/components/format.ts +136 -0
  578. package/src/components/identicon.ts +160 -0
  579. package/src/components/masonry.ts +73 -0
  580. package/src/components/meter.ts +122 -0
  581. package/src/components/otp.ts +14 -3
  582. package/src/components/pipeline.ts +101 -0
  583. package/src/components/quota.ts +111 -0
  584. package/src/components/relativeTime.ts +118 -0
  585. package/src/components/reveal.ts +56 -0
  586. package/src/components/scramble.ts +138 -0
  587. package/src/components/shaderBackdrop.ts +208 -0
  588. package/src/components/slider.ts +30 -0
  589. package/src/components/slotText.ts +13 -0
  590. package/src/components/status.ts +46 -0
  591. package/src/components/tableFacets.ts +25 -0
  592. package/src/components/textSplit.ts +55 -0
  593. package/src/components/timeSpan.ts +183 -0
  594. package/src/components/tone.ts +144 -0
  595. package/src/components/tour.ts +3 -2
  596. package/src/components/typewriter.ts +104 -0
  597. package/src/components/videoBackdrop.ts +7 -6
  598. package/src/composables/easing.ts +66 -1
  599. package/src/composables/pseudoLocale.ts +105 -0
  600. package/src/composables/scroll.ts +6 -3
  601. package/src/composables/useClipboard.ts +25 -3
  602. package/src/composables/useField.ts +38 -1
  603. package/src/composables/useForm.ts +41 -11
  604. package/src/composables/useInView.ts +61 -0
  605. package/src/composables/useLoadingGate.ts +63 -0
  606. package/src/composables/useLpConfig.ts +20 -1
  607. package/src/composables/useMediaQuery.ts +6 -2
  608. package/src/composables/useNow.ts +84 -0
  609. package/src/composables/usePersisted.ts +19 -8
  610. package/src/composables/usePillTransition.ts +21 -13
  611. package/src/composables/usePointerFrame.ts +72 -0
  612. package/src/composables/useReducedMotion.ts +22 -0
  613. package/src/composables/useRepeater.ts +44 -0
  614. package/src/composables/useResizeObserver.ts +59 -0
  615. package/src/composables/useRevealedValue.ts +84 -0
  616. package/src/composables/useScramble.ts +152 -0
  617. package/src/composables/useShift.ts +10 -16
  618. package/src/composables/useSpotlight.ts +82 -0
  619. package/src/composables/useTilt.ts +40 -23
  620. package/src/composables/useTween.ts +149 -0
  621. package/src/composables/useView.ts +96 -0
  622. package/src/index.css +1 -0
  623. package/src/index.ts +143 -1
  624. package/src/kit-icons.ts +1 -1
  625. package/src/theme/define.ts +65 -0
  626. package/src/theme/studio.ts +202 -0
  627. package/src/tokens/effects.css +151 -0
  628. package/src/tokens/tokens.css +131 -39
  629. package/src/tokens/utilities.css +81 -0
  630. package/dist/assets/LpTabs-Bk7v4bZz.css +0 -18
  631. package/dist/chunks/LpAlert-BdvxvcWE.js +0 -85
  632. package/dist/chunks/LpBadge-Fe0D1bYx.js +0 -62
  633. package/dist/chunks/LpBreadcrumbs-rzOKkLiI.js +0 -98
  634. package/dist/chunks/LpDatePicker-BMfM454Y.js +0 -243
  635. package/dist/chunks/LpDateRangePicker-CNb9X3eL.js +0 -195
  636. package/dist/chunks/LpNumberField-DO1ufKvE.js +0 -107
  637. package/dist/chunks/LpStepper-C2slwObu.js +0 -90
  638. package/dist/chunks/LpSwitch-CZy9_IoA.js +0 -132
  639. package/dist/chunks/LpThemeSwitcher-CDoziW0z.js +0 -166
  640. package/dist/chunks/TourCard-BKI7X9-r.js +0 -105
@@ -0,0 +1,65 @@
1
+ import { type MeterTone } from "./meter";
2
+ import { type StatusKind } from "./status";
3
+ declare const _default: typeof __VLS_export;
4
+ export default _default;
5
+ declare const __VLS_export: import("vue").DefineComponent<{
6
+ state: StatusKind;
7
+ /** The word shown, when the state's own name is not the right one ("Ready", "In a match"). */
8
+ label?: string;
9
+ /** Overrides the state's tone, for an app whose "offline" is an alarm rather than a rest state. */
10
+ tone?: MeterTone;
11
+ /** Overrides whether the light pulses. */
12
+ pulse?: boolean;
13
+ /**
14
+ * `inline` (default) is a light and a word in running text or a table cell;
15
+ * `pill` puts them on a chip, which is LpBadge's own: the chip is the
16
+ * badge, the state (light, word, pulse, tone) is what this adds to it.
17
+ */
18
+ variant?: "inline" | "pill";
19
+ size?: "sm" | "md";
20
+ /**
21
+ * Light only. The word is still there for screen readers and as a native
22
+ * hint on hover, so a dense list can drop it visually without going silent.
23
+ */
24
+ hideLabel?: boolean;
25
+ /**
26
+ * Speak changes as they happen (`role="status"`). Off by default: a table
27
+ * of twenty servers announcing each flip would drown everything else.
28
+ * Turn it on for the one status the user is waiting on.
29
+ */
30
+ announce?: boolean;
31
+ labels?: Partial<Record<StatusKind, string>>;
32
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
33
+ state: StatusKind;
34
+ /** The word shown, when the state's own name is not the right one ("Ready", "In a match"). */
35
+ label?: string;
36
+ /** Overrides the state's tone, for an app whose "offline" is an alarm rather than a rest state. */
37
+ tone?: MeterTone;
38
+ /** Overrides whether the light pulses. */
39
+ pulse?: boolean;
40
+ /**
41
+ * `inline` (default) is a light and a word in running text or a table cell;
42
+ * `pill` puts them on a chip, which is LpBadge's own: the chip is the
43
+ * badge, the state (light, word, pulse, tone) is what this adds to it.
44
+ */
45
+ variant?: "inline" | "pill";
46
+ size?: "sm" | "md";
47
+ /**
48
+ * Light only. The word is still there for screen readers and as a native
49
+ * hint on hover, so a dense list can drop it visually without going silent.
50
+ */
51
+ hideLabel?: boolean;
52
+ /**
53
+ * Speak changes as they happen (`role="status"`). Off by default: a table
54
+ * of twenty servers announcing each flip would drown everything else.
55
+ * Turn it on for the one status the user is waiting on.
56
+ */
57
+ announce?: boolean;
58
+ labels?: Partial<Record<StatusKind, string>>;
59
+ }> & Readonly<{}>, {
60
+ size: "sm" | "md";
61
+ variant: "inline" | "pill";
62
+ pulse: boolean;
63
+ hideLabel: boolean;
64
+ announce: boolean;
65
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,4 @@
1
+ import { _ as _sfc_main } from "../chunks/LpStatus-BsGLrpor.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,31 @@
1
+ import type { StepStatus } from "./pipeline";
2
+ /** A job's state, plus `current`: the step a person is on in a flow they drive. */
3
+ export type StepMarkStatus = StepStatus | "current";
4
+ declare const _default: typeof __VLS_export;
5
+ export default _default;
6
+ declare const __VLS_export: import("vue").DefineComponent<{
7
+ status: StepMarkStatus;
8
+ /** `status` (default) colours a job's outcome; `step` is a wizard's step (see above). */
9
+ variant?: "status" | "step";
10
+ size?: "sm" | "md" | "lg";
11
+ /** Shown inside a pending mark: the step's number in a numbered flow. */
12
+ number?: number | string;
13
+ /** Shown inside a pending mark instead of the number. */
14
+ icon?: string;
15
+ /** Accessible name; without it the mark is hidden from assistive tech. */
16
+ label?: string;
17
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
18
+ status: StepMarkStatus;
19
+ /** `status` (default) colours a job's outcome; `step` is a wizard's step (see above). */
20
+ variant?: "status" | "step";
21
+ size?: "sm" | "md" | "lg";
22
+ /** Shown inside a pending mark: the step's number in a numbered flow. */
23
+ number?: number | string;
24
+ /** Shown inside a pending mark instead of the number. */
25
+ icon?: string;
26
+ /** Accessible name; without it the mark is hidden from assistive tech. */
27
+ label?: string;
28
+ }> & Readonly<{}>, {
29
+ size: "sm" | "md" | "lg";
30
+ variant: "status" | "step";
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,4 @@
1
+ import { _ as _sfc_main } from "../chunks/LpStepMark-TrzOioa9.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpStepper-C2slwObu.js";
1
+ import { _ as _sfc_main } from "../chunks/LpStepper-BbnS5jUr.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSwap-D82jiecV.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSwap-DzE6M3Mg.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -20,8 +20,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
20
20
  */
21
21
  action?: (value: boolean) => unknown;
22
22
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
23
- done: (value: boolean) => any;
24
23
  error: (error: unknown) => any;
24
+ done: (value: boolean) => any;
25
25
  "update:modelValue": (value: boolean) => any;
26
26
  }, string, import("vue").PublicProps, Readonly<{
27
27
  modelValue?: boolean;
@@ -43,8 +43,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
43
43
  */
44
44
  action?: (value: boolean) => unknown;
45
45
  }> & Readonly<{
46
- onDone?: ((value: boolean) => any) | undefined;
47
46
  onError?: ((error: unknown) => any) | undefined;
47
+ onDone?: ((value: boolean) => any) | undefined;
48
48
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
49
49
  }>, {
50
50
  labelPosition: "start" | "end";
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSwitch-CZy9_IoA.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSwitch-DrzKrZZV.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,28 +1,31 @@
1
- import { defineComponent, computed, useAttrs, ref, shallowRef, watch, onMounted, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createVNode, withCtx, createTextVNode, toDisplayString, createCommentVNode, Fragment, renderList, createElementVNode, Transition, renderSlot, mergeProps, normalizeStyle, createBlock, TransitionGroup, unref, withModifiers, nextTick } from "vue";
2
- import { _ as _sfc_main$7 } from "../chunks/LpCheckbox-Da5oZPHo.js";
3
- import { _ as _sfc_main$6 } from "../chunks/LpContextMenu-CRnjoqSt.js";
4
- import { _ as _sfc_main$b } from "../chunks/LpEmptyState-om1UnFjV.js";
5
- import { _ as _sfc_main$2 } from "../chunks/LpIcon-6tSrZ3Zy.js";
6
- import { _ as _sfc_main$a } from "../chunks/LpSkeleton-BB6XIV-w.js";
7
- import { _ as _sfc_main$c } from "../chunks/LpPagination-Bx-VG4Ag.js";
8
- import { _ as _sfc_main$8 } from "../chunks/LpPopover-DVnkHaOu.js";
9
- import { _ as _sfc_main$5 } from "../chunks/LpScrollArea-Hz3-JWUG.js";
10
- import { _ as _sfc_main$4 } from "../chunks/LpRollingText-DB7upf-5.js";
1
+ import { defineComponent, computed, useAttrs, ref, shallowRef, watch, onMounted, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createVNode, withCtx, createTextVNode, toDisplayString, createCommentVNode, Fragment, renderList, createBlock, createElementVNode, Transition, renderSlot, mergeProps, normalizeStyle, TransitionGroup, unref, withModifiers, nextTick } from "vue";
2
+ import { _ as _sfc_main$8 } from "../chunks/LpCheckbox-DHc2bHDe.js";
3
+ import { _ as _sfc_main$7 } from "../chunks/LpContextMenu-Cj96ENDC.js";
4
+ import { _ as _sfc_main$c } from "../chunks/LpEmptyState-KTKipws2.js";
5
+ import { _ as _sfc_main$4 } from "../chunks/LpBadge-BBq1Er9T.js";
6
+ import { _ as _sfc_main$2 } from "../chunks/LpIcon-HJP5xMz4.js";
7
+ import { _ as _sfc_main$b } from "../chunks/LpSkeleton-BB6XIV-w.js";
8
+ import { _ as _sfc_main$d } from "../chunks/LpPagination-VNCX6pFC.js";
9
+ import { _ as _sfc_main$9 } from "../chunks/LpPopover-DmZ3wUtP.js";
10
+ import { _ as _sfc_main$6 } from "../chunks/LpScrollArea-Hz3-JWUG.js";
11
+ import { _ as _sfc_main$5 } from "../chunks/LpRollingText-DiL717LK.js";
11
12
  import { _ as _sfc_main$3 } from "../chunks/LpShift-DXNsauQZ.js";
12
- import { _ as _sfc_main$9 } from "../chunks/LpTableFilter-CuIbgdW0.js";
13
+ import { _ as _sfc_main$a } from "../chunks/LpTableFilter-DyvHGbOk.js";
13
14
  import { useKitStorage } from "../composables/usePersisted.js";
14
15
  import { useAsyncTask } from "../composables/useAsyncTask.js";
16
+ import { useTableFacets } from "./tableFacets.js";
15
17
  import { useHotkeys } from "../composables/useHotkeys.js";
16
18
  import { usePaintSelect } from "../composables/usePaintSelect.js";
17
19
  import { useRovingFocus } from "../composables/useRovingFocus.js";
18
20
  import { useLabels } from "../composables/useLpConfig.js";
21
+ import { useResizeObserver } from "../composables/useResizeObserver.js";
19
22
  import { compareValues } from "./tableSort.js";
20
- import { _ as _sfc_main$1 } from "../chunks/LpButton-DNR-YAq5.js";
23
+ import { _ as _sfc_main$1 } from "../chunks/LpButton-CVxBfGjd.js";
21
24
  import { toCsv, downloadFile, fileStem } from "./exportData.js";
22
- import { summarizeShown, parseTableState, serializeTableState, countValues } from "./tableFilter.js";
25
+ import { summarizeShown, parseTableState, serializeTableState } from "./tableFilter.js";
23
26
  import { resolveRowMenu } from "./tableRowMenu.js";
24
27
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
25
- import '../assets/LpTable-BPERfJIk.css';const _hoisted_1 = {
28
+ import '../assets/LpTable-DHxEQ_-3.css';const _hoisted_1 = {
26
29
  key: 0,
27
30
  class: "flex justify-end"
28
31
  };
@@ -36,33 +39,32 @@ const _hoisted_3 = {
36
39
  };
37
40
  const _hoisted_4 = { class: "truncate" };
38
41
  const _hoisted_5 = { class: "text-muted" };
39
- const _hoisted_6 = ["aria-label", "onClick"];
40
- const _hoisted_7 = { class: "flex items-center gap-2 whitespace-nowrap text-muted" };
41
- const _hoisted_8 = {
42
+ const _hoisted_6 = { class: "flex items-center gap-2 whitespace-nowrap text-muted" };
43
+ const _hoisted_7 = {
42
44
  key: 0,
43
45
  class: "flex items-center gap-2"
44
46
  };
45
- const _hoisted_9 = {
47
+ const _hoisted_8 = {
46
48
  key: 0,
47
49
  class: "flex items-center gap-2"
48
50
  };
49
- const _hoisted_10 = { class: "hidden sm:inline" };
50
- const _hoisted_11 = { class: "border-b border-line bg-surface-soft" };
51
- const _hoisted_12 = ["inert"];
52
- const _hoisted_13 = ["aria-sort"];
53
- const _hoisted_14 = ["onClick"];
54
- const _hoisted_15 = ["aria-label", "data-lp-filter"];
55
- const _hoisted_16 = {
51
+ const _hoisted_9 = { class: "hidden sm:inline" };
52
+ const _hoisted_10 = { class: "border-b border-line bg-surface-soft" };
53
+ const _hoisted_11 = ["inert"];
54
+ const _hoisted_12 = ["aria-sort"];
55
+ const _hoisted_13 = ["onClick"];
56
+ const _hoisted_14 = ["aria-label", "data-lp-filter"];
57
+ const _hoisted_15 = {
56
58
  key: 0,
57
59
  class: "sr-only"
58
60
  };
59
- const _hoisted_17 = {
61
+ const _hoisted_16 = {
60
62
  key: "lp-table-empty",
61
63
  class: "lp-row-empty"
62
64
  };
63
- const _hoisted_18 = ["colspan"];
64
- const _hoisted_19 = ["onContextmenu", "data-paint-key", "data-lp-context-row", "onClick", "onPointerdown"];
65
- const _hoisted_20 = ["onPointerdown"];
65
+ const _hoisted_17 = ["colspan"];
66
+ const _hoisted_18 = ["onContextmenu", "data-paint-key", "data-lp-context-row", "onClick", "onPointerdown"];
67
+ const _hoisted_19 = ["onPointerdown"];
66
68
  const __default__ = { inheritAttrs: false };
67
69
  const _sfc_main = /* @__PURE__ */ defineComponent({
68
70
  ...__default__,
@@ -229,32 +231,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
229
231
  const hiddenColumns = ref(/* @__PURE__ */ new Set());
230
232
  const tableEl = ref(null);
231
233
  const tableWidth = ref(Number.POSITIVE_INFINITY);
232
- let widthObserver;
233
- watch(
234
- tableEl,
235
- (table) => {
236
- widthObserver?.disconnect();
237
- const el = table?.closest("[data-reka-scroll-area-viewport]") ?? table?.parentElement;
238
- if (!el || typeof ResizeObserver === "undefined") return;
239
- widthObserver = new ResizeObserver(() => tableWidth.value = el.clientWidth);
240
- widthObserver.observe(el);
241
- tableWidth.value = el.clientWidth;
242
- },
243
- { flush: "post" }
234
+ useResizeObserver(
235
+ () => tableEl.value?.closest("[data-reka-scroll-area-viewport]") ?? tableEl.value?.parentElement,
236
+ (_, el) => tableWidth.value = el.clientWidth,
237
+ { immediate: true }
244
238
  );
245
239
  const visibleColumns = computed(
246
240
  () => props.columns.filter(
247
241
  (c) => !hiddenColumns.value.has(c.key) && !(c.hideBelow && tableWidth.value < c.hideBelow)
248
242
  )
249
243
  );
244
+ const facetColumns = computed(() => props.columns.filter((col) => col.filterable).map((col) => col.key));
245
+ const localFacets = useTableFacets({
246
+ rows: () => props.load ? [] : props.rows,
247
+ columns: () => facetColumns.value,
248
+ hidden: () => hiddenValues.value
249
+ });
250
250
  function valuesOf(col) {
251
- if (props.load && facets.value[col.key]) return facets.value[col.key];
252
- const seen = [];
253
- for (const row of sourceRows.value) {
254
- const v = row[col.key];
255
- if (!seen.includes(v)) seen.push(v);
256
- }
257
- return seen;
251
+ if (props.load) return facets.value[col.key] ?? [...new Set(sourceRows.value.map((row) => row[col.key]))];
252
+ return localFacets.distinct(col.key);
258
253
  }
259
254
  function showAllValues(key) {
260
255
  withMotion(() => hiddenValues.value = { ...hiddenValues.value, [key]: /* @__PURE__ */ new Set() });
@@ -265,15 +260,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
265
260
  function labelOf(col, value) {
266
261
  return col.valueLabel?.(value) ?? String(value ?? "—");
267
262
  }
268
- function filterOptions(col) {
269
- let counts;
270
- if (!props.load) {
271
- const others = Object.entries(hiddenValues.value).filter(([key, set]) => key !== col.key && set.size);
272
- const rows = others.length ? props.rows.filter((row) => others.every(([key, hidden]) => !hidden.has(row[key]))) : props.rows;
273
- counts = countValues(rows, col.key);
274
- }
275
- return valuesOf(col).map((value) => ({ value, label: labelOf(col, value), count: counts?.get(value) ?? (counts ? 0 : void 0) }));
276
- }
263
+ const facetOptions = computed(() => new Map(props.columns.filter((col) => col.filterable).map((col) => {
264
+ return [col.key, computed(() => {
265
+ const counts = props.load ? void 0 : localFacets.counts(col.key);
266
+ return valuesOf(col).map((value) => ({
267
+ value,
268
+ label: labelOf(col, value),
269
+ count: counts?.get(value) ?? (counts ? 0 : void 0)
270
+ }));
271
+ })];
272
+ })));
277
273
  const activeFilters = computed(
278
274
  () => props.columns.filter((col) => col.filterable && hiddenValues.value[col.key]?.size).map((col) => {
279
275
  const hidden = hiddenValues.value[col.key];
@@ -442,7 +438,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
442
438
  }
443
439
  });
444
440
  }
445
- watch([activeSort, hiddenValues], () => {
441
+ watch([activeSort, hiddenValues, () => props.pageSize], () => {
446
442
  if (!props.load) return;
447
443
  if (page.value !== 1) page.value = 1;
448
444
  else fetchPage(props.debounce);
@@ -625,26 +621,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
625
621
  }
626
622
  const headEl = ref(null);
627
623
  const headHeight = ref(0);
628
- let ro;
624
+ useResizeObserver(
625
+ () => props.stickyHeader ? headEl.value : null,
626
+ (_, el) => headHeight.value = el.offsetHeight,
627
+ { immediate: true }
628
+ );
629
629
  watch(
630
- [headEl, () => props.stickyHeader],
631
- ([el, sticky]) => {
632
- ro?.disconnect();
633
- if (!el || !sticky || typeof ResizeObserver === "undefined") {
634
- headHeight.value = 0;
635
- return;
636
- }
637
- ro = new ResizeObserver(() => {
638
- headHeight.value = el.offsetHeight;
639
- });
640
- ro.observe(el);
641
- headHeight.value = el.offsetHeight;
642
- },
643
- { immediate: true, flush: "post" }
630
+ () => props.stickyHeader,
631
+ (sticky) => {
632
+ if (!sticky) headHeight.value = 0;
633
+ }
644
634
  );
645
635
  onBeforeUnmount(() => {
646
- ro?.disconnect();
647
- widthObserver?.disconnect();
648
636
  if (motionTimer) clearTimeout(motionTimer);
649
637
  });
650
638
  const barInsetTop = computed(
@@ -677,26 +665,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
677
665
  showBar.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
678
666
  activeFilters.value.length ? (openBlock(), createElementBlock("div", _hoisted_3, [
679
667
  (openBlock(true), createElementBlock(Fragment, null, renderList(activeFilters.value, (f) => {
680
- return openBlock(), createElementBlock("span", {
668
+ return openBlock(), createBlock(_sfc_main$4, {
681
669
  key: f.col.key,
682
- class: "inline-flex max-w-72 animate-[chip-in_var(--duration-fast)_var(--ease-emphasized)] items-center gap-1 rounded-pill bg-brand-soft py-0.5 pr-1 pl-2.5 text-ink motion-reduce:animate-none"
683
- }, [
684
- createElementVNode("span", _hoisted_4, [
685
- createElementVNode("span", _hoisted_5, toDisplayString(f.col.label) + ":", 1),
686
- createTextVNode(" " + toDisplayString(f.text), 1)
670
+ tone: "brand",
671
+ removable: "",
672
+ "remove-label": text.value.clearFilter.replace("{column}", f.col.label),
673
+ class: "max-w-72 animate-[chip-in_var(--duration-fast)_var(--ease-emphasized)] font-normal text-ink motion-reduce:animate-none",
674
+ onRemove: ($event) => showAllValues(f.col.key)
675
+ }, {
676
+ default: withCtx(() => [
677
+ createElementVNode("span", _hoisted_4, [
678
+ createElementVNode("span", _hoisted_5, toDisplayString(f.col.label) + ":", 1),
679
+ createTextVNode(" " + toDisplayString(f.text), 1)
680
+ ])
687
681
  ]),
688
- createElementVNode("button", {
689
- type: "button",
690
- class: "grid size-4 shrink-0 place-items-center rounded-pill text-muted outline-none transition-colors duration-fast hover:bg-ink/10 hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
691
- "aria-label": text.value.clearFilter.replace("{column}", f.col.label),
692
- onClick: ($event) => showAllValues(f.col.key)
693
- }, [
694
- createVNode(_sfc_main$2, {
695
- name: "lucide:x",
696
- size: 12
697
- })
698
- ], 8, _hoisted_6)
699
- ]);
682
+ _: 2
683
+ }, 1032, ["remove-label", "onRemove"]);
700
684
  }), 128)),
701
685
  activeFilters.value.length > 1 ? (openBlock(), createElementBlock("button", {
702
686
  key: 0,
@@ -710,8 +694,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
710
694
  class: "ml-auto shrink-0"
711
695
  }, {
712
696
  default: withCtx(() => [
713
- createElementVNode("div", _hoisted_7, [
714
- createVNode(_sfc_main$4, {
697
+ createElementVNode("div", _hoisted_6, [
698
+ createVNode(_sfc_main$5, {
715
699
  value: statusText.value,
716
700
  align: "end",
717
701
  class: normalizeClass(["tabular-nums", __props.selectable && __props.selected.length ? "font-medium text-ink" : ""]),
@@ -724,7 +708,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
724
708
  "leave-to-class": "opacity-0"
725
709
  }, {
726
710
  default: withCtx(() => [
727
- __props.selectable && __props.selected.length ? (openBlock(), createElementBlock("span", _hoisted_8, [
711
+ __props.selectable && __props.selected.length ? (openBlock(), createElementBlock("span", _hoisted_7, [
728
712
  createVNode(Transition, {
729
713
  "enter-active-class": "transition-opacity duration-fast motion-reduce:transition-none",
730
714
  "leave-active-class": "transition-opacity duration-fast motion-reduce:transition-none",
@@ -732,8 +716,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
732
716
  "leave-to-class": "opacity-0"
733
717
  }, {
734
718
  default: withCtx(() => [
735
- __props.load && pageAllSelected.value && !__props.allMatching && total.value > pageKeys.value.length ? (openBlock(), createElementBlock("span", _hoisted_9, [
736
- createElementVNode("span", _hoisted_10, toDisplayString(text.value.pageSelected.replace("{count}", String(pageKeys.value.length))), 1),
719
+ __props.load && pageAllSelected.value && !__props.allMatching && total.value > pageKeys.value.length ? (openBlock(), createElementBlock("span", _hoisted_8, [
720
+ createElementVNode("span", _hoisted_9, toDisplayString(text.value.pageSelected.replace("{count}", String(pageKeys.value.length))), 1),
737
721
  createElementVNode("button", {
738
722
  type: "button",
739
723
  class: "rounded-control px-1.5 py-0.5 font-medium text-brand outline-none transition-colors duration-fast hover:bg-brand-soft focus-visible:ring-2 focus-visible:ring-ring",
@@ -765,14 +749,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
765
749
  ]),
766
750
  _: 3
767
751
  }),
768
- createVNode(_sfc_main$5, mergeProps(scrollAttrs.value, {
752
+ createVNode(_sfc_main$6, mergeProps(scrollAttrs.value, {
769
753
  fade: false,
770
754
  class: "min-h-0 flex-1 rounded-card border border-line bg-surface",
771
755
  style: __props.load && floor.value ? { minHeight: `${floor.value + 2}px` } : void 0,
772
756
  "bar-inset-top": barInsetTop.value
773
757
  }), {
774
758
  default: withCtx(() => [
775
- createVNode(_sfc_main$6, {
759
+ createVNode(_sfc_main$7, {
776
760
  items: contextMenu.value,
777
761
  always: "",
778
762
  "no-hint": !__props.rowMenu,
@@ -792,7 +776,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
792
776
  ref: headEl,
793
777
  class: normalizeClass(__props.stickyHeader ? "sticky top-0 z-10 bg-surface-soft" : "")
794
778
  }, [
795
- createElementVNode("tr", _hoisted_11, [
779
+ createElementVNode("tr", _hoisted_10, [
796
780
  __props.selectable ? (openBlock(), createElementBlock("th", {
797
781
  key: 0,
798
782
  class: normalizeClass(["w-px p-0", cellY.value])
@@ -801,12 +785,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
801
785
  class: normalizeClass(["lp-tick lp-tick-open", ticksShown.value ? "" : "lp-tick-hidden"]),
802
786
  inert: !ticksShown.value
803
787
  }, [
804
- createVNode(_sfc_main$7, {
788
+ createVNode(_sfc_main$8, {
805
789
  "model-value": allChecked.value,
806
790
  indeterminate: someChecked.value,
807
791
  "onUpdate:modelValue": toggleAll
808
792
  }, null, 8, ["model-value", "indeterminate"])
809
- ], 10, _hoisted_12)
793
+ ], 10, _hoisted_11)
810
794
  ], 2)) : createCommentVNode("", true),
811
795
  (openBlock(true), createElementBlock(Fragment, null, renderList(visibleColumns.value, (col) => {
812
796
  return openBlock(), createElementBlock("th", {
@@ -815,7 +799,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
815
799
  class: normalizeClass(["px-4 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted", [alignClass(col.align), cellY.value]]),
816
800
  "aria-sort": activeSort.value?.key === col.key ? activeSort.value.dir === "asc" ? "ascending" : "descending" : void 0
817
801
  }, [
818
- col.sortable || col.filterable ? (openBlock(), createBlock(_sfc_main$6, {
802
+ col.sortable || col.filterable ? (openBlock(), createBlock(_sfc_main$7, {
819
803
  key: 0,
820
804
  items: headerMenu(col)
821
805
  }, {
@@ -838,13 +822,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
838
822
  activeSort.value?.key === col.key ? "opacity-100" : "opacity-40 group-hover/sort:opacity-70"
839
823
  ])
840
824
  }, null, 8, ["name", "class"])) : createCommentVNode("", true)
841
- ], 10, _hoisted_14)
825
+ ], 10, _hoisted_13)
842
826
  ]),
843
827
  _: 2
844
828
  }, 1032, ["items"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
845
829
  createTextVNode(toDisplayString(col.label), 1)
846
830
  ], 64)),
847
- col.filterable ? (openBlock(), createBlock(_sfc_main$8, {
831
+ col.filterable ? (openBlock(), createBlock(_sfc_main$9, {
848
832
  key: 2,
849
833
  align: "start",
850
834
  "panel-class": "w-72",
@@ -861,11 +845,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
861
845
  name: hiddenValues.value[col.key]?.size ? "lucide:filter-x" : "lucide:filter",
862
846
  size: 12
863
847
  }, null, 8, ["name"])
864
- ], 10, _hoisted_15)
848
+ ], 10, _hoisted_14)
865
849
  ]),
866
850
  default: withCtx(() => [
867
- createVNode(_sfc_main$9, {
868
- options: filterOptions(col),
851
+ createVNode(_sfc_main$a, {
852
+ options: facetOptions.value.get(col.key)?.value ?? [],
869
853
  hidden: hiddenValues.value[col.key] ?? /* @__PURE__ */ new Set(),
870
854
  labels: filterLabels(),
871
855
  "onUpdate:hidden": (next) => setHidden(col.key, next)
@@ -873,7 +857,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
873
857
  ]),
874
858
  _: 2
875
859
  }, 1032, ["aria-label"])) : createCommentVNode("", true)
876
- ], 14, _hoisted_13);
860
+ ], 14, _hoisted_12);
877
861
  }), 128))
878
862
  ])
879
863
  ], 2),
@@ -900,20 +884,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
900
884
  key: col.key,
901
885
  class: normalizeClass(["px-4", [alignClass(col.align), cellY.value]])
902
886
  }, [
903
- createVNode(_sfc_main$a, {
887
+ createVNode(_sfc_main$b, {
904
888
  class: "inline-block h-3 align-middle",
905
889
  style: normalizeStyle({ width: skeletonWidth(n, ci) })
906
890
  }, null, 8, ["style"]),
907
- n === 1 && ci === 0 ? (openBlock(), createElementBlock("span", _hoisted_16, toDisplayString(text.value.loading), 1)) : createCommentVNode("", true)
891
+ n === 1 && ci === 0 ? (openBlock(), createElementBlock("span", _hoisted_15, toDisplayString(text.value.loading), 1)) : createCommentVNode("", true)
908
892
  ], 2);
909
893
  }), 128))
910
894
  ]);
911
- }), 128)) : displayRows.value.length === 0 ? (openBlock(), createElementBlock("tr", _hoisted_17, [
895
+ }), 128)) : displayRows.value.length === 0 ? (openBlock(), createElementBlock("tr", _hoisted_16, [
912
896
  createElementVNode("td", {
913
897
  colspan: colSpan.value,
914
898
  class: "p-0"
915
899
  }, [
916
- createVNode(_sfc_main$b, {
900
+ createVNode(_sfc_main$c, {
917
901
  compact: "",
918
902
  icon: failed.value ? "lucide:circle-alert" : filteredOut.value ? "lucide:filter-x" : __props.emptyIcon,
919
903
  title: failed.value ? text.value.error : filteredOut.value ? text.value.noMatches : text.value.empty
@@ -933,7 +917,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
933
917
  ]),
934
918
  _: 1
935
919
  }, 8, ["icon", "title"])
936
- ], 8, _hoisted_18)
920
+ ], 8, _hoisted_17)
937
921
  ])) : createCommentVNode("", true),
938
922
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayRows.value, (row, index) => {
939
923
  return openBlock(), createElementBlock("tr", mergeProps({
@@ -957,12 +941,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
957
941
  createElementVNode("div", {
958
942
  class: normalizeClass(["lp-tick lp-tick-open", ticksShown.value ? "" : "lp-tick-cue"])
959
943
  }, [
960
- createVNode(_sfc_main$7, {
944
+ createVNode(_sfc_main$8, {
961
945
  "model-value": selectedSet.value.has(keyFor(row, index)),
962
946
  "onUpdate:modelValue": (v) => toggleRow(keyFor(row, index), v)
963
947
  }, null, 8, ["model-value", "onUpdate:modelValue"])
964
948
  ], 2)
965
- ], 42, _hoisted_20)) : createCommentVNode("", true),
949
+ ], 42, _hoisted_19)) : createCommentVNode("", true),
966
950
  (openBlock(true), createElementBlock(Fragment, null, renderList(visibleColumns.value, (col, ci) => {
967
951
  return openBlock(), createElementBlock("td", {
968
952
  key: col.key,
@@ -977,7 +961,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
977
961
  ], true)
978
962
  ], 2);
979
963
  }), 128))
980
- ], 16, _hoisted_19);
964
+ ], 16, _hoisted_18);
981
965
  }), 128))
982
966
  ]),
983
967
  _: 3
@@ -989,7 +973,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
989
973
  ]),
990
974
  _: 3
991
975
  }, 16, ["style", "bar-inset-top"]),
992
- __props.load && total.value > __props.pageSize ? (openBlock(), createBlock(_sfc_main$c, {
976
+ __props.load && total.value > __props.pageSize ? (openBlock(), createBlock(_sfc_main$d, {
993
977
  key: 1,
994
978
  page: page.value,
995
979
  "onUpdate:page": _cache[3] || (_cache[3] = ($event) => page.value = $event),
@@ -1001,7 +985,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1001
985
  };
1002
986
  }
1003
987
  });
1004
- const LpTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ea1300a4"]]);
988
+ const LpTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-18479205"]]);
1005
989
  export {
1006
990
  LpTable as default
1007
991
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTableFilter-CuIbgdW0.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTableFilter-DyvHGbOk.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -8,7 +8,12 @@ type __VLS_Props = {
8
8
  links: TocLink[];
9
9
  /** Heading shown above the list (defaults to the `title` label). */
10
10
  title?: string;
11
- /** px offset from the top used as the scroll-spy trigger line. */
11
+ /**
12
+ * The least distance, px from the top, of the scroll-spy trigger line. The
13
+ * line sits at a quarter of the view when that is lower: a heading a
14
+ * couple of lines down already starts what is being read, and a fixed line
15
+ * near the top kept the previous section lit under it.
16
+ */
12
17
  offset?: number;
13
18
  labels?: Partial<{
14
19
  title: string;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTableOfContents-C_4VBktT.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTableOfContents-rYvo8z5T.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };