@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.
- package/README.md +49 -0
- package/dist/assets/LoaderMark-DxBV2iDJ.css +43 -0
- package/dist/assets/LpActivityLine-B3EwNQEB.css +33 -0
- package/dist/assets/{LpCommandPalette-DxyjhYn_.css → LpCommandPalette-u-zOxKWa.css} +21 -31
- package/dist/assets/LpDock-Cbh0wQUv.css +17 -0
- package/dist/assets/{LpDropzone-Qb8k7cg4.css → LpDropzone-Bb1vBTeU.css} +12 -17
- package/dist/assets/{LpImageEditor-CElPDzpF.css → LpImageEditor-XM5bAziW.css} +6 -6
- package/dist/assets/LpLogViewer-BDNW6P52.css +38 -0
- package/dist/assets/{LpPalettePreview-CJmAKgYW.css → LpPalettePreview-B9VKDrvA.css} +2 -7
- package/dist/assets/LpRepeater-C1Cw27hj.css +21 -0
- package/dist/assets/{LpRollingText-BGnE6q9j.css → LpRollingText-dyOXedGO.css} +7 -0
- package/dist/assets/LpShinyText-D69cBYDR.css +61 -0
- package/dist/assets/LpStatus-430OGTZY.css +17 -0
- package/dist/assets/LpStepMark-Drvx33Vg.css +10 -0
- package/dist/assets/{LpTable-BPERfJIk.css → LpTable-DHxEQ_-3.css} +19 -19
- package/dist/assets/LpTabs-BJ-nrJuI.css +18 -0
- package/dist/assets/LpTextReveal-DjI1MsDS.css +35 -0
- package/dist/assets/LpTypewriter-CXAm9Nca.css +27 -0
- package/dist/chunks/AttentionDot-DCBf4aWg.js +25 -0
- package/dist/chunks/{ContextMenuItems-B7XFHksm.js → ContextMenuItems-6kxEivBI.js} +11 -5
- package/dist/chunks/{DropzoneLinkField-CjkrpDqO.js → DropzoneLinkField-Bw8Flkhk.js} +2 -2
- package/dist/chunks/FieldWrapper-BiennROB.js +43 -0
- package/dist/chunks/{LayoutCanvas-DF9CovaK.js → LayoutCanvas-BsJIzhdd.js} +1 -1
- package/dist/chunks/{LayoutNode-D9bIFzk0.js → LayoutNode-DJVhkSGk.js} +6 -8
- package/dist/chunks/LegendSwatch-BhRjrtzv.js +18 -0
- package/dist/chunks/LoaderMark-C1dubiKn.js +85 -0
- package/dist/chunks/{LpActionBar-MPKMu3pz.js → LpActionBar-CzOFar5t.js} +14 -20
- package/dist/chunks/LpActivityLine-CJvzrNpj.js +95 -0
- package/dist/chunks/{LpAddressInput-DG0BTqdH.js → LpAddressInput-Chv_Xf8q.js} +7 -7
- package/dist/chunks/LpAlert-C5igj802.js +119 -0
- package/dist/chunks/{LpAppShell-DPh1756q.js → LpAppShell-BiWByLmt.js} +15 -16
- package/dist/chunks/{LpAutocomplete-Dgn6hw3p.js → LpAutocomplete-D92niDHE.js} +15 -32
- package/dist/chunks/{LpAvatar-Bs0Fb1lC.js → LpAvatar-CLPl-qOF.js} +18 -6
- package/dist/chunks/LpBadge-BBq1Er9T.js +126 -0
- package/dist/chunks/LpBreadcrumbs-JKEi_yFF.js +144 -0
- package/dist/chunks/{LpButton-DNR-YAq5.js → LpButton-CVxBfGjd.js} +12 -4
- package/dist/chunks/{LpCalendar-BLya39Fh.js → LpCalendar-pVL91-Pl.js} +1 -1
- package/dist/chunks/{LpCard-Bf71NXZq.js → LpCard-CqKLnEhl.js} +18 -8
- package/dist/chunks/{LpCheckbox-Da5oZPHo.js → LpCheckbox-DHc2bHDe.js} +9 -6
- package/dist/chunks/{LpCodeBlock-lLbmslfs.js → LpCodeBlock-BGsQhxw8.js} +24 -32
- package/dist/chunks/LpCodeDisplay-CbJMs-IK.js +189 -0
- package/dist/chunks/LpCollapse-CWS9M_lm.js +115 -0
- package/dist/chunks/{LpColorPicker-DtEfBAcK.js → LpColorPicker-B7HSIFmn.js} +11 -6
- package/dist/chunks/{LpConfirmDialog-D7s4jakB.js → LpConfirmDialog-CfGCux8m.js} +3 -3
- package/dist/chunks/{LpConfirmHost-DrYI5y1K.js → LpConfirmHost-exB7JmcO.js} +1 -1
- package/dist/chunks/{LpContextMenu-CRnjoqSt.js → LpContextMenu-Cj96ENDC.js} +16 -7
- package/dist/chunks/LpCopyButton-DzHjnFs0.js +133 -0
- package/dist/chunks/LpCountdown-BQnmB4gq.js +231 -0
- package/dist/chunks/LpDataList-CHNYQw7h.js +121 -0
- package/dist/chunks/LpDatePicker-ac1_6o5P.js +169 -0
- package/dist/chunks/LpDateRangePicker-B15gYrZJ.js +127 -0
- package/dist/chunks/{LpDisclosure-6AplYBub.js → LpDisclosure-DOarzlAG.js} +22 -11
- package/dist/chunks/{LpDrawer-Q4SOxM4s.js → LpDrawer-DGNKRsGq.js} +9 -4
- package/dist/chunks/{LpDropdownMenu-DWTt0ooM.js → LpDropdownMenu-R4aYVtVV.js} +14 -6
- package/dist/chunks/LpEditable-Ws3DNQHn.js +238 -0
- package/dist/chunks/{LpEmptyState-om1UnFjV.js → LpEmptyState-KTKipws2.js} +1 -1
- package/dist/chunks/{LpFieldNotice-CHuDeLjc.js → LpFieldNotice-CurbNuXI.js} +1 -1
- package/dist/chunks/{LpFileTree-CW24YsVX.js → LpFileTree-DDNg34tJ.js} +5 -3
- package/dist/chunks/{LpFileTreeNode-BXhTHaKW.js → LpFileTreeNode-DmPuYNZ_.js} +42 -55
- package/dist/chunks/{LpFormField-DPb47HEm.js → LpFormField-BWwgm1E4.js} +23 -9
- package/dist/chunks/LpFrame-BVQCQLDI.js +155 -0
- package/dist/chunks/LpGauge-C14Z9503.js +204 -0
- package/dist/chunks/LpGlowBorder-B8V-QzIl.js +40 -0
- package/dist/chunks/{LpHintExample-C1eKYdeL.js → LpHintExample-9Py0wc-L.js} +11 -34
- package/dist/chunks/{LpHintLayer-7UOdWQG3.js → LpHintLayer-HvwUA5Ec.js} +27 -14
- package/dist/chunks/{LpHints-BUtBp9-w.js → LpHints-DxbPKOzQ.js} +3 -3
- package/dist/chunks/LpHoverCard-spGxyw7T.js +130 -0
- package/dist/chunks/{LpIcon-6tSrZ3Zy.js → LpIcon-HJP5xMz4.js} +1 -1
- package/dist/chunks/LpIdenticon-BzdC_qz9.js +63 -0
- package/dist/chunks/{LpInfraNode-Ds_8SZgN.js → LpInfraNode-D64hywJI.js} +39 -25
- package/dist/chunks/{LpInput-CUyr6PIE.js → LpInput-CDuwODJG.js} +44 -18
- package/dist/chunks/{LpLightbox-B9J8rzsj.js → LpLightbox-XJ0LpTcZ.js} +69 -69
- package/dist/chunks/LpLoader-DjJEX8hL.js +92 -0
- package/dist/chunks/{LpLogViewer-4QFc-sVN.js → LpLogViewer-DKK4ySZl.js} +225 -129
- package/dist/chunks/LpMagnetic-CtXKLa2Y.js +62 -0
- package/dist/chunks/{LpMapPicker-BTbkFeSG.js → LpMapPicker-BtIl7NOM.js} +34 -31
- package/dist/chunks/LpMasonry--k0571qG.js +185 -0
- package/dist/chunks/{LpMediaGallery-CuPcscx3.js → LpMediaGallery-rmI1DjKN.js} +3 -3
- package/dist/chunks/{LpModal-hk1noDcr.js → LpModal-eBMt2Fqn.js} +8 -3
- package/dist/chunks/{LpModalNav-DQd2keZm.js → LpModalNav-DiyFCHiZ.js} +4 -4
- package/dist/chunks/{LpNotificationBell-X84PJIxD.js → LpNotificationBell-D-WhE5m2.js} +32 -48
- package/dist/chunks/LpNumberField-B9k-h2HE.js +140 -0
- package/dist/chunks/{LpNumberFlow-z4WPZcZu.js → LpNumberFlow-Cfyh033Q.js} +8 -28
- package/dist/chunks/{LpOtpInput-PbeNJ5In.js → LpOtpInput-CeBPsM7D.js} +2 -1
- package/dist/chunks/{LpPagination-Bx-VG4Ag.js → LpPagination-VNCX6pFC.js} +37 -6
- package/dist/chunks/{LpPalettePreview-CFav_7co.js → LpPalettePreview-BNB8T_MY.js} +1 -1
- package/dist/chunks/{LpPasswordInput-CbnXitAS.js → LpPasswordInput-GL2KOFK8.js} +26 -22
- package/dist/chunks/{LpPhoneInput-DP69HONS.js → LpPhoneInput-C60tx1tC.js} +12 -7
- package/dist/chunks/{LpPie-yLF9-aDR.js → LpPie-BgXZ3xmm.js} +159 -48
- package/dist/chunks/LpPipeline-B31h41Mu.js +329 -0
- package/dist/chunks/{LpPopover-DVnkHaOu.js → LpPopover-DmZ3wUtP.js} +13 -7
- package/dist/chunks/{LpProgress-CA86wxXu.js → LpProgress-CE-m5OpD.js} +23 -63
- package/dist/chunks/LpQuota-DaL8TgNe.js +162 -0
- package/dist/chunks/{LpRadioGroup-8S5hf8lE.js → LpRadioGroup-CGBr5nIp.js} +1 -1
- package/dist/chunks/{LpRangeCalendar-ByQi-WUz.js → LpRangeCalendar-c5qj7YcC.js} +1 -1
- package/dist/chunks/{LpRangeSlider-C1yF9-nP.js → LpRangeSlider-Dv6lNvHY.js} +6 -2
- package/dist/chunks/LpRelativeTime-yin9uQP7.js +73 -0
- package/dist/chunks/LpRepeater-D0S7jjwr.js +180 -0
- package/dist/chunks/LpRevealOnScroll-DcQjexLy.js +76 -0
- package/dist/chunks/{LpRollingText-DB7upf-5.js → LpRollingText-DiL717LK.js} +4 -3
- package/dist/chunks/LpScramble-TDO5Kdou.js +85 -0
- package/dist/chunks/LpSecretField-CfWyHv9m.js +316 -0
- package/dist/chunks/{LpSection-BmRXe6ZP.js → LpSection-BW4xJ-Li.js} +1 -1
- package/dist/chunks/{LpSegmented-CW3bFHM4.js → LpSegmented-BO99Sr4m.js} +11 -14
- package/dist/chunks/{LpSelect-BCyDYoih.js → LpSelect-C_8cJtj6.js} +91 -111
- package/dist/chunks/LpShaderBackdrop-Bote0iuy.js +332 -0
- package/dist/chunks/LpShinyText-DX2ajtWq.js +48 -0
- package/dist/chunks/{LpSidebar-DfIiS-lB.js → LpSidebar-CZRXtvem.js} +5 -3
- package/dist/chunks/{LpSidebarNav-C5FDNI0t.js → LpSidebarNav-DBg1U1oW.js} +3 -3
- package/dist/chunks/{LpSlider-Cuzmrd7p.js → LpSlider-DuoRpOrH.js} +6 -2
- package/dist/chunks/{LpSparkline-DXT4KrSi.js → LpSparkline-CExIRDb3.js} +32 -27
- package/dist/chunks/LpSpotlight-4F3NeUMY.js +41 -0
- package/dist/chunks/{LpStat-iBMF5QNk.js → LpStat-DFKlPJgy.js} +38 -35
- package/dist/chunks/LpStatus-BsGLrpor.js +86 -0
- package/dist/chunks/LpStepMark-TrzOioa9.js +101 -0
- package/dist/chunks/LpStepper-BbnS5jUr.js +76 -0
- package/dist/chunks/{LpSwap-D82jiecV.js → LpSwap-DzE6M3Mg.js} +1 -1
- package/dist/chunks/LpSwitch-DrzKrZZV.js +112 -0
- package/dist/chunks/{LpTableFilter-CuIbgdW0.js → LpTableFilter-DyvHGbOk.js} +3 -2
- package/dist/chunks/{LpTableOfContents-C_4VBktT.js → LpTableOfContents-rYvo8z5T.js} +34 -21
- package/dist/chunks/{LpTagsInput-DiXrpYeE.js → LpTagsInput-DZg80W-B.js} +68 -71
- package/dist/chunks/LpTextReveal-CtAnOUkp.js +140 -0
- package/dist/chunks/{LpTextarea-xoQd5Lnp.js → LpTextarea-DiWjeVoJ.js} +12 -11
- package/dist/chunks/{LpThemeProvider-CQ2jC9TA.js → LpThemeProvider-DcbfOxsU.js} +1 -1
- package/dist/chunks/LpThemeStudio-DxVZMtzN.js +416 -0
- package/dist/chunks/LpThemeStudioSection-BwhqYDLf.js +20 -0
- package/dist/chunks/LpThemeSwitcher-CadVBTBn.js +278 -0
- package/dist/chunks/{LpTimeField-MFgAsNc5.js → LpTimeField-BFQVf_PW.js} +13 -5
- package/dist/chunks/{LpToaster-C4zE9zB7.js → LpToaster-Wv9ksj4q.js} +49 -82
- package/dist/chunks/{LpTooltip-suFCM34F.js → LpTooltip-Cz8SQwRt.js} +8 -3
- package/dist/chunks/{LpTopologyCanvas-6ozNrQKh.js → LpTopologyCanvas-C17A1XCb.js} +1 -1
- package/dist/chunks/{LpTour-BUp3Jt2e.js → LpTour-CY2bFXge.js} +24 -18
- package/dist/chunks/LpTruncate-D_5Pfv5B.js +112 -0
- package/dist/chunks/LpTypewriter-BCL_a6wE.js +159 -0
- package/dist/chunks/{LpUptimeBar-B6kHw4Cj.js → LpUptimeBar-Tew1Ykx4.js} +10 -9
- package/dist/chunks/{LpVideoBackdrop-qWRYBOTQ.js → LpVideoBackdrop-DS1wGv-X.js} +7 -8
- package/dist/chunks/{MenuTitle-obgek0B7.js → MenuTitle-BjQZX8tQ.js} +1 -1
- package/dist/chunks/OptionContent-CmYUUeWj.js +40 -0
- package/dist/chunks/PickerField-DoHv0WMH.js +125 -0
- package/dist/chunks/RevealToggle-C-KzaQGJ.js +65 -0
- package/dist/chunks/StepConnector-37OgEOXA.js +41 -0
- package/dist/chunks/TourCard-BJ8i7dk0.js +123 -0
- package/dist/chunks/backdrop-Dkf2vM81.js +59 -0
- package/dist/chunks/{icons-DVhZ_plB.js → icons-4IywzkHk.js} +1 -1
- package/dist/chunks/{useTheme-2qHG8NEU.js → useTheme-BOV_-AiY.js} +9 -65
- package/dist/component-names.d.ts +1 -1
- package/dist/components/AttentionDot.vue.d.ts +9 -0
- package/dist/components/AttentionDot.vue.js +4 -0
- package/dist/components/ContextMenuItems.vue.js +1 -1
- package/dist/components/DropzoneLinkField.vue.js +1 -1
- package/dist/components/FieldWrapper.vue.d.ts +25 -0
- package/dist/components/FieldWrapper.vue.js +4 -0
- package/dist/components/LayoutCanvas.vue.js +1 -1
- package/dist/components/LayoutNode.vue.d.ts +4 -4
- package/dist/components/LayoutNode.vue.js +1 -1
- package/dist/components/LegendSwatch.vue.d.ts +6 -0
- package/dist/components/LegendSwatch.vue.js +4 -0
- package/dist/components/LoaderMark.vue.d.ts +12 -0
- package/dist/components/LoaderMark.vue.js +4 -0
- package/dist/components/LpActionBar.vue.js +1 -1
- package/dist/components/LpActivityLine.vue.d.ts +58 -0
- package/dist/components/LpActivityLine.vue.js +4 -0
- package/dist/components/LpAddressInput.vue.js +1 -1
- package/dist/components/LpAlert.vue.d.ts +2 -2
- package/dist/components/LpAlert.vue.js +1 -1
- package/dist/components/LpAppShell.vue.d.ts +8 -7
- package/dist/components/LpAppShell.vue.js +1 -1
- package/dist/components/LpAutocomplete.vue.js +1 -1
- package/dist/components/LpAvatar.vue.d.ts +16 -0
- package/dist/components/LpAvatar.vue.js +1 -1
- package/dist/components/LpBadge.vue.d.ts +19 -5
- package/dist/components/LpBadge.vue.js +1 -1
- package/dist/components/LpBreadcrumbs.vue.js +1 -1
- package/dist/components/LpButton.vue.d.ts +2 -2
- package/dist/components/LpButton.vue.js +1 -1
- package/dist/components/LpCalendar.vue.js +1 -1
- package/dist/components/LpCard.vue.d.ts +24 -0
- package/dist/components/LpCard.vue.js +1 -1
- package/dist/components/LpChart.vue.js +131 -160
- package/dist/components/LpCheckbox.vue.d.ts +2 -2
- package/dist/components/LpCheckbox.vue.js +1 -1
- package/dist/components/LpCodeBlock.vue.js +1 -1
- package/dist/components/LpCodeDisplay.vue.d.ts +89 -0
- package/dist/components/LpCodeDisplay.vue.js +4 -0
- package/dist/components/LpCollapse.vue.d.ts +58 -0
- package/dist/components/LpCollapse.vue.js +4 -0
- package/dist/components/LpColorPicker.vue.d.ts +2 -2
- package/dist/components/LpColorPicker.vue.js +1 -1
- package/dist/components/LpCommandPalette.vue.js +34 -23
- package/dist/components/LpConfirmDialog.vue.js +1 -1
- package/dist/components/LpConfirmHost.vue.js +1 -1
- package/dist/components/LpContextMenu.vue.js +1 -1
- package/dist/components/LpCopyButton.vue.d.ts +82 -0
- package/dist/components/LpCopyButton.vue.js +4 -0
- package/dist/components/LpCountdown.vue.d.ts +100 -0
- package/dist/components/LpCountdown.vue.js +4 -0
- package/dist/components/LpDataList.vue.d.ts +66 -0
- package/dist/components/LpDataList.vue.js +4 -0
- package/dist/components/LpDatePicker.vue.d.ts +3 -1
- package/dist/components/LpDatePicker.vue.js +1 -1
- package/dist/components/LpDateRangePicker.vue.d.ts +3 -1
- package/dist/components/LpDateRangePicker.vue.js +1 -1
- package/dist/components/LpDisclosure.vue.js +1 -1
- package/dist/components/LpDock.vue.d.ts +74 -0
- package/dist/components/LpDock.vue.js +204 -0
- package/dist/components/LpDrawer.vue.js +1 -1
- package/dist/components/LpDropdownMenu.vue.js +1 -1
- package/dist/components/LpDropzone.vue.d.ts +8 -1
- package/dist/components/LpDropzone.vue.js +36 -15
- package/dist/components/LpEditable.vue.d.ts +85 -0
- package/dist/components/LpEditable.vue.js +4 -0
- package/dist/components/LpEmptyState.vue.js +1 -1
- package/dist/components/LpFieldNotice.vue.js +1 -1
- package/dist/components/LpFileTree.vue.js +1 -1
- package/dist/components/LpFileTreeNode.vue.js +1 -1
- package/dist/components/LpFormField.vue.js +1 -1
- package/dist/components/LpFrame.vue.d.ts +22 -0
- package/dist/components/LpFrame.vue.js +4 -0
- package/dist/components/LpGauge.vue.d.ts +116 -0
- package/dist/components/LpGauge.vue.js +4 -0
- package/dist/components/LpGlowBorder.vue.d.ts +47 -0
- package/dist/components/LpGlowBorder.vue.js +4 -0
- package/dist/components/LpHintExample.vue.d.ts +2 -2
- package/dist/components/LpHintExample.vue.js +1 -1
- package/dist/components/LpHintLayer.vue.js +1 -1
- package/dist/components/LpHints.vue.js +1 -1
- package/dist/components/LpHoverCard.vue.d.ts +60 -0
- package/dist/components/LpHoverCard.vue.js +4 -0
- package/dist/components/LpIcon.vue.js +1 -1
- package/dist/components/LpIdenticon.vue.d.ts +37 -0
- package/dist/components/LpIdenticon.vue.js +4 -0
- package/dist/components/LpImageEditor.vue.js +13 -19
- package/dist/components/LpInfraNode.vue.js +1 -1
- package/dist/components/LpInput.vue.d.ts +10 -0
- package/dist/components/LpInput.vue.js +1 -1
- package/dist/components/LpLightbox.vue.js +1 -1
- package/dist/components/LpLoader.vue.d.ts +106 -0
- package/dist/components/LpLoader.vue.js +4 -0
- package/dist/components/LpLogViewer.vue.js +1 -1
- package/dist/components/LpMagnetic.vue.d.ts +28 -0
- package/dist/components/LpMagnetic.vue.js +4 -0
- package/dist/components/LpMapPicker.vue.js +1 -1
- package/dist/components/LpMasonry.vue.d.ts +42 -0
- package/dist/components/LpMasonry.vue.js +4 -0
- package/dist/components/LpMediaGallery.vue.js +1 -1
- package/dist/components/LpModal.vue.js +1 -1
- package/dist/components/LpModalNav.vue.js +1 -1
- package/dist/components/LpNotificationBell.vue.d.ts +15 -6
- package/dist/components/LpNotificationBell.vue.js +1 -1
- package/dist/components/LpNumberField.vue.d.ts +57 -0
- package/dist/components/LpNumberField.vue.js +1 -1
- package/dist/components/LpNumberFlow.vue.js +1 -1
- package/dist/components/LpOtpInput.vue.d.ts +12 -4
- package/dist/components/LpOtpInput.vue.js +1 -1
- package/dist/components/LpPagination.vue.js +1 -1
- package/dist/components/LpPaletteFacts.vue.js +2 -2
- package/dist/components/LpPaletteHeader.vue.js +2 -2
- package/dist/components/LpPalettePreview.vue.js +1 -1
- package/dist/components/LpPaletteStats.vue.js +2 -2
- package/dist/components/LpPasswordInput.vue.d.ts +19 -2
- package/dist/components/LpPasswordInput.vue.js +1 -1
- package/dist/components/LpPhoneInput.vue.js +1 -1
- package/dist/components/LpPie.vue.d.ts +3 -1
- package/dist/components/LpPie.vue.js +1 -1
- package/dist/components/LpPipeline.vue.d.ts +91 -0
- package/dist/components/LpPipeline.vue.js +4 -0
- package/dist/components/LpPopover.vue.d.ts +2 -2
- package/dist/components/LpPopover.vue.js +1 -1
- package/dist/components/LpProgress.vue.d.ts +11 -4
- package/dist/components/LpProgress.vue.js +1 -1
- package/dist/components/LpQuota.vue.d.ts +68 -0
- package/dist/components/LpQuota.vue.js +4 -0
- package/dist/components/LpRadioGroup.vue.js +1 -1
- package/dist/components/LpRangeCalendar.vue.js +1 -1
- package/dist/components/LpRangeSlider.vue.js +1 -1
- package/dist/components/LpRelativeTime.vue.d.ts +41 -0
- package/dist/components/LpRelativeTime.vue.js +4 -0
- package/dist/components/LpRepeater.vue.d.ts +48 -0
- package/dist/components/LpRepeater.vue.js +4 -0
- package/dist/components/LpRevealOnScroll.vue.d.ts +67 -0
- package/dist/components/LpRevealOnScroll.vue.js +4 -0
- package/dist/components/LpRollingText.vue.d.ts +3 -1
- package/dist/components/LpRollingText.vue.js +1 -1
- package/dist/components/LpScramble.vue.d.ts +55 -0
- package/dist/components/LpScramble.vue.js +4 -0
- package/dist/components/LpScrollArea.vue.d.ts +1 -1
- package/dist/components/LpSecretField.vue.d.ts +108 -0
- package/dist/components/LpSecretField.vue.js +4 -0
- package/dist/components/LpSection.vue.js +1 -1
- package/dist/components/LpSegmented.vue.js +1 -1
- package/dist/components/LpSelect.vue.d.ts +2 -0
- package/dist/components/LpSelect.vue.js +1 -1
- package/dist/components/LpShaderBackdrop.vue.d.ts +39 -0
- package/dist/components/LpShaderBackdrop.vue.js +4 -0
- package/dist/components/LpShinyText.vue.d.ts +39 -0
- package/dist/components/LpShinyText.vue.js +4 -0
- package/dist/components/LpShortcutsDialog.vue.js +1 -1
- package/dist/components/LpSidebar.vue.js +1 -1
- package/dist/components/LpSidebarNav.vue.js +1 -1
- package/dist/components/LpSlider.vue.js +1 -1
- package/dist/components/LpSparkline.vue.d.ts +4 -3
- package/dist/components/LpSparkline.vue.js +1 -1
- package/dist/components/LpSpotlight.vue.d.ts +37 -0
- package/dist/components/LpSpotlight.vue.js +4 -0
- package/dist/components/LpStat.vue.js +1 -1
- package/dist/components/LpStatus.vue.d.ts +65 -0
- package/dist/components/LpStatus.vue.js +4 -0
- package/dist/components/LpStepMark.vue.d.ts +31 -0
- package/dist/components/LpStepMark.vue.js +4 -0
- package/dist/components/LpStepper.vue.js +1 -1
- package/dist/components/LpSwap.vue.js +1 -1
- package/dist/components/LpSwitch.vue.d.ts +2 -2
- package/dist/components/LpSwitch.vue.js +1 -1
- package/dist/components/LpTable.vue.js +104 -120
- package/dist/components/LpTableFilter.vue.js +1 -1
- package/dist/components/LpTableOfContents.vue.d.ts +6 -1
- package/dist/components/LpTableOfContents.vue.js +1 -1
- package/dist/components/LpTabs.vue.d.ts +5 -5
- package/dist/components/LpTabs.vue.js +25 -33
- package/dist/components/LpTagsInput.vue.js +1 -1
- package/dist/components/LpTextReveal.vue.d.ts +58 -0
- package/dist/components/LpTextReveal.vue.js +4 -0
- package/dist/components/LpTextarea.vue.js +1 -1
- package/dist/components/LpThemeProvider.vue.js +1 -1
- package/dist/components/LpThemeStudio.vue.d.ts +54 -0
- package/dist/components/LpThemeStudio.vue.js +4 -0
- package/dist/components/LpThemeStudioSection.vue.d.ts +16 -0
- package/dist/components/LpThemeStudioSection.vue.js +4 -0
- package/dist/components/LpThemeSwitcher.vue.d.ts +32 -1
- package/dist/components/LpThemeSwitcher.vue.js +1 -1
- package/dist/components/LpTimeField.vue.d.ts +2 -0
- package/dist/components/LpTimeField.vue.js +1 -1
- package/dist/components/LpToaster.vue.js +1 -1
- package/dist/components/LpTooltip.vue.d.ts +2 -2
- package/dist/components/LpTooltip.vue.js +1 -1
- package/dist/components/LpTopologyCanvas.vue.js +1 -1
- package/dist/components/LpTour.vue.js +1 -1
- package/dist/components/LpTruncate.vue.d.ts +34 -0
- package/dist/components/LpTruncate.vue.js +4 -0
- package/dist/components/LpTypewriter.vue.d.ts +61 -0
- package/dist/components/LpTypewriter.vue.js +4 -0
- package/dist/components/LpUptimeBar.vue.js +1 -1
- package/dist/components/LpVideoBackdrop.vue.js +1 -1
- package/dist/components/MenuTitle.vue.js +1 -1
- package/dist/components/OptionContent.vue.d.ts +7 -0
- package/dist/components/OptionContent.vue.js +4 -0
- package/dist/components/PickerField.vue.d.ts +45 -0
- package/dist/components/PickerField.vue.js +4 -0
- package/dist/components/RevealToggle.vue.d.ts +21 -0
- package/dist/components/RevealToggle.vue.js +4 -0
- package/dist/components/StepConnector.vue.d.ts +19 -0
- package/dist/components/StepConnector.vue.js +4 -0
- package/dist/components/TourCard.vue.js +1 -1
- package/dist/components/badge.d.ts +1 -0
- package/dist/components/badge.js +4 -0
- package/dist/components/chart.d.ts +5 -1
- package/dist/components/chart.js +2 -21
- package/dist/components/dateRange.d.ts +11 -0
- package/dist/components/dateRange.js +12 -0
- package/dist/components/dock.d.ts +19 -0
- package/dist/components/dock.js +16 -0
- package/dist/components/dropdown.d.ts +10 -1
- package/dist/components/dropdown.js +7 -2
- package/dist/components/fieldText.d.ts +38 -0
- package/dist/components/fieldText.js +53 -0
- package/dist/components/fileTree.d.ts +7 -3
- package/dist/components/fileTree.js +12 -18
- package/dist/components/format.d.ts +41 -0
- package/dist/components/format.js +67 -0
- package/dist/components/identicon.d.ts +38 -0
- package/dist/components/identicon.js +85 -0
- package/dist/components/masonry.d.ts +32 -0
- package/dist/components/masonry.js +40 -0
- package/dist/components/menuWhen.js +1 -1
- package/dist/components/meter.d.ts +64 -0
- package/dist/components/meter.js +53 -0
- package/dist/components/otp.d.ts +1 -1
- package/dist/components/otp.js +7 -2
- package/dist/components/pipeline.d.ts +55 -0
- package/dist/components/pipeline.js +51 -0
- package/dist/components/quota.d.ts +57 -0
- package/dist/components/quota.js +40 -0
- package/dist/components/relativeTime.d.ts +24 -0
- package/dist/components/relativeTime.js +56 -0
- package/dist/components/reveal.d.ts +18 -0
- package/dist/components/reveal.js +32 -0
- package/dist/components/scramble.d.ts +68 -0
- package/dist/components/scramble.js +58 -0
- package/dist/components/shaderBackdrop.d.ts +20 -0
- package/dist/components/shaderBackdrop.js +156 -0
- package/dist/components/slider.d.ts +5 -0
- package/dist/components/slider.js +24 -0
- package/dist/components/slotText.d.ts +2 -0
- package/dist/components/slotText.js +9 -0
- package/dist/components/status.d.ts +14 -0
- package/dist/components/status.js +22 -0
- package/dist/components/tableFacets.d.ts +8 -0
- package/dist/components/tableFacets.js +19 -0
- package/dist/components/textSplit.d.ts +17 -0
- package/dist/components/textSplit.js +24 -0
- package/dist/components/timeSpan.d.ts +78 -0
- package/dist/components/timeSpan.js +85 -0
- package/dist/components/tone.d.ts +43 -0
- package/dist/components/tone.js +82 -0
- package/dist/components/tour.js +3 -2
- package/dist/components/typewriter.d.ts +36 -0
- package/dist/components/typewriter.js +53 -0
- package/dist/components/videoBackdrop.js +5 -6
- package/dist/composables/easing.d.ts +22 -1
- package/dist/composables/easing.js +42 -1
- package/dist/composables/pseudoLocale.d.ts +15 -0
- package/dist/composables/pseudoLocale.js +96 -0
- package/dist/composables/scroll.js +5 -3
- package/dist/composables/useClipboard.d.ts +4 -1
- package/dist/composables/useClipboard.js +12 -2
- package/dist/composables/useField.d.ts +13 -0
- package/dist/composables/useField.js +26 -1
- package/dist/composables/useForm.js +32 -9
- package/dist/composables/useInView.d.ts +11 -0
- package/dist/composables/useInView.js +39 -0
- package/dist/composables/useLoadingGate.d.ts +8 -0
- package/dist/composables/useLoadingGate.js +38 -0
- package/dist/composables/useLpConfig.d.ts +10 -0
- package/dist/composables/useLpConfig.js +11 -1
- package/dist/composables/useMediaQuery.js +3 -1
- package/dist/composables/useNow.d.ts +16 -0
- package/dist/composables/useNow.js +39 -0
- package/dist/composables/usePersisted.js +14 -7
- package/dist/composables/usePillTransition.d.ts +5 -2
- package/dist/composables/usePillTransition.js +4 -3
- package/dist/composables/usePointerFrame.d.ts +18 -0
- package/dist/composables/usePointerFrame.js +31 -0
- package/dist/composables/useReducedMotion.d.ts +2 -0
- package/dist/composables/useReducedMotion.js +7 -0
- package/dist/composables/useRepeater.d.ts +17 -0
- package/dist/composables/useRepeater.js +31 -0
- package/dist/composables/useResizeObserver.d.ts +8 -0
- package/dist/composables/useResizeObserver.js +33 -0
- package/dist/composables/useRevealedValue.d.ts +31 -0
- package/dist/composables/useRevealedValue.js +26 -0
- package/dist/composables/useScramble.d.ts +42 -0
- package/dist/composables/useScramble.js +76 -0
- package/dist/composables/useShift.js +2 -10
- package/dist/composables/useSpotlight.d.ts +18 -0
- package/dist/composables/useSpotlight.js +53 -0
- package/dist/composables/useTilt.js +26 -18
- package/dist/composables/useTween.d.ts +43 -0
- package/dist/composables/useTween.js +69 -0
- package/dist/composables/useView.d.ts +18 -0
- package/dist/composables/useView.js +64 -0
- package/dist/icons-all.js +1 -1
- package/dist/index.d.ts +98 -1
- package/dist/index.js +263 -105
- package/dist/theme/define.d.ts +12 -0
- package/dist/theme/studio.d.ts +90 -0
- package/package.json +8 -2
- package/src/component-names.ts +33 -0
- package/src/components/AttentionDot.vue +27 -0
- package/src/components/ContextMenuItems.vue +5 -2
- package/src/components/FieldWrapper.vue +38 -0
- package/src/components/LayoutNode.vue +5 -9
- package/src/components/LegendSwatch.vue +15 -0
- package/src/components/LoaderMark.vue +90 -0
- package/src/components/LpActionBar.vue +12 -20
- package/src/components/LpActivityLine.vue +186 -0
- package/src/components/LpAlert.vue +54 -24
- package/src/components/LpAppShell.vue +7 -11
- package/src/components/LpAutocomplete.vue +16 -14
- package/src/components/LpAvatar.vue +17 -2
- package/src/components/LpBadge.vue +77 -13
- package/src/components/LpBreadcrumbs.vue +101 -35
- package/src/components/LpButton.vue +15 -3
- package/src/components/LpCard.vue +30 -7
- package/src/components/LpChart.vue +162 -171
- package/src/components/LpCheckbox.vue +10 -4
- package/src/components/LpCodeBlock.vue +11 -19
- package/src/components/LpCodeDisplay.vue +228 -0
- package/src/components/LpCollapse.vue +162 -0
- package/src/components/LpColorPicker.vue +10 -1
- package/src/components/LpCommandPalette.vue +38 -24
- package/src/components/LpContextMenu.vue +13 -3
- package/src/components/LpCopyButton.vue +185 -0
- package/src/components/LpCountdown.vue +308 -0
- package/src/components/LpDataList.vue +154 -0
- package/src/components/LpDatePicker.vue +55 -104
- package/src/components/LpDateRangePicker.vue +51 -95
- package/src/components/LpDisclosure.vue +58 -36
- package/src/components/LpDock.vue +274 -0
- package/src/components/LpDrawer.vue +10 -1
- package/src/components/LpDropdownMenu.vue +11 -2
- package/src/components/LpDropzone.vue +34 -13
- package/src/components/LpEditable.vue +295 -0
- package/src/components/LpFileTree.vue +5 -1
- package/src/components/LpFileTreeNode.vue +25 -50
- package/src/components/LpFormField.vue +22 -3
- package/src/components/LpFrame.vue +200 -0
- package/src/components/LpGauge.vue +287 -0
- package/src/components/LpGlowBorder.vue +60 -0
- package/src/components/LpHintExample.vue +9 -32
- package/src/components/LpHintLayer.vue +13 -3
- package/src/components/LpHoverCard.vue +175 -0
- package/src/components/LpIdenticon.vue +69 -0
- package/src/components/LpImageEditor.vue +15 -18
- package/src/components/LpInfraNode.vue +27 -16
- package/src/components/LpInput.vue +30 -16
- package/src/components/LpLightbox.vue +44 -23
- package/src/components/LpLoader.vue +145 -0
- package/src/components/LpLogViewer.vue +311 -82
- package/src/components/LpMagnetic.vue +97 -0
- package/src/components/LpMapPicker.vue +26 -28
- package/src/components/LpMasonry.vue +247 -0
- package/src/components/LpModal.vue +10 -1
- package/src/components/LpNotificationBell.vue +33 -49
- package/src/components/LpNumberField.vue +79 -14
- package/src/components/LpNumberFlow.vue +10 -35
- package/src/components/LpOtpInput.vue +7 -2
- package/src/components/LpPagination.vue +38 -4
- package/src/components/LpPalettePreview.vue +2 -7
- package/src/components/LpPasswordInput.vue +25 -18
- package/src/components/LpPhoneInput.vue +12 -3
- package/src/components/LpPie.vue +197 -36
- package/src/components/LpPipeline.vue +366 -0
- package/src/components/LpPopover.vue +14 -1
- package/src/components/LpProgress.vue +22 -84
- package/src/components/LpQuota.vue +197 -0
- package/src/components/LpRangeSlider.vue +5 -1
- package/src/components/LpRelativeTime.vue +90 -0
- package/src/components/LpRepeater.vue +131 -0
- package/src/components/LpRevealOnScroll.vue +125 -0
- package/src/components/LpRollingText.vue +12 -1
- package/src/components/LpScramble.vue +107 -0
- package/src/components/LpSecretField.vue +320 -0
- package/src/components/LpSegmented.vue +3 -10
- package/src/components/LpSelect.vue +74 -65
- package/src/components/LpShaderBackdrop.vue +434 -0
- package/src/components/LpShinyText.vue +139 -0
- package/src/components/LpSidebar.vue +2 -0
- package/src/components/LpSlider.vue +5 -1
- package/src/components/LpSparkline.vue +55 -37
- package/src/components/LpSpotlight.vue +51 -0
- package/src/components/LpStat.vue +6 -2
- package/src/components/LpStatus.vue +127 -0
- package/src/components/LpStepMark.vue +138 -0
- package/src/components/LpStepper.vue +37 -43
- package/src/components/LpSwap.vue +2 -2
- package/src/components/LpSwitch.vue +15 -22
- package/src/components/LpTable.vue +47 -63
- package/src/components/LpTableFilter.vue +1 -0
- package/src/components/LpTableOfContents.vue +53 -29
- package/src/components/LpTabs.vue +10 -21
- package/src/components/LpTagsInput.vue +53 -37
- package/src/components/LpTextReveal.vue +236 -0
- package/src/components/LpTextarea.vue +11 -11
- package/src/components/LpThemeStudio.vue +216 -0
- package/src/components/LpThemeStudioSection.vue +16 -0
- package/src/components/LpThemeSwitcher.vue +156 -47
- package/src/components/LpTimeField.vue +9 -1
- package/src/components/LpToaster.vue +63 -83
- package/src/components/LpTooltip.vue +10 -1
- package/src/components/LpTour.vue +24 -13
- package/src/components/LpTruncate.vue +135 -0
- package/src/components/LpTypewriter.vue +236 -0
- package/src/components/LpUptimeBar.vue +6 -5
- package/src/components/LpVideoBackdrop.vue +15 -13
- package/src/components/OptionContent.vue +17 -0
- package/src/components/PickerField.vue +59 -0
- package/src/components/RevealToggle.vue +51 -0
- package/src/components/StepConnector.vue +54 -0
- package/src/components/TourCard.vue +29 -16
- package/src/components/badge.ts +8 -0
- package/src/components/chart.ts +8 -23
- package/src/components/dateRange.ts +25 -0
- package/src/components/dock.ts +31 -0
- package/src/components/dropdown.ts +15 -3
- package/src/components/fieldText.ts +95 -0
- package/src/components/fileTree.ts +19 -21
- package/src/components/format.ts +136 -0
- package/src/components/identicon.ts +160 -0
- package/src/components/masonry.ts +73 -0
- package/src/components/meter.ts +122 -0
- package/src/components/otp.ts +14 -3
- package/src/components/pipeline.ts +101 -0
- package/src/components/quota.ts +111 -0
- package/src/components/relativeTime.ts +118 -0
- package/src/components/reveal.ts +56 -0
- package/src/components/scramble.ts +138 -0
- package/src/components/shaderBackdrop.ts +208 -0
- package/src/components/slider.ts +30 -0
- package/src/components/slotText.ts +13 -0
- package/src/components/status.ts +46 -0
- package/src/components/tableFacets.ts +25 -0
- package/src/components/textSplit.ts +55 -0
- package/src/components/timeSpan.ts +183 -0
- package/src/components/tone.ts +144 -0
- package/src/components/tour.ts +3 -2
- package/src/components/typewriter.ts +104 -0
- package/src/components/videoBackdrop.ts +7 -6
- package/src/composables/easing.ts +66 -1
- package/src/composables/pseudoLocale.ts +105 -0
- package/src/composables/scroll.ts +6 -3
- package/src/composables/useClipboard.ts +25 -3
- package/src/composables/useField.ts +38 -1
- package/src/composables/useForm.ts +41 -11
- package/src/composables/useInView.ts +61 -0
- package/src/composables/useLoadingGate.ts +63 -0
- package/src/composables/useLpConfig.ts +20 -1
- package/src/composables/useMediaQuery.ts +6 -2
- package/src/composables/useNow.ts +84 -0
- package/src/composables/usePersisted.ts +19 -8
- package/src/composables/usePillTransition.ts +21 -13
- package/src/composables/usePointerFrame.ts +72 -0
- package/src/composables/useReducedMotion.ts +22 -0
- package/src/composables/useRepeater.ts +44 -0
- package/src/composables/useResizeObserver.ts +59 -0
- package/src/composables/useRevealedValue.ts +84 -0
- package/src/composables/useScramble.ts +152 -0
- package/src/composables/useShift.ts +10 -16
- package/src/composables/useSpotlight.ts +82 -0
- package/src/composables/useTilt.ts +40 -23
- package/src/composables/useTween.ts +149 -0
- package/src/composables/useView.ts +96 -0
- package/src/index.css +1 -0
- package/src/index.ts +143 -1
- package/src/kit-icons.ts +1 -1
- package/src/theme/define.ts +65 -0
- package/src/theme/studio.ts +202 -0
- package/src/tokens/effects.css +151 -0
- package/src/tokens/tokens.css +131 -39
- package/src/tokens/utilities.css +81 -0
- package/dist/assets/LpTabs-Bk7v4bZz.css +0 -18
- package/dist/chunks/LpAlert-BdvxvcWE.js +0 -85
- package/dist/chunks/LpBadge-Fe0D1bYx.js +0 -62
- package/dist/chunks/LpBreadcrumbs-rzOKkLiI.js +0 -98
- package/dist/chunks/LpDatePicker-BMfM454Y.js +0 -243
- package/dist/chunks/LpDateRangePicker-CNb9X3eL.js +0 -195
- package/dist/chunks/LpNumberField-DO1ufKvE.js +0 -107
- package/dist/chunks/LpStepper-C2slwObu.js +0 -90
- package/dist/chunks/LpSwitch-CZy9_IoA.js +0 -132
- package/dist/chunks/LpThemeSwitcher-CDoziW0z.js +0 -166
- package/dist/chunks/TourCard-BKI7X9-r.js +0 -105
package/src/tokens/tokens.css
CHANGED
|
@@ -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
|
-
|
|
650
|
-
|
|
651
|
-
|
|
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
|
-
|
|
826
|
+
usePrefersReducedMotion() (usePillTransition). */
|
|
735
827
|
@media (prefers-reduced-motion: reduce) {
|
|
736
828
|
*,
|
|
737
829
|
*::before,
|
package/src/tokens/utilities.css
CHANGED
|
@@ -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
|
-
};
|