@leavepulse/ui 0.43.4 → 0.45.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 +121 -7
- package/dist/assets/{LpCommandPalette-B-0Est4Z.css → LpCommandPalette-nGNnzXqQ.css} +21 -21
- package/dist/assets/{LpDropzone-BBoWvi-J.css → LpDropzone-i4BdMi1H.css} +12 -12
- package/dist/assets/{LpImageEditor-Ct7Y3aNu.css → LpImageEditor-CbMA82g8.css} +6 -6
- package/dist/assets/{LpRollingText-CR1mb0Vt.css → LpRollingText-BGnE6q9j.css} +3 -0
- package/dist/assets/{LpShortcutsDialog-C6YoQ8_M.css → LpShortcutsDialog-CqYX3yy6.css} +28 -7
- package/dist/assets/{LpSkeleton-D7xU8IPV.css → LpSkeleton-H3Z5dEIk.css} +4 -1
- package/dist/assets/{LpTable-BgPLJOXa.css → LpTable-CPwWxTJS.css} +49 -9
- package/dist/chunks/ContextMenuItems-BtKU7074.js +124 -0
- package/dist/chunks/{LayoutCanvas-Dd20boUG.js → LayoutCanvas-BkaGXTjx.js} +26 -9
- package/dist/chunks/{LayoutNode-DGpZA9LX.js → LayoutNode-B3_9E1Xa.js} +28 -12
- package/dist/chunks/{LpActionBar-BlvtGB2P.js → LpActionBar-CnfFVIwC.js} +26 -12
- package/dist/chunks/{LpAddressInput-B-Zvxsn7.js → LpAddressInput-BwX8uo4_.js} +54 -49
- package/dist/chunks/{LpAlert-BAYHDSS1.js → LpAlert-B6ilrM7T.js} +16 -9
- package/dist/chunks/{LpAppShell-BGQVIY-3.js → LpAppShell-C53_RaGF.js} +53 -26
- package/dist/chunks/{LpAutocomplete-DExlIZe_.js → LpAutocomplete-C8IgSMsi.js} +52 -24
- package/dist/chunks/{LpAvatar-B3-xAOH3.js → LpAvatar-C1XStdOo.js} +19 -10
- package/dist/chunks/LpBreadcrumbs-CQJd73Gm.js +95 -0
- package/dist/chunks/{LpButton-5VXXCjwF.js → LpButton-CKSwC6Mu.js} +45 -15
- package/dist/chunks/{LpCalendar-B7Ko5RdR.js → LpCalendar-DrA2McTU.js} +1 -1
- package/dist/chunks/{LpCard-BhI1N_vL.js → LpCard-C2IvucmX.js} +1 -1
- package/dist/chunks/{LpCheckbox-CVccKYaH.js → LpCheckbox-Bkj13CbW.js} +8 -4
- package/dist/chunks/{LpCodeBlock-Bo0B4TFR.js → LpCodeBlock-ca7ANFyW.js} +49 -17
- package/dist/chunks/{LpColorPicker-BlXea7LM.js → LpColorPicker-zz4VGkG4.js} +75 -26
- package/dist/chunks/{LpConfirmDialog-Q-bxff8z.js → LpConfirmDialog-DCw5jR1t.js} +59 -17
- package/dist/chunks/LpConfirmHost-CbywMpMP.js +49 -0
- package/dist/chunks/LpContextMenu-BqkAYa9X.js +69 -0
- package/dist/chunks/LpDatePicker-DuusgT69.js +195 -0
- package/dist/chunks/LpDateRangePicker-DHeuznfC.js +208 -0
- package/dist/chunks/{LpDisclosure-ChQYmjlR.js → LpDisclosure-Cc23-JOT.js} +1 -1
- package/dist/chunks/{LpDrawer-BZ6k3hvo.js → LpDrawer-Dt4aB4Fr.js} +65 -28
- package/dist/chunks/{LpDropdownMenu-DJpoqRCb.js → LpDropdownMenu-DdJGQzPn.js} +2 -1
- package/dist/chunks/{LpEmptyState-Dsdqz1Wj.js → LpEmptyState-BJbZXC8D.js} +1 -1
- package/dist/chunks/LpFieldNotice-wtieLUTj.js +64 -0
- package/dist/chunks/{LpFileTree-_5vFBgaK.js → LpFileTree-CNurOvkV.js} +25 -10
- package/dist/chunks/{LpFileTreeNode-BdcIYKIE.js → LpFileTreeNode-D_qRRdsH.js} +3 -3
- package/dist/chunks/LpFormField-CtVYj6tO.js +101 -0
- package/dist/chunks/{LpIcon-CCnX5_2j.js → LpIcon-DYtaid0K.js} +20 -6
- package/dist/chunks/{LpInput-9EXWUM9B.js → LpInput-D-YGQbEv.js} +58 -20
- package/dist/chunks/{LpLightbox-2sYVMY-S.js → LpLightbox-DSDahF23.js} +148 -61
- package/dist/chunks/{LpLink-DCND-zyu.js → LpLink-Krkjhe_y.js} +15 -6
- package/dist/chunks/{LpLogViewer-CaRy5MeS.js → LpLogViewer-KypbgOyo.js} +300 -72
- package/dist/chunks/{LpMapPicker-ul4oYno6.js → LpMapPicker-Cc84LaM3.js} +39 -14
- package/dist/chunks/{LpMediaGallery-FF-NquIo.js → LpMediaGallery-YKr-cQPN.js} +7 -4
- package/dist/chunks/{LpModal-Bt0pQCI_.js → LpModal-DMMDQHAu.js} +52 -29
- package/dist/chunks/{LpModalNav-YaifHrXC.js → LpModalNav-BVPDyIup.js} +10 -7
- package/dist/chunks/{LpNotificationBell-DyGGsMAM.js → LpNotificationBell-CCwyJP5C.js} +79 -33
- package/dist/chunks/{LpNumberField-CWuX08iX.js → LpNumberField-B77O-z28.js} +21 -8
- package/dist/chunks/{LpNumberFlow-amWYaeuA.js → LpNumberFlow-z4WPZcZu.js} +22 -12
- package/dist/chunks/{LpOtpInput-y2v-pmiN.js → LpOtpInput-CziPF3Oq.js} +37 -8
- package/dist/chunks/{LpPagination-5FxjmmB5.js → LpPagination-BcDlo3r_.js} +31 -20
- package/dist/chunks/{LpPasswordInput--sjYCkLS.js → LpPasswordInput-eKzQhbQP.js} +11 -8
- package/dist/chunks/LpPhoneInput-BCbrrhgE.js +336 -0
- package/dist/chunks/{LpPie-D6OnzwlJ.js → LpPie-BEJ2SfI6.js} +84 -28
- package/dist/chunks/{LpPopover-8268UmlC.js → LpPopover-DCKeqiVn.js} +5 -2
- package/dist/chunks/{LpProgress-Btq5W4Ut.js → LpProgress-CBU1iI69.js} +5 -4
- package/dist/chunks/{LpRadioGroup-xPIuVDO_.js → LpRadioGroup-DmEW0l78.js} +9 -2
- package/dist/chunks/LpRangeCalendar-DZuaRV0W.js +331 -0
- package/dist/chunks/{LpRollingText-CM5gkSeF.js → LpRollingText-DB7upf-5.js} +1 -1
- package/dist/chunks/{LpScrollArea-D8xyKXcF.js → LpScrollArea-Bry1fdOM.js} +14 -2
- package/dist/chunks/{LpSection-aM6J_u51.js → LpSection-tKEH0jYf.js} +1 -1
- package/dist/chunks/{LpSegmented-fV0Sk92p.js → LpSegmented-C09EEam2.js} +8 -4
- package/dist/chunks/{LpSelect-ANIVtrpM.js → LpSelect-DNIL6MB9.js} +50 -31
- package/dist/chunks/{LpSidebar-ClBUwoEz.js → LpSidebar-CQNB0-yU.js} +30 -22
- package/dist/chunks/{LpSidebarNav-llOcs_Fn.js → LpSidebarNav-kx-LdqNU.js} +16 -11
- package/dist/chunks/{LpSkeleton-CTI-vBgW.js → LpSkeleton-BB6XIV-w.js} +1 -1
- package/dist/chunks/{LpSlider-BwNIBkAK.js → LpSlider-Cuzmrd7p.js} +7 -2
- package/dist/chunks/{LpSparkline-C6xQ2dwv.js → LpSparkline-CB80N8SJ.js} +11 -4
- package/dist/chunks/{LpStat-CQaW8R--.js → LpStat-B-7udBRP.js} +2 -2
- package/dist/chunks/{LpStepper-Bk-XaQYU.js → LpStepper-C7XiVKZj.js} +34 -19
- package/dist/chunks/{LpSwitch-Blizvqyt.js → LpSwitch-OrcOJX9m.js} +41 -27
- package/dist/chunks/LpTableFilter-BV8PpLM9.js +158 -0
- package/dist/chunks/{LpTableOfContents-CjvxPMpU.js → LpTableOfContents-BUcAfGPQ.js} +36 -41
- package/dist/chunks/{LpTabs-Cefe_lys.js → LpTabs-29iW1XOx.js} +20 -6
- package/dist/chunks/LpTagsInput-D1SuqbhB.js +300 -0
- package/dist/chunks/LpTextarea-uuScWo6-.js +77 -0
- package/dist/chunks/LpThemeProvider-Be4r2TQX.js +35 -0
- package/dist/chunks/LpThemeSwitcher-B4aVPbNC.js +166 -0
- package/dist/chunks/{LpTilt-DuyKbpkA.js → LpTilt-B7KHX1zH.js} +2 -2
- package/dist/chunks/{LpTimeField-K6nAGboX.js → LpTimeField-Cqe7fXnh.js} +14 -8
- package/dist/chunks/{LpToaster-gDB1EaU3.js → LpToaster-DpJvoCOh.js} +94 -31
- package/dist/chunks/{LpTooltip-hCLPAqMG.js → LpTooltip-CXVKcOXT.js} +14 -6
- package/dist/chunks/LpTooltipProvider-CftjV7Xc.js +25 -0
- package/dist/chunks/{LpTopologyCanvas-Cm1L39uL.js → LpTopologyCanvas-6ozNrQKh.js} +8 -2
- package/dist/chunks/{LpUptimeBar-DvAMno0S.js → LpUptimeBar-ugcv25xj.js} +44 -15
- package/dist/chunks/icons-CkA0njzm.js +43 -0
- package/dist/chunks/{LpThemeSwitcher-Cue-myST.js → useTheme-DJm1JSsY.js} +215 -260
- package/dist/component-names.d.ts +1 -1
- package/dist/components/ContextMenuItems.vue.d.ts +8 -0
- package/dist/components/ContextMenuItems.vue.js +4 -0
- package/dist/components/LayoutCanvas.vue.js +1 -1
- package/dist/components/LayoutNode.vue.d.ts +4 -0
- package/dist/components/LayoutNode.vue.js +1 -1
- package/dist/components/LpActionBar.vue.d.ts +3 -0
- 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 +9 -0
- package/dist/components/LpAlert.vue.js +1 -1
- package/dist/components/LpAppShell.vue.d.ts +10 -0
- package/dist/components/LpAppShell.vue.js +1 -1
- package/dist/components/LpAutocomplete.vue.d.ts +31 -6
- package/dist/components/LpAutocomplete.vue.js +1 -1
- package/dist/components/LpAvatar.vue.d.ts +3 -3
- package/dist/components/LpAvatar.vue.js +1 -1
- package/dist/components/LpBadge.vue.d.ts +2 -2
- package/dist/components/LpBreadcrumbs.vue.d.ts +13 -9
- package/dist/components/LpBreadcrumbs.vue.js +1 -1
- package/dist/components/LpButton.vue.d.ts +35 -98
- package/dist/components/LpButton.vue.js +1 -1
- package/dist/components/LpCalendar.vue.js +1 -1
- package/dist/components/LpCard.vue.js +1 -1
- package/dist/components/LpChart.vue.d.ts +47 -3
- package/dist/components/LpChart.vue.js +377 -97
- package/dist/components/LpCheckbox.vue.js +1 -1
- package/dist/components/LpCodeBlock.vue.d.ts +2 -0
- package/dist/components/LpCodeBlock.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 +14 -3
- package/dist/components/LpCommandPalette.vue.js +142 -77
- package/dist/components/LpConfirmDialog.vue.d.ts +15 -3
- package/dist/components/LpConfirmDialog.vue.js +1 -1
- package/dist/components/LpConfirmHost.vue.d.ts +9 -0
- package/dist/components/LpConfirmHost.vue.js +4 -0
- package/dist/components/LpContextMenu.vue.d.ts +3 -5
- package/dist/components/LpContextMenu.vue.js +1 -1
- package/dist/components/LpDatePicker.vue.d.ts +24 -6
- package/dist/components/LpDatePicker.vue.js +1 -1
- package/dist/components/LpDateRangePicker.vue.d.ts +60 -0
- package/dist/components/LpDateRangePicker.vue.js +4 -0
- package/dist/components/LpDisclosure.vue.js +1 -1
- package/dist/components/LpDrawer.vue.d.ts +10 -0
- package/dist/components/LpDrawer.vue.js +1 -1
- package/dist/components/LpDropdownMenu.vue.js +1 -1
- package/dist/components/LpDropzone.vue.js +23 -7
- package/dist/components/LpEmptyState.vue.js +1 -1
- package/dist/components/LpFieldNotice.vue.d.ts +8 -0
- package/dist/components/LpFieldNotice.vue.js +4 -0
- package/dist/components/LpFileTree.vue.d.ts +11 -2
- package/dist/components/LpFileTree.vue.js +1 -1
- package/dist/components/LpFileTreeNode.vue.js +1 -1
- package/dist/components/LpFormField.vue.d.ts +13 -1
- package/dist/components/LpFormField.vue.js +1 -1
- package/dist/components/LpIcon.vue.d.ts +0 -1
- package/dist/components/LpIcon.vue.js +1 -1
- package/dist/components/LpImageEditor.vue.js +93 -58
- package/dist/components/LpInput.vue.d.ts +22 -3
- package/dist/components/LpInput.vue.js +1 -1
- package/dist/components/LpLightbox.vue.d.ts +17 -0
- package/dist/components/LpLightbox.vue.js +1 -1
- package/dist/components/LpLink.vue.d.ts +11 -11
- package/dist/components/LpLink.vue.js +1 -1
- package/dist/components/LpLogViewer.vue.d.ts +72 -3
- package/dist/components/LpLogViewer.vue.js +1 -1
- package/dist/components/LpMapPicker.vue.d.ts +4 -4
- package/dist/components/LpMapPicker.vue.js +1 -1
- package/dist/components/LpMediaGallery.vue.js +1 -1
- package/dist/components/LpModal.vue.d.ts +16 -6
- package/dist/components/LpModal.vue.js +1 -1
- package/dist/components/LpModalNav.vue.d.ts +0 -1
- package/dist/components/LpModalNav.vue.js +1 -1
- package/dist/components/LpNotificationBell.vue.d.ts +11 -2
- package/dist/components/LpNotificationBell.vue.js +1 -1
- package/dist/components/LpNumberField.vue.d.ts +2 -0
- package/dist/components/LpNumberField.vue.js +1 -1
- package/dist/components/LpNumberFlow.vue.js +1 -1
- package/dist/components/LpOtpInput.vue.js +1 -1
- package/dist/components/LpPagination.vue.d.ts +2 -0
- package/dist/components/LpPagination.vue.js +1 -1
- package/dist/components/LpPasswordInput.vue.js +1 -1
- package/dist/components/LpPhoneInput.vue.d.ts +13 -0
- package/dist/components/LpPhoneInput.vue.js +1 -1
- package/dist/components/LpPie.vue.d.ts +21 -2
- package/dist/components/LpPie.vue.js +1 -1
- package/dist/components/LpPopover.vue.d.ts +2 -0
- 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/LpRadioGroup.vue.js +1 -1
- package/dist/components/LpRangeCalendar.vue.d.ts +51 -0
- package/dist/components/LpRangeCalendar.vue.js +4 -0
- package/dist/components/LpRollingText.vue.d.ts +1 -1
- package/dist/components/LpRollingText.vue.js +1 -1
- package/dist/components/LpScrollArea.vue.d.ts +2 -2
- package/dist/components/LpScrollArea.vue.js +1 -1
- package/dist/components/LpSection.vue.d.ts +1 -1
- package/dist/components/LpSection.vue.js +1 -1
- package/dist/components/LpSegmented.vue.d.ts +5 -0
- package/dist/components/LpSegmented.vue.js +1 -1
- package/dist/components/LpSelect.vue.d.ts +1 -0
- package/dist/components/LpSelect.vue.js +1 -1
- package/dist/components/LpShortcutsDialog.vue.d.ts +7 -1
- package/dist/components/LpShortcutsDialog.vue.js +60 -15
- package/dist/components/LpSidebar.vue.d.ts +6 -2
- package/dist/components/LpSidebar.vue.js +1 -1
- package/dist/components/LpSidebarNav.vue.js +1 -1
- package/dist/components/LpSkeleton.vue.js +1 -1
- package/dist/components/LpSlider.vue.js +1 -1
- package/dist/components/LpSparkline.vue.d.ts +1 -0
- package/dist/components/LpSparkline.vue.js +1 -1
- package/dist/components/LpStat.vue.js +1 -1
- package/dist/components/LpStepper.vue.js +1 -1
- package/dist/components/LpSwitch.vue.js +1 -1
- package/dist/components/LpTable.vue.d.ts +107 -3
- package/dist/components/LpTable.vue.js +540 -128
- package/dist/components/LpTableFilter.vue.d.ts +31 -0
- package/dist/components/LpTableFilter.vue.js +4 -0
- package/dist/components/LpTableOfContents.vue.d.ts +4 -2
- package/dist/components/LpTableOfContents.vue.js +1 -1
- package/dist/components/LpTabs.vue.d.ts +2 -0
- package/dist/components/LpTabs.vue.js +1 -1
- package/dist/components/LpTagsInput.vue.d.ts +77 -0
- package/dist/components/LpTagsInput.vue.js +4 -0
- package/dist/components/LpTextarea.vue.d.ts +19 -6
- package/dist/components/LpTextarea.vue.js +1 -1
- package/dist/components/LpThemeProvider.vue.d.ts +22 -0
- package/dist/components/LpThemeProvider.vue.js +4 -0
- package/dist/components/LpThemeSwitcher.vue.d.ts +15 -2
- package/dist/components/LpThemeSwitcher.vue.js +1 -1
- package/dist/components/LpTilt.vue.js +1 -1
- package/dist/components/LpTimeField.vue.js +1 -1
- package/dist/components/LpToaster.vue.d.ts +6 -1
- package/dist/components/LpToaster.vue.js +1 -1
- package/dist/components/LpTooltip.vue.d.ts +1 -2
- package/dist/components/LpTooltip.vue.js +1 -1
- package/dist/components/LpTooltipProvider.vue.d.ts +22 -0
- package/dist/components/LpTooltipProvider.vue.js +4 -0
- package/dist/components/LpTopologyCanvas.vue.js +1 -1
- package/dist/components/LpUptimeBar.vue.d.ts +4 -0
- package/dist/components/LpUptimeBar.vue.js +1 -1
- package/dist/components/chart.d.ts +32 -1
- package/dist/components/chart.js +42 -6
- package/dist/components/codeHighlight.d.ts +6 -0
- package/dist/components/codeHighlight.js +92 -20
- package/dist/components/color.d.ts +1 -1
- package/dist/components/color.js +20 -9
- package/dist/components/commandSearch.js +3 -0
- package/dist/components/confirm.d.ts +25 -0
- package/dist/components/confirm.js +26 -0
- package/dist/components/countries.d.ts +6 -0
- package/dist/components/countries.js +7 -0
- package/dist/components/dateRange.d.ts +43 -0
- package/dist/components/dateRange.js +76 -0
- package/dist/components/exportData.d.ts +58 -0
- package/dist/components/exportData.js +165 -0
- package/dist/components/fileTree.js +16 -7
- package/dist/components/imageCrop.d.ts +42 -0
- package/dist/components/imageCrop.js +47 -0
- package/dist/components/link.d.ts +12 -0
- package/dist/components/link.js +19 -0
- package/dist/components/logSearch.d.ts +18 -0
- package/dist/components/logSearch.js +36 -0
- package/dist/components/modalDepth.d.ts +18 -2
- package/dist/components/modalDepth.js +17 -5
- package/dist/components/otp.d.ts +5 -0
- package/dist/components/otp.js +10 -0
- package/dist/components/phone.d.ts +41 -0
- package/dist/components/phone.js +80 -0
- package/dist/components/sidebar.d.ts +7 -1
- package/dist/components/tableFilter.d.ts +36 -0
- package/dist/components/tableFilter.js +84 -0
- package/dist/components/tableSort.d.ts +8 -0
- package/dist/components/tableSort.js +31 -0
- package/dist/components/tags.d.ts +20 -0
- package/dist/components/tags.js +37 -0
- package/dist/composables/useField.d.ts +38 -0
- package/dist/composables/useField.js +45 -0
- package/dist/composables/useFieldNotice.d.ts +17 -0
- package/dist/composables/useFieldNotice.js +28 -0
- package/dist/composables/useForm.d.ts +53 -0
- package/dist/composables/useForm.js +207 -0
- package/dist/composables/useFormDraft.d.ts +10 -3
- package/dist/composables/useFormDraft.js +9 -14
- package/dist/composables/useHotkeys.d.ts +81 -5
- package/dist/composables/useHotkeys.js +223 -25
- package/dist/composables/useInputFilter.d.ts +17 -0
- package/dist/composables/useInputFilter.js +47 -10
- package/dist/composables/useInputMask.d.ts +59 -0
- package/dist/composables/useInputMask.js +170 -0
- package/dist/composables/useLpConfig.d.ts +24 -0
- package/dist/composables/useLpConfig.js +44 -0
- package/dist/composables/usePaintSelect.d.ts +22 -0
- package/dist/composables/usePaintSelect.js +169 -0
- package/dist/composables/useRovingFocus.js +7 -0
- package/dist/composables/useShift.js +7 -2
- package/dist/composables/useTilt.d.ts +2 -2
- package/dist/composables/useTilt.js +5 -6
- package/dist/composables/useToast.d.ts +20 -0
- package/dist/composables/useToast.js +28 -4
- package/dist/composables/useZoomPan.d.ts +3 -3
- package/dist/composables/useZoomPan.js +4 -4
- package/dist/icons-all.d.ts +1 -0
- package/dist/icons-all.js +3 -0
- package/dist/icons.d.ts +14 -1
- package/dist/index.d.ts +60 -4
- package/dist/index.js +245 -141
- package/dist/kit-icons.d.ts +2 -0
- package/dist/layout/tree.d.ts +2 -0
- package/dist/layout/tree.js +16 -1
- package/dist/layout/useLayout.d.ts +15 -0
- package/dist/layout/useLayout.js +41 -14
- package/dist/theme/backdrop.d.ts +12 -0
- package/dist/theme/presets.d.ts +0 -2
- package/dist/theme/useTheme.d.ts +32 -9
- package/package.json +18 -8
- package/src/component-names.ts +9 -7
- package/src/components/ContextMenuItems.vue +88 -0
- package/src/components/LayoutCanvas.vue +26 -6
- package/src/components/LayoutNode.vue +30 -4
- package/src/components/LpActionBar.vue +31 -8
- package/src/components/LpAddressInput.vue +57 -41
- package/src/components/LpAlert.vue +16 -3
- package/src/components/LpAppShell.vue +45 -12
- package/src/components/LpAutocomplete.vue +47 -10
- package/src/components/LpAvatar.vue +20 -6
- package/src/components/LpBreadcrumbs.vue +65 -41
- package/src/components/LpButton.vue +60 -14
- package/src/components/LpChart.vue +351 -28
- package/src/components/LpCheckbox.vue +7 -3
- package/src/components/LpCodeBlock.vue +50 -14
- package/src/components/LpColorPicker.vue +73 -10
- package/src/components/LpCommandPalette.vue +115 -20
- package/src/components/LpConfirmDialog.vue +68 -17
- package/src/components/LpConfirmHost.vue +59 -0
- package/src/components/LpContextMenu.vue +15 -116
- package/src/components/LpDatePicker.vue +104 -68
- package/src/components/LpDateRangePicker.vue +224 -0
- package/src/components/LpDrawer.vue +56 -19
- package/src/components/LpDropdownMenu.vue +1 -0
- package/src/components/LpDropzone.vue +21 -4
- package/src/components/LpFieldNotice.vue +65 -0
- package/src/components/LpFileTree.vue +33 -7
- package/src/components/LpFormField.vue +59 -7
- package/src/components/LpIcon.vue +22 -4
- package/src/components/LpImageEditor.vue +96 -57
- package/src/components/LpInput.vue +62 -11
- package/src/components/LpLightbox.vue +140 -29
- package/src/components/LpLink.vue +24 -13
- package/src/components/LpLogViewer.vue +311 -39
- package/src/components/LpMapPicker.vue +36 -13
- package/src/components/LpMediaGallery.vue +8 -2
- package/src/components/LpModal.vue +54 -28
- package/src/components/LpModalNav.vue +5 -2
- package/src/components/LpNotificationBell.vue +77 -23
- package/src/components/LpNumberField.vue +21 -6
- package/src/components/LpNumberFlow.vue +26 -10
- package/src/components/LpOtpInput.vue +43 -8
- package/src/components/LpPagination.vue +23 -7
- package/src/components/LpPasswordInput.vue +4 -1
- package/src/components/LpPhoneInput.vue +224 -39
- package/src/components/LpPie.vue +102 -20
- package/src/components/LpPopover.vue +4 -0
- package/src/components/LpProgress.vue +5 -3
- package/src/components/LpRadioGroup.vue +9 -2
- package/src/components/LpRangeCalendar.vue +365 -0
- package/src/components/LpRollingText.vue +3 -0
- package/src/components/LpScrollArea.vue +22 -2
- package/src/components/LpSegmented.vue +12 -2
- package/src/components/LpSelect.vue +0 -0
- package/src/components/LpShortcutsDialog.vue +83 -9
- package/src/components/LpSidebar.vue +14 -9
- package/src/components/LpSidebarNav.vue +17 -5
- package/src/components/LpSkeleton.vue +4 -1
- package/src/components/LpSlider.vue +7 -1
- package/src/components/LpSparkline.vue +11 -3
- package/src/components/LpStepper.vue +23 -10
- package/src/components/LpSwitch.vue +31 -8
- package/src/components/LpTable.vue +668 -90
- package/src/components/LpTableFilter.vue +175 -0
- package/src/components/LpTableOfContents.vue +50 -32
- package/src/components/LpTabs.vue +23 -6
- package/src/components/LpTagsInput.vue +364 -0
- package/src/components/LpTextarea.vue +44 -6
- package/src/components/LpThemeProvider.vue +41 -0
- package/src/components/LpThemeSwitcher.vue +76 -33
- package/src/components/LpTilt.vue +2 -2
- package/src/components/LpTimeField.vue +14 -3
- package/src/components/LpToaster.vue +115 -27
- package/src/components/LpTooltip.vue +29 -5
- package/src/components/LpTooltipProvider.vue +24 -0
- package/src/components/LpTopologyCanvas.vue +19 -2
- package/src/components/LpUptimeBar.vue +46 -8
- package/src/components/chart.ts +82 -8
- package/src/components/codeHighlight.ts +111 -15
- package/src/components/color.ts +30 -9
- package/src/components/commandSearch.ts +6 -0
- package/src/components/confirm.ts +58 -0
- package/src/components/countries.ts +12 -0
- package/src/components/dateRange.ts +134 -0
- package/src/components/exportData.ts +228 -0
- package/src/components/fileTree.ts +19 -7
- package/src/components/imageCrop.ts +107 -0
- package/src/components/link.ts +34 -0
- package/src/components/logSearch.ts +46 -0
- package/src/components/modalDepth.ts +48 -6
- package/src/components/otp.ts +16 -0
- package/src/components/phone.ts +140 -0
- package/src/components/sidebar.ts +7 -1
- package/src/components/tableFilter.ts +122 -0
- package/src/components/tableSort.ts +37 -0
- package/src/components/tags.ts +62 -0
- package/src/composables/useField.ts +83 -0
- package/src/composables/useFieldNotice.ts +59 -0
- package/src/composables/useForm.ts +314 -0
- package/src/composables/useFormDraft.ts +25 -20
- package/src/composables/useHotkeys.ts +355 -28
- package/src/composables/useInputFilter.ts +77 -14
- package/src/composables/useInputMask.ts +254 -0
- package/src/composables/useLpConfig.ts +87 -0
- package/src/composables/usePaintSelect.ts +243 -0
- package/src/composables/useRovingFocus.ts +11 -0
- package/src/composables/useShift.ts +13 -2
- package/src/composables/useTilt.ts +5 -6
- package/src/composables/useToast.ts +56 -4
- package/src/composables/useZoomPan.ts +6 -6
- package/src/iconSubset.d.mts +10 -0
- package/src/iconSubset.mjs +51 -0
- package/src/icons-all.ts +10 -0
- package/src/icons.ts +59 -8
- package/src/index.ts +73 -4
- package/src/kit-icons.ts +5 -0
- package/src/layout/tree.ts +30 -0
- package/src/layout/useLayout.ts +68 -18
- package/src/nuxt.ts +87 -17
- package/src/runtime/config.plugin.ts +14 -0
- package/src/runtime/theme.plugin.ts +43 -23
- package/src/theme/backdrop.ts +69 -0
- package/src/theme/presets.ts +6 -64
- package/src/theme/useTheme.ts +206 -100
- package/src/tokens/tokens.css +46 -0
- package/dist/chunks/LpBreadcrumbs-p4jHe_V-.js +0 -62
- package/dist/chunks/LpContextMenu-CwW1QXe_.js +0 -217
- package/dist/chunks/LpDatePicker-CwOToxGq.js +0 -164
- package/dist/chunks/LpFormField-CazBc2-a.js +0 -62
- package/dist/chunks/LpPhoneInput-BDSKVl_z.js +0 -209
- package/dist/chunks/LpTextarea-t7F6gv8E.js +0 -47
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, shallowRef, ref, watch, computed, onBeforeUnmount, openBlock, createElementBlock, mergeProps, unref, createElementVNode, withModifiers, normalizeStyle, normalizeClass, createCommentVNode, createVNode, Transition, withCtx, Fragment, renderList, toDisplayString, createBlock, createTextVNode } from "vue";
|
|
2
|
+
import { useLabels } from "../composables/useLpConfig.js";
|
|
3
|
+
import { isSideways, coverScale, cropGeometry } from "./imageCrop.js";
|
|
2
4
|
import { useHotkeys } from "../composables/useHotkeys.js";
|
|
3
5
|
import { useReveal } from "../composables/useReveal.js";
|
|
4
6
|
import { useZoomPan } from "../composables/useZoomPan.js";
|
|
5
|
-
import { _ as _sfc_main$1 } from "../chunks/LpButton-
|
|
7
|
+
import { _ as _sfc_main$1 } from "../chunks/LpButton-CKSwC6Mu.js";
|
|
6
8
|
import "reka-ui";
|
|
7
|
-
import { _ as _sfc_main$2 } from "../chunks/LpIcon-
|
|
9
|
+
import { _ as _sfc_main$2 } from "../chunks/LpIcon-DYtaid0K.js";
|
|
8
10
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
9
11
|
import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
|
|
10
|
-
import '../assets/LpImageEditor-
|
|
12
|
+
import '../assets/LpImageEditor-CbMA82g8.css';const _hoisted_1 = ["aria-label"];
|
|
11
13
|
const _hoisted_2 = ["src"];
|
|
12
14
|
const _hoisted_3 = {
|
|
13
15
|
key: 0,
|
|
@@ -33,15 +35,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
33
35
|
setup(__props, { expose: __expose }) {
|
|
34
36
|
const props = __props;
|
|
35
37
|
const { el: revealAnchor, revealed } = useReveal({ immediate: () => !props.animate });
|
|
36
|
-
const text =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
const text = useLabels(
|
|
39
|
+
"imageEditor",
|
|
40
|
+
{
|
|
41
|
+
rotateLeft: "Rotate left",
|
|
42
|
+
rotateRight: "Rotate right",
|
|
43
|
+
zoomIn: "Zoom in",
|
|
44
|
+
zoomOut: "Zoom out",
|
|
45
|
+
reset: "Reset",
|
|
46
|
+
canvas: "Crop area — arrows pan, +/− zoom, R rotates, Alt+wheel turns freely"
|
|
47
|
+
},
|
|
48
|
+
() => props.labels
|
|
49
|
+
);
|
|
45
50
|
const ASPECTS = {
|
|
46
51
|
free: null,
|
|
47
52
|
square: 1,
|
|
@@ -54,17 +59,38 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
54
59
|
const rotation = ref(0);
|
|
55
60
|
const viewport = ref(null);
|
|
56
61
|
const zoom = useZoomPan({ min: 1, max: 6 });
|
|
57
|
-
|
|
62
|
+
const frameSize = ref(null);
|
|
63
|
+
let frameObserver = null;
|
|
64
|
+
watch(viewport, (el) => {
|
|
65
|
+
zoom.setViewport(el);
|
|
66
|
+
frameObserver?.disconnect();
|
|
67
|
+
frameObserver = null;
|
|
68
|
+
if (!el) return;
|
|
69
|
+
frameSize.value = { width: el.clientWidth, height: el.clientHeight };
|
|
70
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
71
|
+
frameObserver = new ResizeObserver(([entry]) => {
|
|
72
|
+
frameSize.value = { width: entry.contentRect.width, height: entry.contentRect.height };
|
|
73
|
+
});
|
|
74
|
+
frameObserver.observe(el);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
58
77
|
const upright = computed(() => (rotation.value % 360 + 360) % 360);
|
|
59
78
|
const edited = computed(() => upright.value !== 0 || zoom.scale.value !== 1);
|
|
79
|
+
let generation = 0;
|
|
60
80
|
watch(
|
|
61
81
|
() => props.file,
|
|
62
82
|
async (file) => {
|
|
63
83
|
revoke();
|
|
64
84
|
rotation.value = 0;
|
|
65
85
|
zoom.reset();
|
|
86
|
+
const mine = ++generation;
|
|
66
87
|
objectUrl.value = URL.createObjectURL(file);
|
|
67
|
-
|
|
88
|
+
const decoded = await decode(file, objectUrl.value);
|
|
89
|
+
if (mine !== generation) {
|
|
90
|
+
if (decoded instanceof ImageBitmap) decoded.close();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
source.value = decoded;
|
|
68
94
|
},
|
|
69
95
|
{ immediate: true }
|
|
70
96
|
);
|
|
@@ -91,7 +117,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
91
117
|
if (source.value instanceof ImageBitmap) source.value.close();
|
|
92
118
|
source.value = null;
|
|
93
119
|
}
|
|
94
|
-
onBeforeUnmount(
|
|
120
|
+
onBeforeUnmount(() => {
|
|
121
|
+
generation++;
|
|
122
|
+
revoke();
|
|
123
|
+
frameObserver?.disconnect();
|
|
124
|
+
});
|
|
95
125
|
function rotate(by) {
|
|
96
126
|
rotation.value += by;
|
|
97
127
|
const { x, y } = zoom.offset.value;
|
|
@@ -110,13 +140,31 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
110
140
|
if (ratio) return ratio;
|
|
111
141
|
const size = sourceSize.value;
|
|
112
142
|
if (!size) return 1;
|
|
113
|
-
const turned =
|
|
143
|
+
const turned = isSideways(rotation.value);
|
|
114
144
|
const w = turned ? size.height : size.width;
|
|
115
145
|
const h = turned ? size.width : size.height;
|
|
116
146
|
return w / h;
|
|
117
147
|
});
|
|
118
148
|
const frameStyle = computed(() => ({ aspectRatio: String(boxRatio.value) }));
|
|
149
|
+
const sized = computed(() => {
|
|
150
|
+
const size = sourceSize.value;
|
|
151
|
+
const frame = frameSize.value;
|
|
152
|
+
if (!size || !frame || !frame.width || !frame.height) return null;
|
|
153
|
+
const cover = coverScale(size.width, size.height, frame.width, frame.height, rotation.value);
|
|
154
|
+
const width = size.width * cover;
|
|
155
|
+
const height = size.height * cover;
|
|
156
|
+
return {
|
|
157
|
+
width: `${width}px`,
|
|
158
|
+
height: `${height}px`,
|
|
159
|
+
left: "50%",
|
|
160
|
+
top: "50%",
|
|
161
|
+
marginLeft: `${-width / 2}px`,
|
|
162
|
+
marginTop: `${-height / 2}px`,
|
|
163
|
+
maxWidth: "none"
|
|
164
|
+
};
|
|
165
|
+
});
|
|
119
166
|
const imageStyle = computed(() => ({
|
|
167
|
+
...sized.value,
|
|
120
168
|
...zoom.style.value,
|
|
121
169
|
// Rotation sits innermost, after the composable's scale and translate, so a
|
|
122
170
|
// drag still moves the picture the way the pointer went once it is turned.
|
|
@@ -133,37 +181,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
133
181
|
const frame = viewport.value;
|
|
134
182
|
if (!picture || !size || !frame) return null;
|
|
135
183
|
if (!edited.value && props.aspect === "free") return null;
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
uprightW - cropW / 2
|
|
147
|
-
);
|
|
148
|
-
const centreY = clamp(
|
|
149
|
-
uprightH / 2 - zoom.offset.value.y / cover,
|
|
150
|
-
cropH / 2,
|
|
151
|
-
uprightH - cropH / 2
|
|
152
|
-
);
|
|
153
|
-
const scale = Math.min(1, props.maxEdge / Math.max(cropW, cropH));
|
|
184
|
+
const crop = cropGeometry({
|
|
185
|
+
sourceWidth: size.width,
|
|
186
|
+
sourceHeight: size.height,
|
|
187
|
+
frameWidth: frameSize.value?.width ?? frame.clientWidth,
|
|
188
|
+
frameHeight: frameSize.value?.height ?? frame.clientHeight,
|
|
189
|
+
rotation: rotation.value,
|
|
190
|
+
scale: zoom.scale.value,
|
|
191
|
+
offset: zoom.offset.value
|
|
192
|
+
});
|
|
193
|
+
const scale = Math.min(1, props.maxEdge / Math.max(crop.width, crop.height));
|
|
154
194
|
const canvas = document.createElement("canvas");
|
|
155
|
-
canvas.width = Math.max(1, Math.round(
|
|
156
|
-
canvas.height = Math.max(1, Math.round(
|
|
195
|
+
canvas.width = Math.max(1, Math.round(crop.width * scale));
|
|
196
|
+
canvas.height = Math.max(1, Math.round(crop.height * scale));
|
|
157
197
|
const ctx = canvas.getContext("2d");
|
|
158
198
|
if (!ctx) return null;
|
|
159
199
|
ctx.translate(canvas.width / 2, canvas.height / 2);
|
|
160
|
-
ctx.rotate(upright.value * Math.PI / 180);
|
|
161
200
|
ctx.scale(scale, scale);
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
const readY = (turned ? centreX : centreY) - readH / 2;
|
|
166
|
-
ctx.drawImage(picture, readX, readY, readW, readH, -readW / 2, -readH / 2, readW, readH);
|
|
201
|
+
ctx.translate(-crop.centre.x, -crop.centre.y);
|
|
202
|
+
ctx.rotate(rotation.value * Math.PI / 180);
|
|
203
|
+
ctx.drawImage(picture, -size.width / 2, -size.height / 2);
|
|
167
204
|
return await new Promise(
|
|
168
205
|
(resolve) => canvas.toBlob(resolve, outputType.value, props.quality)
|
|
169
206
|
);
|
|
@@ -173,9 +210,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
173
210
|
if (props.type !== "source") return props.type;
|
|
174
211
|
return ENCODABLE.has(props.file.type) ? props.file.type : "image/png";
|
|
175
212
|
});
|
|
176
|
-
function clamp(value, low, high) {
|
|
177
|
-
return Math.min(Math.max(value, low), Math.max(low, high));
|
|
178
|
-
}
|
|
179
213
|
function onWheel(event) {
|
|
180
214
|
if (event.altKey) {
|
|
181
215
|
event.preventDefault();
|
|
@@ -232,7 +266,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
232
266
|
ref: viewport,
|
|
233
267
|
tabindex: "0",
|
|
234
268
|
role: "application",
|
|
235
|
-
"aria-label": text.
|
|
269
|
+
"aria-label": unref(text).canvas,
|
|
236
270
|
class: "relative w-full overflow-hidden rounded-card border border-line bg-surface-soft focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
237
271
|
style: normalizeStyle(frameStyle.value),
|
|
238
272
|
onWheel: withModifiers(onWheel, ["prevent"]),
|
|
@@ -250,7 +284,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
250
284
|
src: objectUrl.value,
|
|
251
285
|
alt: "",
|
|
252
286
|
draggable: "false",
|
|
253
|
-
class: normalizeClass(["lp-editor__image absolute
|
|
287
|
+
class: normalizeClass(["lp-editor__image absolute select-none motion-reduce:transition-none", [
|
|
288
|
+
sized.value ? "" : "inset-0 size-full object-cover",
|
|
254
289
|
unref(zoom).panning.value ? "cursor-grabbing" : "cursor-grab",
|
|
255
290
|
__props.animate && !unref(revealed) ? "lp-editor__image--waiting" : ""
|
|
256
291
|
]]),
|
|
@@ -280,8 +315,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
280
315
|
createVNode(_sfc_main$1, {
|
|
281
316
|
size: "sm",
|
|
282
317
|
variant: "ghost",
|
|
283
|
-
title: text.
|
|
284
|
-
"aria-label": text.
|
|
318
|
+
title: unref(text).rotateLeft,
|
|
319
|
+
"aria-label": unref(text).rotateLeft,
|
|
285
320
|
onClick: _cache[4] || (_cache[4] = ($event) => rotate(-90))
|
|
286
321
|
}, {
|
|
287
322
|
default: withCtx(() => [
|
|
@@ -295,8 +330,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
295
330
|
createVNode(_sfc_main$1, {
|
|
296
331
|
size: "sm",
|
|
297
332
|
variant: "ghost",
|
|
298
|
-
title: text.
|
|
299
|
-
"aria-label": text.
|
|
333
|
+
title: unref(text).rotateRight,
|
|
334
|
+
"aria-label": unref(text).rotateRight,
|
|
300
335
|
onClick: _cache[5] || (_cache[5] = ($event) => rotate(90))
|
|
301
336
|
}, {
|
|
302
337
|
default: withCtx(() => [
|
|
@@ -313,8 +348,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
313
348
|
size: "sm",
|
|
314
349
|
variant: "ghost",
|
|
315
350
|
disabled: unref(zoom).scale.value <= 1,
|
|
316
|
-
title: text.
|
|
317
|
-
"aria-label": text.
|
|
351
|
+
title: unref(text).zoomOut,
|
|
352
|
+
"aria-label": unref(text).zoomOut,
|
|
318
353
|
onClick: _cache[6] || (_cache[6] = ($event) => unref(zoom).zoomBy(1 / 1.2))
|
|
319
354
|
}, {
|
|
320
355
|
default: withCtx(() => [
|
|
@@ -329,8 +364,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
329
364
|
createVNode(_sfc_main$1, {
|
|
330
365
|
size: "sm",
|
|
331
366
|
variant: "ghost",
|
|
332
|
-
title: text.
|
|
333
|
-
"aria-label": text.
|
|
367
|
+
title: unref(text).zoomIn,
|
|
368
|
+
"aria-label": unref(text).zoomIn,
|
|
334
369
|
onClick: _cache[7] || (_cache[7] = ($event) => unref(zoom).zoomBy(1.2))
|
|
335
370
|
}, {
|
|
336
371
|
default: withCtx(() => [
|
|
@@ -354,7 +389,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
354
389
|
name: "lucide:undo-2",
|
|
355
390
|
size: 15
|
|
356
391
|
}),
|
|
357
|
-
createTextVNode(" " + toDisplayString(text.
|
|
392
|
+
createTextVNode(" " + toDisplayString(unref(text).reset), 1)
|
|
358
393
|
]),
|
|
359
394
|
_: 1
|
|
360
395
|
})) : createCommentVNode("", true)
|
|
@@ -363,7 +398,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
363
398
|
};
|
|
364
399
|
}
|
|
365
400
|
});
|
|
366
|
-
const LpImageEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
401
|
+
const LpImageEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b510205a"]]);
|
|
367
402
|
export {
|
|
368
403
|
LpImageEditor as default
|
|
369
404
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { type MaskSpec, type MaskTokens } from "../composables/useInputMask";
|
|
1
2
|
declare const _default: typeof __VLS_export;
|
|
2
3
|
export default _default;
|
|
3
4
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
4
5
|
modelValue?: string;
|
|
5
|
-
size?: "
|
|
6
|
+
size?: "md" | "sm" | "lg" | undefined;
|
|
6
7
|
invalid?: boolean;
|
|
7
8
|
placeholder?: string;
|
|
8
9
|
type?: string;
|
|
@@ -28,6 +29,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
28
29
|
* disallowed input/paste at the source — cursor- and IME-safe.
|
|
29
30
|
*/
|
|
30
31
|
restrict?: RegExp;
|
|
32
|
+
/**
|
|
33
|
+
* Format-as-you-type mask ("+0 (000) 000-00-00", a list, or a function of
|
|
34
|
+
* the raw value). The model holds the masked text; `update:raw` carries
|
|
35
|
+
* the accepted characters alone.
|
|
36
|
+
*/
|
|
37
|
+
mask?: MaskSpec;
|
|
38
|
+
/** Extra or replacement mask tokens, one-character RegExps by key. */
|
|
39
|
+
maskTokens?: MaskTokens;
|
|
31
40
|
}, {
|
|
32
41
|
focus: (options?: FocusOptions) => void | undefined;
|
|
33
42
|
blur: () => void | undefined;
|
|
@@ -35,9 +44,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
35
44
|
input: import("vue").Ref<HTMLInputElement | null, HTMLInputElement | null>;
|
|
36
45
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
37
46
|
"update:modelValue": (value: string) => any;
|
|
47
|
+
"update:raw": (value: string) => any;
|
|
38
48
|
}, string, import("vue").PublicProps, Readonly<{
|
|
39
49
|
modelValue?: string;
|
|
40
|
-
size?: "
|
|
50
|
+
size?: "md" | "sm" | "lg" | undefined;
|
|
41
51
|
invalid?: boolean;
|
|
42
52
|
placeholder?: string;
|
|
43
53
|
type?: string;
|
|
@@ -63,11 +73,20 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
63
73
|
* disallowed input/paste at the source — cursor- and IME-safe.
|
|
64
74
|
*/
|
|
65
75
|
restrict?: RegExp;
|
|
76
|
+
/**
|
|
77
|
+
* Format-as-you-type mask ("+0 (000) 000-00-00", a list, or a function of
|
|
78
|
+
* the raw value). The model holds the masked text; `update:raw` carries
|
|
79
|
+
* the accepted characters alone.
|
|
80
|
+
*/
|
|
81
|
+
mask?: MaskSpec;
|
|
82
|
+
/** Extra or replacement mask tokens, one-character RegExps by key. */
|
|
83
|
+
maskTokens?: MaskTokens;
|
|
66
84
|
}> & Readonly<{
|
|
67
85
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
86
|
+
"onUpdate:raw"?: ((value: string) => any) | undefined;
|
|
68
87
|
}>, {
|
|
69
88
|
type: string;
|
|
70
|
-
size: "
|
|
89
|
+
size: "md" | "sm" | "lg";
|
|
71
90
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
72
91
|
leading?: (props: {}) => any;
|
|
73
92
|
} & {
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import { type LightboxItem } from "./lightbox";
|
|
2
|
+
export type LightboxLabels = {
|
|
3
|
+
viewer: string;
|
|
4
|
+
/** `{index}` and `{total}` are filled in. */
|
|
5
|
+
position: string;
|
|
6
|
+
previous: string;
|
|
7
|
+
next: string;
|
|
8
|
+
zoomIn: string;
|
|
9
|
+
zoomOut: string;
|
|
10
|
+
rotate: string;
|
|
11
|
+
copy: string;
|
|
12
|
+
download: string;
|
|
13
|
+
close: string;
|
|
14
|
+
failed: string;
|
|
15
|
+
spoiler: string;
|
|
16
|
+
reveal: string;
|
|
17
|
+
};
|
|
2
18
|
type __VLS_Props = {
|
|
3
19
|
open?: boolean;
|
|
4
20
|
/** Images to page through. */
|
|
@@ -17,6 +33,7 @@ type __VLS_Props = {
|
|
|
17
33
|
loop?: boolean;
|
|
18
34
|
/** Largest zoom level. */
|
|
19
35
|
maxZoom?: number;
|
|
36
|
+
labels?: Partial<LightboxLabels>;
|
|
20
37
|
};
|
|
21
38
|
type __VLS_Slots = {
|
|
22
39
|
/** Replace the caption block under the image. */
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type Component } from "vue";
|
|
2
|
+
import { type LinkTarget } from "./link";
|
|
2
3
|
declare const _default: typeof __VLS_export;
|
|
3
4
|
export default _default;
|
|
4
5
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
5
6
|
href?: string;
|
|
7
|
+
/** Router destination; rendered through the configured link component. */
|
|
8
|
+
to?: LinkTarget;
|
|
6
9
|
external?: boolean;
|
|
7
10
|
/** Shorthand for `tone="muted"`. */
|
|
8
11
|
muted?: boolean;
|
|
@@ -14,11 +17,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
14
17
|
*/
|
|
15
18
|
tone?: "brand" | "ink" | "muted" | "soft";
|
|
16
19
|
/**
|
|
17
|
-
* Root element/component.
|
|
18
|
-
* component
|
|
19
|
-
*
|
|
20
|
-
* Router links take their destination through their own prop (`to`), which
|
|
21
|
-
* falls through as a plain attribute.
|
|
20
|
+
* Root element/component. By default an internal `to`/`href` renders the
|
|
21
|
+
* link component set with provideLpConfig (NuxtLink under the Nuxt module),
|
|
22
|
+
* anything else a native <a>. Pass a component here to override per link.
|
|
22
23
|
*/
|
|
23
24
|
as?: string | Component;
|
|
24
25
|
/**
|
|
@@ -42,6 +43,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
42
43
|
revealOn?: "self" | "group";
|
|
43
44
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
44
45
|
href?: string;
|
|
46
|
+
/** Router destination; rendered through the configured link component. */
|
|
47
|
+
to?: LinkTarget;
|
|
45
48
|
external?: boolean;
|
|
46
49
|
/** Shorthand for `tone="muted"`. */
|
|
47
50
|
muted?: boolean;
|
|
@@ -53,11 +56,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
53
56
|
*/
|
|
54
57
|
tone?: "brand" | "ink" | "muted" | "soft";
|
|
55
58
|
/**
|
|
56
|
-
* Root element/component.
|
|
57
|
-
* component
|
|
58
|
-
*
|
|
59
|
-
* Router links take their destination through their own prop (`to`), which
|
|
60
|
-
* falls through as a plain attribute.
|
|
59
|
+
* Root element/component. By default an internal `to`/`href` renders the
|
|
60
|
+
* link component set with provideLpConfig (NuxtLink under the Nuxt module),
|
|
61
|
+
* anything else a native <a>. Pass a component here to override per link.
|
|
61
62
|
*/
|
|
62
63
|
as?: string | Component;
|
|
63
64
|
/**
|
|
@@ -80,7 +81,6 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
80
81
|
*/
|
|
81
82
|
revealOn?: "self" | "group";
|
|
82
83
|
}> & Readonly<{}>, {
|
|
83
|
-
as: string | Component;
|
|
84
84
|
variant: "default" | "underline" | "reveal";
|
|
85
85
|
revealOn: "self" | "group";
|
|
86
86
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
@@ -1,4 +1,30 @@
|
|
|
1
1
|
import { type ContextMenuItemDef } from "./LpContextMenu.vue";
|
|
2
|
+
export interface LogViewerLabels {
|
|
3
|
+
[key: string]: string;
|
|
4
|
+
empty: string;
|
|
5
|
+
frozen: string;
|
|
6
|
+
noMatch: string;
|
|
7
|
+
loadingOlder: string;
|
|
8
|
+
copyMessage: string;
|
|
9
|
+
copyLine: string;
|
|
10
|
+
copyTimestamp: string;
|
|
11
|
+
copied: string;
|
|
12
|
+
/** `{source}` is replaced by the line's source. */
|
|
13
|
+
filterSource: string;
|
|
14
|
+
/** `{level}` is replaced by the line's level. */
|
|
15
|
+
filterLevel: string;
|
|
16
|
+
/** `{n}` is replaced by the count. */
|
|
17
|
+
identical: string;
|
|
18
|
+
jump: string;
|
|
19
|
+
search: string;
|
|
20
|
+
clearSearch: string;
|
|
21
|
+
previousMatch: string;
|
|
22
|
+
nextMatch: string;
|
|
23
|
+
/** `{current}` and `{total}` are replaced. */
|
|
24
|
+
matchCount: string;
|
|
25
|
+
noMatches: string;
|
|
26
|
+
levels: string;
|
|
27
|
+
}
|
|
2
28
|
export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "success";
|
|
3
29
|
export interface LogLine {
|
|
4
30
|
/** Body of the line. */
|
|
@@ -69,7 +95,32 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
69
95
|
* so a duplicate level word / timestamp doesn't repeat in the message body.
|
|
70
96
|
*/
|
|
71
97
|
parse?: boolean;
|
|
72
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Keep only the newest N lines on screen. The consumer can keep pushing
|
|
100
|
+
* into the same array (or hand over a longer one) and the viewer shows the
|
|
101
|
+
* tail; trimming the source itself is still the cheaper way to cap memory.
|
|
102
|
+
*/
|
|
103
|
+
maxLines?: number;
|
|
104
|
+
/**
|
|
105
|
+
* A bar above the stream with a search box (Enter / Shift+Enter or F3 step
|
|
106
|
+
* through matches) and level chips. The term binds via `v-model:search`,
|
|
107
|
+
* the chosen levels via `v-model:levels`.
|
|
108
|
+
*/
|
|
109
|
+
toolbar?: boolean;
|
|
110
|
+
labels?: Partial<LogViewerLabels>;
|
|
111
|
+
} & {
|
|
112
|
+
/** The toolbar's search term. Without the toolbar, `highlight` is the term. */
|
|
113
|
+
search?: string;
|
|
114
|
+
/** Levels to show. Empty shows every level. */
|
|
115
|
+
levels?: LogLevel[];
|
|
116
|
+
}, {
|
|
117
|
+
next: () => void;
|
|
118
|
+
previous: () => void;
|
|
119
|
+
focusSearch: () => void | undefined;
|
|
120
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
121
|
+
"update:search": (value: string) => any;
|
|
122
|
+
"update:levels": (value: LogLevel[]) => any;
|
|
123
|
+
} & {
|
|
73
124
|
filter: (by: {
|
|
74
125
|
source?: string;
|
|
75
126
|
level?: LogLevel;
|
|
@@ -133,21 +184,39 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
133
184
|
* so a duplicate level word / timestamp doesn't repeat in the message body.
|
|
134
185
|
*/
|
|
135
186
|
parse?: boolean;
|
|
187
|
+
/**
|
|
188
|
+
* Keep only the newest N lines on screen. The consumer can keep pushing
|
|
189
|
+
* into the same array (or hand over a longer one) and the viewer shows the
|
|
190
|
+
* tail; trimming the source itself is still the cheaper way to cap memory.
|
|
191
|
+
*/
|
|
192
|
+
maxLines?: number;
|
|
193
|
+
/**
|
|
194
|
+
* A bar above the stream with a search box (Enter / Shift+Enter or F3 step
|
|
195
|
+
* through matches) and level chips. The term binds via `v-model:search`,
|
|
196
|
+
* the chosen levels via `v-model:levels`.
|
|
197
|
+
*/
|
|
198
|
+
toolbar?: boolean;
|
|
199
|
+
labels?: Partial<LogViewerLabels>;
|
|
200
|
+
} & {
|
|
201
|
+
/** The toolbar's search term. Without the toolbar, `highlight` is the term. */
|
|
202
|
+
search?: string;
|
|
203
|
+
/** Levels to show. Empty shows every level. */
|
|
204
|
+
levels?: LogLevel[];
|
|
136
205
|
}> & Readonly<{
|
|
137
206
|
onFilter?: ((by: {
|
|
138
207
|
source?: string;
|
|
139
208
|
level?: LogLevel;
|
|
140
209
|
}) => any) | undefined;
|
|
210
|
+
"onUpdate:search"?: ((value: string) => any) | undefined;
|
|
211
|
+
"onUpdate:levels"?: ((value: LogLevel[]) => any) | undefined;
|
|
141
212
|
"onReach-top"?: (() => any) | undefined;
|
|
142
213
|
}>, {
|
|
143
214
|
height: string;
|
|
144
215
|
wrap: boolean;
|
|
145
|
-
emptyLabel: string;
|
|
146
216
|
lineNumbers: boolean;
|
|
147
217
|
showTime: boolean;
|
|
148
218
|
showLevel: boolean;
|
|
149
219
|
tail: boolean;
|
|
150
|
-
frozenLabel: string;
|
|
151
220
|
rowMenu: boolean;
|
|
152
221
|
parse: boolean;
|
|
153
222
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -19,6 +19,8 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
19
19
|
zoomOutLabel?: string;
|
|
20
20
|
locateLabel?: string;
|
|
21
21
|
recentreLabel?: string;
|
|
22
|
+
/** Accessible name of the map itself. */
|
|
23
|
+
mapLabel?: string;
|
|
22
24
|
}, {
|
|
23
25
|
zoomIn: () => void;
|
|
24
26
|
zoomOut: () => void;
|
|
@@ -44,6 +46,8 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
44
46
|
zoomOutLabel?: string;
|
|
45
47
|
locateLabel?: string;
|
|
46
48
|
recentreLabel?: string;
|
|
49
|
+
/** Accessible name of the map itself. */
|
|
50
|
+
mapLabel?: string;
|
|
47
51
|
}> & Readonly<{
|
|
48
52
|
"onUpdate:modelValue"?: ((value: LatLon) => any) | undefined;
|
|
49
53
|
}>, {
|
|
@@ -52,8 +56,4 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
52
56
|
zoom: number;
|
|
53
57
|
tiles: TileSource;
|
|
54
58
|
locatable: boolean;
|
|
55
|
-
zoomInLabel: string;
|
|
56
|
-
zoomOutLabel: string;
|
|
57
|
-
locateLabel: string;
|
|
58
|
-
recentreLabel: string;
|
|
59
59
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -32,20 +32,30 @@ type __VLS_Props = {
|
|
|
32
32
|
* `provideGlass`, and without one it is off.
|
|
33
33
|
*/
|
|
34
34
|
glass?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Accessible name for a dialog without a visible `title`. Rendered as a
|
|
37
|
+
* visually hidden title, so assistive tech still announces what opened.
|
|
38
|
+
*/
|
|
39
|
+
ariaLabel?: string;
|
|
40
|
+
/** `alertdialog` for a prompt that interrupts the user (a confirmation). */
|
|
41
|
+
role?: "dialog" | "alertdialog";
|
|
42
|
+
labels?: Partial<{
|
|
43
|
+
close: string;
|
|
44
|
+
}>;
|
|
35
45
|
};
|
|
36
|
-
declare var __VLS_31: {},
|
|
46
|
+
declare var __VLS_31: {}, __VLS_45: {}, __VLS_64: {}, __VLS_72: {}, __VLS_74: {}, __VLS_76: {};
|
|
37
47
|
type __VLS_Slots = {} & {
|
|
38
48
|
aside?: (props: typeof __VLS_31) => any;
|
|
39
49
|
} & {
|
|
40
|
-
title?: (props: typeof
|
|
50
|
+
title?: (props: typeof __VLS_45) => any;
|
|
41
51
|
} & {
|
|
42
|
-
default?: (props: typeof
|
|
52
|
+
default?: (props: typeof __VLS_64) => any;
|
|
43
53
|
} & {
|
|
44
|
-
default?: (props: typeof
|
|
54
|
+
default?: (props: typeof __VLS_72) => any;
|
|
45
55
|
} & {
|
|
46
|
-
footer?: (props: typeof
|
|
56
|
+
footer?: (props: typeof __VLS_74) => any;
|
|
47
57
|
} & {
|
|
48
|
-
asideEnd?: (props: typeof
|
|
58
|
+
asideEnd?: (props: typeof __VLS_76) => any;
|
|
49
59
|
};
|
|
50
60
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
51
61
|
"update:open": (value: boolean) => any;
|
|
@@ -53,7 +53,6 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
53
53
|
glass: boolean;
|
|
54
54
|
mobileBreakpoint: Breakpoint;
|
|
55
55
|
navWidth: string;
|
|
56
|
-
navLabel: string;
|
|
57
56
|
navSide: "start" | "end";
|
|
58
57
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
59
58
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|