@leavepulse/ui 0.44.0 → 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 +49 -3
- package/dist/assets/{LpCommandPalette-DCP5g2ik.css → LpCommandPalette-nGNnzXqQ.css} +21 -21
- package/dist/assets/{LpRollingText-CR1mb0Vt.css → LpRollingText-BGnE6q9j.css} +3 -0
- package/dist/assets/{LpShortcutsDialog-ChUyU7oV.css → LpShortcutsDialog-CqYX3yy6.css} +28 -7
- package/dist/assets/{LpTable-DDQNdf86.css → LpTable-CPwWxTJS.css} +49 -9
- package/dist/chunks/{ContextMenuItems-CrfeNPWT.js → ContextMenuItems-BtKU7074.js} +2 -1
- package/dist/chunks/{LayoutCanvas-D-jPOAvg.js → LayoutCanvas-BkaGXTjx.js} +1 -1
- package/dist/chunks/{LayoutNode-D8Xy9N-o.js → LayoutNode-B3_9E1Xa.js} +9 -5
- package/dist/chunks/{LpActionBar-BbwCF6l5.js → LpActionBar-CnfFVIwC.js} +3 -3
- package/dist/chunks/{LpAddressInput-BrOqkZqg.js → LpAddressInput-BwX8uo4_.js} +7 -7
- package/dist/chunks/{LpAlert-DkOIjsbq.js → LpAlert-B6ilrM7T.js} +1 -1
- package/dist/chunks/{LpAppShell-BUKPcHco.js → LpAppShell-C53_RaGF.js} +4 -4
- package/dist/chunks/{LpAutocomplete-DxV3Y9h4.js → LpAutocomplete-C8IgSMsi.js} +2 -1
- package/dist/chunks/{LpAvatar-ClBbEYZN.js → LpAvatar-C1XStdOo.js} +3 -3
- package/dist/chunks/{LpBreadcrumbs-B8IJgFIc.js → LpBreadcrumbs-CQJd73Gm.js} +1 -1
- package/dist/chunks/{LpButton-kqJBHIIb.js → LpButton-CKSwC6Mu.js} +1 -1
- package/dist/chunks/{LpCalendar-B7Ko5RdR.js → LpCalendar-DrA2McTU.js} +1 -1
- package/dist/chunks/{LpCard-CpRByR0q.js → LpCard-C2IvucmX.js} +1 -1
- package/dist/chunks/{LpCheckbox-DpqchzH4.js → LpCheckbox-Bkj13CbW.js} +1 -1
- package/dist/chunks/{LpCodeBlock-DeHJPq7p.js → LpCodeBlock-ca7ANFyW.js} +1 -1
- package/dist/chunks/{LpColorPicker-Bhf1qxhB.js → LpColorPicker-zz4VGkG4.js} +46 -20
- package/dist/chunks/{LpConfirmDialog-CIUOSnWo.js → LpConfirmDialog-DCw5jR1t.js} +3 -3
- package/dist/chunks/{LpConfirmHost-CDm0Wtpv.js → LpConfirmHost-CbywMpMP.js} +1 -1
- package/dist/chunks/{LpContextMenu-DQw5dGfG.js → LpContextMenu-BqkAYa9X.js} +2 -1
- package/dist/chunks/{LpDatePicker-Drirx1AK.js → LpDatePicker-DuusgT69.js} +13 -9
- package/dist/chunks/LpDateRangePicker-DHeuznfC.js +208 -0
- package/dist/chunks/{LpDisclosure-ChQYmjlR.js → LpDisclosure-Cc23-JOT.js} +1 -1
- package/dist/chunks/{LpDrawer-bScx-KMO.js → LpDrawer-Dt4aB4Fr.js} +2 -2
- 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-CSI_5SK2.js → LpFileTree-CNurOvkV.js} +3 -3
- package/dist/chunks/{LpFileTreeNode-B4MiSQX2.js → LpFileTreeNode-D_qRRdsH.js} +3 -3
- package/dist/chunks/{LpFormField-CIk5qosh.js → LpFormField-CtVYj6tO.js} +29 -15
- package/dist/chunks/{LpIcon-CCnX5_2j.js → LpIcon-DYtaid0K.js} +20 -6
- package/dist/chunks/{LpInput-C0e8y8_d.js → LpInput-D-YGQbEv.js} +39 -16
- package/dist/chunks/{LpLightbox-Mr0W_6HK.js → LpLightbox-DSDahF23.js} +1 -1
- package/dist/chunks/{LpLogViewer-YBOaFnc_.js → LpLogViewer-KypbgOyo.js} +252 -58
- package/dist/chunks/{LpMapPicker-NUzS9e37.js → LpMapPicker-Cc84LaM3.js} +1 -1
- package/dist/chunks/{LpMediaGallery-DfJmMW0I.js → LpMediaGallery-YKr-cQPN.js} +2 -2
- package/dist/chunks/{LpModal-DPwGKBPv.js → LpModal-DMMDQHAu.js} +3 -3
- package/dist/chunks/{LpModalNav-DPg5H9f3.js → LpModalNav-BVPDyIup.js} +4 -4
- package/dist/chunks/{LpNotificationBell-t5yn-siX.js → LpNotificationBell-CCwyJP5C.js} +26 -14
- package/dist/chunks/{LpNumberField-DWnQKktS.js → LpNumberField-B77O-z28.js} +1 -1
- package/dist/chunks/{LpPagination-DFngX7Xo.js → LpPagination-BcDlo3r_.js} +1 -1
- package/dist/chunks/{LpPasswordInput-CWVDuBJ5.js → LpPasswordInput-eKzQhbQP.js} +2 -2
- package/dist/chunks/{LpPhoneInput-CD-ZTeSd.js → LpPhoneInput-BCbrrhgE.js} +126 -23
- package/dist/chunks/{LpPie-BLco31Nx.js → LpPie-BEJ2SfI6.js} +9 -10
- package/dist/chunks/{LpPopover-p_e_shN3.js → LpPopover-DCKeqiVn.js} +1 -0
- 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-Dejd7cIx.js → LpSegmented-C09EEam2.js} +1 -1
- package/dist/chunks/{LpSelect-DrRD9I7L.js → LpSelect-DNIL6MB9.js} +20 -23
- package/dist/chunks/{LpSidebar-BgwUNWpJ.js → LpSidebar-CQNB0-yU.js} +3 -3
- package/dist/chunks/{LpSidebarNav-Bqxz8aWT.js → LpSidebarNav-kx-LdqNU.js} +3 -3
- package/dist/chunks/{LpStat-dXtyrdX9.js → LpStat-B-7udBRP.js} +1 -1
- package/dist/chunks/{LpStepper-Bk-XaQYU.js → LpStepper-C7XiVKZj.js} +34 -19
- package/dist/chunks/{LpSwitch-B1aLKulj.js → LpSwitch-OrcOJX9m.js} +1 -1
- package/dist/chunks/LpTableFilter-BV8PpLM9.js +158 -0
- package/dist/chunks/{LpTabs-_qMVaZJ6.js → LpTabs-29iW1XOx.js} +1 -1
- package/dist/chunks/LpTagsInput-D1SuqbhB.js +300 -0
- package/dist/chunks/{LpTextarea-yP8hGedR.js → LpTextarea-uuScWo6-.js} +1 -1
- package/dist/chunks/{LpThemeProvider-Wjm7Tuit.js → LpThemeProvider-Be4r2TQX.js} +1 -1
- package/dist/chunks/{LpThemeSwitcher-CKLc10KZ.js → LpThemeSwitcher-B4aVPbNC.js} +19 -22
- package/dist/chunks/{LpTimeField-C5HRgS5H.js → LpTimeField-Cqe7fXnh.js} +1 -1
- package/dist/chunks/{LpToaster--oT6lfhL.js → LpToaster-DpJvoCOh.js} +37 -3
- package/dist/chunks/{LpTooltip-CBdzeKNf.js → LpTooltip-CXVKcOXT.js} +3 -2
- package/dist/chunks/{LpTopologyCanvas-DocsLal3.js → LpTopologyCanvas-6ozNrQKh.js} +2 -1
- package/dist/chunks/{LpUptimeBar-DLtxOMRy.js → LpUptimeBar-ugcv25xj.js} +2 -2
- package/dist/chunks/icons-CkA0njzm.js +43 -0
- package/dist/chunks/{useTheme-C8JHUlPM.js → useTheme-DJm1JSsY.js} +47 -50
- package/dist/component-names.d.ts +1 -1
- package/dist/components/ContextMenuItems.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.js +1 -1
- package/dist/components/LpAlert.vue.js +1 -1
- package/dist/components/LpAppShell.vue.js +1 -1
- package/dist/components/LpAutocomplete.vue.js +1 -1
- package/dist/components/LpAvatar.vue.js +1 -1
- package/dist/components/LpBreadcrumbs.vue.js +1 -1
- package/dist/components/LpButton.vue.d.ts +2 -2
- package/dist/components/LpButton.vue.js +1 -1
- package/dist/components/LpCalendar.vue.js +1 -1
- package/dist/components/LpCard.vue.js +1 -1
- package/dist/components/LpChart.vue.d.ts +16 -1
- package/dist/components/LpChart.vue.js +63 -5
- package/dist/components/LpCheckbox.vue.js +1 -1
- 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 +6 -0
- package/dist/components/LpCommandPalette.vue.js +61 -10
- package/dist/components/LpConfirmDialog.vue.js +1 -1
- package/dist/components/LpConfirmHost.vue.js +1 -1
- package/dist/components/LpContextMenu.vue.js +1 -1
- package/dist/components/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.js +1 -1
- package/dist/components/LpDropdownMenu.vue.js +1 -1
- package/dist/components/LpDropzone.vue.js +1 -1
- 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.js +1 -1
- package/dist/components/LpFileTreeNode.vue.js +1 -1
- package/dist/components/LpFormField.vue.d.ts +4 -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 +2 -2
- package/dist/components/LpInput.vue.d.ts +19 -0
- package/dist/components/LpInput.vue.js +1 -1
- package/dist/components/LpLightbox.vue.js +1 -1
- package/dist/components/LpLogViewer.vue.d.ts +52 -1
- package/dist/components/LpLogViewer.vue.js +1 -1
- package/dist/components/LpMapPicker.vue.js +1 -1
- 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.js +1 -1
- 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.js +1 -1
- package/dist/components/LpPopover.vue.js +1 -1
- package/dist/components/LpProgress.vue.d.ts +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.js +1 -1
- package/dist/components/LpSegmented.vue.js +1 -1
- package/dist/components/LpSelect.vue.js +1 -1
- package/dist/components/LpShortcutsDialog.vue.d.ts +6 -0
- package/dist/components/LpShortcutsDialog.vue.js +56 -14
- package/dist/components/LpSidebar.vue.js +1 -1
- package/dist/components/LpSidebarNav.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 +84 -2
- package/dist/components/LpTable.vue.js +481 -107
- package/dist/components/LpTableFilter.vue.d.ts +31 -0
- package/dist/components/LpTableFilter.vue.js +4 -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.js +1 -1
- package/dist/components/LpThemeProvider.vue.js +1 -1
- package/dist/components/LpThemeSwitcher.vue.d.ts +2 -2
- package/dist/components/LpThemeSwitcher.vue.js +1 -1
- 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/LpUptimeBar.vue.js +1 -1
- package/dist/components/chart.js +3 -2
- package/dist/components/commandSearch.js +3 -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/logSearch.d.ts +18 -0
- package/dist/components/logSearch.js +36 -0
- package/dist/components/phone.d.ts +41 -0
- package/dist/components/phone.js +80 -0
- package/dist/components/tableFilter.d.ts +36 -0
- package/dist/components/tableFilter.js +84 -0
- package/dist/components/tags.d.ts +20 -0
- package/dist/components/tags.js +37 -0
- package/dist/composables/useField.d.ts +4 -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/useHotkeys.d.ts +65 -5
- package/dist/composables/useHotkeys.js +170 -9
- package/dist/composables/useInputMask.d.ts +59 -0
- package/dist/composables/useInputMask.js +170 -0
- package/dist/composables/usePaintSelect.d.ts +22 -0
- package/dist/composables/usePaintSelect.js +169 -0
- package/dist/composables/useShift.js +7 -2
- 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 +29 -3
- package/dist/index.js +195 -138
- package/dist/kit-icons.d.ts +2 -0
- package/dist/theme/backdrop.d.ts +12 -0
- package/dist/theme/presets.d.ts +0 -2
- package/package.json +13 -4
- package/src/component-names.ts +4 -0
- package/src/components/ContextMenuItems.vue +1 -1
- package/src/components/LayoutNode.vue +11 -2
- package/src/components/LpActionBar.vue +1 -1
- package/src/components/LpAutocomplete.vue +1 -0
- package/src/components/LpAvatar.vue +2 -2
- package/src/components/LpButton.vue +1 -1
- package/src/components/LpChart.vue +80 -1
- package/src/components/LpColorPicker.vue +34 -1
- package/src/components/LpCommandPalette.vue +81 -7
- package/src/components/LpContextMenu.vue +1 -1
- package/src/components/LpDatePicker.vue +8 -3
- package/src/components/LpDateRangePicker.vue +224 -0
- package/src/components/LpDropdownMenu.vue +1 -0
- package/src/components/LpFieldNotice.vue +65 -0
- package/src/components/LpFormField.vue +33 -4
- package/src/components/LpIcon.vue +22 -4
- package/src/components/LpInput.vue +46 -6
- package/src/components/LpLogViewer.vue +225 -22
- package/src/components/LpModal.vue +1 -1
- package/src/components/LpNotificationBell.vue +15 -7
- package/src/components/LpPhoneInput.vue +179 -20
- package/src/components/LpPie.vue +8 -5
- package/src/components/LpPopover.vue +1 -0
- package/src/components/LpRangeCalendar.vue +365 -0
- package/src/components/LpRollingText.vue +3 -0
- package/src/components/LpScrollArea.vue +22 -2
- package/src/components/LpSelect.vue +0 -0
- package/src/components/LpShortcutsDialog.vue +77 -8
- package/src/components/LpStepper.vue +23 -10
- package/src/components/LpSwitch.vue +1 -1
- package/src/components/LpTable.vue +584 -65
- package/src/components/LpTableFilter.vue +175 -0
- package/src/components/LpTagsInput.vue +364 -0
- package/src/components/LpThemeSwitcher.vue +19 -23
- package/src/components/LpToaster.vue +49 -1
- package/src/components/LpTooltip.vue +9 -2
- package/src/components/LpTopologyCanvas.vue +7 -1
- package/src/components/chart.ts +5 -3
- package/src/components/commandSearch.ts +6 -0
- package/src/components/dateRange.ts +134 -0
- package/src/components/exportData.ts +228 -0
- package/src/components/logSearch.ts +46 -0
- package/src/components/phone.ts +140 -0
- package/src/components/tableFilter.ts +122 -0
- package/src/components/tags.ts +62 -0
- package/src/composables/useField.ts +4 -0
- package/src/composables/useFieldNotice.ts +59 -0
- package/src/composables/useForm.ts +314 -0
- package/src/composables/useHotkeys.ts +269 -13
- package/src/composables/useInputMask.ts +254 -0
- package/src/composables/usePaintSelect.ts +243 -0
- package/src/composables/useShift.ts +13 -2
- 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 +37 -3
- package/src/kit-icons.ts +5 -0
- package/src/nuxt.ts +30 -2
- package/src/runtime/theme.plugin.ts +2 -2
- package/src/theme/backdrop.ts +69 -0
- package/src/theme/presets.ts +6 -64
- package/src/tokens/tokens.css +46 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { defineComponent, computed, ref, watch, openBlock, createBlock, unref, withCtx, createVNode, createElementVNode, normalizeClass, normalizeStyle, toDisplayString, createElementBlock, createCommentVNode, withKeys, Fragment, renderList, renderSlot } from "vue";
|
|
1
|
+
import { defineComponent, computed, ref, watch, openBlock, createBlock, unref, withCtx, createVNode, createElementVNode, normalizeClass, normalizeStyle, toDisplayString, createElementBlock, createCommentVNode, withDirectives, vShow, withKeys, Fragment, renderList, renderSlot, nextTick } from "vue";
|
|
2
2
|
import { PopoverRoot, PopoverAnchor, PopoverTrigger, PopoverPortal, PopoverContent } from "reka-ui";
|
|
3
|
+
import { prefersReducedMotion } from "../composables/easing.js";
|
|
3
4
|
import { useFieldControl } from "../composables/useField.js";
|
|
4
5
|
import { DEFAULT_SWATCHES, formatColor, opaqueCss, parseColor, rgbToHsv, isLight, clampHsv } from "../components/color.js";
|
|
5
6
|
import { useClipboard } from "../composables/useClipboard.js";
|
|
6
7
|
import { POPOVER_PANEL } from "../components/dropdown.js";
|
|
7
|
-
import { _ as _sfc_main$1 } from "./LpContextMenu-
|
|
8
|
-
import { _ as _sfc_main$2 } from "./LpIcon-
|
|
8
|
+
import { _ as _sfc_main$1 } from "./LpContextMenu-BqkAYa9X.js";
|
|
9
|
+
import { _ as _sfc_main$2 } from "./LpIcon-DYtaid0K.js";
|
|
10
|
+
import { _ as _sfc_main$3 } from "./LpRollingText-DB7upf-5.js";
|
|
9
11
|
const _hoisted_1 = ["id", "disabled", "aria-label", "aria-invalid", "aria-describedby"];
|
|
10
12
|
const _hoisted_2 = { class: "min-w-0 flex-1 truncate font-mono text-xs text-muted-strong" };
|
|
11
13
|
const _hoisted_3 = { class: "flex flex-col gap-3" };
|
|
@@ -17,13 +19,15 @@ const _hoisted_7 = {
|
|
|
17
19
|
"data-lp-ring-owner": "",
|
|
18
20
|
class: "flex h-(--size-control-sm) items-center gap-2 overflow-hidden rounded-control border border-line bg-surface-soft px-2 transition-colors duration-[var(--duration-fast)] focus-within:border-brand focus-within:ring-2 focus-within:ring-ring"
|
|
19
21
|
};
|
|
20
|
-
const _hoisted_8 =
|
|
21
|
-
const _hoisted_9 =
|
|
22
|
+
const _hoisted_8 = { class: "relative flex min-w-0 flex-1 items-center" };
|
|
23
|
+
const _hoisted_9 = ["value", "disabled", "aria-label"];
|
|
24
|
+
const _hoisted_10 = {
|
|
22
25
|
key: 0,
|
|
23
26
|
class: "text-[11px] font-medium uppercase tracking-wide text-muted"
|
|
24
27
|
};
|
|
25
|
-
const
|
|
28
|
+
const _hoisted_11 = ["disabled", "aria-label", "aria-pressed", "onClick"];
|
|
26
29
|
const CHECKERBOARD = "repeating-conic-gradient(var(--color-line-strong) 0% 25%, transparent 0% 50%) 0 0 / 12px 12px";
|
|
30
|
+
const ROLL_MS = 320;
|
|
27
31
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
28
32
|
__name: "LpColorPicker",
|
|
29
33
|
props: {
|
|
@@ -275,9 +279,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
275
279
|
} catch {
|
|
276
280
|
}
|
|
277
281
|
}
|
|
282
|
+
const rollText = ref(current.value);
|
|
283
|
+
const rolling = ref(false);
|
|
284
|
+
let rollTimer;
|
|
278
285
|
function setFormat(f) {
|
|
279
286
|
if (activeFormat.value === f) return;
|
|
287
|
+
rollText.value = inputValue.value;
|
|
280
288
|
activeFormat.value = f;
|
|
289
|
+
if (!prefersReducedMotion()) {
|
|
290
|
+
rolling.value = true;
|
|
291
|
+
void nextTick(() => rollText.value = current.value);
|
|
292
|
+
if (rollTimer) clearTimeout(rollTimer);
|
|
293
|
+
rollTimer = setTimeout(() => rolling.value = false, ROLL_MS + 40);
|
|
294
|
+
}
|
|
281
295
|
typed.value = null;
|
|
282
296
|
emit("update:modelValue", current.value);
|
|
283
297
|
emit("change", current.value);
|
|
@@ -364,6 +378,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
364
378
|
createVNode(unref(PopoverPortal), null, {
|
|
365
379
|
default: withCtx(() => [
|
|
366
380
|
createVNode(unref(PopoverContent), {
|
|
381
|
+
"collision-padding": 8,
|
|
367
382
|
side: __props.side,
|
|
368
383
|
align: __props.align,
|
|
369
384
|
"side-offset": 6,
|
|
@@ -440,25 +455,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
440
455
|
class: "size-4 shrink-0 rounded-[5px] border border-line",
|
|
441
456
|
style: normalizeStyle({ backgroundColor: previewCss.value })
|
|
442
457
|
}, null, 4),
|
|
443
|
-
createElementVNode("
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
458
|
+
createElementVNode("span", _hoisted_8, [
|
|
459
|
+
withDirectives(createVNode(_sfc_main$3, {
|
|
460
|
+
value: rollText.value,
|
|
461
|
+
duration: ROLL_MS,
|
|
462
|
+
align: "start",
|
|
463
|
+
"aria-hidden": "true",
|
|
464
|
+
class: "pointer-events-none absolute inset-0 font-mono text-xs text-ink"
|
|
465
|
+
}, null, 8, ["value"]), [
|
|
466
|
+
[vShow, rolling.value]
|
|
467
|
+
]),
|
|
468
|
+
createElementVNode("input", {
|
|
469
|
+
value: inputValue.value,
|
|
470
|
+
disabled: __props.disabled,
|
|
471
|
+
spellcheck: "false",
|
|
472
|
+
autocapitalize: "off",
|
|
473
|
+
autocomplete: "off",
|
|
474
|
+
"aria-label": l.value.value,
|
|
475
|
+
class: normalizeClass(["min-w-0 flex-1 select-text bg-transparent font-mono text-xs text-ink outline-none placeholder:text-muted", rolling.value ? "text-transparent" : ""]),
|
|
476
|
+
onInput,
|
|
477
|
+
onKeydown: withKeys(commitTyped, ["enter"]),
|
|
478
|
+
onBlur: onInputBlur
|
|
479
|
+
}, null, 42, _hoisted_9)
|
|
480
|
+
])
|
|
455
481
|
])) : createCommentVNode("", true),
|
|
456
482
|
(openBlock(true), createElementBlock(Fragment, null, renderList(swatchRows.value, (row) => {
|
|
457
483
|
return openBlock(), createElementBlock("div", {
|
|
458
484
|
key: row.key,
|
|
459
485
|
class: "flex flex-col gap-1.5"
|
|
460
486
|
}, [
|
|
461
|
-
row.heading ? (openBlock(), createElementBlock("span",
|
|
487
|
+
row.heading ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(row.heading), 1)) : createCommentVNode("", true),
|
|
462
488
|
createElementVNode("div", {
|
|
463
489
|
class: normalizeClass(["grid gap-1.5", row.cols])
|
|
464
490
|
}, [
|
|
@@ -484,7 +510,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
484
510
|
size: 13,
|
|
485
511
|
class: normalizeClass(["relative", tickClass(c)])
|
|
486
512
|
}, null, 8, ["class"])) : createCommentVNode("", true)
|
|
487
|
-
], 14,
|
|
513
|
+
], 14, _hoisted_11);
|
|
488
514
|
}), 128))
|
|
489
515
|
], 2)
|
|
490
516
|
]);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, watch, openBlock, createBlock, createSlots, withCtx, renderSlot, createElementBlock, toDisplayString, createCommentVNode, createVNode, createTextVNode, unref, createElementVNode, normalizeClass, nextTick } from "vue";
|
|
2
2
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
3
|
-
import { _ as _sfc_main$2 } from "./LpButton-
|
|
4
|
-
import { _ as _sfc_main$3 } from "./LpIcon-
|
|
5
|
-
import { _ as _sfc_main$1 } from "./LpModal-
|
|
3
|
+
import { _ as _sfc_main$2 } from "./LpButton-CKSwC6Mu.js";
|
|
4
|
+
import { _ as _sfc_main$3 } from "./LpIcon-DYtaid0K.js";
|
|
5
|
+
import { _ as _sfc_main$1 } from "./LpModal-DMMDQHAu.js";
|
|
6
6
|
const _hoisted_1 = { class: "inline-flex items-center gap-2.5" };
|
|
7
7
|
const _hoisted_2 = {
|
|
8
8
|
key: 0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, watch, openBlock, createBlock, createCommentVNode } from "vue";
|
|
2
2
|
import { confirmQueue, settleConfirm } from "../components/confirm.js";
|
|
3
|
-
import { _ as _sfc_main$1 } from "./LpConfirmDialog-
|
|
3
|
+
import { _ as _sfc_main$1 } from "./LpConfirmDialog-DCw5jR1t.js";
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
5
|
__name: "LpConfirmHost",
|
|
6
6
|
props: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock, unref, withCtx, createVNode, renderSlot, normalizeClass, createCommentVNode } from "vue";
|
|
2
2
|
import { ContextMenuRoot, ContextMenuTrigger, ContextMenuPortal, ContextMenuContent } from "reka-ui";
|
|
3
|
-
import { _ as _sfc_main$1 } from "./ContextMenuItems-
|
|
3
|
+
import { _ as _sfc_main$1 } from "./ContextMenuItems-BtKU7074.js";
|
|
4
4
|
import { POPOVER_PANEL } from "../components/dropdown.js";
|
|
5
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
6
|
__name: "LpContextMenu",
|
|
@@ -43,6 +43,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
43
43
|
__props.items.length ? (openBlock(), createBlock(unref(ContextMenuPortal), { key: 0 }, {
|
|
44
44
|
default: withCtx(() => [
|
|
45
45
|
createVNode(unref(ContextMenuContent), {
|
|
46
|
+
"collision-padding": 8,
|
|
46
47
|
class: normalizeClass(PANEL),
|
|
47
48
|
onCloseAutoFocus: returnFocus
|
|
48
49
|
}, {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, useAttrs, openBlock, createElementBlock, normalizeStyle, unref, normalizeClass, createVNode, withCtx, createElementVNode, mergeProps,
|
|
1
|
+
import { defineComponent, ref, computed, useAttrs, openBlock, createElementBlock, normalizeStyle, unref, normalizeClass, createVNode, withCtx, createElementVNode, mergeProps, createCommentVNode, toDisplayString } from "vue";
|
|
2
2
|
import { PopoverRoot, PopoverTrigger, PopoverPortal, PopoverContent } from "reka-ui";
|
|
3
3
|
import { useFieldControl } from "../composables/useField.js";
|
|
4
4
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
5
5
|
import { mergeClass } from "../composables/useMergedClass.js";
|
|
6
6
|
import { POPOVER_PANEL } from "../components/dropdown.js";
|
|
7
|
-
import { _ as _sfc_main$
|
|
8
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
9
|
-
import { _ as _sfc_main$
|
|
7
|
+
import { _ as _sfc_main$3 } from "./LpCalendar-DrA2McTU.js";
|
|
8
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DYtaid0K.js";
|
|
9
|
+
import { _ as _sfc_main$2 } from "./LpRollingText-DB7upf-5.js";
|
|
10
|
+
import { _ as _sfc_main$4 } from "./LpTimeField-Cqe7fXnh.js";
|
|
10
11
|
const _hoisted_1 = ["id", "disabled", "aria-invalid", "aria-describedby"];
|
|
11
12
|
const _hoisted_2 = {
|
|
12
13
|
key: 0,
|
|
@@ -112,9 +113,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
112
113
|
size: 16,
|
|
113
114
|
class: "shrink-0 text-muted"
|
|
114
115
|
}),
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
createVNode(_sfc_main$2, {
|
|
117
|
+
value: display.value || __props.placeholder || "",
|
|
118
|
+
align: "start",
|
|
119
|
+
class: normalizeClass(["min-w-0 flex-1", display.value ? "" : "text-muted"])
|
|
120
|
+
}, null, 8, ["value", "class"]),
|
|
118
121
|
showClear.value ? (openBlock(), createElementBlock("span", _hoisted_2)) : createCommentVNode("", true),
|
|
119
122
|
createVNode(_sfc_main$1, {
|
|
120
123
|
name: "lucide:chevron-down",
|
|
@@ -128,12 +131,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
128
131
|
createVNode(unref(PopoverPortal), null, {
|
|
129
132
|
default: withCtx(() => [
|
|
130
133
|
createVNode(unref(PopoverContent), {
|
|
134
|
+
"collision-padding": 8,
|
|
131
135
|
"side-offset": 6,
|
|
132
136
|
align: "start",
|
|
133
137
|
class: normalizeClass([unref(POPOVER_PANEL), "z-(--z-popover) rounded-card p-0 outline-none"])
|
|
134
138
|
}, {
|
|
135
139
|
default: withCtx(() => [
|
|
136
|
-
createVNode(_sfc_main$
|
|
140
|
+
createVNode(_sfc_main$3, {
|
|
137
141
|
"model-value": day.value,
|
|
138
142
|
min: __props.min,
|
|
139
143
|
max: __props.max,
|
|
@@ -147,7 +151,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
147
151
|
size: 15,
|
|
148
152
|
class: "shrink-0 text-muted"
|
|
149
153
|
}),
|
|
150
|
-
createVNode(_sfc_main$
|
|
154
|
+
createVNode(_sfc_main$4, {
|
|
151
155
|
"model-value": minute.value || void 0,
|
|
152
156
|
disabled: !day.value,
|
|
153
157
|
icon: false,
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { defineComponent, ref, computed, onMounted, onBeforeUnmount, useAttrs, openBlock, createElementBlock, normalizeStyle, unref, normalizeClass, createVNode, withCtx, createElementVNode, mergeProps, createCommentVNode, Fragment, renderList, toDisplayString } from "vue";
|
|
2
|
+
import { PopoverRoot, PopoverTrigger, PopoverPortal, PopoverContent } from "reka-ui";
|
|
3
|
+
import { useFieldControl } from "../composables/useField.js";
|
|
4
|
+
import { useLabels } from "../composables/useLpConfig.js";
|
|
5
|
+
import { mergeClass } from "../composables/useMergedClass.js";
|
|
6
|
+
import { normalizeRange, formatRange, defaultRangePresets, sameRange, clampRange } from "../components/dateRange.js";
|
|
7
|
+
import { POPOVER_PANEL } from "../components/dropdown.js";
|
|
8
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DYtaid0K.js";
|
|
9
|
+
import { _ as _sfc_main$2 } from "./LpRollingText-DB7upf-5.js";
|
|
10
|
+
import { _ as _sfc_main$3 } from "./LpRangeCalendar-DZuaRV0W.js";
|
|
11
|
+
const _hoisted_1 = ["id", "disabled", "aria-invalid", "aria-describedby"];
|
|
12
|
+
const _hoisted_2 = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "w-[15px] shrink-0",
|
|
15
|
+
"aria-hidden": "true"
|
|
16
|
+
};
|
|
17
|
+
const _hoisted_3 = ["aria-label"];
|
|
18
|
+
const _hoisted_4 = ["disabled", "aria-pressed", "onClick"];
|
|
19
|
+
const _hoisted_5 = ["aria-label"];
|
|
20
|
+
const __default__ = { inheritAttrs: false };
|
|
21
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
22
|
+
...__default__,
|
|
23
|
+
__name: "LpDateRangePicker",
|
|
24
|
+
props: {
|
|
25
|
+
modelValue: {},
|
|
26
|
+
placeholder: {},
|
|
27
|
+
min: {},
|
|
28
|
+
max: {},
|
|
29
|
+
isDisabled: {},
|
|
30
|
+
isDateUnavailable: {},
|
|
31
|
+
maximumDays: {},
|
|
32
|
+
presets: {},
|
|
33
|
+
clearable: { type: Boolean },
|
|
34
|
+
disabled: { type: Boolean },
|
|
35
|
+
invalid: { type: Boolean },
|
|
36
|
+
size: { default: "md" },
|
|
37
|
+
locale: {},
|
|
38
|
+
format: {},
|
|
39
|
+
labels: {}
|
|
40
|
+
},
|
|
41
|
+
emits: ["update:modelValue"],
|
|
42
|
+
setup(__props, { emit: __emit }) {
|
|
43
|
+
const props = __props;
|
|
44
|
+
const emit = __emit;
|
|
45
|
+
const text = useLabels(
|
|
46
|
+
"dateRangePicker",
|
|
47
|
+
{
|
|
48
|
+
placeholder: "Pick a date range",
|
|
49
|
+
clear: "Clear",
|
|
50
|
+
presets: "Presets",
|
|
51
|
+
today: "Today",
|
|
52
|
+
last7: "Last 7 days",
|
|
53
|
+
last30: "Last 30 days",
|
|
54
|
+
thisMonth: "This month",
|
|
55
|
+
lastMonth: "Last month"
|
|
56
|
+
},
|
|
57
|
+
() => props.labels
|
|
58
|
+
);
|
|
59
|
+
const open = ref(false);
|
|
60
|
+
const value = computed(() => normalizeRange(props.modelValue));
|
|
61
|
+
const display = computed(() => value.value ? formatRange(value.value, props.locale, props.format) : "");
|
|
62
|
+
const presetList = computed(() => {
|
|
63
|
+
return props.presets ?? defaultRangePresets(text.value);
|
|
64
|
+
});
|
|
65
|
+
function pick(range, change) {
|
|
66
|
+
emit("update:modelValue", range);
|
|
67
|
+
if (!change) open.value = false;
|
|
68
|
+
}
|
|
69
|
+
function pickPreset(preset) {
|
|
70
|
+
const range = clampRange(preset.range(), props.min, props.max);
|
|
71
|
+
if (range) pick(range);
|
|
72
|
+
}
|
|
73
|
+
function presetFits(preset) {
|
|
74
|
+
return !!clampRange(preset.range(), props.min, props.max);
|
|
75
|
+
}
|
|
76
|
+
const wide = ref(false);
|
|
77
|
+
let query;
|
|
78
|
+
const onQuery = () => {
|
|
79
|
+
wide.value = !!query?.matches;
|
|
80
|
+
};
|
|
81
|
+
onMounted(() => {
|
|
82
|
+
query = window.matchMedia("(min-width: 640px)");
|
|
83
|
+
onQuery();
|
|
84
|
+
query.addEventListener("change", onQuery);
|
|
85
|
+
});
|
|
86
|
+
onBeforeUnmount(() => query?.removeEventListener("change", onQuery));
|
|
87
|
+
const shellSize = {
|
|
88
|
+
sm: "h-(--size-control-sm) text-xs",
|
|
89
|
+
md: "h-(--size-control-md) text-sm",
|
|
90
|
+
lg: "h-(--size-control-lg) text-sm"
|
|
91
|
+
};
|
|
92
|
+
const attrs = useAttrs();
|
|
93
|
+
const field = useFieldControl(() => ({
|
|
94
|
+
wrapped: false,
|
|
95
|
+
id: typeof attrs.id === "string" ? attrs.id : void 0,
|
|
96
|
+
invalid: props.invalid,
|
|
97
|
+
disabled: props.disabled
|
|
98
|
+
}));
|
|
99
|
+
const showClear = computed(() => props.clearable && !!value.value && !field.value.disabled);
|
|
100
|
+
return (_ctx, _cache) => {
|
|
101
|
+
return openBlock(), createElementBlock("div", {
|
|
102
|
+
class: normalizeClass(unref(mergeClass)("relative w-full", unref(attrs).class)),
|
|
103
|
+
style: normalizeStyle(unref(attrs).style)
|
|
104
|
+
}, [
|
|
105
|
+
createVNode(unref(PopoverRoot), {
|
|
106
|
+
open: open.value,
|
|
107
|
+
"onUpdate:open": _cache[0] || (_cache[0] = ($event) => open.value = $event)
|
|
108
|
+
}, {
|
|
109
|
+
default: withCtx(() => [
|
|
110
|
+
createVNode(unref(PopoverTrigger), { "as-child": "" }, {
|
|
111
|
+
default: withCtx(() => [
|
|
112
|
+
createElementVNode("button", mergeProps({ ...unref(attrs), class: void 0, style: void 0 }, {
|
|
113
|
+
id: unref(field).id,
|
|
114
|
+
type: "button",
|
|
115
|
+
disabled: unref(field).disabled,
|
|
116
|
+
"aria-invalid": unref(field).invalid || void 0,
|
|
117
|
+
"aria-describedby": unref(field).describedBy,
|
|
118
|
+
class: ["group flex w-full items-center gap-2 rounded-control border bg-surface-soft px-3 text-left text-ink outline-none transition-colors duration-[var(--duration-fast)] focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:border-brand disabled:cursor-not-allowed disabled:opacity-55", [
|
|
119
|
+
shellSize[__props.size],
|
|
120
|
+
unref(field).invalid ? "border-danger focus-visible:ring-danger-soft" : "border-line focus-visible:border-brand"
|
|
121
|
+
]]
|
|
122
|
+
}), [
|
|
123
|
+
createVNode(_sfc_main$1, {
|
|
124
|
+
name: "lucide:calendar-range",
|
|
125
|
+
size: 16,
|
|
126
|
+
class: "shrink-0 text-muted"
|
|
127
|
+
}),
|
|
128
|
+
createVNode(_sfc_main$2, {
|
|
129
|
+
value: display.value || __props.placeholder || unref(text).placeholder,
|
|
130
|
+
align: "start",
|
|
131
|
+
class: normalizeClass(["min-w-0 flex-1", display.value ? "" : "text-muted"])
|
|
132
|
+
}, null, 8, ["value", "class"]),
|
|
133
|
+
showClear.value ? (openBlock(), createElementBlock("span", _hoisted_2)) : createCommentVNode("", true),
|
|
134
|
+
createVNode(_sfc_main$1, {
|
|
135
|
+
name: "lucide:chevron-down",
|
|
136
|
+
size: 15,
|
|
137
|
+
class: "shrink-0 text-muted transition-transform duration-[var(--duration-fast)] ease-[var(--ease-emphasized)] group-data-[state=open]:rotate-180 motion-reduce:transition-none"
|
|
138
|
+
})
|
|
139
|
+
], 16, _hoisted_1)
|
|
140
|
+
]),
|
|
141
|
+
_: 1
|
|
142
|
+
}),
|
|
143
|
+
createVNode(unref(PopoverPortal), null, {
|
|
144
|
+
default: withCtx(() => [
|
|
145
|
+
createVNode(unref(PopoverContent), {
|
|
146
|
+
"side-offset": 6,
|
|
147
|
+
align: "start",
|
|
148
|
+
"collision-padding": 8,
|
|
149
|
+
class: normalizeClass([unref(POPOVER_PANEL), "z-(--z-popover) flex max-w-[calc(100vw-1rem)] flex-col rounded-card p-0 outline-none sm:flex-row"])
|
|
150
|
+
}, {
|
|
151
|
+
default: withCtx(() => [
|
|
152
|
+
presetList.value.length ? (openBlock(), createElementBlock("div", {
|
|
153
|
+
key: 0,
|
|
154
|
+
role: "group",
|
|
155
|
+
"aria-label": unref(text).presets,
|
|
156
|
+
class: "flex gap-1 overflow-x-auto border-b border-line p-2 sm:w-40 sm:flex-col sm:overflow-visible sm:border-r sm:border-b-0"
|
|
157
|
+
}, [
|
|
158
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(presetList.value, (preset, i) => {
|
|
159
|
+
return openBlock(), createElementBlock("button", {
|
|
160
|
+
key: `${i}:${preset.label}`,
|
|
161
|
+
type: "button",
|
|
162
|
+
disabled: !presetFits(preset),
|
|
163
|
+
"aria-pressed": unref(sameRange)(value.value, preset.range()),
|
|
164
|
+
class: "shrink-0 rounded-control px-2.5 py-1.5 text-left text-sm whitespace-nowrap text-muted outline-none transition-colors duration-[var(--duration-fast)] hover:bg-surface-soft hover:text-ink focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-40 aria-pressed:bg-brand-soft aria-pressed:text-ink",
|
|
165
|
+
onClick: ($event) => pickPreset(preset)
|
|
166
|
+
}, toDisplayString(preset.label), 9, _hoisted_4);
|
|
167
|
+
}), 128))
|
|
168
|
+
], 8, _hoisted_3)) : createCommentVNode("", true),
|
|
169
|
+
createVNode(_sfc_main$3, {
|
|
170
|
+
"model-value": value.value,
|
|
171
|
+
min: __props.min,
|
|
172
|
+
max: __props.max,
|
|
173
|
+
"is-disabled": __props.isDisabled,
|
|
174
|
+
"is-date-unavailable": __props.isDateUnavailable,
|
|
175
|
+
"maximum-days": __props.maximumDays,
|
|
176
|
+
months: wide.value ? 2 : 1,
|
|
177
|
+
locale: __props.locale,
|
|
178
|
+
class: "border-0 bg-transparent",
|
|
179
|
+
"onUpdate:modelValue": pick
|
|
180
|
+
}, null, 8, ["model-value", "min", "max", "is-disabled", "is-date-unavailable", "maximum-days", "months", "locale"])
|
|
181
|
+
]),
|
|
182
|
+
_: 1
|
|
183
|
+
}, 8, ["class"])
|
|
184
|
+
]),
|
|
185
|
+
_: 1
|
|
186
|
+
})
|
|
187
|
+
]),
|
|
188
|
+
_: 1
|
|
189
|
+
}, 8, ["open"]),
|
|
190
|
+
showClear.value ? (openBlock(), createElementBlock("button", {
|
|
191
|
+
key: 0,
|
|
192
|
+
type: "button",
|
|
193
|
+
"aria-label": unref(text).clear,
|
|
194
|
+
class: "absolute top-1/2 right-[calc(0.75rem+15px+0.5rem)] flex -translate-y-1/2 items-center rounded-sm text-muted outline-none transition-colors hover:text-ink focus-visible:ring-2 focus-visible:ring-ring",
|
|
195
|
+
onClick: _cache[1] || (_cache[1] = ($event) => emit("update:modelValue", void 0))
|
|
196
|
+
}, [
|
|
197
|
+
createVNode(_sfc_main$1, {
|
|
198
|
+
name: "lucide:x",
|
|
199
|
+
size: 15
|
|
200
|
+
})
|
|
201
|
+
], 8, _hoisted_5)) : createCommentVNode("", true)
|
|
202
|
+
], 6);
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
export {
|
|
207
|
+
_sfc_main as _
|
|
208
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, getCurrentInstance, computed, ref, openBlock, createBlock, unref, mergeProps, withCtx, createVNode, createCommentVNode, createElementVNode, renderSlot, createTextVNode, toDisplayString, nextTick } from "vue";
|
|
2
2
|
import { CollapsibleRoot, CollapsibleTrigger, CollapsibleContent } from "reka-ui";
|
|
3
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
3
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DYtaid0K.js";
|
|
4
4
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
5
5
|
const _hoisted_1 = { class: "min-w-0 flex-1 text-left" };
|
|
6
6
|
const _hoisted_2 = { class: "grid gap-2.5 px-3 pt-1 pb-3 group-data-[state=open]/content:animate-[disclosure-body-in_300ms_var(--ease-emphasized)] motion-reduce:animate-none" };
|
|
@@ -3,8 +3,8 @@ import { DrawerRoot, DrawerPortal, DrawerOverlay, DrawerContent, DrawerTitle, Dr
|
|
|
3
3
|
import { CLOSE_ICON } from "../components/dropdown.js";
|
|
4
4
|
import { useGlass } from "../composables/useGlass.js";
|
|
5
5
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
6
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
7
|
-
import { _ as _sfc_main$2 } from "./LpScrollArea-
|
|
6
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DYtaid0K.js";
|
|
7
|
+
import { _ as _sfc_main$2 } from "./LpScrollArea-Bry1fdOM.js";
|
|
8
8
|
import { useModalLayer, anyModalOpen } from "../components/modalDepth.js";
|
|
9
9
|
const _hoisted_1 = { class: "text-base font-semibold text-ink" };
|
|
10
10
|
const _hoisted_2 = { class: "flex flex-col gap-1" };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createBlock, unref, withCtx, createVNode, renderSlot, normalizeClass, createElementBlock, Fragment, renderList, createCommentVNode, createTextVNode, toDisplayString } from "vue";
|
|
2
2
|
import { DropdownMenuRoot, DropdownMenuTrigger, DropdownMenuPortal, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuItem } from "reka-ui";
|
|
3
3
|
import { POPOVER_PANEL } from "../components/dropdown.js";
|
|
4
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
4
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DYtaid0K.js";
|
|
5
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
6
|
__name: "LpDropdownMenu",
|
|
7
7
|
props: {
|
|
@@ -20,6 +20,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
20
20
|
createVNode(unref(DropdownMenuPortal), null, {
|
|
21
21
|
default: withCtx(() => [
|
|
22
22
|
createVNode(unref(DropdownMenuContent), {
|
|
23
|
+
"collision-padding": 8,
|
|
23
24
|
"side-offset": 6,
|
|
24
25
|
align: "end",
|
|
25
26
|
class: normalizeClass([unref(POPOVER_PANEL), "z-(--z-popover) min-w-44 p-1 outline-none"])
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, mergeProps, unref, normalizeClass, createVNode, createCommentVNode, createElementVNode, toDisplayString, renderSlot } from "vue";
|
|
2
|
-
import { _ as _sfc_main$1 } from "./LpIcon-
|
|
2
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DYtaid0K.js";
|
|
3
3
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
4
4
|
const _hoisted_1 = { class: "flex flex-col gap-1" };
|
|
5
5
|
const _hoisted_2 = {
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { defineComponent, ref, watch, openBlock, createBlock, Transition, withCtx, createElementBlock, normalizeClass, createVNode, createElementVNode, toDisplayString, createCommentVNode } from "vue";
|
|
2
|
+
import { prefersReducedMotion } from "../composables/easing.js";
|
|
3
|
+
import { _ as _sfc_main$1 } from "./LpIcon-DYtaid0K.js";
|
|
4
|
+
const _hoisted_1 = ["id"];
|
|
5
|
+
const _hoisted_2 = { class: "truncate" };
|
|
6
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
|
+
__name: "LpFieldNotice",
|
|
8
|
+
props: {
|
|
9
|
+
notice: {},
|
|
10
|
+
id: {}
|
|
11
|
+
},
|
|
12
|
+
setup(__props) {
|
|
13
|
+
const props = __props;
|
|
14
|
+
const el = ref(null);
|
|
15
|
+
watch(
|
|
16
|
+
() => props.notice.seq.value,
|
|
17
|
+
(_, before) => {
|
|
18
|
+
if (before === void 0 || !el.value || prefersReducedMotion()) return;
|
|
19
|
+
el.value.animate(
|
|
20
|
+
[
|
|
21
|
+
{ transform: "translateX(0)" },
|
|
22
|
+
{ transform: "translateX(-3px)" },
|
|
23
|
+
{ transform: "translateX(3px)" },
|
|
24
|
+
{ transform: "translateX(0)" }
|
|
25
|
+
],
|
|
26
|
+
{ duration: 240, easing: "ease-out" }
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
return (_ctx, _cache) => {
|
|
31
|
+
return openBlock(), createBlock(Transition, {
|
|
32
|
+
"enter-active-class": "transition-[opacity,translate] duration-fast ease-[var(--ease-emphasized)] motion-reduce:transition-none",
|
|
33
|
+
"leave-active-class": "transition-[opacity,translate] duration-fast ease-out motion-reduce:transition-none",
|
|
34
|
+
"enter-from-class": "-translate-y-1 opacity-0",
|
|
35
|
+
"leave-to-class": "-translate-y-1 opacity-0"
|
|
36
|
+
}, {
|
|
37
|
+
default: withCtx(() => [
|
|
38
|
+
__props.notice.message.value ? (openBlock(), createElementBlock("div", {
|
|
39
|
+
key: 0,
|
|
40
|
+
id: __props.id,
|
|
41
|
+
ref_key: "el",
|
|
42
|
+
ref: el,
|
|
43
|
+
role: "status",
|
|
44
|
+
class: normalizeClass([
|
|
45
|
+
"pointer-events-none absolute top-full left-0 z-20 mt-1.5 flex max-w-full items-center gap-1.5 rounded-control border px-2 py-1 text-xs shadow-sm",
|
|
46
|
+
__props.notice.tone.value === "danger" ? "border-danger/40 bg-surface-raised bg-[linear-gradient(var(--color-danger-soft),var(--color-danger-soft))] text-danger" : "border-line bg-surface-raised text-ink"
|
|
47
|
+
])
|
|
48
|
+
}, [
|
|
49
|
+
createVNode(_sfc_main$1, {
|
|
50
|
+
name: __props.notice.tone.value === "danger" ? "lucide:circle-alert" : "lucide:info",
|
|
51
|
+
size: 13,
|
|
52
|
+
class: normalizeClass(["shrink-0", __props.notice.tone.value === "danger" ? "" : "text-muted"])
|
|
53
|
+
}, null, 8, ["name", "class"]),
|
|
54
|
+
createElementVNode("span", _hoisted_2, toDisplayString(__props.notice.message.value), 1)
|
|
55
|
+
], 10, _hoisted_1)) : createCommentVNode("", true)
|
|
56
|
+
]),
|
|
57
|
+
_: 1
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
export {
|
|
63
|
+
_sfc_main as _
|
|
64
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent, ref, watch, computed, openBlock, createElementBlock, mergeProps, unref, Fragment, renderList, normalizeStyle, createBlock, createVNode, withCtx, createElementVNode, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, createCommentVNode } from "vue";
|
|
2
2
|
import { computeStats, formatSize, sortNodes, subtreeIds, ancestorIds } from "../components/fileTree.js";
|
|
3
|
-
import { _ as _sfc_main$1 } from "./LpEmptyState-
|
|
4
|
-
import { _ as _sfc_main$3 } from "./LpFileTreeNode-
|
|
5
|
-
import { _ as _sfc_main$2 } from "./LpScrollArea-
|
|
3
|
+
import { _ as _sfc_main$1 } from "./LpEmptyState-BJbZXC8D.js";
|
|
4
|
+
import { _ as _sfc_main$3 } from "./LpFileTreeNode-D_qRRdsH.js";
|
|
5
|
+
import { _ as _sfc_main$2 } from "./LpScrollArea-Bry1fdOM.js";
|
|
6
6
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
7
7
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
8
8
|
const _hoisted_1 = {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, mergeProps, unref, createVNode, withCtx, createElementVNode, withModifiers, normalizeStyle, normalizeClass, createBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString, Transition, Fragment, renderList } from "vue";
|
|
2
2
|
import { prefersReducedMotion, easingToken } from "../composables/easing.js";
|
|
3
3
|
import { sortNodes, formatSize, formatModified, fileIcon } from "../components/fileTree.js";
|
|
4
|
-
import { _ as _sfc_main$3 } from "./LpCheckbox-
|
|
5
|
-
import { _ as _sfc_main$1 } from "./LpContextMenu-
|
|
6
|
-
import { _ as _sfc_main$2 } from "./LpIcon-
|
|
4
|
+
import { _ as _sfc_main$3 } from "./LpCheckbox-Bkj13CbW.js";
|
|
5
|
+
import { _ as _sfc_main$1 } from "./LpContextMenu-BqkAYa9X.js";
|
|
6
|
+
import { _ as _sfc_main$2 } from "./LpIcon-DYtaid0K.js";
|
|
7
7
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
8
8
|
const _hoisted_1 = ["aria-level", "aria-selected", "aria-expanded", "aria-disabled"];
|
|
9
9
|
const _hoisted_2 = ["data-node-id", "tabindex"];
|