@leavepulse/ui 0.68.0 → 0.70.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 (640) hide show
  1. package/README.md +37 -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/LpShinyText-D69cBYDR.css +61 -0
  11. package/dist/assets/LpStatus-430OGTZY.css +17 -0
  12. package/dist/assets/LpStepMark-Drvx33Vg.css +10 -0
  13. package/dist/assets/{LpTable-BPERfJIk.css → LpTable-DHxEQ_-3.css} +19 -19
  14. package/dist/assets/LpTabs-BJ-nrJuI.css +18 -0
  15. package/dist/assets/LpTextReveal-DjI1MsDS.css +35 -0
  16. package/dist/assets/LpTypewriter-CXAm9Nca.css +27 -0
  17. package/dist/chunks/AttentionDot-DCBf4aWg.js +25 -0
  18. package/dist/chunks/{ContextMenuItems-B7XFHksm.js → ContextMenuItems-B5uE8Znw.js} +1 -1
  19. package/dist/chunks/{DropzoneLinkField-CjkrpDqO.js → DropzoneLinkField-Bw8Flkhk.js} +2 -2
  20. package/dist/chunks/FieldWrapper-BiennROB.js +43 -0
  21. package/dist/chunks/{LayoutCanvas-DF9CovaK.js → LayoutCanvas-BsJIzhdd.js} +1 -1
  22. package/dist/chunks/{LayoutNode-D9bIFzk0.js → LayoutNode-DJVhkSGk.js} +6 -8
  23. package/dist/chunks/LegendSwatch-BhRjrtzv.js +18 -0
  24. package/dist/chunks/LoaderMark-C1dubiKn.js +85 -0
  25. package/dist/chunks/{LpActionBar-MPKMu3pz.js → LpActionBar-CzOFar5t.js} +14 -20
  26. package/dist/chunks/LpActivityLine-CJvzrNpj.js +95 -0
  27. package/dist/chunks/{LpAddressInput-DG0BTqdH.js → LpAddressInput-CNnLTDZg.js} +7 -7
  28. package/dist/chunks/LpAlert-C5igj802.js +119 -0
  29. package/dist/chunks/{LpAppShell-DPh1756q.js → LpAppShell-CEUAB8kK.js} +15 -16
  30. package/dist/chunks/{LpAutocomplete-Dgn6hw3p.js → LpAutocomplete-D92niDHE.js} +15 -32
  31. package/dist/chunks/{LpAvatar-Bs0Fb1lC.js → LpAvatar-CLPl-qOF.js} +18 -6
  32. package/dist/chunks/LpBadge-HOEPBYmi.js +126 -0
  33. package/dist/chunks/LpBreadcrumbs-DYoPc3P4.js +144 -0
  34. package/dist/chunks/{LpButton-DNR-YAq5.js → LpButton-CVxBfGjd.js} +12 -4
  35. package/dist/chunks/{LpCalendar-BLya39Fh.js → LpCalendar-pVL91-Pl.js} +1 -1
  36. package/dist/chunks/{LpCard-Bf71NXZq.js → LpCard-CqKLnEhl.js} +18 -8
  37. package/dist/chunks/{LpCheckbox-Da5oZPHo.js → LpCheckbox-DHc2bHDe.js} +9 -6
  38. package/dist/chunks/{LpCodeBlock-lLbmslfs.js → LpCodeBlock-BGsQhxw8.js} +24 -32
  39. package/dist/chunks/LpCodeDisplay-CIKKT2iW.js +189 -0
  40. package/dist/chunks/LpCollapse-CWS9M_lm.js +115 -0
  41. package/dist/chunks/{LpColorPicker-DtEfBAcK.js → LpColorPicker-DFugXNUi.js} +10 -5
  42. package/dist/chunks/{LpConfirmDialog-D7s4jakB.js → LpConfirmDialog-CfGCux8m.js} +3 -3
  43. package/dist/chunks/{LpConfirmHost-DrYI5y1K.js → LpConfirmHost-exB7JmcO.js} +1 -1
  44. package/dist/chunks/{LpContextMenu-CRnjoqSt.js → LpContextMenu-COwOwRgI.js} +13 -5
  45. package/dist/chunks/LpCopyButton-DzHjnFs0.js +133 -0
  46. package/dist/chunks/LpCountdown-Dtq1ihlJ.js +231 -0
  47. package/dist/chunks/LpDataList-B-5nHfNw.js +120 -0
  48. package/dist/chunks/LpDatePicker-BUe1VUC0.js +168 -0
  49. package/dist/chunks/LpDateRangePicker-C_k65vGR.js +126 -0
  50. package/dist/chunks/{LpDisclosure-6AplYBub.js → LpDisclosure-DOarzlAG.js} +22 -11
  51. package/dist/chunks/{LpDrawer-Q4SOxM4s.js → LpDrawer-DGNKRsGq.js} +9 -4
  52. package/dist/chunks/{LpDropdownMenu-DWTt0ooM.js → LpDropdownMenu-CRgrhdAH.js} +10 -5
  53. package/dist/chunks/LpEditable-DTqLt2lT.js +236 -0
  54. package/dist/chunks/{LpEmptyState-om1UnFjV.js → LpEmptyState-KTKipws2.js} +1 -1
  55. package/dist/chunks/{LpFieldNotice-CHuDeLjc.js → LpFieldNotice-CurbNuXI.js} +1 -1
  56. package/dist/chunks/{LpFileTree-CW24YsVX.js → LpFileTree-DMISXVHC.js} +5 -3
  57. package/dist/chunks/{LpFileTreeNode-BXhTHaKW.js → LpFileTreeNode-CPXB_Yy3.js} +42 -55
  58. package/dist/chunks/{LpFormField-DPb47HEm.js → LpFormField-BWwgm1E4.js} +23 -9
  59. package/dist/chunks/LpFrame-BVQCQLDI.js +155 -0
  60. package/dist/chunks/LpGauge-Bk8TwJj0.js +204 -0
  61. package/dist/chunks/LpGlowBorder-B8V-QzIl.js +40 -0
  62. package/dist/chunks/{LpHintExample-C1eKYdeL.js → LpHintExample-9Py0wc-L.js} +11 -34
  63. package/dist/chunks/{LpHintLayer-7UOdWQG3.js → LpHintLayer-p4hqzdyA.js} +27 -14
  64. package/dist/chunks/{LpHints-BUtBp9-w.js → LpHints-CCrhRfy9.js} +3 -3
  65. package/dist/chunks/LpHoverCard-spGxyw7T.js +130 -0
  66. package/dist/chunks/{LpIcon-6tSrZ3Zy.js → LpIcon-HJP5xMz4.js} +1 -1
  67. package/dist/chunks/LpIdenticon-BzdC_qz9.js +63 -0
  68. package/dist/chunks/{LpInfraNode-Ds_8SZgN.js → LpInfraNode-CUC3t4na.js} +39 -25
  69. package/dist/chunks/{LpInput-CUyr6PIE.js → LpInput-CDuwODJG.js} +44 -18
  70. package/dist/chunks/{LpLightbox-B9J8rzsj.js → LpLightbox-XJ0LpTcZ.js} +69 -69
  71. package/dist/chunks/LpLoader-DjJEX8hL.js +92 -0
  72. package/dist/chunks/{LpLogViewer-4QFc-sVN.js → LpLogViewer-elZHbj85.js} +225 -129
  73. package/dist/chunks/LpMagnetic-CtXKLa2Y.js +62 -0
  74. package/dist/chunks/{LpMapPicker-BTbkFeSG.js → LpMapPicker-BtIl7NOM.js} +34 -31
  75. package/dist/chunks/LpMasonry--k0571qG.js +185 -0
  76. package/dist/chunks/{LpMediaGallery-CuPcscx3.js → LpMediaGallery-D5swlmZ_.js} +3 -3
  77. package/dist/chunks/{LpModal-hk1noDcr.js → LpModal-eBMt2Fqn.js} +8 -3
  78. package/dist/chunks/{LpModalNav-DQd2keZm.js → LpModalNav-D4Z0wVHR.js} +4 -4
  79. package/dist/chunks/{LpNotificationBell-X84PJIxD.js → LpNotificationBell-DPZmP5dM.js} +32 -48
  80. package/dist/chunks/LpNumberField-B9k-h2HE.js +140 -0
  81. package/dist/chunks/{LpNumberFlow-z4WPZcZu.js → LpNumberFlow-Cfyh033Q.js} +8 -28
  82. package/dist/chunks/{LpOtpInput-PbeNJ5In.js → LpOtpInput-CeBPsM7D.js} +2 -1
  83. package/dist/chunks/{LpPagination-Bx-VG4Ag.js → LpPagination-VNCX6pFC.js} +37 -6
  84. package/dist/chunks/{LpPalettePreview-CFav_7co.js → LpPalettePreview-BNB8T_MY.js} +1 -1
  85. package/dist/chunks/{LpPasswordInput-CbnXitAS.js → LpPasswordInput-DTV18FIh.js} +20 -20
  86. package/dist/chunks/{LpPhoneInput-DP69HONS.js → LpPhoneInput-C60tx1tC.js} +12 -7
  87. package/dist/chunks/{LpPie-yLF9-aDR.js → LpPie-CFuV7pZv.js} +158 -47
  88. package/dist/chunks/LpPipeline-D81yh_NX.js +329 -0
  89. package/dist/chunks/{LpPopover-DVnkHaOu.js → LpPopover-BEIcqb9p.js} +8 -3
  90. package/dist/chunks/{LpProgress-CA86wxXu.js → LpProgress-CE-m5OpD.js} +23 -63
  91. package/dist/chunks/LpQuota-2Sw_gqcJ.js +162 -0
  92. package/dist/chunks/{LpRadioGroup-8S5hf8lE.js → LpRadioGroup-CGBr5nIp.js} +1 -1
  93. package/dist/chunks/{LpRangeCalendar-ByQi-WUz.js → LpRangeCalendar-c5qj7YcC.js} +1 -1
  94. package/dist/chunks/{LpRangeSlider-C1yF9-nP.js → LpRangeSlider-Dv6lNvHY.js} +6 -2
  95. package/dist/chunks/LpRelativeTime-CKzVqAo9.js +73 -0
  96. package/dist/chunks/LpRepeater-D0VjmD6y.js +140 -0
  97. package/dist/chunks/LpRevealOnScroll-DcQjexLy.js +76 -0
  98. package/dist/chunks/LpScramble-TDO5Kdou.js +85 -0
  99. package/dist/chunks/LpSecretField-DMfdJ1cQ.js +307 -0
  100. package/dist/chunks/{LpSection-BmRXe6ZP.js → LpSection-BW4xJ-Li.js} +1 -1
  101. package/dist/chunks/{LpSegmented-CW3bFHM4.js → LpSegmented-BO99Sr4m.js} +11 -14
  102. package/dist/chunks/{LpSelect-BCyDYoih.js → LpSelect-B4f_yRi5.js} +93 -108
  103. package/dist/chunks/LpShaderBackdrop-Bote0iuy.js +332 -0
  104. package/dist/chunks/LpShinyText-DX2ajtWq.js +48 -0
  105. package/dist/chunks/{LpSidebar-DfIiS-lB.js → LpSidebar-D-M0Y_7U.js} +5 -3
  106. package/dist/chunks/{LpSidebarNav-C5FDNI0t.js → LpSidebarNav-DF-TYxOV.js} +3 -3
  107. package/dist/chunks/{LpSlider-Cuzmrd7p.js → LpSlider-DuoRpOrH.js} +6 -2
  108. package/dist/chunks/{LpSparkline-DXT4KrSi.js → LpSparkline-CExIRDb3.js} +32 -27
  109. package/dist/chunks/LpSpotlight-4F3NeUMY.js +41 -0
  110. package/dist/chunks/{LpStat-iBMF5QNk.js → LpStat-B2ix1Q7t.js} +38 -35
  111. package/dist/chunks/LpStatus-C7kx5PKE.js +86 -0
  112. package/dist/chunks/LpStepMark-DK-5BKAt.js +101 -0
  113. package/dist/chunks/LpStepper-DRFfdJaq.js +76 -0
  114. package/dist/chunks/{LpSwap-D82jiecV.js → LpSwap-DzE6M3Mg.js} +1 -1
  115. package/dist/chunks/LpSwitch-DrzKrZZV.js +112 -0
  116. package/dist/chunks/{LpTableFilter-CuIbgdW0.js → LpTableFilter-DyvHGbOk.js} +3 -2
  117. package/dist/chunks/{LpTableOfContents-C_4VBktT.js → LpTableOfContents-rYvo8z5T.js} +34 -21
  118. package/dist/chunks/{LpTagsInput-DiXrpYeE.js → LpTagsInput-DgpBFRV2.js} +68 -71
  119. package/dist/chunks/LpTextReveal-CtAnOUkp.js +140 -0
  120. package/dist/chunks/{LpTextarea-xoQd5Lnp.js → LpTextarea-DiWjeVoJ.js} +12 -11
  121. package/dist/chunks/{LpThemeProvider-CQ2jC9TA.js → LpThemeProvider-DcbfOxsU.js} +1 -1
  122. package/dist/chunks/LpThemeStudio-DguwHdGt.js +416 -0
  123. package/dist/chunks/LpThemeStudioSection-BwhqYDLf.js +20 -0
  124. package/dist/chunks/LpThemeSwitcher-D5uz0MhK.js +278 -0
  125. package/dist/chunks/{LpTimeField-MFgAsNc5.js → LpTimeField-BFQVf_PW.js} +13 -5
  126. package/dist/chunks/{LpToaster-C4zE9zB7.js → LpToaster-Wv9ksj4q.js} +49 -82
  127. package/dist/chunks/{LpTooltip-suFCM34F.js → LpTooltip-Cz8SQwRt.js} +8 -3
  128. package/dist/chunks/{LpTopologyCanvas-6ozNrQKh.js → LpTopologyCanvas-ZhKthfgz.js} +1 -1
  129. package/dist/chunks/{LpTour-BUp3Jt2e.js → LpTour-NfRJNEIP.js} +24 -18
  130. package/dist/chunks/LpTruncate-D_5Pfv5B.js +112 -0
  131. package/dist/chunks/LpTypewriter-BCL_a6wE.js +159 -0
  132. package/dist/chunks/{LpUptimeBar-B6kHw4Cj.js → LpUptimeBar-DWegV2p6.js} +9 -8
  133. package/dist/chunks/{LpVideoBackdrop-qWRYBOTQ.js → LpVideoBackdrop-DS1wGv-X.js} +7 -8
  134. package/dist/chunks/{MenuTitle-obgek0B7.js → MenuTitle-BjQZX8tQ.js} +1 -1
  135. package/dist/chunks/OptionContent-CmYUUeWj.js +40 -0
  136. package/dist/chunks/PickerField-CHRS1h7K.js +116 -0
  137. package/dist/chunks/RevealToggle-C-KzaQGJ.js +65 -0
  138. package/dist/chunks/StepConnector-37OgEOXA.js +41 -0
  139. package/dist/chunks/TourCard-BXuVHsfn.js +123 -0
  140. package/dist/chunks/backdrop-Dkf2vM81.js +59 -0
  141. package/dist/chunks/{icons-DVhZ_plB.js → icons-4IywzkHk.js} +1 -1
  142. package/dist/chunks/{useTheme-2qHG8NEU.js → useTheme-BOV_-AiY.js} +9 -65
  143. package/dist/component-names.d.ts +1 -1
  144. package/dist/components/AttentionDot.vue.d.ts +9 -0
  145. package/dist/components/AttentionDot.vue.js +4 -0
  146. package/dist/components/ContextMenuItems.vue.js +1 -1
  147. package/dist/components/DropzoneLinkField.vue.js +1 -1
  148. package/dist/components/FieldWrapper.vue.d.ts +25 -0
  149. package/dist/components/FieldWrapper.vue.js +4 -0
  150. package/dist/components/LayoutCanvas.vue.js +1 -1
  151. package/dist/components/LayoutNode.vue.d.ts +4 -4
  152. package/dist/components/LayoutNode.vue.js +1 -1
  153. package/dist/components/LegendSwatch.vue.d.ts +6 -0
  154. package/dist/components/LegendSwatch.vue.js +4 -0
  155. package/dist/components/LoaderMark.vue.d.ts +12 -0
  156. package/dist/components/LoaderMark.vue.js +4 -0
  157. package/dist/components/LpActionBar.vue.js +1 -1
  158. package/dist/components/LpActivityLine.vue.d.ts +58 -0
  159. package/dist/components/LpActivityLine.vue.js +4 -0
  160. package/dist/components/LpAddressInput.vue.js +1 -1
  161. package/dist/components/LpAlert.vue.d.ts +2 -2
  162. package/dist/components/LpAlert.vue.js +1 -1
  163. package/dist/components/LpAppShell.vue.d.ts +8 -7
  164. package/dist/components/LpAppShell.vue.js +1 -1
  165. package/dist/components/LpAutocomplete.vue.js +1 -1
  166. package/dist/components/LpAvatar.vue.d.ts +16 -0
  167. package/dist/components/LpAvatar.vue.js +1 -1
  168. package/dist/components/LpBadge.vue.d.ts +19 -5
  169. package/dist/components/LpBadge.vue.js +1 -1
  170. package/dist/components/LpBreadcrumbs.vue.js +1 -1
  171. package/dist/components/LpButton.vue.d.ts +2 -2
  172. package/dist/components/LpButton.vue.js +1 -1
  173. package/dist/components/LpCalendar.vue.js +1 -1
  174. package/dist/components/LpCard.vue.d.ts +24 -0
  175. package/dist/components/LpCard.vue.js +1 -1
  176. package/dist/components/LpChart.vue.d.ts +10 -0
  177. package/dist/components/LpChart.vue.js +122 -142
  178. package/dist/components/LpCheckbox.vue.d.ts +2 -2
  179. package/dist/components/LpCheckbox.vue.js +1 -1
  180. package/dist/components/LpCodeBlock.vue.js +1 -1
  181. package/dist/components/LpCodeDisplay.vue.d.ts +89 -0
  182. package/dist/components/LpCodeDisplay.vue.js +4 -0
  183. package/dist/components/LpCollapse.vue.d.ts +58 -0
  184. package/dist/components/LpCollapse.vue.js +4 -0
  185. package/dist/components/LpColorPicker.vue.d.ts +2 -2
  186. package/dist/components/LpColorPicker.vue.js +1 -1
  187. package/dist/components/LpCommandPalette.vue.js +34 -23
  188. package/dist/components/LpConfirmDialog.vue.js +1 -1
  189. package/dist/components/LpConfirmHost.vue.js +1 -1
  190. package/dist/components/LpContextMenu.vue.js +1 -1
  191. package/dist/components/LpCopyButton.vue.d.ts +82 -0
  192. package/dist/components/LpCopyButton.vue.js +4 -0
  193. package/dist/components/LpCountdown.vue.d.ts +100 -0
  194. package/dist/components/LpCountdown.vue.js +4 -0
  195. package/dist/components/LpDataList.vue.d.ts +66 -0
  196. package/dist/components/LpDataList.vue.js +4 -0
  197. package/dist/components/LpDatePicker.vue.d.ts +1 -1
  198. package/dist/components/LpDatePicker.vue.js +1 -1
  199. package/dist/components/LpDateRangePicker.vue.d.ts +1 -1
  200. package/dist/components/LpDateRangePicker.vue.js +1 -1
  201. package/dist/components/LpDisclosure.vue.js +1 -1
  202. package/dist/components/LpDock.vue.d.ts +74 -0
  203. package/dist/components/LpDock.vue.js +204 -0
  204. package/dist/components/LpDrawer.vue.js +1 -1
  205. package/dist/components/LpDropdownMenu.vue.js +1 -1
  206. package/dist/components/LpDropzone.vue.d.ts +8 -1
  207. package/dist/components/LpDropzone.vue.js +36 -15
  208. package/dist/components/LpEditable.vue.d.ts +85 -0
  209. package/dist/components/LpEditable.vue.js +4 -0
  210. package/dist/components/LpEmptyState.vue.js +1 -1
  211. package/dist/components/LpFieldNotice.vue.js +1 -1
  212. package/dist/components/LpFileTree.vue.js +1 -1
  213. package/dist/components/LpFileTreeNode.vue.js +1 -1
  214. package/dist/components/LpFormField.vue.js +1 -1
  215. package/dist/components/LpFrame.vue.d.ts +22 -0
  216. package/dist/components/LpFrame.vue.js +4 -0
  217. package/dist/components/LpGauge.vue.d.ts +116 -0
  218. package/dist/components/LpGauge.vue.js +4 -0
  219. package/dist/components/LpGlowBorder.vue.d.ts +47 -0
  220. package/dist/components/LpGlowBorder.vue.js +4 -0
  221. package/dist/components/LpHintExample.vue.d.ts +2 -2
  222. package/dist/components/LpHintExample.vue.js +1 -1
  223. package/dist/components/LpHintLayer.vue.js +1 -1
  224. package/dist/components/LpHints.vue.js +1 -1
  225. package/dist/components/LpHoverCard.vue.d.ts +60 -0
  226. package/dist/components/LpHoverCard.vue.js +4 -0
  227. package/dist/components/LpIcon.vue.js +1 -1
  228. package/dist/components/LpIdenticon.vue.d.ts +37 -0
  229. package/dist/components/LpIdenticon.vue.js +4 -0
  230. package/dist/components/LpImageEditor.vue.js +13 -19
  231. package/dist/components/LpInfraNode.vue.js +1 -1
  232. package/dist/components/LpInput.vue.d.ts +10 -0
  233. package/dist/components/LpInput.vue.js +1 -1
  234. package/dist/components/LpLightbox.vue.js +1 -1
  235. package/dist/components/LpLoader.vue.d.ts +106 -0
  236. package/dist/components/LpLoader.vue.js +4 -0
  237. package/dist/components/LpLogViewer.vue.js +1 -1
  238. package/dist/components/LpMagnetic.vue.d.ts +28 -0
  239. package/dist/components/LpMagnetic.vue.js +4 -0
  240. package/dist/components/LpMapPicker.vue.js +1 -1
  241. package/dist/components/LpMasonry.vue.d.ts +42 -0
  242. package/dist/components/LpMasonry.vue.js +4 -0
  243. package/dist/components/LpMediaGallery.vue.js +1 -1
  244. package/dist/components/LpModal.vue.js +1 -1
  245. package/dist/components/LpModalNav.vue.js +1 -1
  246. package/dist/components/LpNotificationBell.vue.d.ts +15 -6
  247. package/dist/components/LpNotificationBell.vue.js +1 -1
  248. package/dist/components/LpNumberField.vue.d.ts +57 -0
  249. package/dist/components/LpNumberField.vue.js +1 -1
  250. package/dist/components/LpNumberFlow.vue.js +1 -1
  251. package/dist/components/LpOtpInput.vue.d.ts +12 -4
  252. package/dist/components/LpOtpInput.vue.js +1 -1
  253. package/dist/components/LpPagination.vue.js +1 -1
  254. package/dist/components/LpPaletteFacts.vue.js +1 -1
  255. package/dist/components/LpPaletteHeader.vue.js +2 -2
  256. package/dist/components/LpPalettePreview.vue.js +1 -1
  257. package/dist/components/LpPaletteStats.vue.js +1 -1
  258. package/dist/components/LpPasswordInput.vue.d.ts +12 -1
  259. package/dist/components/LpPasswordInput.vue.js +1 -1
  260. package/dist/components/LpPhoneInput.vue.js +1 -1
  261. package/dist/components/LpPie.vue.d.ts +3 -1
  262. package/dist/components/LpPie.vue.js +1 -1
  263. package/dist/components/LpPipeline.vue.d.ts +91 -0
  264. package/dist/components/LpPipeline.vue.js +4 -0
  265. package/dist/components/LpPopover.vue.d.ts +2 -2
  266. package/dist/components/LpPopover.vue.js +1 -1
  267. package/dist/components/LpProgress.vue.d.ts +11 -4
  268. package/dist/components/LpProgress.vue.js +1 -1
  269. package/dist/components/LpQuota.vue.d.ts +68 -0
  270. package/dist/components/LpQuota.vue.js +4 -0
  271. package/dist/components/LpRadioGroup.vue.js +1 -1
  272. package/dist/components/LpRangeCalendar.vue.js +1 -1
  273. package/dist/components/LpRangeSlider.vue.js +1 -1
  274. package/dist/components/LpRelativeTime.vue.d.ts +41 -0
  275. package/dist/components/LpRelativeTime.vue.js +4 -0
  276. package/dist/components/LpRepeater.vue.d.ts +48 -0
  277. package/dist/components/LpRepeater.vue.js +4 -0
  278. package/dist/components/LpRevealOnScroll.vue.d.ts +67 -0
  279. package/dist/components/LpRevealOnScroll.vue.js +4 -0
  280. package/dist/components/LpRollingText.vue.d.ts +1 -1
  281. package/dist/components/LpScramble.vue.d.ts +55 -0
  282. package/dist/components/LpScramble.vue.js +4 -0
  283. package/dist/components/LpScrollArea.vue.d.ts +1 -1
  284. package/dist/components/LpSecretField.vue.d.ts +108 -0
  285. package/dist/components/LpSecretField.vue.js +4 -0
  286. package/dist/components/LpSection.vue.js +1 -1
  287. package/dist/components/LpSegmented.vue.js +1 -1
  288. package/dist/components/LpSelect.vue.d.ts +2 -0
  289. package/dist/components/LpSelect.vue.js +1 -1
  290. package/dist/components/LpShaderBackdrop.vue.d.ts +39 -0
  291. package/dist/components/LpShaderBackdrop.vue.js +4 -0
  292. package/dist/components/LpShinyText.vue.d.ts +39 -0
  293. package/dist/components/LpShinyText.vue.js +4 -0
  294. package/dist/components/LpShortcutsDialog.vue.js +1 -1
  295. package/dist/components/LpSidebar.vue.js +1 -1
  296. package/dist/components/LpSidebarNav.vue.js +1 -1
  297. package/dist/components/LpSlider.vue.js +1 -1
  298. package/dist/components/LpSparkline.vue.d.ts +4 -3
  299. package/dist/components/LpSparkline.vue.js +1 -1
  300. package/dist/components/LpSpotlight.vue.d.ts +37 -0
  301. package/dist/components/LpSpotlight.vue.js +4 -0
  302. package/dist/components/LpStat.vue.js +1 -1
  303. package/dist/components/LpStatus.vue.d.ts +65 -0
  304. package/dist/components/LpStatus.vue.js +4 -0
  305. package/dist/components/LpStepMark.vue.d.ts +31 -0
  306. package/dist/components/LpStepMark.vue.js +4 -0
  307. package/dist/components/LpStepper.vue.js +1 -1
  308. package/dist/components/LpSwap.vue.js +1 -1
  309. package/dist/components/LpSwitch.vue.d.ts +2 -2
  310. package/dist/components/LpSwitch.vue.js +1 -1
  311. package/dist/components/LpTable.vue.js +104 -120
  312. package/dist/components/LpTableFilter.vue.js +1 -1
  313. package/dist/components/LpTableOfContents.vue.d.ts +6 -1
  314. package/dist/components/LpTableOfContents.vue.js +1 -1
  315. package/dist/components/LpTabs.vue.d.ts +5 -5
  316. package/dist/components/LpTabs.vue.js +25 -33
  317. package/dist/components/LpTagsInput.vue.js +1 -1
  318. package/dist/components/LpTextReveal.vue.d.ts +58 -0
  319. package/dist/components/LpTextReveal.vue.js +4 -0
  320. package/dist/components/LpTextarea.vue.js +1 -1
  321. package/dist/components/LpThemeProvider.vue.js +1 -1
  322. package/dist/components/LpThemeStudio.vue.d.ts +54 -0
  323. package/dist/components/LpThemeStudio.vue.js +4 -0
  324. package/dist/components/LpThemeStudioSection.vue.d.ts +16 -0
  325. package/dist/components/LpThemeStudioSection.vue.js +4 -0
  326. package/dist/components/LpThemeSwitcher.vue.d.ts +32 -1
  327. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  328. package/dist/components/LpTimeField.vue.d.ts +2 -0
  329. package/dist/components/LpTimeField.vue.js +1 -1
  330. package/dist/components/LpToaster.vue.js +1 -1
  331. package/dist/components/LpTooltip.vue.d.ts +2 -2
  332. package/dist/components/LpTooltip.vue.js +1 -1
  333. package/dist/components/LpTopologyCanvas.vue.js +1 -1
  334. package/dist/components/LpTour.vue.js +1 -1
  335. package/dist/components/LpTruncate.vue.d.ts +34 -0
  336. package/dist/components/LpTruncate.vue.js +4 -0
  337. package/dist/components/LpTypewriter.vue.d.ts +61 -0
  338. package/dist/components/LpTypewriter.vue.js +4 -0
  339. package/dist/components/LpUptimeBar.vue.js +1 -1
  340. package/dist/components/LpVideoBackdrop.vue.js +1 -1
  341. package/dist/components/MenuTitle.vue.js +1 -1
  342. package/dist/components/OptionContent.vue.d.ts +7 -0
  343. package/dist/components/OptionContent.vue.js +4 -0
  344. package/dist/components/PickerField.vue.d.ts +43 -0
  345. package/dist/components/PickerField.vue.js +4 -0
  346. package/dist/components/RevealToggle.vue.d.ts +21 -0
  347. package/dist/components/RevealToggle.vue.js +4 -0
  348. package/dist/components/StepConnector.vue.d.ts +19 -0
  349. package/dist/components/StepConnector.vue.js +4 -0
  350. package/dist/components/TourCard.vue.js +1 -1
  351. package/dist/components/badge.d.ts +1 -0
  352. package/dist/components/badge.js +4 -0
  353. package/dist/components/chart.d.ts +5 -1
  354. package/dist/components/chart.js +2 -21
  355. package/dist/components/dateRange.d.ts +11 -0
  356. package/dist/components/dateRange.js +12 -0
  357. package/dist/components/dock.d.ts +19 -0
  358. package/dist/components/dock.js +16 -0
  359. package/dist/components/dropdown.d.ts +10 -1
  360. package/dist/components/dropdown.js +7 -2
  361. package/dist/components/fieldText.d.ts +38 -0
  362. package/dist/components/fieldText.js +53 -0
  363. package/dist/components/fileTree.d.ts +7 -3
  364. package/dist/components/fileTree.js +12 -18
  365. package/dist/components/format.d.ts +41 -0
  366. package/dist/components/format.js +67 -0
  367. package/dist/components/identicon.d.ts +38 -0
  368. package/dist/components/identicon.js +85 -0
  369. package/dist/components/masonry.d.ts +32 -0
  370. package/dist/components/masonry.js +40 -0
  371. package/dist/components/menuWhen.js +1 -1
  372. package/dist/components/meter.d.ts +64 -0
  373. package/dist/components/meter.js +53 -0
  374. package/dist/components/otp.d.ts +1 -1
  375. package/dist/components/otp.js +7 -2
  376. package/dist/components/pipeline.d.ts +55 -0
  377. package/dist/components/pipeline.js +51 -0
  378. package/dist/components/quota.d.ts +57 -0
  379. package/dist/components/quota.js +40 -0
  380. package/dist/components/relativeTime.d.ts +24 -0
  381. package/dist/components/relativeTime.js +56 -0
  382. package/dist/components/reveal.d.ts +18 -0
  383. package/dist/components/reveal.js +32 -0
  384. package/dist/components/scramble.d.ts +68 -0
  385. package/dist/components/scramble.js +58 -0
  386. package/dist/components/shaderBackdrop.d.ts +20 -0
  387. package/dist/components/shaderBackdrop.js +156 -0
  388. package/dist/components/slider.d.ts +5 -0
  389. package/dist/components/slider.js +24 -0
  390. package/dist/components/slotText.d.ts +2 -0
  391. package/dist/components/slotText.js +9 -0
  392. package/dist/components/status.d.ts +14 -0
  393. package/dist/components/status.js +22 -0
  394. package/dist/components/tableFacets.d.ts +8 -0
  395. package/dist/components/tableFacets.js +19 -0
  396. package/dist/components/textSplit.d.ts +17 -0
  397. package/dist/components/textSplit.js +24 -0
  398. package/dist/components/timeSpan.d.ts +78 -0
  399. package/dist/components/timeSpan.js +85 -0
  400. package/dist/components/tone.d.ts +43 -0
  401. package/dist/components/tone.js +82 -0
  402. package/dist/components/tour.js +3 -2
  403. package/dist/components/typewriter.d.ts +36 -0
  404. package/dist/components/typewriter.js +53 -0
  405. package/dist/components/videoBackdrop.js +5 -6
  406. package/dist/composables/easing.d.ts +22 -1
  407. package/dist/composables/easing.js +42 -1
  408. package/dist/composables/pseudoLocale.d.ts +15 -0
  409. package/dist/composables/pseudoLocale.js +96 -0
  410. package/dist/composables/scroll.js +5 -3
  411. package/dist/composables/useClipboard.d.ts +4 -1
  412. package/dist/composables/useClipboard.js +12 -2
  413. package/dist/composables/useField.d.ts +8 -0
  414. package/dist/composables/useField.js +5 -0
  415. package/dist/composables/useForm.js +19 -5
  416. package/dist/composables/useHintSystem.d.ts +4 -0
  417. package/dist/composables/useHintSystem.js +33 -1
  418. package/dist/composables/useHints.js +9 -3
  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 +61 -0
  451. package/dist/icons-all.js +1 -1
  452. package/dist/index.d.ts +98 -1
  453. package/dist/index.js +262 -104
  454. package/dist/theme/define.d.ts +12 -0
  455. package/dist/theme/studio.d.ts +90 -0
  456. package/package.json +5 -2
  457. package/src/component-names.ts +33 -0
  458. package/src/components/AttentionDot.vue +27 -0
  459. package/src/components/FieldWrapper.vue +38 -0
  460. package/src/components/LayoutNode.vue +5 -9
  461. package/src/components/LegendSwatch.vue +15 -0
  462. package/src/components/LoaderMark.vue +90 -0
  463. package/src/components/LpActionBar.vue +12 -20
  464. package/src/components/LpActivityLine.vue +186 -0
  465. package/src/components/LpAlert.vue +54 -24
  466. package/src/components/LpAppShell.vue +7 -11
  467. package/src/components/LpAutocomplete.vue +16 -14
  468. package/src/components/LpAvatar.vue +17 -2
  469. package/src/components/LpBadge.vue +77 -13
  470. package/src/components/LpBreadcrumbs.vue +101 -35
  471. package/src/components/LpButton.vue +15 -3
  472. package/src/components/LpCard.vue +30 -7
  473. package/src/components/LpChart.vue +152 -156
  474. package/src/components/LpCheckbox.vue +10 -4
  475. package/src/components/LpCodeBlock.vue +11 -19
  476. package/src/components/LpCodeDisplay.vue +228 -0
  477. package/src/components/LpCollapse.vue +162 -0
  478. package/src/components/LpColorPicker.vue +10 -1
  479. package/src/components/LpCommandPalette.vue +38 -24
  480. package/src/components/LpContextMenu.vue +10 -1
  481. package/src/components/LpCopyButton.vue +185 -0
  482. package/src/components/LpCountdown.vue +308 -0
  483. package/src/components/LpDataList.vue +154 -0
  484. package/src/components/LpDatePicker.vue +53 -104
  485. package/src/components/LpDateRangePicker.vue +49 -95
  486. package/src/components/LpDisclosure.vue +58 -36
  487. package/src/components/LpDock.vue +274 -0
  488. package/src/components/LpDrawer.vue +10 -1
  489. package/src/components/LpDropdownMenu.vue +10 -1
  490. package/src/components/LpDropzone.vue +34 -13
  491. package/src/components/LpEditable.vue +293 -0
  492. package/src/components/LpFileTree.vue +5 -1
  493. package/src/components/LpFileTreeNode.vue +25 -50
  494. package/src/components/LpFormField.vue +22 -3
  495. package/src/components/LpFrame.vue +200 -0
  496. package/src/components/LpGauge.vue +287 -0
  497. package/src/components/LpGlowBorder.vue +60 -0
  498. package/src/components/LpHintExample.vue +14 -38
  499. package/src/components/LpHintLayer.vue +13 -3
  500. package/src/components/LpHoverCard.vue +175 -0
  501. package/src/components/LpIdenticon.vue +69 -0
  502. package/src/components/LpImageEditor.vue +15 -18
  503. package/src/components/LpInfraNode.vue +27 -16
  504. package/src/components/LpInput.vue +30 -16
  505. package/src/components/LpLightbox.vue +44 -23
  506. package/src/components/LpLoader.vue +145 -0
  507. package/src/components/LpLogViewer.vue +311 -82
  508. package/src/components/LpMagnetic.vue +97 -0
  509. package/src/components/LpMapPicker.vue +26 -28
  510. package/src/components/LpMasonry.vue +247 -0
  511. package/src/components/LpModal.vue +10 -1
  512. package/src/components/LpNotificationBell.vue +33 -49
  513. package/src/components/LpNumberField.vue +79 -14
  514. package/src/components/LpNumberFlow.vue +10 -35
  515. package/src/components/LpOtpInput.vue +7 -2
  516. package/src/components/LpPagination.vue +38 -4
  517. package/src/components/LpPalettePreview.vue +2 -7
  518. package/src/components/LpPasswordInput.vue +16 -14
  519. package/src/components/LpPhoneInput.vue +12 -3
  520. package/src/components/LpPie.vue +197 -36
  521. package/src/components/LpPipeline.vue +366 -0
  522. package/src/components/LpPopover.vue +10 -1
  523. package/src/components/LpProgress.vue +22 -84
  524. package/src/components/LpQuota.vue +197 -0
  525. package/src/components/LpRangeSlider.vue +5 -1
  526. package/src/components/LpRelativeTime.vue +90 -0
  527. package/src/components/LpRepeater.vue +80 -0
  528. package/src/components/LpRevealOnScroll.vue +125 -0
  529. package/src/components/LpScramble.vue +107 -0
  530. package/src/components/LpSecretField.vue +313 -0
  531. package/src/components/LpSegmented.vue +3 -10
  532. package/src/components/LpSelect.vue +78 -64
  533. package/src/components/LpShaderBackdrop.vue +434 -0
  534. package/src/components/LpShinyText.vue +139 -0
  535. package/src/components/LpSidebar.vue +2 -0
  536. package/src/components/LpSlider.vue +5 -1
  537. package/src/components/LpSparkline.vue +55 -37
  538. package/src/components/LpSpotlight.vue +51 -0
  539. package/src/components/LpStat.vue +6 -2
  540. package/src/components/LpStatus.vue +127 -0
  541. package/src/components/LpStepMark.vue +138 -0
  542. package/src/components/LpStepper.vue +37 -43
  543. package/src/components/LpSwap.vue +2 -2
  544. package/src/components/LpSwitch.vue +15 -22
  545. package/src/components/LpTable.vue +47 -63
  546. package/src/components/LpTableFilter.vue +1 -0
  547. package/src/components/LpTableOfContents.vue +53 -29
  548. package/src/components/LpTabs.vue +10 -21
  549. package/src/components/LpTagsInput.vue +53 -37
  550. package/src/components/LpTextReveal.vue +236 -0
  551. package/src/components/LpTextarea.vue +11 -11
  552. package/src/components/LpThemeStudio.vue +216 -0
  553. package/src/components/LpThemeStudioSection.vue +16 -0
  554. package/src/components/LpThemeSwitcher.vue +156 -47
  555. package/src/components/LpTimeField.vue +9 -1
  556. package/src/components/LpToaster.vue +63 -83
  557. package/src/components/LpTooltip.vue +10 -1
  558. package/src/components/LpTour.vue +24 -13
  559. package/src/components/LpTruncate.vue +135 -0
  560. package/src/components/LpTypewriter.vue +236 -0
  561. package/src/components/LpUptimeBar.vue +6 -5
  562. package/src/components/LpVideoBackdrop.vue +15 -13
  563. package/src/components/OptionContent.vue +17 -0
  564. package/src/components/PickerField.vue +58 -0
  565. package/src/components/RevealToggle.vue +51 -0
  566. package/src/components/StepConnector.vue +54 -0
  567. package/src/components/TourCard.vue +29 -16
  568. package/src/components/badge.ts +8 -0
  569. package/src/components/chart.ts +8 -23
  570. package/src/components/dateRange.ts +25 -0
  571. package/src/components/dock.ts +31 -0
  572. package/src/components/dropdown.ts +15 -3
  573. package/src/components/fieldText.ts +95 -0
  574. package/src/components/fileTree.ts +19 -21
  575. package/src/components/format.ts +136 -0
  576. package/src/components/identicon.ts +160 -0
  577. package/src/components/masonry.ts +73 -0
  578. package/src/components/meter.ts +122 -0
  579. package/src/components/otp.ts +14 -3
  580. package/src/components/pipeline.ts +101 -0
  581. package/src/components/quota.ts +111 -0
  582. package/src/components/relativeTime.ts +118 -0
  583. package/src/components/reveal.ts +56 -0
  584. package/src/components/scramble.ts +138 -0
  585. package/src/components/shaderBackdrop.ts +208 -0
  586. package/src/components/slider.ts +30 -0
  587. package/src/components/slotText.ts +13 -0
  588. package/src/components/status.ts +46 -0
  589. package/src/components/tableFacets.ts +25 -0
  590. package/src/components/textSplit.ts +55 -0
  591. package/src/components/timeSpan.ts +183 -0
  592. package/src/components/tone.ts +144 -0
  593. package/src/components/tour.ts +3 -2
  594. package/src/components/typewriter.ts +104 -0
  595. package/src/components/videoBackdrop.ts +7 -6
  596. package/src/composables/easing.ts +66 -1
  597. package/src/composables/pseudoLocale.ts +105 -0
  598. package/src/composables/scroll.ts +6 -3
  599. package/src/composables/useClipboard.ts +25 -3
  600. package/src/composables/useField.ts +12 -0
  601. package/src/composables/useForm.ts +27 -6
  602. package/src/composables/useHintSystem.ts +40 -0
  603. package/src/composables/useHints.ts +14 -3
  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 +93 -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
@@ -168,15 +168,18 @@
168
168
 
169
169
  /* ── layering scale ──────────────────────────────
170
170
  One ladder so overlays never fight. Toasts sit ABOVE modals on purpose:
171
- a notification must remain visible even while a dialog is open. */
171
+ a notification must remain visible even while a dialog is open. Tooltips
172
+ top the ladder: a tip only exists under the pointer or focus that asked
173
+ for it, and below the toasts one on a toast's own button (the error
174
+ toast's copy) opened underneath the toast stacked above it. */
172
175
  @theme {
173
176
  --z-dropdown: 50;
174
177
  --z-overlay: 100;
175
178
  --z-modal: 110;
176
179
  --z-popover: 120;
177
- --z-tooltip: 130;
178
180
  --z-tour: 140;
179
181
  --z-toast: 200;
182
+ --z-tooltip: 210;
180
183
 
181
184
  }
182
185
 
@@ -220,11 +223,54 @@
220
223
  }
221
224
  }
222
225
  /* For panels a flex/grid parent already centres, so the animation only has to
223
- supply the rise — no -50% to preserve. LpModal uses these. */
226
+ supply the rise — no -50% to preserve. LpModal uses these.
227
+ *
228
+ * rise-in is also THE "arrive from a little below" entrance for everything
229
+ * smaller: a tab panel, an option, a log row, a dropzone, a palette line. Those
230
+ * were seven keyframes that differed only in the distance, so the distance is a
231
+ * variable: `--rise` (10px, the dialog's, when unset). A list sets 6px, a line of
232
+ * text 3-4px, and a negative distance arrives from above (an option cascading
233
+ * down from its trigger). Registered as non-inheriting so a distance set on a
234
+ * list does not leak into a dialog opened from inside it. */
235
+ @property --rise {
236
+ syntax: "<length>";
237
+ inherits: false;
238
+ initial-value: 10px;
239
+ }
224
240
  @keyframes rise-in {
225
241
  from {
226
242
  opacity: 0;
227
- transform: translateY(10px);
243
+ transform: translateY(var(--rise, 10px));
244
+ }
245
+ }
246
+ /*
247
+ * Names apps reach for in their own `animate-[…]` classes (the panel's option
248
+ * cascades and cards use them). The kit itself draws every entrance with
249
+ * `rise-in` and a `--rise` distance; these stay as the same motion under the
250
+ * names that were published, so an app's class keeps animating.
251
+ */
252
+ @keyframes option-in {
253
+ from {
254
+ opacity: 0;
255
+ transform: translateY(-6px);
256
+ }
257
+ }
258
+ @keyframes option-in-up {
259
+ from {
260
+ opacity: 0;
261
+ transform: translateY(6px);
262
+ }
263
+ }
264
+ @keyframes tab-in {
265
+ from {
266
+ opacity: 0;
267
+ transform: translateY(6px);
268
+ }
269
+ }
270
+ @keyframes disclosure-body-in {
271
+ from {
272
+ opacity: 0;
273
+ transform: translateY(-4px);
228
274
  }
229
275
  }
230
276
  @keyframes rise-out {
@@ -276,27 +322,6 @@
276
322
  transform: scale(0.85);
277
323
  }
278
324
  }
279
- /* Option cascade: items slide in top→down on open. */
280
- @keyframes option-in {
281
- from {
282
- opacity: 0;
283
- transform: translateY(-6px);
284
- }
285
- }
286
- /* Cascade upward when the list opens above the trigger (data-side=top), so the
287
- options drift toward where the list actually is — mirror of option-in. */
288
- @keyframes option-in-up {
289
- from {
290
- opacity: 0;
291
- transform: translateY(6px);
292
- }
293
- }
294
- @keyframes tab-in {
295
- from {
296
- opacity: 0;
297
- transform: translateY(6px);
298
- }
299
- }
300
325
  @keyframes toast-in {
301
326
  from {
302
327
  opacity: 0;
@@ -356,16 +381,6 @@
356
381
  transform: scale(0.6);
357
382
  }
358
383
  }
359
- @keyframes disclosure-body-in {
360
- from {
361
- opacity: 0;
362
- transform: translateY(-4px);
363
- }
364
- to {
365
- opacity: 1;
366
- transform: translateY(0);
367
- }
368
- }
369
384
  /*
370
385
  * Tree/list row reveal: a row fades in while sliding from its parent's indent,
371
386
  * so an expanding branch reads as unfolding outward rather than popping. Used by
@@ -399,6 +414,75 @@
399
414
  }
400
415
  }
401
416
 
417
+ /*
418
+ * A ring that swells off a live light and fades: "this one is happening now".
419
+ * LpStatus's light and a running LpStepMark breathe it; how far it swells is
420
+ * `--halo-scale` (each sets its own, the ring around a step mark is already
421
+ * the size of the mark), the pace is each one's own `animation`. One name keeps
422
+ * every live light on a page breathing in phase, since CSS animations are timed
423
+ * against the document rather than against when each one mounted.
424
+ */
425
+ @property --halo-scale {
426
+ syntax: "<number>";
427
+ inherits: false;
428
+ initial-value: 2.6;
429
+ }
430
+ @keyframes lp-halo {
431
+ 0% {
432
+ transform: scale(1);
433
+ opacity: 0.55;
434
+ }
435
+ 70%,
436
+ 100% {
437
+ transform: scale(var(--halo-scale, 2.6));
438
+ opacity: 0;
439
+ }
440
+ }
441
+
442
+ /*
443
+ * A short bright segment crossing a line: work in flight whose length is not
444
+ * known (LpLoader's bar, LpActivityLine) or work moving along a connector
445
+ * (LpPipeline's running step). The element paints itself (colour, gradient,
446
+ * width); the class only moves it, from just before its start to past the end.
447
+ * `--sweep-to` is how far, as a share of its own length: a segment 2/5 of its
448
+ * track clears it at 250%, a half-length one at 200%. `.lp-sweep--y` runs it
449
+ * down instead of across. Across follows the reading direction.
450
+ */
451
+ .lp-sweep {
452
+ animation: lp-sweep 1.4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
453
+ }
454
+ .lp-sweep--y {
455
+ --sweep-x: 0;
456
+ --sweep-y: 1;
457
+ }
458
+ .lp-sweep:not(.lp-sweep--y):dir(rtl) {
459
+ animation-direction: reverse;
460
+ }
461
+ @keyframes lp-sweep {
462
+ from {
463
+ translate: calc(var(--sweep-x, 1) * -100%) calc(var(--sweep-y, 0) * -100%);
464
+ }
465
+ to {
466
+ translate: calc(var(--sweep-x, 1) * var(--sweep-to, 250%)) calc(var(--sweep-y, 0) * var(--sweep-to, 250%));
467
+ }
468
+ }
469
+ /* No travel: the segment lies along the whole line, dimmed, which still says busy. */
470
+ @media (prefers-reduced-motion: reduce) {
471
+ .lp-sweep {
472
+ animation: none;
473
+ translate: none;
474
+ opacity: 0.5;
475
+ }
476
+ .lp-sweep:not(.lp-sweep--y) {
477
+ left: 0;
478
+ width: 100%;
479
+ }
480
+ .lp-sweep--y {
481
+ top: 0;
482
+ height: 100%;
483
+ }
484
+ }
485
+
402
486
  /*
403
487
  * Lightbox. The image grows in from slightly under full size so opening reads as
404
488
  * the picture coming toward you rather than a panel appearing; the exit is
@@ -646,9 +730,17 @@
646
730
  pointer-events: none;
647
731
  }
648
732
 
649
- .lp-skin-panel > * {
650
- position: relative;
651
- z-index: 1;
733
+ /*
734
+ * Content above the overlay, in the base layer so a child's own utilities win:
735
+ * unlayered, this beat every Tailwind class, and an `absolute` line or badge
736
+ * placed as a card's direct child became `relative` and collapsed (an activity
737
+ * line on a card's edge drew at zero width).
738
+ */
739
+ @layer base {
740
+ .lp-skin-panel > * {
741
+ position: relative;
742
+ z-index: 1;
743
+ }
652
744
  }
653
745
 
654
746
  /*
@@ -731,7 +823,7 @@
731
823
  CSS transitions/animate-pulse used across the kit collapse to a near-instant
732
824
  state change — content still mounts/unmounts, it just doesn't travel. This is
733
825
  the CSS half; motion-v springs (Tabs/Layout) opt out in JS via
734
- useReducedMotion(). */
826
+ usePrefersReducedMotion() (usePillTransition). */
735
827
  @media (prefers-reduced-motion: reduce) {
736
828
  *,
737
829
  *::before,
@@ -90,3 +90,84 @@
90
90
  caret-color: var(--color-ink);
91
91
  filter: none;
92
92
  }
93
+
94
+ /*
95
+ * A floating panel that should travel when its anchor moves rather than jump:
96
+ * the tour's card going to the next target, the theme studio following its
97
+ * switcher as a theme change resizes it. reka places the panel through a
98
+ * transform on its popper wrapper, which the panel cannot class itself, hence
99
+ * the :has(). The panel sets the attribute only while travel is wanted (the
100
+ * tour drops it while the page scrolls, where the card must stick).
101
+ */
102
+ [data-reka-popper-content-wrapper]:has(> [data-lp-glide-position]) {
103
+ transition: transform var(--duration-medium) var(--ease-emphasized);
104
+ }
105
+ @media (prefers-reduced-motion: reduce) {
106
+ [data-reka-popper-content-wrapper]:has(> [data-lp-glide-position]) {
107
+ transition: none;
108
+ }
109
+ }
110
+
111
+ /*
112
+ * A two-state icon that morphs instead of swapping: stack both glyphs in one
113
+ * grid cell and mark the current one `data-on`; the leaving glyph shrinks and
114
+ * turns away as the arriving one grows in. Shared by the copy button's tick
115
+ * and every eye toggle in the fields group (password, secret, code display),
116
+ * so it lives here rather than in one component's <style>, which would only
117
+ * load where that component is imported.
118
+ */
119
+ .lp-glyph-swap {
120
+ opacity: 0;
121
+ scale: 0.4;
122
+ rotate: -45deg;
123
+ transition:
124
+ opacity var(--duration-fast) var(--ease-emphasized),
125
+ scale var(--duration-medium) var(--ease-emphasized),
126
+ rotate var(--duration-medium) var(--ease-emphasized);
127
+ }
128
+ .lp-glyph-swap[data-on] {
129
+ opacity: 1;
130
+ scale: 1;
131
+ rotate: 0deg;
132
+ }
133
+ @media (prefers-reduced-motion: reduce) {
134
+ .lp-glyph-swap {
135
+ transition: none;
136
+ }
137
+ }
138
+
139
+ /*
140
+ * A bar running out: the time left before something goes away on its own (a
141
+ * toast dismissing, a revealed secret hiding again). Set the run's length as
142
+ * `animation-duration` on the element; a toast that pauses while hovered sets
143
+ * `data-paused`, and the run resumes with exactly the time it had left, which
144
+ * is what the toast's own timer does. Driven by CSS rather than a ticking
145
+ * clock, so it is smooth at any frame rate and costs nothing while it runs.
146
+ * Shrinks toward the inline start, so in a right-to-left layout it drains
147
+ * from the left.
148
+ */
149
+ .lp-drain {
150
+ transform-origin: left center;
151
+ animation-name: lp-drain;
152
+ animation-timing-function: linear;
153
+ animation-fill-mode: forwards;
154
+ }
155
+ .lp-drain:dir(rtl) {
156
+ transform-origin: right center;
157
+ }
158
+ .lp-drain[data-paused] {
159
+ animation-play-state: paused;
160
+ }
161
+ @keyframes lp-drain {
162
+ from {
163
+ scale: 1 1;
164
+ }
165
+ to {
166
+ scale: 0 1;
167
+ }
168
+ }
169
+ @media (prefers-reduced-motion: reduce) {
170
+ .lp-drain {
171
+ animation: none;
172
+ }
173
+ }
@@ -1,18 +0,0 @@
1
-
2
- .lp-tab-badge-enter-active[data-v-1557d8e9],
3
- .lp-tab-badge-leave-active[data-v-1557d8e9] {
4
- transition:
5
- opacity var(--duration-fast) var(--ease-emphasized),
6
- transform var(--duration-fast) var(--ease-emphasized);
7
- }
8
- .lp-tab-badge-enter-from[data-v-1557d8e9],
9
- .lp-tab-badge-leave-to[data-v-1557d8e9] {
10
- opacity: 0;
11
- transform: scale(0.6);
12
- }
13
- @media (prefers-reduced-motion: reduce) {
14
- .lp-tab-badge-enter-active[data-v-1557d8e9],
15
- .lp-tab-badge-leave-active[data-v-1557d8e9] {
16
- transition: none;
17
- }
18
- }
@@ -1,85 +0,0 @@
1
- import { defineComponent, ref, watch, computed, openBlock, createElementBlock, mergeProps, unref, createVNode, normalizeClass, createElementVNode, toDisplayString, createCommentVNode, renderSlot } from "vue";
2
- import { tv } from "tailwind-variants";
3
- import { useMergedAttrs } from "../composables/useMergedClass.js";
4
- import { _ as _sfc_main$1 } from "./LpIcon-6tSrZ3Zy.js";
5
- const _hoisted_1 = ["role", "aria-busy"];
6
- const _hoisted_2 = { class: "min-w-0" };
7
- const _hoisted_3 = {
8
- key: 0,
9
- class: "font-semibold text-ink"
10
- };
11
- const __default__ = { inheritAttrs: false };
12
- const _sfc_main = /* @__PURE__ */ defineComponent({
13
- ...__default__,
14
- __name: "LpAlert",
15
- props: {
16
- variant: { default: "info" },
17
- title: {},
18
- icon: {},
19
- live: { type: [String, Boolean], default: void 0 },
20
- busy: { type: Boolean, default: false }
21
- },
22
- setup(__props) {
23
- const alert = tv({
24
- base: "flex gap-3 rounded-card border p-4 text-sm",
25
- variants: {
26
- variant: {
27
- info: "border-line bg-surface-soft text-ink",
28
- success: "border-action/30 bg-action/10 text-ink",
29
- warning: "border-accent/30 bg-accent/10 text-ink",
30
- danger: "border-danger/30 bg-danger/10 text-ink"
31
- }
32
- },
33
- defaultVariants: { variant: "info" }
34
- });
35
- const ICONS = {
36
- info: "lucide:info",
37
- success: "lucide:circle-check",
38
- warning: "lucide:triangle-alert",
39
- danger: "lucide:octagon-alert"
40
- };
41
- const ICON_TONE = {
42
- info: "text-brand",
43
- success: "text-action",
44
- warning: "text-accent",
45
- danger: "text-danger"
46
- };
47
- const props = __props;
48
- const wasBusy = ref(props.busy);
49
- watch(() => props.busy, (busy) => {
50
- if (busy) wasBusy.value = true;
51
- });
52
- const role = computed(() => {
53
- const live = props.live ?? (props.variant === "danger" ? "assertive" : wasBusy.value ? "polite" : false);
54
- return live === "assertive" ? "alert" : live === "polite" ? "status" : void 0;
55
- });
56
- const { class: rootClass, attrs: rest } = useMergedAttrs(() => alert({ variant: props.variant }));
57
- const resolvedIcon = computed(() => props.icon ?? (props.busy ? "lucide:loader-circle" : ICONS[props.variant ?? "info"]));
58
- const iconTone = computed(() => ICON_TONE[props.variant ?? "info"]);
59
- return (_ctx, _cache) => {
60
- return openBlock(), createElementBlock("div", mergeProps({
61
- class: unref(rootClass),
62
- role: role.value,
63
- "aria-busy": __props.busy || void 0
64
- }, unref(rest)), [
65
- createVNode(_sfc_main$1, {
66
- name: resolvedIcon.value,
67
- size: 18,
68
- class: normalizeClass(["mt-0.5 shrink-0", iconTone.value, __props.busy ? "animate-spin motion-reduce:animate-none" : ""]),
69
- "aria-hidden": "true"
70
- }, null, 8, ["name", "class"]),
71
- createElementVNode("div", _hoisted_2, [
72
- __props.title ? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
73
- createElementVNode("div", {
74
- class: normalizeClass(["text-muted-strong", __props.title ? "mt-0.5" : ""])
75
- }, [
76
- renderSlot(_ctx.$slots, "default")
77
- ], 2)
78
- ])
79
- ], 16, _hoisted_1);
80
- };
81
- }
82
- });
83
- export {
84
- _sfc_main as _
85
- };
@@ -1,62 +0,0 @@
1
- import { defineComponent, openBlock, createElementBlock, mergeProps, unref, createCommentVNode, renderSlot } from "vue";
2
- import { tv } from "tailwind-variants";
3
- import { useMergedClass } from "../composables/useMergedClass.js";
4
- const _hoisted_1 = {
5
- key: 0,
6
- class: "size-1.5 rounded-full bg-current"
7
- };
8
- const __default__ = { inheritAttrs: false };
9
- const _sfc_main = /* @__PURE__ */ defineComponent({
10
- ...__default__,
11
- __name: "LpBadge",
12
- props: {
13
- tone: {},
14
- size: {},
15
- dot: { type: Boolean }
16
- },
17
- setup(__props) {
18
- const badge = tv({
19
- /*
20
- * `align-middle` and a line-height pinned to the box, because the default
21
- * `inline-flex` baseline is the one thing a badge must not bring with it: a
22
- * badge dropped next to a text-sm heading sat a pixel or two off the text's
23
- * baseline and pushed the whole row taller, so a section title grew a step
24
- * the moment it gained a status. The badge now occupies the height it says it
25
- * does and leaves the line it sits on alone.
26
- */
27
- base: "inline-flex shrink-0 items-center gap-1.5 rounded-pill align-middle font-medium leading-[1.2]",
28
- variants: {
29
- size: {
30
- // Fits inside a text-sm line without growing it — for a badge beside a
31
- // heading, in a table cell, or anywhere a row's height is already set.
32
- sm: "h-[18px] px-1.5 text-[11px]",
33
- md: "px-2.5 py-0.5 text-xs",
34
- lg: "px-3 py-1 text-sm"
35
- },
36
- tone: {
37
- neutral: "bg-surface-soft text-muted-strong",
38
- brand: "bg-brand-soft text-brand",
39
- action: "bg-action/15 text-action",
40
- success: "bg-action/15 text-action",
41
- // Partial trouble, which every status surface eventually needs: without
42
- // it a half-failed thing has to render as either fine or broken.
43
- warning: "bg-accent/15 text-accent",
44
- danger: "bg-danger-soft text-danger",
45
- outline: "border border-line text-ink"
46
- }
47
- },
48
- defaultVariants: { tone: "neutral", size: "md" }
49
- });
50
- const props = __props;
51
- const classes = useMergedClass(() => badge({ tone: props.tone, size: props.size }));
52
- return (_ctx, _cache) => {
53
- return openBlock(), createElementBlock("span", mergeProps(_ctx.$attrs, { class: unref(classes) }), [
54
- __props.dot ? (openBlock(), createElementBlock("span", _hoisted_1)) : createCommentVNode("", true),
55
- renderSlot(_ctx.$slots, "default")
56
- ], 16);
57
- };
58
- }
59
- });
60
- export {
61
- _sfc_main as _
62
- };
@@ -1,98 +0,0 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, Fragment, renderList, createBlock, createCommentVNode, resolveDynamicComponent, withCtx, toDisplayString } from "vue";
2
- import { _ as _sfc_main$1 } from "./LpIcon-6tSrZ3Zy.js";
3
- import { useLabels, useLinkComponent } from "../composables/useLpConfig.js";
4
- import { useMergedAttrs } from "../composables/useMergedClass.js";
5
- import { resolveLink } from "../components/link.js";
6
- const _hoisted_1 = ["aria-label"];
7
- const _hoisted_2 = { class: "truncate" };
8
- const _hoisted_3 = ["aria-current"];
9
- const _hoisted_4 = { class: "truncate" };
10
- const __default__ = { inheritAttrs: false };
11
- const _sfc_main = /* @__PURE__ */ defineComponent({
12
- ...__default__,
13
- __name: "LpBreadcrumbs",
14
- props: {
15
- items: {},
16
- as: {},
17
- labels: {}
18
- },
19
- emits: ["navigate"],
20
- setup(__props) {
21
- const props = __props;
22
- const text = useLabels("breadcrumbs", { nav: "Breadcrumb" }, () => props.labels);
23
- const linkComponent = useLinkComponent();
24
- function linkOf(item) {
25
- if (props.as && props.as !== "a") {
26
- if (item.to != null) return { is: props.as, props: { to: item.to } };
27
- return item.href != null ? { is: "a", props: { href: item.href } } : null;
28
- }
29
- return resolveLink(props.as === "a" ? "a" : linkComponent.value, { to: item.to, href: item.href });
30
- }
31
- const crumbs = computed(
32
- () => props.items.map((item, i) => ({
33
- item,
34
- last: i === props.items.length - 1,
35
- link: i === props.items.length - 1 ? null : linkOf(item)
36
- }))
37
- );
38
- const { class: rootClass, attrs: rest } = useMergedAttrs(
39
- "flex min-w-0 items-center gap-1.5 text-sm"
40
- );
41
- return (_ctx, _cache) => {
42
- return openBlock(), createElementBlock("nav", mergeProps({
43
- "aria-label": unref(text).nav,
44
- class: "min-w-0"
45
- }, unref(rest)), [
46
- createElementVNode("ol", {
47
- class: normalizeClass(unref(rootClass))
48
- }, [
49
- (openBlock(true), createElementBlock(Fragment, null, renderList(crumbs.value, ({ item, last, link }, i) => {
50
- return openBlock(), createElementBlock("li", {
51
- key: i,
52
- class: normalizeClass(["inline-flex min-w-0 items-center gap-1.5", last ? "shrink" : "shrink-0"])
53
- }, [
54
- i > 0 ? (openBlock(), createBlock(_sfc_main$1, {
55
- key: 0,
56
- name: "lucide:chevron-right",
57
- size: 14,
58
- class: "shrink-0 text-muted",
59
- "aria-hidden": "true"
60
- })) : createCommentVNode("", true),
61
- link ? (openBlock(), createBlock(resolveDynamicComponent(link.is), mergeProps({
62
- key: 1,
63
- ref_for: true
64
- }, link.props, {
65
- class: "inline-flex min-w-0 items-center gap-1.5 rounded-xs text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
66
- onClick: ($event) => _ctx.$emit("navigate", item, i)
67
- }), {
68
- default: withCtx(() => [
69
- item.icon ? (openBlock(), createBlock(_sfc_main$1, {
70
- key: 0,
71
- name: item.icon,
72
- size: 14
73
- }, null, 8, ["name"])) : createCommentVNode("", true),
74
- createElementVNode("span", _hoisted_2, toDisplayString(item.label), 1)
75
- ]),
76
- _: 2
77
- }, 1040, ["onClick"])) : (openBlock(), createElementBlock("span", {
78
- key: 2,
79
- class: normalizeClass(["inline-flex min-w-0 items-center gap-1.5", last ? "text-ink" : "text-muted"]),
80
- "aria-current": last ? "page" : void 0
81
- }, [
82
- item.icon ? (openBlock(), createBlock(_sfc_main$1, {
83
- key: 0,
84
- name: item.icon,
85
- size: 14
86
- }, null, 8, ["name"])) : createCommentVNode("", true),
87
- createElementVNode("span", _hoisted_4, toDisplayString(item.label), 1)
88
- ], 10, _hoisted_3))
89
- ], 2);
90
- }), 128))
91
- ], 2)
92
- ], 16, _hoisted_1);
93
- };
94
- }
95
- });
96
- export {
97
- _sfc_main as _
98
- };