@leavepulse/ui 0.46.0 → 0.47.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/dist/assets/HighlightText-BwC5xbqn.css +6 -0
- package/dist/assets/{LpCommandPalette-5miKYsb-.css → LpCommandPalette-DmQUsJqA.css} +21 -21
- package/dist/assets/LpKeys-BxRhfQda.css +36 -0
- package/dist/assets/LpPaletteFacts-B9FdVmIO.css +93 -0
- package/dist/assets/LpPaletteHeader-BVOu1UX5.css +70 -0
- package/dist/assets/LpPalettePreview-CJmAKgYW.css +43 -0
- package/dist/assets/LpPaletteStats-ClE-37MK.css +33 -0
- package/dist/assets/LpPaletteSwatches-CA0B8y2E.css +21 -0
- package/dist/assets/{LpShortcutsDialog-CqYX3yy6.css → LpShortcutsDialog-BUp_BX4s.css} +7 -28
- package/dist/assets/{LpTable-BoeA_TgK.css → LpTable-xWwI4KPZ.css} +17 -17
- package/dist/chunks/HighlightText-BvnYZkhi.js +27 -0
- package/dist/chunks/{LpAvatar-DeSb6H0c.js → LpAvatar-Cb1jtOVv.js} +21 -3
- package/dist/chunks/{LpLightbox-DSDahF23.js → LpLightbox-EVXzAq62.js} +3 -3
- package/dist/chunks/{LpMediaGallery-YKr-cQPN.js → LpMediaGallery-BnlkN_1f.js} +1 -1
- package/dist/chunks/LpPalettePreview-CFav_7co.js +19 -0
- package/dist/component-names.d.ts +1 -1
- package/dist/components/HighlightText.vue.d.ts +7 -0
- package/dist/components/HighlightText.vue.js +4 -0
- package/dist/components/LpAvatar.vue.d.ts +12 -0
- package/dist/components/LpAvatar.vue.js +1 -1
- package/dist/components/LpCommandPalette.vue.d.ts +152 -15
- package/dist/components/LpCommandPalette.vue.js +178 -92
- package/dist/components/LpKeys.vue.d.ts +22 -0
- package/dist/components/LpKeys.vue.js +52 -0
- package/dist/components/LpLightbox.vue.js +1 -1
- package/dist/components/LpMediaGallery.vue.js +1 -1
- package/dist/components/LpPaletteFacts.vue.d.ts +25 -0
- package/dist/components/LpPaletteFacts.vue.js +85 -0
- package/dist/components/LpPaletteHeader.vue.d.ts +32 -0
- package/dist/components/LpPaletteHeader.vue.js +103 -0
- package/dist/components/LpPalettePreview.vue.d.ts +19 -0
- package/dist/components/LpPalettePreview.vue.js +4 -0
- package/dist/components/LpPaletteStats.vue.d.ts +11 -0
- package/dist/components/LpPaletteStats.vue.js +47 -0
- package/dist/components/LpPaletteSwatches.vue.d.ts +10 -0
- package/dist/components/LpPaletteSwatches.vue.js +34 -0
- package/dist/components/LpShortcutsDialog.vue.js +8 -28
- package/dist/components/LpTable.vue.js +5 -3
- package/dist/components/commandPalette.d.ts +157 -0
- package/dist/components/commandPalette.js +103 -0
- package/dist/components/commandSearch.d.ts +32 -0
- package/dist/components/commandSearch.js +48 -0
- package/dist/components/keys.d.ts +2 -0
- package/dist/components/keys.js +11 -0
- package/dist/index.d.ts +12 -3
- package/dist/index.js +157 -134
- package/package.json +1 -1
- package/src/component-names.ts +6 -0
- package/src/components/HighlightText.vue +28 -0
- package/src/components/LpAvatar.vue +21 -2
- package/src/components/LpCommandPalette.vue +387 -87
- package/src/components/LpKeys.vue +79 -0
- package/src/components/LpLightbox.vue +4 -1
- package/src/components/LpPaletteFacts.vue +165 -0
- package/src/components/LpPaletteHeader.vue +155 -0
- package/src/components/LpPalettePreview.vue +77 -0
- package/src/components/LpPaletteStats.vue +81 -0
- package/src/components/LpPaletteSwatches.vue +56 -0
- package/src/components/LpShortcutsDialog.vue +2 -45
- package/src/components/LpTable.vue +6 -1
- package/src/components/commandPalette.ts +264 -0
- package/src/components/commandSearch.ts +79 -0
- package/src/components/keys.ts +13 -0
- package/src/index.ts +12 -3
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { parsePaletteQuery, applyQueryFilters } from "./commandSearch.js";
|
|
2
|
+
function commandHasPreview(command, options) {
|
|
3
|
+
if (!command || command.noPreview) return false;
|
|
4
|
+
if (options.hasPreview) return options.hasPreview(command);
|
|
5
|
+
return options.slot || !!(command.preview || command.excerpt);
|
|
6
|
+
}
|
|
7
|
+
function matchModePrefix(query, commands) {
|
|
8
|
+
const typed = query.trimStart().toLowerCase();
|
|
9
|
+
let best = null;
|
|
10
|
+
for (const command of commands) {
|
|
11
|
+
const prefix = command.prefix?.toLowerCase();
|
|
12
|
+
if (!prefix || !command.children || command.disabled || !typed.startsWith(prefix)) continue;
|
|
13
|
+
if (!best || prefix.length > (best.prefix?.length ?? 0)) best = command;
|
|
14
|
+
}
|
|
15
|
+
if (!best) return null;
|
|
16
|
+
return { command: best, rest: query.trimStart().slice(best.prefix.length) };
|
|
17
|
+
}
|
|
18
|
+
function fallbackRows(items, raw) {
|
|
19
|
+
const parsed = parsePaletteQuery(raw.trim());
|
|
20
|
+
if (!parsed.text) return [];
|
|
21
|
+
return applyQueryFilters(
|
|
22
|
+
items.filter((c) => c.fallback),
|
|
23
|
+
parsed
|
|
24
|
+
).map((command) => ({ command, label: command.label.split("{query}").join(parsed.text) }));
|
|
25
|
+
}
|
|
26
|
+
function isEntry(value) {
|
|
27
|
+
if (!value || typeof value !== "object") return false;
|
|
28
|
+
const v = value;
|
|
29
|
+
return typeof v.id === "string" && typeof v.label === "string" && Array.isArray(v.path) && v.path.every((step) => typeof step === "string");
|
|
30
|
+
}
|
|
31
|
+
function readRecent(stored) {
|
|
32
|
+
if (!Array.isArray(stored)) return [];
|
|
33
|
+
return stored.filter((v) => typeof v === "string" || isEntry(v));
|
|
34
|
+
}
|
|
35
|
+
function recentKey(item) {
|
|
36
|
+
return typeof item === "string" ? item : [...item.path, item.id].join("\0");
|
|
37
|
+
}
|
|
38
|
+
function toRecentItem(command, path) {
|
|
39
|
+
if (!path.length) return command.id;
|
|
40
|
+
const entry = { id: command.id, label: command.label, path: [...path] };
|
|
41
|
+
if (command.description) entry.description = command.description;
|
|
42
|
+
if (command.icon) entry.icon = command.icon;
|
|
43
|
+
if (typeof command.image === "string") entry.image = command.image;
|
|
44
|
+
else if (command.image) {
|
|
45
|
+
const { src, alt, fallback, icon, shape } = command.image;
|
|
46
|
+
entry.image = { src, alt, fallback, icon, shape };
|
|
47
|
+
}
|
|
48
|
+
if (command.href) entry.href = command.href;
|
|
49
|
+
if (command.recentData !== void 0) entry.data = command.recentData;
|
|
50
|
+
return entry;
|
|
51
|
+
}
|
|
52
|
+
function pushRecent(list, item, keep) {
|
|
53
|
+
const key = recentKey(item);
|
|
54
|
+
return [item, ...list.filter((v) => recentKey(v) !== key)].slice(0, keep);
|
|
55
|
+
}
|
|
56
|
+
function resolveRecentItems(items, commands, options) {
|
|
57
|
+
const out = [];
|
|
58
|
+
const seen = /* @__PURE__ */ new Set();
|
|
59
|
+
for (const item of items) {
|
|
60
|
+
if (out.length >= options.limit) break;
|
|
61
|
+
const key = recentKey(item);
|
|
62
|
+
if (seen.has(key)) continue;
|
|
63
|
+
const found = typeof item === "string" ? commands.find((c) => c.id === item) : findEntry(item, commands, options);
|
|
64
|
+
if (!found || found.disabled || found.children) continue;
|
|
65
|
+
seen.add(key);
|
|
66
|
+
out.push({ command: found, path: typeof item === "string" ? [] : [...item.path] });
|
|
67
|
+
}
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
function findEntry(entry, commands, options) {
|
|
71
|
+
let level = commands;
|
|
72
|
+
for (const step of entry.path) {
|
|
73
|
+
const mode = level?.find((c) => c.id === step);
|
|
74
|
+
level = mode && Array.isArray(mode.children) ? mode.children : null;
|
|
75
|
+
}
|
|
76
|
+
const live = level?.find((c) => c.id === entry.id);
|
|
77
|
+
if (live) return live;
|
|
78
|
+
const resolved = options.resolve?.(entry);
|
|
79
|
+
if (resolved) return resolved;
|
|
80
|
+
return entry.href ? options.fromEntry(entry) : void 0;
|
|
81
|
+
}
|
|
82
|
+
function recentVisible(command, terms, recentLabel) {
|
|
83
|
+
if (!applyQueryFilters([{ ...command, group: void 0 }], { ...terms, groups: [] }).length) return false;
|
|
84
|
+
return terms.groups.every(
|
|
85
|
+
(term) => [command.group, recentLabel].some((group) => group?.toLowerCase().includes(term))
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
function modeChipLabel(command) {
|
|
89
|
+
if (command.modeLabel) return command.modeLabel;
|
|
90
|
+
if (!command.label.includes("{query}")) return command.label;
|
|
91
|
+
return command.label.replace(/\s*["'“”«»]?\{query\}["'“”«»]?/g, "").replace(/\s+(for|in|on|:)$/i, "").trim();
|
|
92
|
+
}
|
|
93
|
+
export {
|
|
94
|
+
commandHasPreview,
|
|
95
|
+
fallbackRows,
|
|
96
|
+
matchModePrefix,
|
|
97
|
+
modeChipLabel,
|
|
98
|
+
pushRecent,
|
|
99
|
+
readRecent,
|
|
100
|
+
recentVisible,
|
|
101
|
+
resolveRecentItems,
|
|
102
|
+
toRecentItem
|
|
103
|
+
};
|
|
@@ -11,3 +11,35 @@ export interface CommandSearchTerms {
|
|
|
11
11
|
}
|
|
12
12
|
export declare function parseCommandQuery(value: string): CommandSearchTerms;
|
|
13
13
|
export declare function rankCommandItems<T extends SearchableCommand>(items: T[], terms: CommandSearchTerms): T[];
|
|
14
|
+
/**
|
|
15
|
+
* A query as a fetcher receives it. `text` is what a remote search should be
|
|
16
|
+
* sent: the positive words and phrases, in the case they were typed, without
|
|
17
|
+
* the operators a server would not understand. The operators come alongside
|
|
18
|
+
* as data, so a provider that can scope or exclude on the server may.
|
|
19
|
+
*/
|
|
20
|
+
export interface PaletteQuery extends CommandSearchTerms {
|
|
21
|
+
/** The box as typed, operators and all. */
|
|
22
|
+
raw: string;
|
|
23
|
+
/** Positive terms joined by spaces, case kept, quotes dropped. */
|
|
24
|
+
text: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function parsePaletteQuery(raw: string): PaletteQuery;
|
|
27
|
+
/**
|
|
28
|
+
* The operators applied to results someone else matched: a server answered
|
|
29
|
+
* the positive words, and `-word` and `in:group` still have to hold for what
|
|
30
|
+
* it sent back. Positive terms are not re-checked here; the server may match
|
|
31
|
+
* word forms the text does not contain.
|
|
32
|
+
*/
|
|
33
|
+
export declare function applyQueryFilters<T extends SearchableCommand>(items: T[], terms: CommandSearchTerms): T[];
|
|
34
|
+
/** A run of text, and whether it matched the query. */
|
|
35
|
+
export interface HighlightPart {
|
|
36
|
+
text: string;
|
|
37
|
+
hit: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Text split around the terms that matched, for <mark> without v-html. Terms
|
|
41
|
+
* shorter than two characters are skipped (one letter would mark half the
|
|
42
|
+
* text), longer ones win where two start at the same place, and case is
|
|
43
|
+
* ignored. Pass positive terms only: an excluded word is never a match.
|
|
44
|
+
*/
|
|
45
|
+
export declare function highlightParts(value: string, terms: readonly string[]): HighlightPart[];
|
|
@@ -47,7 +47,55 @@ function score(command, terms) {
|
|
|
47
47
|
function rankCommandItems(items, terms) {
|
|
48
48
|
return items.map((command) => ({ command, score: score(command, terms) })).filter((entry) => entry.score > 0).sort((a, b) => b.score - a.score || a.command.label.localeCompare(b.command.label)).map((entry) => entry.command);
|
|
49
49
|
}
|
|
50
|
+
function parsePaletteQuery(raw) {
|
|
51
|
+
const terms = parseCommandQuery(raw);
|
|
52
|
+
const words = [];
|
|
53
|
+
QUERY_TOKEN.lastIndex = 0;
|
|
54
|
+
for (let match; match = QUERY_TOKEN.exec(raw); ) {
|
|
55
|
+
const text = (match[3] ?? match[4] ?? "").trim();
|
|
56
|
+
if (text && !match[1] && !match[2]) words.push(text);
|
|
57
|
+
}
|
|
58
|
+
return { ...terms, raw, text: words.join(" ") };
|
|
59
|
+
}
|
|
60
|
+
function applyQueryFilters(items, terms) {
|
|
61
|
+
if (!terms.exclude.length && !terms.groups.length) return items;
|
|
62
|
+
return items.filter((command) => {
|
|
63
|
+
const group = command.group?.toLowerCase() ?? "";
|
|
64
|
+
return !terms.exclude.some((term) => matches(command, term)) && terms.groups.every((term) => group.includes(term));
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function highlightParts(value, terms) {
|
|
68
|
+
const sorted = [...new Set(terms.map((t) => t.toLowerCase()).filter((t) => t.length >= 2))].sort(
|
|
69
|
+
(a, b) => b.length - a.length
|
|
70
|
+
);
|
|
71
|
+
if (!value || sorted.length === 0) return value ? [{ text: value, hit: false }] : [];
|
|
72
|
+
const lower = value.toLowerCase();
|
|
73
|
+
const parts = [];
|
|
74
|
+
let i = 0;
|
|
75
|
+
while (i < value.length) {
|
|
76
|
+
let at = -1;
|
|
77
|
+
let term = "";
|
|
78
|
+
for (const t of sorted) {
|
|
79
|
+
const found = lower.indexOf(t, i);
|
|
80
|
+
if (found !== -1 && (at === -1 || found < at || found === at && t.length > term.length)) {
|
|
81
|
+
at = found;
|
|
82
|
+
term = t;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (at === -1) {
|
|
86
|
+
parts.push({ text: value.slice(i), hit: false });
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
if (at > i) parts.push({ text: value.slice(i, at), hit: false });
|
|
90
|
+
parts.push({ text: value.slice(at, at + term.length), hit: true });
|
|
91
|
+
i = at + term.length;
|
|
92
|
+
}
|
|
93
|
+
return parts;
|
|
94
|
+
}
|
|
50
95
|
export {
|
|
96
|
+
applyQueryFilters,
|
|
97
|
+
highlightParts,
|
|
51
98
|
parseCommandQuery,
|
|
99
|
+
parsePaletteQuery,
|
|
52
100
|
rankCommandItems
|
|
53
101
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -35,9 +35,18 @@ export type { ColorPickerLabels } from "./components/LpColorPicker.vue";
|
|
|
35
35
|
export { clampHsv, DEFAULT_SWATCHES, formatColor, hsvToHsl, hsvToRgb, isLight, normalizeHue, opaqueCss, parseColor, parseHex, rgbToHex, rgbToHsv, } from "./components/color";
|
|
36
36
|
export type { ColorFormat, Hsv, Rgb } from "./components/color";
|
|
37
37
|
export { default as LpCommandPalette } from "./components/LpCommandPalette.vue";
|
|
38
|
-
export type { Command, PaletteLabels } from "./components/LpCommandPalette.vue";
|
|
39
|
-
export { parseCommandQuery, rankCommandItems } from "./components/commandSearch";
|
|
40
|
-
export
|
|
38
|
+
export type { Command, CommandFetcher, CommandImage, PaletteLabels } from "./components/LpCommandPalette.vue";
|
|
39
|
+
export { applyQueryFilters, highlightParts, parseCommandQuery, parsePaletteQuery, rankCommandItems } from "./components/commandSearch";
|
|
40
|
+
export { commandHasPreview, pushRecent, readRecent, toRecentItem } from "./components/commandPalette";
|
|
41
|
+
export type { PaletteFact, PaletteStat, PreviewableCommand, RecentEntry, RecentItem } from "./components/commandPalette";
|
|
42
|
+
export { default as LpPalettePreview } from "./components/LpPalettePreview.vue";
|
|
43
|
+
export { default as LpPaletteHeader } from "./components/LpPaletteHeader.vue";
|
|
44
|
+
export { default as LpPaletteFacts } from "./components/LpPaletteFacts.vue";
|
|
45
|
+
export { default as LpPaletteStats } from "./components/LpPaletteStats.vue";
|
|
46
|
+
export { default as LpPaletteSwatches } from "./components/LpPaletteSwatches.vue";
|
|
47
|
+
export { default as LpKeys } from "./components/LpKeys.vue";
|
|
48
|
+
export { comboKeys, comboSteps } from "./components/keys";
|
|
49
|
+
export type { CommandSearchTerms, HighlightPart, PaletteQuery, SearchableCommand } from "./components/commandSearch";
|
|
41
50
|
export { default as LpConfirmDialog } from "./components/LpConfirmDialog.vue";
|
|
42
51
|
export type { ConfirmLabels } from "./components/LpConfirmDialog.vue";
|
|
43
52
|
export { default as LpConfirmHost } from "./components/LpConfirmHost.vue";
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { _ as _4 } from "./chunks/LpActionBar-CnfFVIwC.js";
|
|
|
6
6
|
import { _ as _5 } from "./chunks/LpAlert-B6ilrM7T.js";
|
|
7
7
|
import { _ as _6 } from "./chunks/LpAppShell-BmMYcEVx.js";
|
|
8
8
|
import { _ as _7 } from "./chunks/LpAutocomplete-C8IgSMsi.js";
|
|
9
|
-
import { _ as _8 } from "./chunks/LpAvatar-
|
|
9
|
+
import { _ as _8 } from "./chunks/LpAvatar-Cb1jtOVv.js";
|
|
10
10
|
import { _ as _9 } from "./chunks/LpBadge-Fe0D1bYx.js";
|
|
11
11
|
import { _ as _10 } from "./chunks/LpBreadcrumbs-CQJd73Gm.js";
|
|
12
12
|
import { _ as _11 } from "./chunks/LpButton-CKSwC6Mu.js";
|
|
@@ -21,81 +21,89 @@ import { tokenizeLines } from "./components/codeHighlight.js";
|
|
|
21
21
|
import { _ as _16 } from "./chunks/LpColorPicker-BLqPX5Vw.js";
|
|
22
22
|
import { DEFAULT_SWATCHES, clampHsv, formatColor, hsvToHsl, hsvToRgb, isLight, normalizeHue, opaqueCss, parseColor, parseHex, rgbToHex, rgbToHsv } from "./components/color.js";
|
|
23
23
|
import { default as default3 } from "./components/LpCommandPalette.vue.js";
|
|
24
|
-
import { parseCommandQuery, rankCommandItems } from "./components/commandSearch.js";
|
|
25
|
-
import {
|
|
26
|
-
import { _ as
|
|
24
|
+
import { applyQueryFilters, highlightParts, parseCommandQuery, parsePaletteQuery, rankCommandItems } from "./components/commandSearch.js";
|
|
25
|
+
import { commandHasPreview, pushRecent, readRecent, toRecentItem } from "./components/commandPalette.js";
|
|
26
|
+
import { _ as _17 } from "./chunks/LpPalettePreview-CFav_7co.js";
|
|
27
|
+
import { default as default4 } from "./components/LpPaletteHeader.vue.js";
|
|
28
|
+
import { default as default5 } from "./components/LpPaletteFacts.vue.js";
|
|
29
|
+
import { default as default6 } from "./components/LpPaletteStats.vue.js";
|
|
30
|
+
import { default as default7 } from "./components/LpPaletteSwatches.vue.js";
|
|
31
|
+
import { default as default8 } from "./components/LpKeys.vue.js";
|
|
32
|
+
import { comboKeys, comboSteps } from "./components/keys.js";
|
|
33
|
+
import { _ as _18 } from "./chunks/LpConfirmDialog-Ca-CTlxT.js";
|
|
34
|
+
import { _ as _19 } from "./chunks/LpConfirmHost-BAaSaT2b.js";
|
|
27
35
|
import { confirm, useConfirm } from "./components/confirm.js";
|
|
28
|
-
import { _ as
|
|
29
|
-
import { _ as
|
|
30
|
-
import { _ as
|
|
31
|
-
import { _ as
|
|
36
|
+
import { _ as _20 } from "./chunks/LpContextMenu-1cKew_Dc.js";
|
|
37
|
+
import { _ as _21 } from "./chunks/LpDatePicker-BrdFtSTy.js";
|
|
38
|
+
import { _ as _22 } from "./chunks/LpDateRangePicker-Drd7EbIz.js";
|
|
39
|
+
import { _ as _23 } from "./chunks/LpRangeCalendar-DZuaRV0W.js";
|
|
32
40
|
import { clampRange, defaultRangePresets, formatRange, normalizeRange, sameRange } from "./components/dateRange.js";
|
|
33
|
-
import { _ as
|
|
34
|
-
import { _ as
|
|
35
|
-
import { _ as
|
|
36
|
-
import { _ as
|
|
37
|
-
import { default as
|
|
38
|
-
import { _ as
|
|
39
|
-
import { _ as
|
|
41
|
+
import { _ as _24 } from "./chunks/LpDisclosure-Cc23-JOT.js";
|
|
42
|
+
import { _ as _25 } from "./chunks/LpDivider-CUX46KR0.js";
|
|
43
|
+
import { _ as _26 } from "./chunks/LpDrawer-CBFVD624.js";
|
|
44
|
+
import { _ as _27 } from "./chunks/LpDropdownMenu-DrpJJBp0.js";
|
|
45
|
+
import { default as default9 } from "./components/LpDropzone.vue.js";
|
|
46
|
+
import { _ as _28 } from "./chunks/LpEmptyState-BJbZXC8D.js";
|
|
47
|
+
import { _ as _29 } from "./chunks/LpFileTree-bk5VjBey.js";
|
|
40
48
|
import { ancestorIds, checkStateOf, checkedCount, computeStats, fileIcon, formatModified, formatSize, sortNodes, subtreeIds, subtreeSize } from "./components/fileTree.js";
|
|
41
|
-
import { _ as
|
|
42
|
-
import { _ as
|
|
43
|
-
import { _ as
|
|
49
|
+
import { _ as _30 } from "./chunks/LpFieldNotice-wtieLUTj.js";
|
|
50
|
+
import { _ as _31 } from "./chunks/LpFormField-CtVYj6tO.js";
|
|
51
|
+
import { _ as _32 } from "./chunks/LpIcon-DYtaid0K.js";
|
|
44
52
|
import { i, b, a, c } from "./chunks/icons-CkA0njzm.js";
|
|
45
|
-
import { default as
|
|
46
|
-
import { _ as
|
|
47
|
-
import { _ as
|
|
48
|
-
import { _ as
|
|
53
|
+
import { default as default10 } from "./components/LpImageEditor.vue.js";
|
|
54
|
+
import { _ as _33 } from "./chunks/LpInfraNode-Ds_8SZgN.js";
|
|
55
|
+
import { _ as _34 } from "./chunks/LpInput-D-YGQbEv.js";
|
|
56
|
+
import { _ as _35 } from "./chunks/LpLightbox-EVXzAq62.js";
|
|
49
57
|
import { fileNameOf } from "./components/lightbox.js";
|
|
50
|
-
import { _ as
|
|
51
|
-
import { _ as
|
|
58
|
+
import { _ as _36 } from "./chunks/LpLink-Krkjhe_y.js";
|
|
59
|
+
import { _ as _37 } from "./chunks/LpLogViewer-BDFXzvcl.js";
|
|
52
60
|
import { countLevels, matchPositions, matchesTerm, ringWindow, stepMatch } from "./components/logSearch.js";
|
|
53
|
-
import { _ as
|
|
54
|
-
import { _ as
|
|
55
|
-
import { _ as
|
|
56
|
-
import { _ as
|
|
57
|
-
import { _ as
|
|
58
|
-
import { _ as
|
|
59
|
-
import { _ as
|
|
60
|
-
import { _ as
|
|
61
|
-
import { _ as
|
|
62
|
-
import { _ as
|
|
63
|
-
import { _ as
|
|
64
|
-
import { _ as
|
|
61
|
+
import { _ as _38 } from "./chunks/LpMediaGallery-BnlkN_1f.js";
|
|
62
|
+
import { _ as _39 } from "./chunks/LpModal-JNa3B_Lr.js";
|
|
63
|
+
import { _ as _40 } from "./chunks/LpModalNav-BAxC9et7.js";
|
|
64
|
+
import { _ as _41 } from "./chunks/LpNotificationBell-DsqSyMwS.js";
|
|
65
|
+
import { _ as _42 } from "./chunks/LpNumberField-B77O-z28.js";
|
|
66
|
+
import { _ as _43 } from "./chunks/LpTimeField-Cqe7fXnh.js";
|
|
67
|
+
import { _ as _44 } from "./chunks/LpNumberFlow-z4WPZcZu.js";
|
|
68
|
+
import { _ as _45 } from "./chunks/LpOtpInput-CziPF3Oq.js";
|
|
69
|
+
import { _ as _46 } from "./chunks/LpPagination-BcDlo3r_.js";
|
|
70
|
+
import { _ as _47 } from "./chunks/LpPasswordInput-eKzQhbQP.js";
|
|
71
|
+
import { _ as _48 } from "./chunks/LpPie-BdSnta11.js";
|
|
72
|
+
import { _ as _49 } from "./chunks/LpPhoneInput-BCbrrhgE.js";
|
|
65
73
|
import { filterCountries, flagEmoji, loadCountries, matchCountryByValue } from "./components/countries.js";
|
|
66
|
-
import { _ as
|
|
67
|
-
import { _ as
|
|
68
|
-
import { _ as
|
|
69
|
-
import { _ as
|
|
70
|
-
import { _ as
|
|
71
|
-
import { _ as
|
|
72
|
-
import { _ as
|
|
73
|
-
import { _ as
|
|
74
|
-
import { _ as
|
|
75
|
-
import { _ as
|
|
76
|
-
import { _ as
|
|
77
|
-
import { default as
|
|
78
|
-
import { _ as
|
|
79
|
-
import { _ as
|
|
80
|
-
import { _ as
|
|
81
|
-
import { _ as
|
|
82
|
-
import { _ as
|
|
83
|
-
import { _ as
|
|
84
|
-
import { _ as
|
|
85
|
-
import { default as
|
|
74
|
+
import { _ as _50 } from "./chunks/LpPopover-DCKeqiVn.js";
|
|
75
|
+
import { _ as _51 } from "./chunks/LpProgress-CBU1iI69.js";
|
|
76
|
+
import { _ as _52 } from "./chunks/LpRadio-B5AfqTpZ.js";
|
|
77
|
+
import { _ as _53 } from "./chunks/LpRadioGroup-DmEW0l78.js";
|
|
78
|
+
import { _ as _54 } from "./chunks/LpRollingText-DB7upf-5.js";
|
|
79
|
+
import { _ as _55 } from "./chunks/LpScrollArea-Hz3-JWUG.js";
|
|
80
|
+
import { _ as _56 } from "./chunks/LpSegmented-C09EEam2.js";
|
|
81
|
+
import { _ as _57 } from "./chunks/LpSection-tKEH0jYf.js";
|
|
82
|
+
import { _ as _58 } from "./chunks/LpSelect-DNIL6MB9.js";
|
|
83
|
+
import { _ as _59 } from "./chunks/LpServiceNode-D8uJ8sGk.js";
|
|
84
|
+
import { _ as _60 } from "./chunks/LpShift-DXNsauQZ.js";
|
|
85
|
+
import { default as default11 } from "./components/LpShortcutsDialog.vue.js";
|
|
86
|
+
import { _ as _61 } from "./chunks/LpSidebar-DpEiGi8L.js";
|
|
87
|
+
import { _ as _62 } from "./chunks/LpSkeleton-BB6XIV-w.js";
|
|
88
|
+
import { _ as _63 } from "./chunks/LpSlider-Cuzmrd7p.js";
|
|
89
|
+
import { _ as _64 } from "./chunks/LpSparkline-CB80N8SJ.js";
|
|
90
|
+
import { _ as _65 } from "./chunks/LpStat-B-7udBRP.js";
|
|
91
|
+
import { _ as _66 } from "./chunks/LpStepper-C7XiVKZj.js";
|
|
92
|
+
import { _ as _67 } from "./chunks/LpSwitch-OrcOJX9m.js";
|
|
93
|
+
import { default as default12 } from "./components/LpTable.vue.js";
|
|
86
94
|
import { compareValues } from "./components/tableSort.js";
|
|
87
|
-
import { _ as
|
|
88
|
-
import { _ as
|
|
89
|
-
import { _ as
|
|
95
|
+
import { _ as _68 } from "./chunks/LpTableOfContents-BUcAfGPQ.js";
|
|
96
|
+
import { _ as _69 } from "./chunks/LpTabs-29iW1XOx.js";
|
|
97
|
+
import { _ as _70 } from "./chunks/LpTagsInput-D1SuqbhB.js";
|
|
90
98
|
import { addTags, splitTags } from "./components/tags.js";
|
|
91
|
-
import { _ as
|
|
92
|
-
import { _ as
|
|
93
|
-
import { _ as
|
|
94
|
-
import { _ as
|
|
95
|
-
import { _ as
|
|
96
|
-
import { _ as
|
|
97
|
-
import { _ as
|
|
98
|
-
import { _ as
|
|
99
|
+
import { _ as _71 } from "./chunks/LpTextarea-uuScWo6-.js";
|
|
100
|
+
import { _ as _72 } from "./chunks/LpThemeSwitcher-BbYFFT5w.js";
|
|
101
|
+
import { _ as _73 } from "./chunks/LpTilt-B7KHX1zH.js";
|
|
102
|
+
import { _ as _74 } from "./chunks/LpToaster-DTtWuKvq.js";
|
|
103
|
+
import { _ as _75 } from "./chunks/LpTooltip-CXVKcOXT.js";
|
|
104
|
+
import { _ as _76 } from "./chunks/LpTooltipProvider-CftjV7Xc.js";
|
|
105
|
+
import { _ as _77 } from "./chunks/LpTopologyCanvas-6ozNrQKh.js";
|
|
106
|
+
import { _ as _78 } from "./chunks/LpUptimeBar-ugcv25xj.js";
|
|
99
107
|
import { deserializeLayout, serializeLayout } from "./layout/tree.js";
|
|
100
108
|
import { addLeaf, addTab, countBlocks, countLeaves, makeLayout, moveLeaf, removeBlock, removeLeaf, reorderTab, resizeAt, setActiveTab } from "./layout/tree.js";
|
|
101
109
|
import { blockTitle, defineBlocks } from "./layout/registry.js";
|
|
@@ -124,7 +132,7 @@ import { useShift } from "./composables/useShift.js";
|
|
|
124
132
|
import { useTilt } from "./composables/useTilt.js";
|
|
125
133
|
import { useZoomPan } from "./composables/useZoomPan.js";
|
|
126
134
|
import { useToast } from "./composables/useToast.js";
|
|
127
|
-
import { _ as
|
|
135
|
+
import { _ as _79 } from "./chunks/LpThemeProvider-Be4r2TQX.js";
|
|
128
136
|
import { isInternalHref, resolveLink } from "./components/link.js";
|
|
129
137
|
function defineTheme(base, overrides = {}) {
|
|
130
138
|
const src = typeof base === "string" ? presets[base] : base;
|
|
@@ -182,73 +190,79 @@ export {
|
|
|
182
190
|
_15 as LpCodeBlock,
|
|
183
191
|
_16 as LpColorPicker,
|
|
184
192
|
default3 as LpCommandPalette,
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
_35 as
|
|
205
|
-
_36 as
|
|
193
|
+
_18 as LpConfirmDialog,
|
|
194
|
+
_19 as LpConfirmHost,
|
|
195
|
+
_20 as LpContextMenu,
|
|
196
|
+
_21 as LpDatePicker,
|
|
197
|
+
_22 as LpDateRangePicker,
|
|
198
|
+
_24 as LpDisclosure,
|
|
199
|
+
_25 as LpDivider,
|
|
200
|
+
_26 as LpDrawer,
|
|
201
|
+
_27 as LpDropdownMenu,
|
|
202
|
+
default9 as LpDropzone,
|
|
203
|
+
_28 as LpEmptyState,
|
|
204
|
+
_30 as LpFieldNotice,
|
|
205
|
+
_29 as LpFileTree,
|
|
206
|
+
_31 as LpFormField,
|
|
207
|
+
_32 as LpIcon,
|
|
208
|
+
default10 as LpImageEditor,
|
|
209
|
+
_33 as LpInfraNode,
|
|
210
|
+
_34 as LpInput,
|
|
211
|
+
default8 as LpKeys,
|
|
212
|
+
_35 as LpLightbox,
|
|
213
|
+
_36 as LpLink,
|
|
214
|
+
_37 as LpLogViewer,
|
|
206
215
|
_3 as LpMapPicker,
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
216
|
+
_38 as LpMediaGallery,
|
|
217
|
+
_39 as LpModal,
|
|
218
|
+
_40 as LpModalNav,
|
|
219
|
+
_41 as LpNotificationBell,
|
|
220
|
+
_42 as LpNumberField,
|
|
221
|
+
_44 as LpNumberFlow,
|
|
222
|
+
_45 as LpOtpInput,
|
|
223
|
+
_46 as LpPagination,
|
|
224
|
+
default5 as LpPaletteFacts,
|
|
225
|
+
default4 as LpPaletteHeader,
|
|
226
|
+
_17 as LpPalettePreview,
|
|
227
|
+
default6 as LpPaletteStats,
|
|
228
|
+
default7 as LpPaletteSwatches,
|
|
229
|
+
_47 as LpPasswordInput,
|
|
230
|
+
_49 as LpPhoneInput,
|
|
231
|
+
_48 as LpPie,
|
|
232
|
+
_50 as LpPopover,
|
|
233
|
+
_51 as LpProgress,
|
|
234
|
+
_52 as LpRadio,
|
|
235
|
+
_53 as LpRadioGroup,
|
|
236
|
+
_23 as LpRangeCalendar,
|
|
237
|
+
_54 as LpRollingText,
|
|
238
|
+
_55 as LpScrollArea,
|
|
239
|
+
_57 as LpSection,
|
|
240
|
+
_56 as LpSegmented,
|
|
241
|
+
_58 as LpSelect,
|
|
242
|
+
_59 as LpServiceNode,
|
|
243
|
+
_60 as LpShift,
|
|
244
|
+
default11 as LpShortcutsDialog,
|
|
245
|
+
_61 as LpSidebar,
|
|
246
|
+
_62 as LpSkeleton,
|
|
247
|
+
_63 as LpSlider,
|
|
248
|
+
_64 as LpSparkline,
|
|
249
|
+
_65 as LpStat,
|
|
250
|
+
_66 as LpStepper,
|
|
251
|
+
_67 as LpSwitch,
|
|
252
|
+
default12 as LpTable,
|
|
253
|
+
_68 as LpTableOfContents,
|
|
254
|
+
_69 as LpTabs,
|
|
255
|
+
_70 as LpTagsInput,
|
|
256
|
+
_71 as LpTextarea,
|
|
257
|
+
_79 as LpThemeProvider,
|
|
258
|
+
_72 as LpThemeSwitcher,
|
|
259
|
+
_73 as LpTilt,
|
|
260
|
+
_43 as LpTimeField,
|
|
261
|
+
_74 as LpToaster,
|
|
262
|
+
_75 as LpTooltip,
|
|
263
|
+
_76 as LpTooltipProvider,
|
|
264
|
+
_77 as LpTopologyCanvas,
|
|
265
|
+
_78 as LpUptimeBar,
|
|
252
266
|
N as NO_BACKDROP_ATTR,
|
|
253
267
|
OSM_TILES,
|
|
254
268
|
T as THEME_COOKIE,
|
|
@@ -263,6 +277,7 @@ export {
|
|
|
263
277
|
anyModalOpen,
|
|
264
278
|
appleModifierLabel,
|
|
265
279
|
applyMask,
|
|
280
|
+
applyQueryFilters,
|
|
266
281
|
c2 as applyTheme,
|
|
267
282
|
d as applyThemeWithTransition,
|
|
268
283
|
axisTicks,
|
|
@@ -275,6 +290,9 @@ export {
|
|
|
275
290
|
checkedCount,
|
|
276
291
|
clampHsv,
|
|
277
292
|
clampRange,
|
|
293
|
+
comboKeys,
|
|
294
|
+
comboSteps,
|
|
295
|
+
commandHasPreview,
|
|
278
296
|
compareValues,
|
|
279
297
|
computeStats,
|
|
280
298
|
confirm,
|
|
@@ -308,6 +326,7 @@ export {
|
|
|
308
326
|
formatRange,
|
|
309
327
|
formatSize,
|
|
310
328
|
formatTick,
|
|
329
|
+
highlightParts,
|
|
311
330
|
hotkeyConflicts,
|
|
312
331
|
hotkeySteps,
|
|
313
332
|
hsvToHsl,
|
|
@@ -345,6 +364,7 @@ export {
|
|
|
345
364
|
parseConfig,
|
|
346
365
|
parseHex,
|
|
347
366
|
parseMask,
|
|
367
|
+
parsePaletteQuery,
|
|
348
368
|
parseTheme,
|
|
349
369
|
pendingHotkey,
|
|
350
370
|
m as prefersDarkScheme,
|
|
@@ -354,7 +374,9 @@ export {
|
|
|
354
374
|
provideField,
|
|
355
375
|
provideGlass,
|
|
356
376
|
provideLpConfig,
|
|
377
|
+
pushRecent,
|
|
357
378
|
rankCommandItems,
|
|
379
|
+
readRecent,
|
|
358
380
|
b as registerAllIcons,
|
|
359
381
|
a as registerIconCollection,
|
|
360
382
|
c as registerIcons,
|
|
@@ -389,6 +411,7 @@ export {
|
|
|
389
411
|
w as themeToCssVars,
|
|
390
412
|
tileUrl,
|
|
391
413
|
toCsv,
|
|
414
|
+
toRecentItem,
|
|
392
415
|
tokenizeLines,
|
|
393
416
|
topModalElement,
|
|
394
417
|
unproject,
|
package/package.json
CHANGED
package/src/component-names.ts
CHANGED
|
@@ -37,6 +37,7 @@ export const COMPONENT_NAMES = [
|
|
|
37
37
|
"LpImageEditor",
|
|
38
38
|
"LpInfraNode",
|
|
39
39
|
"LpInput",
|
|
40
|
+
"LpKeys",
|
|
40
41
|
"LpLightbox",
|
|
41
42
|
"LpLink",
|
|
42
43
|
"LpLogViewer",
|
|
@@ -49,6 +50,11 @@ export const COMPONENT_NAMES = [
|
|
|
49
50
|
"LpNumberFlow",
|
|
50
51
|
"LpOtpInput",
|
|
51
52
|
"LpPagination",
|
|
53
|
+
"LpPaletteFacts",
|
|
54
|
+
"LpPaletteHeader",
|
|
55
|
+
"LpPalettePreview",
|
|
56
|
+
"LpPaletteStats",
|
|
57
|
+
"LpPaletteSwatches",
|
|
52
58
|
"LpPasswordInput",
|
|
53
59
|
"LpPhoneInput",
|
|
54
60
|
"LpPie",
|