@leavepulse/ui 0.70.0 → 0.71.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.
- package/README.md +103 -0
- package/dist/assets/{LpCommandPalette-u-zOxKWa.css → LpCommandPalette-DgPZX0us.css} +24 -17
- package/dist/assets/{LpPaletteFacts-B9FdVmIO.css → LpPaletteFacts-CVNh5ICn.css} +16 -16
- package/dist/assets/{LpPaletteStats-ClE-37MK.css → LpPaletteStats-ZiZmR6vz.css} +5 -5
- package/dist/assets/LpRepeater-C1Cw27hj.css +21 -0
- package/dist/assets/{LpRollingText-BGnE6q9j.css → LpRollingText-dyOXedGO.css} +7 -0
- package/dist/assets/{LpTable-DHxEQ_-3.css → LpTable-DHvorDiU.css} +19 -19
- package/dist/assets/LpTabs-CO3EcsNV.css +18 -0
- package/dist/chunks/{ContextMenuItems-B5uE8Znw.js → ContextMenuItems-eS7qx9gD.js} +11 -5
- package/dist/chunks/{DropzoneLinkField-Bw8Flkhk.js → DropzoneLinkField-DkFhdfEJ.js} +2 -2
- package/dist/chunks/{FieldWrapper-BiennROB.js → FieldWrapper-YzbvvC3M.js} +1 -1
- package/dist/chunks/{LayoutCanvas-BsJIzhdd.js → LayoutCanvas-Ba4A9QC5.js} +1 -1
- package/dist/chunks/{LayoutNode-DJVhkSGk.js → LayoutNode-CTTTLMDM.js} +1 -1
- package/dist/chunks/{LpActionBar-CzOFar5t.js → LpActionBar-B7anGlkI.js} +2 -2
- package/dist/chunks/{LpAddressInput-CNnLTDZg.js → LpAddressInput-CD0bzrt-.js} +7 -7
- package/dist/chunks/{LpAlert-C5igj802.js → LpAlert-BHi7ARqu.js} +1 -1
- package/dist/chunks/{LpAppShell-CEUAB8kK.js → LpAppShell-1RmBp6xQ.js} +3 -3
- package/dist/chunks/{LpAutocomplete-D92niDHE.js → LpAutocomplete-DDqe2M5g.js} +5 -2
- package/dist/chunks/{LpAvatar-CLPl-qOF.js → LpAvatar-DqfKCIdr.js} +1 -1
- package/dist/chunks/{LpBadge-HOEPBYmi.js → LpBadge-C8fKEmTF.js} +2 -2
- package/dist/chunks/{LpBreadcrumbs-DYoPc3P4.js → LpBreadcrumbs-DhcoStFa.js} +2 -2
- package/dist/chunks/{LpButton-CVxBfGjd.js → LpButton-BQDAFXBd.js} +3 -0
- package/dist/chunks/{LpCalendar-pVL91-Pl.js → LpCalendar-NmrA47J9.js} +1 -1
- package/dist/chunks/{LpCheckbox-DHc2bHDe.js → LpCheckbox-BoOuLnGB.js} +5 -2
- package/dist/chunks/{LpCodeBlock-BGsQhxw8.js → LpCodeBlock-Czu-fq1M.js} +2 -2
- package/dist/chunks/{LpCodeDisplay-CIKKT2iW.js → LpCodeDisplay-BK2FHbtM.js} +6 -6
- package/dist/chunks/{LpColorPicker-DFugXNUi.js → LpColorPicker-Ee1DZiRd.js} +3 -3
- package/dist/chunks/LpCommandScope-ubtWDMa0.js +53 -0
- package/dist/chunks/{LpConfirmDialog-CfGCux8m.js → LpConfirmDialog-i15pulMT.js} +3 -3
- package/dist/chunks/{LpConfirmHost-exB7JmcO.js → LpConfirmHost-D0oGavtd.js} +1 -1
- package/dist/chunks/{LpContextMenu-COwOwRgI.js → LpContextMenu-DXpFJjlO.js} +17 -6
- package/dist/chunks/{LpCopyButton-DzHjnFs0.js → LpCopyButton-Dmq7DmFw.js} +3 -3
- package/dist/chunks/{LpCountdown-Dtq1ihlJ.js → LpCountdown-DTdMF8DL.js} +2 -2
- package/dist/chunks/{LpDataList-B-5nHfNw.js → LpDataList-CFPtSsBB.js} +7 -6
- package/dist/chunks/{LpDatePicker-BUe1VUC0.js → LpDatePicker-cC9K-Pk8.js} +7 -6
- package/dist/chunks/{LpDateRangePicker-C_k65vGR.js → LpDateRangePicker-BVQKPbvo.js} +5 -4
- package/dist/chunks/{LpDisclosure-DOarzlAG.js → LpDisclosure-hRnX3FWL.js} +4 -1
- package/dist/chunks/{LpDrawer-DGNKRsGq.js → LpDrawer-u4rxnuR-.js} +1 -1
- package/dist/chunks/{LpDropdownMenu-CRgrhdAH.js → LpDropdownMenu-BgZ0Z_Im.js} +17 -4
- package/dist/chunks/{LpEditable-DTqLt2lT.js → LpEditable-CjxuOVh_.js} +7 -5
- package/dist/chunks/{LpEmptyState-KTKipws2.js → LpEmptyState-CKFTtQgJ.js} +1 -1
- package/dist/chunks/{LpFieldNotice-CurbNuXI.js → LpFieldNotice-CPI8EwtU.js} +1 -1
- package/dist/chunks/{LpFileTree-DMISXVHC.js → LpFileTree-BH0gNlSJ.js} +2 -2
- package/dist/chunks/{LpFileTreeNode-CPXB_Yy3.js → LpFileTreeNode-gPVB1oXM.js} +4 -4
- package/dist/chunks/{LpFormField-BWwgm1E4.js → LpFormField-gRASfyj2.js} +4 -1
- package/dist/chunks/{LpGauge-Bk8TwJj0.js → LpGauge-BdjPGnqw.js} +2 -2
- package/dist/chunks/{LpHintLayer-p4hqzdyA.js → LpHintLayer-C2asBIfs.js} +2 -2
- package/dist/chunks/{LpHints-CCrhRfy9.js → LpHints-CNZQ76JV.js} +3 -3
- package/dist/chunks/{LpIcon-HJP5xMz4.js → LpIcon-DkP-9mzK.js} +1 -1
- package/dist/chunks/{LpInfraNode-CUC3t4na.js → LpInfraNode-yTh4-5qa.js} +2 -2
- package/dist/chunks/{LpInput-CDuwODJG.js → LpInput-2H-5ILOB.js} +5 -2
- package/dist/chunks/{LpLightbox-XJ0LpTcZ.js → LpLightbox-lAt5uIfx.js} +2 -2
- package/dist/chunks/{LpLogViewer-elZHbj85.js → LpLogViewer-x78YfhJf.js} +5 -5
- package/dist/chunks/{LpMapPicker-BtIl7NOM.js → LpMapPicker-Dp5RSCi9.js} +1 -1
- package/dist/chunks/{LpMediaGallery-D5swlmZ_.js → LpMediaGallery-D92oJfY_.js} +3 -3
- package/dist/chunks/{LpModal-eBMt2Fqn.js → LpModal-CpH0bNo7.js} +1 -1
- package/dist/chunks/{LpModalNav-D4Z0wVHR.js → LpModalNav-BH4ANQGJ.js} +4 -4
- package/dist/chunks/{LpNotificationBell-DPZmP5dM.js → LpNotificationBell-BdUQqZhs.js} +8 -8
- package/dist/chunks/{LpNumberField-B9k-h2HE.js → LpNumberField-DZY3Z670.js} +4 -1
- package/dist/chunks/{LpNumberFlow-Cfyh033Q.js → LpNumberFlow-5khYxsfX.js} +6 -3
- package/dist/chunks/{LpPagination-VNCX6pFC.js → LpPagination-DbeACavM.js} +1 -1
- package/dist/chunks/LpPaletteTheme-CqWNRwHE.js +104 -0
- package/dist/chunks/{LpPasswordInput-DTV18FIh.js → LpPasswordInput-BzAZsf5V.js} +14 -8
- package/dist/chunks/{LpPhoneInput-C60tx1tC.js → LpPhoneInput-BMpd-0QR.js} +2 -2
- package/dist/chunks/{LpPie-CFuV7pZv.js → LpPie-DdFSTbGE.js} +5 -5
- package/dist/chunks/{LpPipeline-D81yh_NX.js → LpPipeline-zjEM1Lwc.js} +4 -4
- package/dist/chunks/{LpPopover-BEIcqb9p.js → LpPopover-DmZ3wUtP.js} +6 -5
- package/dist/chunks/{LpProgress-CE-m5OpD.js → LpProgress-BX33EKkN.js} +1 -1
- package/dist/chunks/{LpQuota-2Sw_gqcJ.js → LpQuota-DqNv1yjs.js} +3 -3
- package/dist/chunks/{LpRadioGroup-CGBr5nIp.js → LpRadioGroup-CsXeV9Ct.js} +4 -1
- package/dist/chunks/{LpRangeCalendar-c5qj7YcC.js → LpRangeCalendar-l-0nSFmY.js} +1 -1
- package/dist/chunks/{LpRangeSlider-Dv6lNvHY.js → LpRangeSlider-CM-0ZITZ.js} +3 -0
- package/dist/chunks/{LpRelativeTime-CKzVqAo9.js → LpRelativeTime-UM8EkfrN.js} +2 -2
- package/dist/chunks/LpRepeater-OvzByE5L.js +180 -0
- package/dist/chunks/{LpRollingText-DB7upf-5.js → LpRollingText-DiL717LK.js} +4 -3
- package/dist/chunks/{LpSecretField-DMfdJ1cQ.js → LpSecretField-DwQiPOko.js} +27 -16
- package/dist/chunks/{LpSection-BW4xJ-Li.js → LpSection-DcQsieHG.js} +1 -1
- package/dist/chunks/{LpSegmented-BO99Sr4m.js → LpSegmented-D2VST0o3.js} +4 -1
- package/dist/chunks/{LpSelect-B4f_yRi5.js → LpSelect-DYX2-u5A.js} +43 -18
- package/dist/chunks/{LpSidebar-D-M0Y_7U.js → LpSidebar-D44peKq2.js} +3 -3
- package/dist/chunks/{LpSidebarNav-DF-TYxOV.js → LpSidebarNav--VwkXO_a.js} +3 -3
- package/dist/chunks/{LpSlider-DuoRpOrH.js → LpSlider-DxYoCJJO.js} +3 -0
- package/dist/chunks/{LpStat-B2ix1Q7t.js → LpStat-DIsQfbeD.js} +3 -3
- package/dist/chunks/{LpStatus-C7kx5PKE.js → LpStatus-BQU1TUsv.js} +2 -2
- package/dist/chunks/{LpStepMark-DK-5BKAt.js → LpStepMark-CXa7DJy_.js} +2 -2
- package/dist/chunks/{LpStepper-DRFfdJaq.js → LpStepper-C9RM_yTG.js} +1 -1
- package/dist/chunks/{LpSwitch-DrzKrZZV.js → LpSwitch-bGZxUDSx.js} +3 -0
- package/dist/chunks/{LpTableFilter-DyvHGbOk.js → LpTableFilter-CTZMqFDU.js} +2 -2
- package/dist/chunks/{LpTableOfContents-rYvo8z5T.js → LpTableOfContents-CraicEs4.js} +2 -2
- package/dist/chunks/{LpTagsInput-DgpBFRV2.js → LpTagsInput-DrjmrOge.js} +8 -5
- package/dist/chunks/{LpTextarea-DiWjeVoJ.js → LpTextarea-BbYqmG1S.js} +4 -1
- package/dist/chunks/{LpThemeStudio-DguwHdGt.js → LpThemeStudio-B2nPaG-h.js} +18 -14
- package/dist/chunks/{LpThemeSwitcher-D5uz0MhK.js → LpThemeSwitcher-C0A5sg_E.js} +6 -4
- package/dist/chunks/{LpTimeField-BFQVf_PW.js → LpTimeField-DQ8WvPr2.js} +4 -1
- package/dist/chunks/{LpToaster-Wv9ksj4q.js → LpToaster-BTTl_wuy.js} +2 -2
- package/dist/chunks/{LpTooltip-Cz8SQwRt.js → LpTooltip-BcBvIx4z.js} +23 -5
- package/dist/chunks/{LpTopologyCanvas-ZhKthfgz.js → LpTopologyCanvas-B0wEvAoq.js} +1 -1
- package/dist/chunks/{LpTour-NfRJNEIP.js → LpTour-BgCfNlaW.js} +1 -1
- package/dist/chunks/{LpTruncate-D_5Pfv5B.js → LpTruncate-TcqfkyJM.js} +2 -2
- package/dist/chunks/{LpUptimeBar-DWegV2p6.js → LpUptimeBar-DRadGq4Y.js} +136 -47
- package/dist/chunks/{MenuTitle-BjQZX8tQ.js → MenuTitle-Dab3EGOp.js} +1 -1
- package/dist/chunks/{OptionContent-CmYUUeWj.js → OptionContent-DPzNsybd.js} +1 -1
- package/dist/chunks/PalettePreviewBoundary-B0Hhu3Yw.js +20 -0
- package/dist/chunks/{PickerField-CHRS1h7K.js → PickerField-DwLw7j0L.js} +26 -17
- package/dist/chunks/{RevealToggle-C-KzaQGJ.js → RevealToggle-BVFM_FAU.js} +3 -3
- package/dist/chunks/{TourCard-BXuVHsfn.js → TourCard--2IfgnUU.js} +3 -3
- package/dist/chunks/icons-CLu1iR1j.js +43 -0
- package/dist/chunks/palette-BiY7yQZL.js +29 -0
- package/dist/component-names.d.ts +1 -1
- package/dist/components/ContextMenuItems.vue.js +1 -1
- package/dist/components/DropzoneLinkField.vue.js +1 -1
- package/dist/components/FieldWrapper.vue.js +1 -1
- package/dist/components/LayoutCanvas.vue.js +1 -1
- package/dist/components/LayoutNode.vue.js +1 -1
- package/dist/components/LpActionBar.vue.js +1 -1
- package/dist/components/LpAddressInput.vue.d.ts +1 -1
- package/dist/components/LpAddressInput.vue.js +1 -1
- package/dist/components/LpAlert.vue.d.ts +3 -3
- package/dist/components/LpAlert.vue.js +1 -1
- package/dist/components/LpAppShell.vue.js +1 -1
- package/dist/components/LpAutocomplete.vue.d.ts +7 -1
- package/dist/components/LpAutocomplete.vue.js +1 -1
- package/dist/components/LpAvatar.vue.js +1 -1
- package/dist/components/LpBadge.vue.d.ts +2 -2
- package/dist/components/LpBadge.vue.js +1 -1
- package/dist/components/LpBreadcrumbs.vue.js +1 -1
- package/dist/components/LpButton.vue.d.ts +4 -0
- package/dist/components/LpButton.vue.js +1 -1
- package/dist/components/LpCalendar.vue.js +1 -1
- package/dist/components/LpChart.vue.js +27 -25
- package/dist/components/LpCheckbox.vue.d.ts +8 -1
- package/dist/components/LpCheckbox.vue.js +1 -1
- package/dist/components/LpCodeBlock.vue.js +1 -1
- package/dist/components/LpCodeDisplay.vue.js +1 -1
- package/dist/components/LpColorPicker.vue.d.ts +2 -2
- package/dist/components/LpColorPicker.vue.js +1 -1
- package/dist/components/LpCommandPalette.vue.d.ts +43 -7
- package/dist/components/LpCommandPalette.vue.js +451 -126
- package/dist/components/LpCommandScope.vue.d.ts +28 -0
- package/dist/components/LpCommandScope.vue.js +4 -0
- package/dist/components/LpConfirmDialog.vue.js +1 -1
- package/dist/components/LpConfirmHost.vue.js +1 -1
- package/dist/components/LpContextMenu.vue.d.ts +5 -1
- package/dist/components/LpContextMenu.vue.js +1 -1
- package/dist/components/LpCopyButton.vue.d.ts +1 -1
- package/dist/components/LpCopyButton.vue.js +1 -1
- package/dist/components/LpCountdown.vue.js +1 -1
- package/dist/components/LpDataList.vue.js +1 -1
- package/dist/components/LpDatePicker.vue.d.ts +2 -0
- package/dist/components/LpDatePicker.vue.js +1 -1
- package/dist/components/LpDateRangePicker.vue.d.ts +2 -0
- package/dist/components/LpDateRangePicker.vue.js +1 -1
- package/dist/components/LpDisclosure.vue.d.ts +4 -0
- package/dist/components/LpDisclosure.vue.js +1 -1
- package/dist/components/LpDock.vue.js +2 -2
- package/dist/components/LpDrawer.vue.js +1 -1
- package/dist/components/LpDropdownMenu.vue.d.ts +5 -1
- package/dist/components/LpDropdownMenu.vue.js +1 -1
- package/dist/components/LpDropzone.vue.js +2 -2
- package/dist/components/LpEditable.vue.js +1 -1
- package/dist/components/LpEmptyState.vue.js +1 -1
- package/dist/components/LpFieldNotice.vue.js +1 -1
- package/dist/components/LpFileTree.vue.d.ts +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/LpGauge.vue.js +1 -1
- package/dist/components/LpHintLayer.vue.js +1 -1
- package/dist/components/LpHints.vue.js +1 -1
- package/dist/components/LpIcon.vue.js +1 -1
- package/dist/components/LpImageEditor.vue.js +3 -2
- package/dist/components/LpInfraNode.vue.js +1 -1
- package/dist/components/LpInput.vue.d.ts +6 -0
- package/dist/components/LpInput.vue.js +1 -1
- package/dist/components/LpLightbox.vue.js +1 -1
- package/dist/components/LpLoader.vue.d.ts +1 -1
- package/dist/components/LpLogViewer.vue.js +1 -1
- package/dist/components/LpMapPicker.vue.js +1 -1
- package/dist/components/LpMediaGallery.vue.d.ts +2 -2
- 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.js +1 -1
- package/dist/components/LpNumberField.vue.d.ts +6 -0
- package/dist/components/LpNumberField.vue.js +1 -1
- package/dist/components/LpNumberFlow.vue.js +1 -1
- package/dist/components/LpPagination.vue.js +1 -1
- package/dist/components/LpPaletteFacts.vue.d.ts +1 -0
- package/dist/components/LpPaletteFacts.vue.js +40 -26
- package/dist/components/LpPaletteHeader.vue.js +2 -2
- package/dist/components/LpPaletteStats.vue.d.ts +1 -0
- package/dist/components/LpPaletteStats.vue.js +45 -21
- package/dist/components/LpPaletteTheme.vue.d.ts +7 -0
- package/dist/components/LpPaletteTheme.vue.js +4 -0
- package/dist/components/LpPasswordInput.vue.d.ts +7 -1
- package/dist/components/LpPasswordInput.vue.js +1 -1
- package/dist/components/LpPhoneInput.vue.js +1 -1
- package/dist/components/LpPie.vue.js +1 -1
- package/dist/components/LpPipeline.vue.js +1 -1
- package/dist/components/LpPopover.vue.js +1 -1
- package/dist/components/LpProgress.vue.d.ts +1 -1
- package/dist/components/LpProgress.vue.js +1 -1
- package/dist/components/LpQuota.vue.js +1 -1
- package/dist/components/LpRadioGroup.vue.d.ts +6 -1
- package/dist/components/LpRadioGroup.vue.js +1 -1
- package/dist/components/LpRangeCalendar.vue.js +1 -1
- package/dist/components/LpRangeSlider.vue.d.ts +6 -0
- package/dist/components/LpRangeSlider.vue.js +1 -1
- package/dist/components/LpRelativeTime.vue.js +1 -1
- package/dist/components/LpRepeater.vue.js +1 -1
- package/dist/components/LpRollingText.vue.d.ts +2 -0
- package/dist/components/LpRollingText.vue.js +1 -1
- package/dist/components/LpSecretField.vue.js +1 -1
- package/dist/components/LpSection.vue.js +1 -1
- package/dist/components/LpSegmented.vue.d.ts +6 -0
- package/dist/components/LpSegmented.vue.js +1 -1
- package/dist/components/LpSelect.vue.d.ts +3 -0
- package/dist/components/LpSelect.vue.js +1 -1
- package/dist/components/LpShinyText.vue.d.ts +1 -1
- 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.d.ts +6 -0
- package/dist/components/LpSlider.vue.js +1 -1
- package/dist/components/LpStat.vue.js +1 -1
- package/dist/components/LpStatus.vue.js +1 -1
- package/dist/components/LpStepMark.vue.js +1 -1
- package/dist/components/LpStepper.vue.js +1 -1
- package/dist/components/LpSwitch.vue.d.ts +6 -0
- package/dist/components/LpSwitch.vue.js +1 -1
- package/dist/components/LpTable.vue.d.ts +6 -0
- package/dist/components/LpTable.vue.js +74 -35
- package/dist/components/LpTableFilter.vue.js +1 -1
- package/dist/components/LpTableOfContents.vue.js +1 -1
- package/dist/components/LpTabs.vue.d.ts +1 -1
- package/dist/components/LpTabs.vue.js +15 -6
- package/dist/components/LpTagsInput.vue.d.ts +6 -0
- package/dist/components/LpTagsInput.vue.js +1 -1
- package/dist/components/LpTextarea.vue.d.ts +8 -1
- package/dist/components/LpTextarea.vue.js +1 -1
- package/dist/components/LpThemeStudio.vue.js +1 -1
- package/dist/components/LpThemeSwitcher.vue.js +1 -1
- package/dist/components/LpTimeField.vue.d.ts +6 -0
- package/dist/components/LpTimeField.vue.js +1 -1
- package/dist/components/LpToaster.vue.js +1 -1
- 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.js +1 -1
- package/dist/components/LpUptimeBar.vue.d.ts +18 -9
- package/dist/components/LpUptimeBar.vue.js +1 -1
- package/dist/components/MenuTitle.vue.js +1 -1
- package/dist/components/OptionContent.vue.js +1 -1
- package/dist/components/PalettePreviewBoundary.vue.d.ts +13 -0
- package/dist/components/PalettePreviewBoundary.vue.js +4 -0
- package/dist/components/PickerField.vue.d.ts +5 -3
- package/dist/components/PickerField.vue.js +1 -1
- package/dist/components/RevealToggle.vue.js +1 -1
- package/dist/components/TourCard.vue.js +1 -1
- package/dist/components/commandPalette.d.ts +33 -0
- package/dist/components/commandPalette.js +21 -1
- package/dist/components/commandSearch.d.ts +5 -0
- package/dist/components/commandSearch.js +22 -2
- package/dist/components/format.d.ts +7 -0
- package/dist/components/format.js +4 -0
- package/dist/components/menuWhen.js +1 -1
- package/dist/components/uptimeBar.d.ts +45 -0
- package/dist/components/uptimeBar.js +51 -0
- package/dist/composables/scroll.d.ts +5 -0
- package/dist/composables/scroll.js +7 -0
- package/dist/composables/useField.d.ts +9 -0
- package/dist/composables/useField.js +24 -1
- package/dist/composables/useForm.js +13 -4
- package/dist/composables/usePaletteCommands.d.ts +61 -0
- package/dist/composables/usePaletteCommands.js +220 -0
- package/dist/composables/useReveal.js +21 -0
- package/dist/composables/useView.js +9 -2
- package/dist/icons-all.js +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.js +103 -87
- package/dist/theme/palette.d.ts +9 -0
- package/dist/theme/studio.d.ts +12 -1
- package/package.json +4 -1
- package/src/component-names.ts +2 -0
- package/src/components/ContextMenuItems.vue +5 -2
- package/src/components/LpAutocomplete.vue +6 -1
- package/src/components/LpButton.vue +5 -1
- package/src/components/LpChart.vue +19 -17
- package/src/components/LpCheckbox.vue +7 -2
- package/src/components/LpCommandPalette.vue +263 -29
- package/src/components/LpCommandScope.vue +35 -0
- package/src/components/LpContextMenu.vue +17 -5
- package/src/components/LpDataList.vue +2 -2
- package/src/components/LpDatePicker.vue +2 -0
- package/src/components/LpDateRangePicker.vue +2 -0
- package/src/components/LpDisclosure.vue +5 -1
- package/src/components/LpDropdownMenu.vue +14 -3
- package/src/components/LpEditable.vue +3 -1
- package/src/components/LpFormField.vue +3 -0
- package/src/components/LpInput.vue +6 -1
- package/src/components/LpNumberField.vue +6 -1
- package/src/components/LpNumberFlow.vue +12 -2
- package/src/components/LpPaletteFacts.vue +11 -6
- package/src/components/LpPaletteStats.vue +12 -5
- package/src/components/LpPaletteTheme.vue +48 -0
- package/src/components/LpPasswordInput.vue +13 -5
- package/src/components/LpPopover.vue +4 -0
- package/src/components/LpRadioGroup.vue +4 -1
- package/src/components/LpRangeSlider.vue +6 -1
- package/src/components/LpRepeater.vue +64 -13
- package/src/components/LpRollingText.vue +12 -1
- package/src/components/LpSecretField.vue +18 -8
- package/src/components/LpSegmented.vue +6 -1
- package/src/components/LpSelect.vue +44 -10
- package/src/components/LpSlider.vue +6 -1
- package/src/components/LpSwitch.vue +6 -1
- package/src/components/LpTable.vue +35 -2
- package/src/components/LpTableOfContents.vue +2 -4
- package/src/components/LpTabs.vue +7 -0
- package/src/components/LpTagsInput.vue +6 -1
- package/src/components/LpTextarea.vue +7 -2
- package/src/components/LpThemeStudio.vue +7 -5
- package/src/components/LpThemeSwitcher.vue +3 -0
- package/src/components/LpTimeField.vue +6 -1
- package/src/components/LpTooltip.vue +23 -1
- package/src/components/LpUptimeBar.vue +69 -41
- package/src/components/PalettePreviewBoundary.vue +5 -0
- package/src/components/PickerField.vue +5 -4
- package/src/components/commandPalette.ts +22 -1
- package/src/components/commandSearch.ts +23 -1
- package/src/components/format.ts +10 -0
- package/src/components/uptimeBar.ts +98 -0
- package/src/composables/scroll.ts +11 -0
- package/src/composables/useField.ts +33 -1
- package/src/composables/useForm.ts +14 -5
- package/src/composables/usePaletteCommands.ts +220 -0
- package/src/composables/useReveal.ts +29 -0
- package/src/composables/useView.ts +8 -1
- package/src/index.ts +18 -1
- package/src/kit-icons.ts +1 -1
- package/src/theme/palette.ts +26 -0
- package/src/theme/studio.ts +15 -8
- package/dist/assets/LpTabs-BJ-nrJuI.css +0 -18
- package/dist/chunks/LpRepeater-D0VjmD6y.js +0 -140
- package/dist/chunks/icons-4IywzkHk.js +0 -43
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, useId, onMounted, watch, onBeforeUnmount, openBlock, createElementBlock, createElementVNode, toDisplayString, Fragment, renderList, normalizeStyle, normalizeClass, createBlock, unref, createCommentVNode, createTextVNode } from "vue";
|
|
2
2
|
import { Motion } from "motion-v";
|
|
3
3
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
4
|
-
import { scrollParent } from "../composables/scroll.js";
|
|
4
|
+
import { scrollParent, atScrollEnd } from "../composables/scroll.js";
|
|
5
5
|
import { usePillTransition } from "../composables/usePillTransition.js";
|
|
6
6
|
const _hoisted_1 = ["aria-label"];
|
|
7
7
|
const _hoisted_2 = { class: "mb-2.5 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted" };
|
|
@@ -54,7 +54,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
54
54
|
const line = Math.max(props.offset, view / 4);
|
|
55
55
|
for (const el of headings) if (el.getBoundingClientRect().top - top <= line + 1) current = el.id;
|
|
56
56
|
const scrolled = scroller ? scroller.scrollTop : window.scrollY;
|
|
57
|
-
const end =
|
|
57
|
+
const end = atScrollEnd(headings[0]);
|
|
58
58
|
if (scrolled > 0 && end) current = headings[headings.length - 1].id;
|
|
59
59
|
activeId.value = current;
|
|
60
60
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { defineComponent, useAttrs, computed, ref, useId, watch, openBlock, createBlock, normalizeStyle, unref, normalizeClass, withCtx, createElementVNode, createVNode, mergeProps, TransitionGroup, createElementBlock, Fragment, renderList, createCommentVNode, toDisplayString, withModifiers } from "vue";
|
|
2
|
+
import { usePaletteControl } from "../composables/usePaletteCommands.js";
|
|
2
3
|
import { TagsInputRoot, TagsInputItem, TagsInputItemText, TagsInputItemDelete, TagsInputInput, PopoverRoot, PopoverAnchor, PopoverPortal, PopoverContent } from "reka-ui";
|
|
3
4
|
import { useField, useFieldControl } from "../composables/useField.js";
|
|
4
5
|
import { prefersReducedMotion } from "../composables/easing.js";
|
|
@@ -6,12 +7,12 @@ import { useFieldNotice } from "../composables/useFieldNotice.js";
|
|
|
6
7
|
import { useShift } from "../composables/useShift.js";
|
|
7
8
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
8
9
|
import { mergeClass } from "../composables/useMergedClass.js";
|
|
9
|
-
import { _ as _sfc_main$4 } from "./LpFieldNotice-
|
|
10
|
-
import { _ as _sfc_main$1 } from "./FieldWrapper-
|
|
10
|
+
import { _ as _sfc_main$4 } from "./LpFieldNotice-CPI8EwtU.js";
|
|
11
|
+
import { _ as _sfc_main$1 } from "./FieldWrapper-YzbvvC3M.js";
|
|
11
12
|
import { BADGE_REMOVE } from "../components/badge.js";
|
|
12
|
-
import { _ as _sfc_main$2 } from "./LpBadge-
|
|
13
|
-
import { _ as _sfc_main$3 } from "./LpIcon-
|
|
14
|
-
import { _ as _sfc_main$5 } from "./OptionContent-
|
|
13
|
+
import { _ as _sfc_main$2 } from "./LpBadge-C8fKEmTF.js";
|
|
14
|
+
import { _ as _sfc_main$3 } from "./LpIcon-DkP-9mzK.js";
|
|
15
|
+
import { _ as _sfc_main$5 } from "./OptionContent-DPzNsybd.js";
|
|
15
16
|
import { POPOVER_PANEL, OPTION_ITEM, optionStagger } from "../components/dropdown.js";
|
|
16
17
|
import { splitTags, addTags } from "../components/tags.js";
|
|
17
18
|
import { usePortalTarget, useOutsideGuard } from "../composables/useView.js";
|
|
@@ -40,6 +41,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
40
41
|
...__default__,
|
|
41
42
|
__name: "LpTagsInput",
|
|
42
43
|
props: {
|
|
44
|
+
palette: { type: [Boolean, Object], default: void 0 },
|
|
43
45
|
modelValue: { default: () => [] },
|
|
44
46
|
placeholder: {},
|
|
45
47
|
delimiter: { default: () => [",", "\n", " "] },
|
|
@@ -297,6 +299,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
297
299
|
__expose({ focus: () => inputEl.value?.focus(), add: (value) => add(value) });
|
|
298
300
|
const portalTo = usePortalTarget();
|
|
299
301
|
const guardOutside = useOutsideGuard();
|
|
302
|
+
usePaletteControl({ label: () => props.label, disabled: () => field.value.disabled, invalid: () => field.value.invalid, editorProps: () => ({ label: void 0, hint: void 0, error: void 0 }) });
|
|
300
303
|
return (_ctx, _cache) => {
|
|
301
304
|
return openBlock(), createBlock(_sfc_main$1, {
|
|
302
305
|
wrapped: hasField.value,
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { defineComponent, computed, useAttrs, openBlock, createBlock, normalizeStyle, unref, normalizeClass, withCtx, createElementVNode, mergeProps } from "vue";
|
|
2
|
+
import { usePaletteControl } from "../composables/usePaletteCommands.js";
|
|
2
3
|
import { useFieldControl } from "../composables/useField.js";
|
|
3
4
|
import { mergeClass } from "../composables/useMergedClass.js";
|
|
4
|
-
import { _ as _sfc_main$1 } from "./FieldWrapper-
|
|
5
|
+
import { _ as _sfc_main$1 } from "./FieldWrapper-YzbvvC3M.js";
|
|
5
6
|
const _hoisted_1 = ["id", "value", "placeholder", "rows", "disabled", "required", "aria-invalid", "aria-describedby"];
|
|
6
7
|
const __default__ = { inheritAttrs: false };
|
|
7
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
9
|
...__default__,
|
|
9
10
|
__name: "LpTextarea",
|
|
10
11
|
props: {
|
|
12
|
+
palette: { type: [Boolean, Object], default: void 0 },
|
|
11
13
|
modelValue: {},
|
|
12
14
|
placeholder: {},
|
|
13
15
|
rows: {},
|
|
@@ -42,6 +44,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
42
44
|
hasField.value ? "" : attrs.class
|
|
43
45
|
)
|
|
44
46
|
);
|
|
47
|
+
usePaletteControl({ label: () => props.label, disabled: () => field.value.disabled, invalid: () => field.value.invalid, editorProps: () => ({ label: void 0, hint: void 0, error: void 0 }) });
|
|
45
48
|
return (_ctx, _cache) => {
|
|
46
49
|
return openBlock(), createBlock(_sfc_main$1, {
|
|
47
50
|
wrapped: hasField.value,
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { shallowRef, computed, ref, watch, watchEffect, defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createBlock, withCtx, createVNode, createTextVNode, createCommentVNode, renderSlot, normalizeClass, normalizeStyle, Fragment, renderList } from "vue";
|
|
2
|
+
import { u as usePaletteTheme } from "./palette-BiY7yQZL.js";
|
|
2
3
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
3
4
|
import { usePersisted } from "../composables/usePersisted.js";
|
|
4
5
|
import { parseColor, rgbToHex } from "../components/color.js";
|
|
5
6
|
import { p as presets, u as useTheme, o as themeToCssRule, s as serializeTheme } from "./useTheme-BOV_-AiY.js";
|
|
6
|
-
import { _ as _sfc_main$1 } from "./LpButton-
|
|
7
|
-
import { _ as _sfc_main$6 } from "./LpCodeBlock-
|
|
8
|
-
import { _ as _sfc_main$4 } from "./LpColorPicker-
|
|
9
|
-
import { _ as _sfc_main$2 } from "./LpIcon-
|
|
10
|
-
import { _ as _sfc_main$5 } from "./LpSegmented-
|
|
7
|
+
import { _ as _sfc_main$1 } from "./LpButton-BQDAFXBd.js";
|
|
8
|
+
import { _ as _sfc_main$6 } from "./LpCodeBlock-Czu-fq1M.js";
|
|
9
|
+
import { _ as _sfc_main$4 } from "./LpColorPicker-Ee1DZiRd.js";
|
|
10
|
+
import { _ as _sfc_main$2 } from "./LpIcon-DkP-9mzK.js";
|
|
11
|
+
import { _ as _sfc_main$5 } from "./LpSegmented-D2VST0o3.js";
|
|
11
12
|
import { _ as _sfc_main$3 } from "./LpThemeStudioSection-BwhqYDLf.js";
|
|
12
13
|
function defineTheme(base, overrides = {}) {
|
|
13
14
|
const src = typeof base === "string" ? presets[base] : base;
|
|
@@ -169,8 +170,8 @@ function create(key, config) {
|
|
|
169
170
|
}
|
|
170
171
|
});
|
|
171
172
|
}
|
|
172
|
-
|
|
173
|
-
const
|
|
173
|
+
function exportState(s) {
|
|
174
|
+
const built = build(s);
|
|
174
175
|
const preset = Object.entries(presets).find(([, p]) => p.name === base(s).name)?.[0];
|
|
175
176
|
const source = preset ? `"${preset}"` : "yourTheme";
|
|
176
177
|
const overrides = [];
|
|
@@ -178,9 +179,11 @@ function create(key, config) {
|
|
|
178
179
|
if (s.size !== "default") overrides.push(`density: ${JSON.stringify(STUDIO_SIZES[s.size])}`);
|
|
179
180
|
const shaped = overrides.length ? `defineTheme(${source}, { ${overrides.join(", ")} })` : source;
|
|
180
181
|
const code = s.brand ? `withBrand(${shaped}, "${s.brand}")` : overrides.length ? shaped : preset ? `presets.${preset}` : source;
|
|
181
|
-
return { code, json: serializeTheme(
|
|
182
|
-
}
|
|
183
|
-
|
|
182
|
+
return { code, json: serializeTheme(built), css: themeToCssRule(built) };
|
|
183
|
+
}
|
|
184
|
+
const exported = computed(() => exportState(state.value));
|
|
185
|
+
const preview = (draft) => ({ theme: build(draft), exported: exportState(draft) });
|
|
186
|
+
return { state, themes, system, theme, brand, changed, exported, pickTheme, tune, reset, preview };
|
|
184
187
|
}
|
|
185
188
|
const _hoisted_1 = { class: "flex flex-col gap-4" };
|
|
186
189
|
const _hoisted_2 = { class: "flex items-center justify-between" };
|
|
@@ -246,7 +249,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
246
249
|
const r = event.currentTarget?.getBoundingClientRect();
|
|
247
250
|
return r ? { x: r.left + r.width / 2, y: r.top + r.height / 2 } : void 0;
|
|
248
251
|
}
|
|
249
|
-
const tuneTo = (key
|
|
252
|
+
const tuneTo = (key, value) => studio.tune({ [key]: value });
|
|
253
|
+
usePaletteTheme(() => studio ?? void 0);
|
|
250
254
|
return (_ctx, _cache) => {
|
|
251
255
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
252
256
|
createElementVNode("div", _hoisted_2, [
|
|
@@ -347,7 +351,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
347
351
|
"model-value": unref(state).corners,
|
|
348
352
|
size: "sm",
|
|
349
353
|
options: [{ value: "sharp", label: unref(text).sharp }, { value: "default", label: unref(text).default }, { value: "round", label: unref(text).round }],
|
|
350
|
-
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => tuneTo("corners"))
|
|
354
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => tuneTo("corners", $event))
|
|
351
355
|
}, null, 8, ["model-value", "options"])
|
|
352
356
|
]),
|
|
353
357
|
_: 1
|
|
@@ -361,7 +365,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
361
365
|
"model-value": unref(state).size,
|
|
362
366
|
size: "sm",
|
|
363
367
|
options: [{ value: "compact", label: unref(text).compact }, { value: "default", label: unref(text).default }, { value: "comfortable", label: unref(text).comfortable }],
|
|
364
|
-
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => tuneTo("size"))
|
|
368
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => tuneTo("size", $event))
|
|
365
369
|
}, null, 8, ["model-value", "options"])
|
|
366
370
|
]),
|
|
367
371
|
_: 1
|
|
@@ -375,7 +379,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
375
379
|
"model-value": unref(state).motion,
|
|
376
380
|
size: "sm",
|
|
377
381
|
options: [{ value: "fast", label: unref(text).fast }, { value: "normal", label: unref(text).normal }, { value: "slow", label: unref(text).slow }],
|
|
378
|
-
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => tuneTo("motion"))
|
|
382
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => tuneTo("motion", $event))
|
|
379
383
|
}, null, 8, ["model-value", "options"])
|
|
380
384
|
]),
|
|
381
385
|
_: 1
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { defineComponent, ref, useId, computed, onMounted, openBlock, createBlock, unref, withCtx, createVNode, createElementVNode, normalizeClass, createElementBlock, createCommentVNode, renderSlot, normalizeProps, guardReactiveProps } from "vue";
|
|
2
|
+
import { u as usePaletteTheme } from "./palette-BiY7yQZL.js";
|
|
2
3
|
import { PopoverRoot, PopoverAnchor, PopoverPortal, PopoverContent } from "reka-ui";
|
|
3
4
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
4
5
|
import { usePortalTarget, useOutsideGuard } from "../composables/useView.js";
|
|
5
6
|
import { u as useTheme, p as presets } from "./useTheme-BOV_-AiY.js";
|
|
6
|
-
import { u as useThemeStudio, S as STUDIO_SYSTEM, _ as _sfc_main$5 } from "./LpThemeStudio-
|
|
7
|
+
import { u as useThemeStudio, S as STUDIO_SYSTEM, _ as _sfc_main$5 } from "./LpThemeStudio-B2nPaG-h.js";
|
|
7
8
|
import { POPOVER_PANEL } from "../components/dropdown.js";
|
|
8
|
-
import { _ as _sfc_main$1 } from "./LpContextMenu-
|
|
9
|
-
import { _ as _sfc_main$2 } from "./LpIcon-
|
|
10
|
-
import { _ as _sfc_main$4 } from "./LpRollingText-
|
|
9
|
+
import { _ as _sfc_main$1 } from "./LpContextMenu-DXpFJjlO.js";
|
|
10
|
+
import { _ as _sfc_main$2 } from "./LpIcon-DkP-9mzK.js";
|
|
11
|
+
import { _ as _sfc_main$4 } from "./LpRollingText-DiL717LK.js";
|
|
11
12
|
import { _ as _sfc_main$3 } from "./LpShift-DXNsauQZ.js";
|
|
12
13
|
const _hoisted_1 = ["aria-label", "title"];
|
|
13
14
|
const _hoisted_2 = {
|
|
@@ -168,6 +169,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
168
169
|
const triggerLabel = computed(
|
|
169
170
|
() => props["aria-label"] ?? text.value.trigger.replace("{name}", labelName.value)
|
|
170
171
|
);
|
|
172
|
+
usePaletteTheme(() => tuner ?? void 0);
|
|
171
173
|
return (_ctx, _cache) => {
|
|
172
174
|
return openBlock(), createBlock(unref(PopoverRoot), {
|
|
173
175
|
open: studioOpen.value,
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock, unref, mergeProps, withCtx, createCommentVNode, createElementBlock, Fragment, renderList, createTextVNode, toDisplayString } from "vue";
|
|
2
|
+
import { usePaletteControl } from "../composables/usePaletteCommands.js";
|
|
2
3
|
import { Time } from "@internationalized/date";
|
|
3
4
|
import { TimeFieldRoot, TimeFieldInput } from "reka-ui";
|
|
4
5
|
import { useFieldControl, focusLeft } from "../composables/useField.js";
|
|
5
6
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
6
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
7
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
|
|
7
8
|
const __default__ = { inheritAttrs: false };
|
|
8
9
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
9
10
|
...__default__,
|
|
10
11
|
__name: "LpTimeField",
|
|
11
12
|
props: {
|
|
13
|
+
palette: { type: [Boolean, Object], default: void 0 },
|
|
12
14
|
modelValue: {},
|
|
13
15
|
disabled: { type: Boolean },
|
|
14
16
|
invalid: { type: Boolean },
|
|
@@ -53,6 +55,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
53
55
|
field.value.invalid ? "border-danger focus-within:ring-danger-soft" : "border-line focus-within:border-brand"
|
|
54
56
|
].join(" ")
|
|
55
57
|
);
|
|
58
|
+
usePaletteControl({ disabled: () => field.value.disabled, invalid: () => field.value.invalid });
|
|
56
59
|
return (_ctx, _cache) => {
|
|
57
60
|
return openBlock(), createBlock(unref(TimeFieldRoot), mergeProps({
|
|
58
61
|
"model-value": value.value,
|
|
@@ -4,8 +4,8 @@ import { prefersReducedMotion } from "../composables/easing.js";
|
|
|
4
4
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
5
5
|
import { useToast } from "../composables/useToast.js";
|
|
6
6
|
import { CLOSE_ICON } from "../components/dropdown.js";
|
|
7
|
-
import { _ as _sfc_main$2 } from "./LpCopyButton-
|
|
8
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
7
|
+
import { _ as _sfc_main$2 } from "./LpCopyButton-Dmq7DmFw.js";
|
|
8
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
|
|
9
9
|
import { toneLook } from "../components/tone.js";
|
|
10
10
|
import { usePortalTarget } from "../composables/useView.js";
|
|
11
11
|
const _hoisted_1 = { class: "flex items-start gap-3 p-3.5" };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { defineComponent, ref, watch, onBeforeUnmount, openBlock, createBlock, resolveDynamicComponent, unref, normalizeProps, guardReactiveProps, withCtx, createVNode, renderSlot, normalizeStyle, normalizeClass, createTextVNode, toDisplayString } from "vue";
|
|
1
|
+
import { defineComponent, ref, watch, onBeforeUnmount, openBlock, createBlock, resolveDynamicComponent, unref, normalizeProps, guardReactiveProps, withCtx, createVNode, renderSlot, normalizeStyle, normalizeClass, createElementVNode, createTextVNode, toDisplayString } from "vue";
|
|
2
2
|
import { injectTooltipProviderContext, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipPortal, TooltipContent } from "reka-ui";
|
|
3
3
|
import { springStep, springSettled } from "../composables/usePillTransition.js";
|
|
4
4
|
import { PANEL_SURFACE, TOOLTIP_ANIM } from "../components/dropdown.js";
|
|
5
5
|
import { prefersReducedMotion } from "../composables/easing.js";
|
|
6
6
|
import { usePortalTarget, useOutsideGuard } from "../composables/useView.js";
|
|
7
|
-
import '../assets/LpTooltip-B61SYd4K.css';const
|
|
7
|
+
import '../assets/LpTooltip-B61SYd4K.css';const EDGE = 8;
|
|
8
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
9
|
__name: "LpTooltip",
|
|
9
10
|
props: {
|
|
10
11
|
content: {},
|
|
@@ -22,6 +23,17 @@ import '../assets/LpTooltip-B61SYd4K.css';const _sfc_main = /* @__PURE__ */ defi
|
|
|
22
23
|
const PassThrough = (_, { slots }) => slots.default?.();
|
|
23
24
|
const target = { x: 0, y: 0 };
|
|
24
25
|
const offset = ref({ x: 0, y: 0 });
|
|
26
|
+
const tipBody = ref(null);
|
|
27
|
+
function inView(x) {
|
|
28
|
+
const panel = tipBody.value?.parentElement;
|
|
29
|
+
if (!panel) return x;
|
|
30
|
+
const rect = panel.getBoundingClientRect();
|
|
31
|
+
const placed = rect.left - offset.value.x;
|
|
32
|
+
const width = panel.ownerDocument.defaultView?.innerWidth ?? window.innerWidth;
|
|
33
|
+
const min = EDGE - placed;
|
|
34
|
+
const max = width - EDGE - rect.width - placed;
|
|
35
|
+
return max < min ? x : Math.min(max, Math.max(min, x));
|
|
36
|
+
}
|
|
25
37
|
let sx = { value: 0, velocity: 0 };
|
|
26
38
|
let sy = { value: 0, velocity: 0 };
|
|
27
39
|
let frame = 0;
|
|
@@ -53,6 +65,7 @@ import '../assets/LpTooltip-B61SYd4K.css';const _sfc_main = /* @__PURE__ */ defi
|
|
|
53
65
|
const half = props.side === "top" || props.side === "bottom" ? rect.height / 2 : 0;
|
|
54
66
|
const dir = props.side === "bottom" ? -1 : 1;
|
|
55
67
|
target.y = e.clientY - (rect.top + rect.height / 2) + half * dir;
|
|
68
|
+
target.x = inView(target.x);
|
|
56
69
|
if (prefersReducedMotion()) {
|
|
57
70
|
offset.value = { x: target.x, y: target.y };
|
|
58
71
|
return;
|
|
@@ -121,9 +134,14 @@ import '../assets/LpTooltip-B61SYd4K.css';const _sfc_main = /* @__PURE__ */ defi
|
|
|
121
134
|
style: normalizeStyle(__props.followCursor ? { translate: `${offset.value.x}px ${offset.value.y}px` } : void 0)
|
|
122
135
|
}, {
|
|
123
136
|
default: withCtx(() => [
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
137
|
+
createElementVNode("div", {
|
|
138
|
+
ref_key: "tipBody",
|
|
139
|
+
ref: tipBody
|
|
140
|
+
}, [
|
|
141
|
+
renderSlot(_ctx.$slots, "content", {}, () => [
|
|
142
|
+
createTextVNode(toDisplayString(__props.content), 1)
|
|
143
|
+
])
|
|
144
|
+
], 512)
|
|
127
145
|
]),
|
|
128
146
|
_: 3
|
|
129
147
|
}, 8, ["onInteractOutside", "onEscapeKeyDown", "side", "side-offset", "data-lp-follow", "class", "style"])
|
|
@@ -3,7 +3,7 @@ import { Background } from "@vue-flow/background";
|
|
|
3
3
|
import { Controls } from "@vue-flow/controls";
|
|
4
4
|
import { MarkerType, useVueFlow, VueFlow, SelectionMode, Panel } from "@vue-flow/core";
|
|
5
5
|
import { MiniMap } from "@vue-flow/minimap";
|
|
6
|
-
import { _ as _sfc_main$3 } from "./LpInfraNode-
|
|
6
|
+
import { _ as _sfc_main$3 } from "./LpInfraNode-yTh4-5qa.js";
|
|
7
7
|
import { _ as _sfc_main$1 } from "./LpLaneNode-HtnQf2FF.js";
|
|
8
8
|
import { _ as _sfc_main$2 } from "./LpServiceNode-D8uJ8sGk.js";
|
|
9
9
|
import { _ as _sfc_main$4 } from "./LpWaypointEdge-D8yHlQiw.js";
|
|
@@ -8,7 +8,7 @@ import { useMediaQuery } from "../composables/useMediaQuery.js";
|
|
|
8
8
|
import { useView, usePortalTarget, viewDocument, viewWindow } from "../composables/useView.js";
|
|
9
9
|
import { scrollToElement } from "../composables/scroll.js";
|
|
10
10
|
import { PANEL_SURFACE } from "../components/dropdown.js";
|
|
11
|
-
import { _ as _sfc_main$1 } from "./TourCard
|
|
11
|
+
import { _ as _sfc_main$1 } from "./TourCard--2IfgnUU.js";
|
|
12
12
|
import { holeOf, panelsAround, holeClip } from "../components/tour.js";
|
|
13
13
|
const _hoisted_1 = ["aria-label"];
|
|
14
14
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent, ref, onMounted, watch, nextTick, computed, openBlock, createElementBlock, mergeProps, unref, createVNode, withCtx, createElementVNode, normalizeStyle, normalizeClass, Fragment, toDisplayString, createTextVNode, createBlock, createCommentVNode } from "vue";
|
|
2
2
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
3
3
|
import { useResizeObserver } from "../composables/useResizeObserver.js";
|
|
4
|
-
import { _ as _sfc_main$2 } from "./LpCopyButton-
|
|
5
|
-
import { _ as _sfc_main$1 } from "./LpTooltip-
|
|
4
|
+
import { _ as _sfc_main$2 } from "./LpCopyButton-Dmq7DmFw.js";
|
|
5
|
+
import { _ as _sfc_main$1 } from "./LpTooltip-BcBvIx4z.js";
|
|
6
6
|
import { middleTruncate } from "../components/fieldText.js";
|
|
7
7
|
const _hoisted_1 = ["tabindex"];
|
|
8
8
|
const _hoisted_2 = { "aria-hidden": "true" };
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, openBlock, createElementBlock, mergeProps, unref, toDisplayString, createCommentVNode, createElementVNode, createVNode, withCtx, createBlock, Fragment, renderList, normalizeStyle, createTextVNode } from "vue";
|
|
2
|
-
import { _ as _sfc_main$
|
|
3
|
-
import { _ as _sfc_main$
|
|
2
|
+
import { _ as _sfc_main$6 } from "./LpNumberFlow-5khYxsfX.js";
|
|
3
|
+
import { _ as _sfc_main$5 } from "./LpRollingText-DiL717LK.js";
|
|
4
|
+
import { _ as _sfc_main$4 } from "./LpShift-DXNsauQZ.js";
|
|
4
5
|
import { _ as _sfc_main$2 } from "./LpSkeleton-BB6XIV-w.js";
|
|
5
6
|
import { _ as _sfc_main$1 } from "./LpSwap-DzE6M3Mg.js";
|
|
6
|
-
import { _ as _sfc_main$3 } from "./LpTooltip-
|
|
7
|
+
import { _ as _sfc_main$3 } from "./LpTooltip-BcBvIx4z.js";
|
|
7
8
|
import { TONES } from "../components/tone.js";
|
|
8
9
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
9
10
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
11
|
+
import { useLocale } from "../composables/useLocale.js";
|
|
12
|
+
import { DEFAULT_UNIT_LABELS, toEpoch, formatTime } from "../components/timeSpan.js";
|
|
13
|
+
import { uptimeShare, UPTIME_SEVERITY, uptimeRange, uptimeFigure } from "../components/uptimeBar.js";
|
|
10
14
|
import '../assets/LpUptimeBar-B98o9krI.css';const _hoisted_1 = ["aria-busy"];
|
|
11
15
|
const _hoisted_2 = {
|
|
12
16
|
key: 0,
|
|
@@ -17,21 +21,33 @@ const _hoisted_3 = {
|
|
|
17
21
|
class: "text-xs"
|
|
18
22
|
};
|
|
19
23
|
const _hoisted_4 = { class: "font-medium text-ink" };
|
|
20
|
-
const _hoisted_5 = {
|
|
24
|
+
const _hoisted_5 = { class: "flex min-w-36 flex-col gap-1" };
|
|
25
|
+
const _hoisted_6 = { class: "flex items-center gap-1.5" };
|
|
26
|
+
const _hoisted_7 = {
|
|
27
|
+
key: 1,
|
|
28
|
+
class: "mt-0.5 flex flex-col gap-0.5"
|
|
29
|
+
};
|
|
30
|
+
const _hoisted_8 = { class: "flex-1" };
|
|
31
|
+
const _hoisted_9 = {
|
|
32
|
+
key: 2,
|
|
33
|
+
class: "mt-0.5 flex flex-col gap-0.5 border-t border-current/15 pt-1"
|
|
34
|
+
};
|
|
35
|
+
const _hoisted_10 = {
|
|
21
36
|
key: 0,
|
|
22
|
-
class: "
|
|
37
|
+
class: "opacity-70"
|
|
23
38
|
};
|
|
24
|
-
const
|
|
25
|
-
const
|
|
39
|
+
const _hoisted_11 = ["tabindex", "aria-label", "onPointerenter", "onFocus", "onBlur", "onKeydown"];
|
|
40
|
+
const _hoisted_12 = {
|
|
26
41
|
key: 2,
|
|
27
42
|
class: "flex items-center gap-2 text-xs text-muted"
|
|
28
43
|
};
|
|
29
|
-
const
|
|
30
|
-
const
|
|
44
|
+
const _hoisted_13 = { class: "shrink-0" };
|
|
45
|
+
const _hoisted_14 = {
|
|
31
46
|
key: 0,
|
|
32
47
|
class: "shrink-0 text-muted-strong"
|
|
33
48
|
};
|
|
34
|
-
const
|
|
49
|
+
const _hoisted_15 = { class: "ml-1 text-muted" };
|
|
50
|
+
const _hoisted_16 = { class: "shrink-0" };
|
|
35
51
|
const __default__ = { inheritAttrs: false };
|
|
36
52
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
37
53
|
...__default__,
|
|
@@ -41,6 +57,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
41
57
|
startLabel: {},
|
|
42
58
|
endLabel: {},
|
|
43
59
|
showUptime: { type: Boolean, default: true },
|
|
60
|
+
uptime: {},
|
|
61
|
+
locale: {},
|
|
44
62
|
title: {},
|
|
45
63
|
colors: {},
|
|
46
64
|
labels: {},
|
|
@@ -66,17 +84,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
66
84
|
down: "Down",
|
|
67
85
|
maintenance: "Maintenance",
|
|
68
86
|
empty: "No data",
|
|
69
|
-
loading: "Loading"
|
|
87
|
+
loading: "Loading",
|
|
88
|
+
uptime: "uptime"
|
|
70
89
|
},
|
|
71
90
|
() => props.labels
|
|
72
91
|
);
|
|
73
92
|
const skeletonCount = computed(() => props.segments.length || props.skeletonSlices);
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const up = tracked.filter((s) => s.status === "operational" || s.status === "maintenance").length;
|
|
78
|
-
return up / tracked.length * 100;
|
|
79
|
-
});
|
|
93
|
+
const locale = useLocale(() => props.locale);
|
|
94
|
+
const units = useLabels("time", DEFAULT_UNIT_LABELS);
|
|
95
|
+
const uptimePct = computed(() => (props.uptime ?? null) !== null ? props.uptime : uptimeShare(props.segments));
|
|
80
96
|
const MARK_WIDTH = 0.64;
|
|
81
97
|
const hovered = ref(null);
|
|
82
98
|
const tip = computed(() => {
|
|
@@ -84,7 +100,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
84
100
|
if (i == null) return null;
|
|
85
101
|
const seg = props.segments[i];
|
|
86
102
|
if (!seg) return null;
|
|
87
|
-
return {
|
|
103
|
+
return {
|
|
104
|
+
status: seg.status,
|
|
105
|
+
text: seg.label ?? statusLabel.value[seg.status],
|
|
106
|
+
range: seg.start !== void 0 ? uptimeRange(seg.start, seg.end, locale.value) : "",
|
|
107
|
+
parts: UPTIME_SEVERITY.filter((st) => (seg.durations?.[st] ?? 0) > 0).map((st) => ({
|
|
108
|
+
status: st,
|
|
109
|
+
text: statusLabel.value[st],
|
|
110
|
+
time: formatTime(seg.durations[st], "units", units.value, 2)
|
|
111
|
+
})),
|
|
112
|
+
events: (seg.events ?? []).slice(0, 4).map((e) => ({
|
|
113
|
+
status: e.status ?? seg.status,
|
|
114
|
+
text: e.text,
|
|
115
|
+
at: e.at !== void 0 && Number.isFinite(toEpoch(e.at)) ? new Intl.DateTimeFormat(locale.value, { hour: "2-digit", minute: "2-digit" }).format(toEpoch(e.at)) : ""
|
|
116
|
+
})),
|
|
117
|
+
more: Math.max(0, (seg.events?.length ?? 0) - 4)
|
|
118
|
+
};
|
|
88
119
|
});
|
|
89
120
|
const focusIndex = ref(-1);
|
|
90
121
|
const slots = ref([]);
|
|
@@ -99,12 +130,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
99
130
|
focusIndex.value = next;
|
|
100
131
|
slots.value[next]?.focus();
|
|
101
132
|
}
|
|
102
|
-
const
|
|
103
|
-
const v = uptimePct.value;
|
|
104
|
-
if (v == null) return 0;
|
|
105
|
-
const trimmed = Number(v.toFixed(2));
|
|
106
|
-
return Number.isInteger(trimmed) ? 0 : String(trimmed).split(".")[1].length;
|
|
107
|
-
});
|
|
133
|
+
const figure = computed(() => uptimePct.value == null ? null : uptimeFigure(uptimePct.value));
|
|
108
134
|
const { class: rootClass, attrs: rest } = useMergedAttrs(
|
|
109
135
|
"flex flex-col gap-1.5"
|
|
110
136
|
);
|
|
@@ -144,17 +170,79 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
144
170
|
disabled: hovered.value === null
|
|
145
171
|
}, {
|
|
146
172
|
content: withCtx(() => [
|
|
147
|
-
tip.value ? (openBlock(),
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
173
|
+
tip.value ? (openBlock(), createBlock(_sfc_main$4, {
|
|
174
|
+
key: 0,
|
|
175
|
+
axis: "both",
|
|
176
|
+
class: "flex"
|
|
177
|
+
}, {
|
|
178
|
+
default: withCtx(() => [
|
|
179
|
+
createElementVNode("span", _hoisted_5, [
|
|
180
|
+
createElementVNode("span", _hoisted_6, [
|
|
181
|
+
createElementVNode("span", {
|
|
182
|
+
class: "size-1.5 shrink-0 rounded-full transition-colors duration-[var(--duration-fast)]",
|
|
183
|
+
style: normalizeStyle({ backgroundColor: colorFor(tip.value.status) })
|
|
184
|
+
}, null, 4),
|
|
185
|
+
createVNode(_sfc_main$5, {
|
|
186
|
+
value: tip.value.text,
|
|
187
|
+
duration: 180,
|
|
188
|
+
align: "start",
|
|
189
|
+
class: "font-medium"
|
|
190
|
+
}, null, 8, ["value"])
|
|
191
|
+
]),
|
|
192
|
+
tip.value.range ? (openBlock(), createBlock(_sfc_main$5, {
|
|
193
|
+
key: 0,
|
|
194
|
+
value: tip.value.range,
|
|
195
|
+
duration: 180,
|
|
196
|
+
align: "start",
|
|
197
|
+
class: "text-[0.7rem] opacity-70 tabular-nums"
|
|
198
|
+
}, null, 8, ["value"])) : createCommentVNode("", true),
|
|
199
|
+
tip.value.parts.length > 1 || tip.value.parts.length === 1 && tip.value.parts[0].status !== tip.value.status ? (openBlock(), createElementBlock("span", _hoisted_7, [
|
|
200
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(tip.value.parts, (part) => {
|
|
201
|
+
return openBlock(), createElementBlock("span", {
|
|
202
|
+
key: part.status,
|
|
203
|
+
class: "flex items-center gap-1.5 tabular-nums"
|
|
204
|
+
}, [
|
|
205
|
+
createElementVNode("span", {
|
|
206
|
+
class: "size-1.5 shrink-0 rounded-full",
|
|
207
|
+
style: normalizeStyle({ backgroundColor: colorFor(part.status) })
|
|
208
|
+
}, null, 4),
|
|
209
|
+
createElementVNode("span", _hoisted_8, toDisplayString(part.text), 1),
|
|
210
|
+
createVNode(_sfc_main$5, {
|
|
211
|
+
value: part.time,
|
|
212
|
+
duration: 180,
|
|
213
|
+
align: "end",
|
|
214
|
+
class: "opacity-80"
|
|
215
|
+
}, null, 8, ["value"])
|
|
216
|
+
]);
|
|
217
|
+
}), 128))
|
|
218
|
+
])) : createCommentVNode("", true),
|
|
219
|
+
tip.value.events.length ? (openBlock(), createElementBlock("span", _hoisted_9, [
|
|
220
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(tip.value.events, (event, n) => {
|
|
221
|
+
return openBlock(), createElementBlock("span", {
|
|
222
|
+
key: n,
|
|
223
|
+
class: "flex items-baseline gap-1.5"
|
|
224
|
+
}, [
|
|
225
|
+
event.at ? (openBlock(), createBlock(_sfc_main$5, {
|
|
226
|
+
key: 0,
|
|
227
|
+
value: event.at,
|
|
228
|
+
duration: 180,
|
|
229
|
+
align: "start",
|
|
230
|
+
class: "shrink-0 tabular-nums opacity-70"
|
|
231
|
+
}, null, 8, ["value"])) : createCommentVNode("", true),
|
|
232
|
+
createVNode(_sfc_main$5, {
|
|
233
|
+
value: event.text,
|
|
234
|
+
duration: 180,
|
|
235
|
+
align: "start",
|
|
236
|
+
wrap: ""
|
|
237
|
+
}, null, 8, ["value"])
|
|
238
|
+
]);
|
|
239
|
+
}), 128)),
|
|
240
|
+
tip.value.more ? (openBlock(), createElementBlock("span", _hoisted_10, "+" + toDisplayString(tip.value.more), 1)) : createCommentVNode("", true)
|
|
241
|
+
])) : createCommentVNode("", true)
|
|
242
|
+
])
|
|
243
|
+
]),
|
|
244
|
+
_: 1
|
|
245
|
+
})) : createCommentVNode("", true)
|
|
158
246
|
]),
|
|
159
247
|
default: withCtx(() => [
|
|
160
248
|
createElementVNode("div", {
|
|
@@ -170,7 +258,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
170
258
|
type: "button",
|
|
171
259
|
class: "lp-uptime__slot min-w-0 flex-1 outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
172
260
|
tabindex: i === tabStop.value ? 0 : -1,
|
|
173
|
-
"aria-label": seg.label ?? unref(statusLabel)[seg.status],
|
|
261
|
+
"aria-label": [seg.label ?? unref(statusLabel)[seg.status], seg.start !== void 0 ? unref(uptimeRange)(seg.start, seg.end, unref(locale)) : ""].filter(Boolean).join(", "),
|
|
174
262
|
onPointerenter: ($event) => hovered.value = i,
|
|
175
263
|
onFocus: ($event) => {
|
|
176
264
|
focusIndex.value = i;
|
|
@@ -190,7 +278,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
190
278
|
scale: hovered.value === i ? `${MARK_WIDTH} 1.12` : void 0
|
|
191
279
|
})
|
|
192
280
|
}, null, 4)
|
|
193
|
-
], 40,
|
|
281
|
+
], 40, _hoisted_11);
|
|
194
282
|
}), 128))
|
|
195
283
|
], 32)
|
|
196
284
|
]),
|
|
@@ -199,25 +287,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
199
287
|
]),
|
|
200
288
|
_: 1
|
|
201
289
|
}, 8, ["swap-key"]),
|
|
202
|
-
__props.startLabel || __props.endLabel || __props.showUptime ? (openBlock(), createElementBlock("div",
|
|
203
|
-
createElementVNode("span",
|
|
204
|
-
_cache[
|
|
205
|
-
__props.showUptime ? (openBlock(), createElementBlock("span",
|
|
290
|
+
__props.startLabel || __props.endLabel || __props.showUptime ? (openBlock(), createElementBlock("div", _hoisted_12, [
|
|
291
|
+
createElementVNode("span", _hoisted_13, toDisplayString(__props.startLabel), 1),
|
|
292
|
+
_cache[2] || (_cache[2] = createElementVNode("span", { class: "h-px flex-1 bg-line" }, null, -1)),
|
|
293
|
+
__props.showUptime ? (openBlock(), createElementBlock("span", _hoisted_14, [
|
|
206
294
|
__props.loading ? (openBlock(), createBlock(_sfc_main$2, {
|
|
207
295
|
key: 0,
|
|
208
296
|
class: "inline-block h-[0.9em] w-8 align-middle"
|
|
209
|
-
})) :
|
|
297
|
+
})) : figure.value ? (openBlock(), createBlock(_sfc_main$6, {
|
|
210
298
|
key: 1,
|
|
211
|
-
value:
|
|
212
|
-
decimals:
|
|
299
|
+
value: figure.value.value,
|
|
300
|
+
decimals: figure.value.decimals,
|
|
301
|
+
grouped: "",
|
|
213
302
|
suffix: "%"
|
|
214
303
|
}, null, 8, ["value", "decimals"])) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
|
|
215
304
|
createTextVNode("—")
|
|
216
305
|
], 64)),
|
|
217
|
-
|
|
306
|
+
createElementVNode("span", _hoisted_15, toDisplayString(unref(statusLabel).uptime), 1)
|
|
218
307
|
])) : createCommentVNode("", true),
|
|
219
|
-
_cache[
|
|
220
|
-
createElementVNode("span",
|
|
308
|
+
_cache[3] || (_cache[3] = createElementVNode("span", { class: "h-px flex-1 bg-line" }, null, -1)),
|
|
309
|
+
createElementVNode("span", _hoisted_16, toDisplayString(__props.endLabel), 1)
|
|
221
310
|
])) : createCommentVNode("", true)
|
|
222
311
|
], 16, _hoisted_1);
|
|
223
312
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, Fragment, createElementVNode, createVNode, createCommentVNode, toDisplayString } from "vue";
|
|
2
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
2
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
|
|
3
3
|
const _hoisted_1 = {
|
|
4
4
|
class: "flex max-w-72 min-w-0 items-center gap-2 px-2.5 pt-1.5 pb-2",
|
|
5
5
|
"aria-hidden": "true"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createBlock, createCommentVNode, createElementVNode, toDisplayString } from "vue";
|
|
2
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
2
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
|
|
3
3
|
const _hoisted_1 = { class: "flex min-w-0 items-center gap-2.5" };
|
|
4
4
|
const _hoisted_2 = ["src"];
|
|
5
5
|
const _hoisted_3 = { class: "flex min-w-0 flex-col" };
|