@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
|
@@ -5,81 +5,81 @@
|
|
|
5
5
|
* pane from its right edge as it grows. Animating the columns themselves made
|
|
6
6
|
* every line of the list and the pane re-wrap on every frame.
|
|
7
7
|
*/
|
|
8
|
-
.lp-cmd-dialog[data-v-
|
|
8
|
+
.lp-cmd-dialog[data-v-6da7fe88] {
|
|
9
9
|
--lp-cmd-list: min(92vw, 40rem);
|
|
10
10
|
--lp-cmd-pane: max(0px, min(26rem, 96vw - var(--lp-cmd-list)));
|
|
11
11
|
width: var(--lp-cmd-list);
|
|
12
12
|
}
|
|
13
|
-
.lp-cmd-split[data-v-
|
|
13
|
+
.lp-cmd-split[data-v-6da7fe88] {
|
|
14
14
|
transition:
|
|
15
15
|
width 300ms var(--ease-emphasized, ease),
|
|
16
16
|
min-height 300ms var(--ease-emphasized, ease);
|
|
17
17
|
}
|
|
18
18
|
@media (min-width: 768px) {
|
|
19
|
-
.lp-cmd-split .lp-cmd-list[data-v-
|
|
19
|
+
.lp-cmd-split .lp-cmd-list[data-v-6da7fe88] {
|
|
20
20
|
flex: 0 0 auto;
|
|
21
21
|
/* the dialog's 1px border on each side */
|
|
22
22
|
width: calc(var(--lp-cmd-list) - 2px);
|
|
23
23
|
}
|
|
24
|
-
.lp-cmd-dialog[data-pane="open"][data-v-
|
|
24
|
+
.lp-cmd-dialog[data-pane="open"][data-v-6da7fe88] {
|
|
25
25
|
width: calc(var(--lp-cmd-list) + var(--lp-cmd-pane));
|
|
26
26
|
min-height: min(76vh, 36rem);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
.lp-cmd-pane[data-v-
|
|
29
|
+
.lp-cmd-pane[data-v-6da7fe88] {
|
|
30
30
|
width: var(--lp-cmd-pane);
|
|
31
31
|
}
|
|
32
32
|
/*
|
|
33
33
|
* The pane rides in from the right edge while the dialog opens up to it, and
|
|
34
34
|
* leaves the same way, for as long as the dialog takes to close over it.
|
|
35
35
|
*/
|
|
36
|
-
.lp-cmd-pane-enter-active[data-v-
|
|
37
|
-
.lp-cmd-pane-leave-active[data-v-
|
|
36
|
+
.lp-cmd-pane-enter-active[data-v-6da7fe88],
|
|
37
|
+
.lp-cmd-pane-leave-active[data-v-6da7fe88] {
|
|
38
38
|
transition:
|
|
39
39
|
transform 300ms var(--ease-emphasized, ease),
|
|
40
40
|
opacity 300ms ease;
|
|
41
41
|
}
|
|
42
|
-
.lp-cmd-pane-enter-from[data-v-
|
|
43
|
-
.lp-cmd-pane-leave-to[data-v-
|
|
42
|
+
.lp-cmd-pane-enter-from[data-v-6da7fe88],
|
|
43
|
+
.lp-cmd-pane-leave-to[data-v-6da7fe88] {
|
|
44
44
|
opacity: 0;
|
|
45
45
|
transform: translateX(40%);
|
|
46
46
|
}
|
|
47
|
-
.lp-cmd-para[data-v-
|
|
48
|
-
animation: lp-cmd-para-in-
|
|
47
|
+
.lp-cmd-para[data-v-6da7fe88] {
|
|
48
|
+
animation: lp-cmd-para-in-6da7fe88 260ms ease-out both;
|
|
49
49
|
}
|
|
50
|
-
@keyframes lp-cmd-para-in-
|
|
50
|
+
@keyframes lp-cmd-para-in-6da7fe88 {
|
|
51
51
|
from {
|
|
52
52
|
opacity: 0;
|
|
53
53
|
transform: translateY(4px);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
@media (prefers-reduced-motion: reduce) {
|
|
57
|
-
.lp-cmd-split[data-v-
|
|
58
|
-
.lp-cmd-pane-enter-active[data-v-
|
|
59
|
-
.lp-cmd-pane-leave-active[data-v-
|
|
57
|
+
.lp-cmd-split[data-v-6da7fe88],
|
|
58
|
+
.lp-cmd-pane-enter-active[data-v-6da7fe88],
|
|
59
|
+
.lp-cmd-pane-leave-active[data-v-6da7fe88] {
|
|
60
60
|
transition: none;
|
|
61
61
|
}
|
|
62
|
-
.lp-cmd-para[data-v-
|
|
62
|
+
.lp-cmd-para[data-v-6da7fe88] {
|
|
63
63
|
animation: none;
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
.lp-cmd-excerpt[data-v-
|
|
66
|
+
.lp-cmd-excerpt[data-v-6da7fe88] {
|
|
67
67
|
display: -webkit-box;
|
|
68
68
|
-webkit-box-orient: vertical;
|
|
69
69
|
overflow: hidden;
|
|
70
70
|
}
|
|
71
71
|
/* Each result eases in; honours reduced motion. */
|
|
72
|
-
.lp-cmd-item[data-v-
|
|
73
|
-
animation: lp-cmd-in-
|
|
72
|
+
.lp-cmd-item[data-v-6da7fe88] {
|
|
73
|
+
animation: lp-cmd-in-6da7fe88 140ms ease-out both;
|
|
74
74
|
}
|
|
75
|
-
@keyframes lp-cmd-in-
|
|
75
|
+
@keyframes lp-cmd-in-6da7fe88 {
|
|
76
76
|
from {
|
|
77
77
|
opacity: 0;
|
|
78
78
|
transform: translateY(3px);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
@media (prefers-reduced-motion: reduce) {
|
|
82
|
-
.lp-cmd-item[data-v-
|
|
82
|
+
.lp-cmd-item[data-v-6da7fe88] {
|
|
83
83
|
animation: none;
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
.lp-keys[data-v-5c6ae8ec] {
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
flex-wrap: wrap;
|
|
5
|
+
align-items: center;
|
|
6
|
+
gap: 3px;
|
|
7
|
+
color: var(--color-muted);
|
|
8
|
+
}
|
|
9
|
+
.lp-keys__then[data-v-5c6ae8ec] {
|
|
10
|
+
padding: 0 2px;
|
|
11
|
+
font-size: 0.68rem;
|
|
12
|
+
}
|
|
13
|
+
.lp-keys__label[data-v-5c6ae8ec] {
|
|
14
|
+
margin-left: 5px;
|
|
15
|
+
font-size: 0.75rem;
|
|
16
|
+
}
|
|
17
|
+
kbd[data-v-5c6ae8ec] {
|
|
18
|
+
display: inline-flex;
|
|
19
|
+
min-width: 20px;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
padding: 2px 6px;
|
|
23
|
+
border: 1px solid var(--color-line-strong);
|
|
24
|
+
border-bottom-width: 2px;
|
|
25
|
+
border-radius: 5px;
|
|
26
|
+
background: color-mix(in srgb, var(--color-ink) 6%, transparent);
|
|
27
|
+
color: var(--color-muted-strong);
|
|
28
|
+
font-family: inherit;
|
|
29
|
+
font-size: 0.7rem;
|
|
30
|
+
line-height: 1.5;
|
|
31
|
+
}
|
|
32
|
+
.lp-keys--sm kbd[data-v-5c6ae8ec] {
|
|
33
|
+
min-width: 16px;
|
|
34
|
+
padding: 0 4px;
|
|
35
|
+
font-size: 0.65rem;
|
|
36
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
|
|
2
|
+
.lp-palette-facts[data-v-f1ab3788] {
|
|
3
|
+
min-width: 0;
|
|
4
|
+
}
|
|
5
|
+
.lp-palette-facts__title[data-v-f1ab3788] {
|
|
6
|
+
margin: 0 0 0.4rem;
|
|
7
|
+
color: var(--color-muted);
|
|
8
|
+
font-size: 11px;
|
|
9
|
+
font-weight: 600;
|
|
10
|
+
letter-spacing: 0.08em;
|
|
11
|
+
text-transform: uppercase;
|
|
12
|
+
}
|
|
13
|
+
.lp-palette-facts__list[data-v-f1ab3788] {
|
|
14
|
+
display: grid;
|
|
15
|
+
gap: 2px;
|
|
16
|
+
margin: 0;
|
|
17
|
+
padding: 0;
|
|
18
|
+
list-style: none;
|
|
19
|
+
}
|
|
20
|
+
.lp-palette-facts__row[data-v-f1ab3788] {
|
|
21
|
+
display: flex;
|
|
22
|
+
min-width: 0;
|
|
23
|
+
align-items: center;
|
|
24
|
+
gap: 0.6rem;
|
|
25
|
+
padding: 0.4rem 0.6rem;
|
|
26
|
+
border-radius: var(--radius-control);
|
|
27
|
+
background: color-mix(in srgb, var(--color-ink) 3%, transparent);
|
|
28
|
+
color: var(--color-ink);
|
|
29
|
+
font-size: 0.8125rem;
|
|
30
|
+
transition: background-color var(--duration-fast, 150ms) ease;
|
|
31
|
+
}
|
|
32
|
+
.lp-palette-facts--plain .lp-palette-facts__row[data-v-f1ab3788] {
|
|
33
|
+
padding: 0.15rem 0;
|
|
34
|
+
background: transparent;
|
|
35
|
+
}
|
|
36
|
+
.lp-palette-facts__row.is-current[data-v-f1ab3788] {
|
|
37
|
+
background: var(--color-brand-soft);
|
|
38
|
+
}
|
|
39
|
+
.lp-palette-facts--plain .lp-palette-facts__row.is-current[data-v-f1ab3788] {
|
|
40
|
+
background: transparent;
|
|
41
|
+
color: var(--color-brand);
|
|
42
|
+
}
|
|
43
|
+
.lp-palette-facts__icon[data-v-f1ab3788] {
|
|
44
|
+
flex-shrink: 0;
|
|
45
|
+
color: var(--color-muted);
|
|
46
|
+
transition: color var(--duration-fast, 150ms) ease;
|
|
47
|
+
}
|
|
48
|
+
.is-current .lp-palette-facts__icon[data-v-f1ab3788] {
|
|
49
|
+
color: var(--color-brand);
|
|
50
|
+
}
|
|
51
|
+
.lp-palette-facts__dot[data-v-f1ab3788] {
|
|
52
|
+
width: 0.55rem;
|
|
53
|
+
height: 0.55rem;
|
|
54
|
+
flex-shrink: 0;
|
|
55
|
+
margin: 0 0.15rem;
|
|
56
|
+
border-radius: 9999px;
|
|
57
|
+
box-shadow: 0 0 0 1px var(--color-line);
|
|
58
|
+
}
|
|
59
|
+
.lp-palette-facts__label[data-v-f1ab3788] {
|
|
60
|
+
display: flex;
|
|
61
|
+
min-width: 0;
|
|
62
|
+
flex: 1;
|
|
63
|
+
flex-direction: column;
|
|
64
|
+
}
|
|
65
|
+
.lp-palette-facts__name[data-v-f1ab3788] {
|
|
66
|
+
overflow: hidden;
|
|
67
|
+
text-overflow: ellipsis;
|
|
68
|
+
white-space: nowrap;
|
|
69
|
+
}
|
|
70
|
+
.lp-palette-facts__hint[data-v-f1ab3788] {
|
|
71
|
+
margin-top: 1px;
|
|
72
|
+
color: var(--color-muted);
|
|
73
|
+
font-size: 0.75rem;
|
|
74
|
+
line-height: 1.45;
|
|
75
|
+
}
|
|
76
|
+
.lp-palette-facts__value[data-v-f1ab3788] {
|
|
77
|
+
display: inline-flex;
|
|
78
|
+
min-width: 0;
|
|
79
|
+
max-width: 55%;
|
|
80
|
+
flex-shrink: 0;
|
|
81
|
+
justify-content: flex-end;
|
|
82
|
+
overflow: hidden;
|
|
83
|
+
color: var(--color-muted);
|
|
84
|
+
font-size: 0.75rem;
|
|
85
|
+
font-variant-numeric: tabular-nums;
|
|
86
|
+
white-space: nowrap;
|
|
87
|
+
}
|
|
88
|
+
.lp-palette-facts__value[data-v-f1ab3788] .lp-roll {
|
|
89
|
+
max-width: 100%;
|
|
90
|
+
}
|
|
91
|
+
.lp-palette-facts__value--mono[data-v-f1ab3788] {
|
|
92
|
+
font-family: var(--font-mono, ui-monospace, monospace);
|
|
93
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
|
|
2
|
+
.lp-palette-header[data-v-68065cf8] {
|
|
3
|
+
display: flex;
|
|
4
|
+
min-width: 0;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
gap: 0.6rem;
|
|
7
|
+
}
|
|
8
|
+
.lp-palette-header__row[data-v-68065cf8] {
|
|
9
|
+
display: flex;
|
|
10
|
+
min-width: 0;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: 0.75rem;
|
|
13
|
+
}
|
|
14
|
+
.lp-palette-header__media[data-v-68065cf8] {
|
|
15
|
+
flex-shrink: 0;
|
|
16
|
+
}
|
|
17
|
+
.lp-palette-header__tile[data-v-68065cf8] {
|
|
18
|
+
display: grid;
|
|
19
|
+
width: 2.25rem;
|
|
20
|
+
height: 2.25rem;
|
|
21
|
+
flex-shrink: 0;
|
|
22
|
+
place-items: center;
|
|
23
|
+
border-radius: var(--radius-control);
|
|
24
|
+
background: var(--color-brand-soft);
|
|
25
|
+
color: var(--color-brand);
|
|
26
|
+
}
|
|
27
|
+
.lp-palette-header__text[data-v-68065cf8] {
|
|
28
|
+
min-width: 0;
|
|
29
|
+
flex: 1;
|
|
30
|
+
}
|
|
31
|
+
.lp-palette-header__eyebrow[data-v-68065cf8] {
|
|
32
|
+
margin: 0 0 2px;
|
|
33
|
+
color: var(--color-muted);
|
|
34
|
+
font-size: 11px;
|
|
35
|
+
font-weight: 600;
|
|
36
|
+
letter-spacing: 0.08em;
|
|
37
|
+
text-transform: uppercase;
|
|
38
|
+
}
|
|
39
|
+
.lp-palette-header__title[data-v-68065cf8] {
|
|
40
|
+
display: -webkit-box;
|
|
41
|
+
margin: 0;
|
|
42
|
+
overflow: hidden;
|
|
43
|
+
-webkit-box-orient: vertical;
|
|
44
|
+
-webkit-line-clamp: 2;
|
|
45
|
+
color: var(--color-ink);
|
|
46
|
+
font-size: 1rem;
|
|
47
|
+
font-weight: 600;
|
|
48
|
+
line-height: 1.3;
|
|
49
|
+
overflow-wrap: anywhere;
|
|
50
|
+
}
|
|
51
|
+
.lp-palette-header__subtitle[data-v-68065cf8] {
|
|
52
|
+
margin: 2px 0 0;
|
|
53
|
+
overflow: hidden;
|
|
54
|
+
color: var(--color-muted);
|
|
55
|
+
font-size: 0.75rem;
|
|
56
|
+
text-overflow: ellipsis;
|
|
57
|
+
white-space: nowrap;
|
|
58
|
+
}
|
|
59
|
+
.lp-palette-header__extra[data-v-68065cf8] {
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-wrap: wrap;
|
|
62
|
+
gap: 0.375rem;
|
|
63
|
+
}
|
|
64
|
+
.lp-palette-header__lead[data-v-68065cf8] {
|
|
65
|
+
margin: 0;
|
|
66
|
+
color: var(--color-muted-strong);
|
|
67
|
+
font-size: 0.8125rem;
|
|
68
|
+
line-height: 1.55;
|
|
69
|
+
white-space: pre-line;
|
|
70
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
.lp-palette-preview {
|
|
3
|
+
display: flex;
|
|
4
|
+
min-width: 0;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
color: var(--color-ink);
|
|
7
|
+
}
|
|
8
|
+
.lp-palette-preview--sm {
|
|
9
|
+
gap: 0.6rem;
|
|
10
|
+
}
|
|
11
|
+
.lp-palette-preview--md {
|
|
12
|
+
gap: 0.9rem;
|
|
13
|
+
}
|
|
14
|
+
.lp-palette-preview--lg {
|
|
15
|
+
gap: 1.25rem;
|
|
16
|
+
}
|
|
17
|
+
.lp-palette-preview > * {
|
|
18
|
+
min-width: 0;
|
|
19
|
+
animation: lp-palette-in 260ms var(--ease-emphasized, ease-out) both;
|
|
20
|
+
}
|
|
21
|
+
.lp-palette-preview > :nth-child(2) {
|
|
22
|
+
animation-delay: 40ms;
|
|
23
|
+
}
|
|
24
|
+
.lp-palette-preview > :nth-child(3) {
|
|
25
|
+
animation-delay: 80ms;
|
|
26
|
+
}
|
|
27
|
+
.lp-palette-preview > :nth-child(4) {
|
|
28
|
+
animation-delay: 120ms;
|
|
29
|
+
}
|
|
30
|
+
.lp-palette-preview > :nth-child(n + 5) {
|
|
31
|
+
animation-delay: 160ms;
|
|
32
|
+
}
|
|
33
|
+
@keyframes lp-palette-in {
|
|
34
|
+
from {
|
|
35
|
+
opacity: 0;
|
|
36
|
+
transform: translateY(4px);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
@media (prefers-reduced-motion: reduce) {
|
|
40
|
+
.lp-palette-preview > * {
|
|
41
|
+
animation: none;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
.lp-palette-stats[data-v-dc30a10e] {
|
|
3
|
+
display: grid;
|
|
4
|
+
gap: 0.5rem;
|
|
5
|
+
margin: 0;
|
|
6
|
+
}
|
|
7
|
+
.lp-palette-stats__tile[data-v-dc30a10e] {
|
|
8
|
+
min-width: 0;
|
|
9
|
+
padding: 0.5rem 0.65rem;
|
|
10
|
+
border: 1px solid var(--color-line);
|
|
11
|
+
border-radius: var(--radius-control);
|
|
12
|
+
background: color-mix(in srgb, var(--color-surface-soft) 55%, transparent);
|
|
13
|
+
}
|
|
14
|
+
dt[data-v-dc30a10e] {
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
color: var(--color-muted);
|
|
17
|
+
font-size: 11px;
|
|
18
|
+
text-overflow: ellipsis;
|
|
19
|
+
white-space: nowrap;
|
|
20
|
+
}
|
|
21
|
+
dd[data-v-dc30a10e] {
|
|
22
|
+
display: flex;
|
|
23
|
+
min-width: 0;
|
|
24
|
+
margin: 2px 0 0;
|
|
25
|
+
color: var(--color-ink);
|
|
26
|
+
font-size: 1.125rem;
|
|
27
|
+
font-weight: 650;
|
|
28
|
+
font-variant-numeric: tabular-nums;
|
|
29
|
+
line-height: 1.3;
|
|
30
|
+
}
|
|
31
|
+
dd[data-v-dc30a10e] .lp-roll {
|
|
32
|
+
max-width: 100%;
|
|
33
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
.lp-palette-swatches[data-v-7c6934b1] {
|
|
3
|
+
display: grid;
|
|
4
|
+
gap: 0.4rem;
|
|
5
|
+
padding: 0.7rem;
|
|
6
|
+
border: 1px solid var(--color-line);
|
|
7
|
+
border-radius: var(--radius-card);
|
|
8
|
+
transition: background-color var(--duration-medium, 240ms) ease;
|
|
9
|
+
}
|
|
10
|
+
.lp-palette-swatches span[data-v-7c6934b1] {
|
|
11
|
+
height: 2rem;
|
|
12
|
+
border-radius: var(--radius-control);
|
|
13
|
+
box-shadow: inset 0 0 0 1px rgb(128 128 128 / 0.25);
|
|
14
|
+
transition: background-color var(--duration-medium, 240ms) ease;
|
|
15
|
+
}
|
|
16
|
+
@media (prefers-reduced-motion: reduce) {
|
|
17
|
+
.lp-palette-swatches[data-v-7c6934b1],
|
|
18
|
+
.lp-palette-swatches span[data-v-7c6934b1] {
|
|
19
|
+
transition: none;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
|
|
2
2
|
/* Two columns where there is room: the list is long enough that one column
|
|
3
3
|
pushes the last group off a laptop screen. */
|
|
4
|
-
.shortcut-groups[data-v-
|
|
4
|
+
.shortcut-groups[data-v-611c415f] {
|
|
5
5
|
display: grid;
|
|
6
6
|
gap: 18px;
|
|
7
7
|
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
|
8
8
|
}
|
|
9
|
-
.shortcut-group h3[data-v-
|
|
9
|
+
.shortcut-group h3[data-v-611c415f] {
|
|
10
10
|
margin: 0 0 6px;
|
|
11
11
|
color: var(--color-muted);
|
|
12
12
|
font-size: 0.7rem;
|
|
@@ -14,25 +14,25 @@
|
|
|
14
14
|
letter-spacing: 0.06em;
|
|
15
15
|
text-transform: uppercase;
|
|
16
16
|
}
|
|
17
|
-
.shortcut-group dl[data-v-
|
|
17
|
+
.shortcut-group dl[data-v-611c415f] {
|
|
18
18
|
display: flex;
|
|
19
19
|
flex-direction: column;
|
|
20
20
|
gap: 1px;
|
|
21
21
|
margin: 0;
|
|
22
22
|
}
|
|
23
|
-
.shortcut-row[data-v-
|
|
23
|
+
.shortcut-row[data-v-611c415f] {
|
|
24
24
|
display: flex;
|
|
25
25
|
align-items: center;
|
|
26
26
|
justify-content: space-between;
|
|
27
27
|
gap: 12px;
|
|
28
28
|
padding: 5px 0;
|
|
29
29
|
}
|
|
30
|
-
.shortcut-row dt[data-v-
|
|
30
|
+
.shortcut-row dt[data-v-611c415f] {
|
|
31
31
|
color: var(--color-ink);
|
|
32
32
|
font-size: 0.82rem;
|
|
33
33
|
min-width: 0;
|
|
34
34
|
}
|
|
35
|
-
.shortcut-conflict[data-v-
|
|
35
|
+
.shortcut-conflict[data-v-611c415f] {
|
|
36
36
|
display: inline-flex;
|
|
37
37
|
width: 14px;
|
|
38
38
|
height: 14px;
|
|
@@ -47,30 +47,9 @@
|
|
|
47
47
|
vertical-align: middle;
|
|
48
48
|
cursor: help;
|
|
49
49
|
}
|
|
50
|
-
.shortcut-
|
|
51
|
-
align-self: center;
|
|
52
|
-
padding: 0 2px;
|
|
53
|
-
color: var(--color-muted);
|
|
54
|
-
font-size: 0.68rem;
|
|
55
|
-
}
|
|
56
|
-
.shortcut-row dd[data-v-1c4cf3fa] {
|
|
50
|
+
.shortcut-row dd[data-v-611c415f] {
|
|
57
51
|
display: flex;
|
|
58
52
|
flex-shrink: 0;
|
|
59
53
|
gap: 3px;
|
|
60
54
|
margin: 0;
|
|
61
55
|
}
|
|
62
|
-
kbd[data-v-1c4cf3fa] {
|
|
63
|
-
display: inline-flex;
|
|
64
|
-
min-width: 20px;
|
|
65
|
-
align-items: center;
|
|
66
|
-
justify-content: center;
|
|
67
|
-
padding: 2px 6px;
|
|
68
|
-
border: 1px solid var(--color-line-strong);
|
|
69
|
-
border-bottom-width: 2px;
|
|
70
|
-
border-radius: 5px;
|
|
71
|
-
background: color-mix(in srgb, var(--color-ink) 6%, transparent);
|
|
72
|
-
color: var(--color-muted-strong);
|
|
73
|
-
font-family: inherit;
|
|
74
|
-
font-size: 0.7rem;
|
|
75
|
-
line-height: 1.5;
|
|
76
|
-
}
|
|
@@ -11,17 +11,17 @@
|
|
|
11
11
|
* fade before closing the gap and the whole list lurches at the end instead of
|
|
12
12
|
* gliding.
|
|
13
13
|
*/
|
|
14
|
-
.lp-row-enter-active[data-v-
|
|
15
|
-
.lp-row-leave-active[data-v-
|
|
14
|
+
.lp-row-enter-active[data-v-4fa70e89],
|
|
15
|
+
.lp-row-leave-active[data-v-4fa70e89] {
|
|
16
16
|
transition:
|
|
17
17
|
opacity var(--duration-fast) var(--ease-emphasized),
|
|
18
18
|
transform var(--duration-fast) var(--ease-emphasized);
|
|
19
19
|
}
|
|
20
|
-
.lp-row-move[data-v-
|
|
20
|
+
.lp-row-move[data-v-4fa70e89] {
|
|
21
21
|
transition: transform var(--duration-medium) var(--ease-emphasized);
|
|
22
22
|
}
|
|
23
|
-
.lp-row-enter-from[data-v-
|
|
24
|
-
.lp-row-leave-to[data-v-
|
|
23
|
+
.lp-row-enter-from[data-v-4fa70e89],
|
|
24
|
+
.lp-row-leave-to[data-v-4fa70e89] {
|
|
25
25
|
opacity: 0;
|
|
26
26
|
transform: translateX(-0.5rem);
|
|
27
27
|
}
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
* drops out of the table layout entirely. Nothing sits below this row to be
|
|
36
36
|
* dragged around, so simply not animating its exit costs nothing.
|
|
37
37
|
*/
|
|
38
|
-
.lp-row-empty.lp-row-leave-active[data-v-
|
|
38
|
+
.lp-row-empty.lp-row-leave-active[data-v-4fa70e89] {
|
|
39
39
|
display: none;
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
* once anything is selected. An earlier version collapsed the column to nothing
|
|
55
55
|
* and floated the hover box over the first cell, where it sat on the text.
|
|
56
56
|
*/
|
|
57
|
-
.lp-tick[data-v-
|
|
57
|
+
.lp-tick[data-v-4fa70e89] {
|
|
58
58
|
display: flex;
|
|
59
59
|
align-items: center;
|
|
60
60
|
max-width: 0;
|
|
@@ -66,17 +66,17 @@
|
|
|
66
66
|
padding var(--duration-medium) var(--ease-emphasized),
|
|
67
67
|
opacity var(--duration-fast) ease;
|
|
68
68
|
}
|
|
69
|
-
.lp-tick-open[data-v-
|
|
69
|
+
.lp-tick-open[data-v-4fa70e89] {
|
|
70
70
|
max-width: 3.25rem;
|
|
71
71
|
padding-inline: 1rem;
|
|
72
72
|
opacity: 1;
|
|
73
73
|
}
|
|
74
|
-
.lp-tick-hidden[data-v-
|
|
75
|
-
.lp-tick-cue[data-v-
|
|
74
|
+
.lp-tick-hidden[data-v-4fa70e89],
|
|
75
|
+
.lp-tick-cue[data-v-4fa70e89] {
|
|
76
76
|
opacity: 0;
|
|
77
77
|
}
|
|
78
|
-
tr:hover .lp-tick-cue[data-v-
|
|
79
|
-
.lp-tick-cue[data-v-
|
|
78
|
+
tr:hover .lp-tick-cue[data-v-4fa70e89],
|
|
79
|
+
.lp-tick-cue[data-v-4fa70e89]:focus-within {
|
|
80
80
|
opacity: 1;
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -84,15 +84,15 @@ tr:hover .lp-tick-cue[data-v-7fc0998d],
|
|
|
84
84
|
turned down the rows change without animating rather than not changing. */
|
|
85
85
|
/* Only where there is a hover to reveal it; a finger long-presses instead. */
|
|
86
86
|
@media (hover: none) {
|
|
87
|
-
tr:hover .lp-tick-cue[data-v-
|
|
87
|
+
tr:hover .lp-tick-cue[data-v-4fa70e89] {
|
|
88
88
|
opacity: 0;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
@media (prefers-reduced-motion: reduce) {
|
|
92
|
-
.lp-row-enter-active[data-v-
|
|
93
|
-
.lp-row-leave-active[data-v-
|
|
94
|
-
.lp-row-move[data-v-
|
|
95
|
-
.lp-tick[data-v-
|
|
92
|
+
.lp-row-enter-active[data-v-4fa70e89],
|
|
93
|
+
.lp-row-leave-active[data-v-4fa70e89],
|
|
94
|
+
.lp-row-move[data-v-4fa70e89],
|
|
95
|
+
.lp-tick[data-v-4fa70e89] {
|
|
96
96
|
transition: none;
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineComponent, openBlock, createElementBlock, Fragment, createTextVNode, toDisplayString, renderList } from "vue";
|
|
2
|
+
import '../assets/HighlightText-BwC5xbqn.css';const _hoisted_1 = {
|
|
3
|
+
key: 0,
|
|
4
|
+
class: "lp-highlight"
|
|
5
|
+
};
|
|
6
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
|
+
__name: "HighlightText",
|
|
8
|
+
props: {
|
|
9
|
+
text: {}
|
|
10
|
+
},
|
|
11
|
+
setup(__props) {
|
|
12
|
+
return (_ctx, _cache) => {
|
|
13
|
+
return typeof __props.text === "string" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
14
|
+
createTextVNode(toDisplayString(__props.text), 1)
|
|
15
|
+
], 64)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(__props.text, (part, index) => {
|
|
16
|
+
return openBlock(), createElementBlock(Fragment, { key: index }, [
|
|
17
|
+
part.hit ? (openBlock(), createElementBlock("mark", _hoisted_1, toDisplayString(part.text), 1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
18
|
+
createTextVNode(toDisplayString(part.text), 1)
|
|
19
|
+
], 64))
|
|
20
|
+
], 64);
|
|
21
|
+
}), 128));
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
export {
|
|
26
|
+
_sfc_main as _
|
|
27
|
+
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { defineComponent, computed, ref, onMounted, openBlock, createBlock, withCtx, createVNode, unref, mergeProps, createCommentVNode, createTextVNode, toDisplayString } from "vue";
|
|
1
|
+
import { defineComponent, computed, ref, onMounted, openBlock, createBlock, withCtx, createVNode, unref, mergeProps, createCommentVNode, createElementBlock, Fragment, createTextVNode, toDisplayString } from "vue";
|
|
2
2
|
import { AvatarRoot, AvatarImage, AvatarFallback } from "reka-ui";
|
|
3
3
|
import { tv } from "tailwind-variants";
|
|
4
4
|
import { _ as _sfc_main$1 } from "./LpContextMenu-1cKew_Dc.js";
|
|
5
|
+
import { _ as _sfc_main$2 } from "./LpIcon-DYtaid0K.js";
|
|
5
6
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
6
7
|
const __default__ = { inheritAttrs: false };
|
|
7
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -11,6 +12,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11
12
|
src: {},
|
|
12
13
|
alt: {},
|
|
13
14
|
fallback: {},
|
|
15
|
+
icon: {},
|
|
14
16
|
size: { default: "md" },
|
|
15
17
|
pixelSize: {},
|
|
16
18
|
shape: { default: "circle" },
|
|
@@ -40,6 +42,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
40
42
|
defaultVariants: { size: "md", shape: "circle", ring: false }
|
|
41
43
|
});
|
|
42
44
|
const props = __props;
|
|
45
|
+
const ICON_SIZE = { xs: 11, sm: 14, md: 18, lg: 24, xl: 30 };
|
|
46
|
+
const iconSize = computed(
|
|
47
|
+
() => props.pixelSize ? Math.max(10, Math.round(props.pixelSize * 0.55)) : ICON_SIZE[props.size ?? "md"]
|
|
48
|
+
);
|
|
43
49
|
const sizeStyle = computed(
|
|
44
50
|
() => props.pixelSize ? {
|
|
45
51
|
width: `${props.pixelSize}px`,
|
|
@@ -81,7 +87,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
81
87
|
}, null, 8, ["src", "alt"])) : createCommentVNode("", true),
|
|
82
88
|
createVNode(unref(AvatarFallback), null, {
|
|
83
89
|
default: withCtx(() => [
|
|
84
|
-
|
|
90
|
+
__props.icon && !__props.fallback ? (openBlock(), createBlock(_sfc_main$2, {
|
|
91
|
+
key: 0,
|
|
92
|
+
name: __props.icon,
|
|
93
|
+
size: iconSize.value
|
|
94
|
+
}, null, 8, ["name", "size"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
95
|
+
createTextVNode(toDisplayString(initials.value), 1)
|
|
96
|
+
], 64))
|
|
85
97
|
]),
|
|
86
98
|
_: 1
|
|
87
99
|
})
|
|
@@ -104,7 +116,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
104
116
|
}, null, 8, ["src", "alt"])) : createCommentVNode("", true),
|
|
105
117
|
createVNode(unref(AvatarFallback), null, {
|
|
106
118
|
default: withCtx(() => [
|
|
107
|
-
|
|
119
|
+
__props.icon && !__props.fallback ? (openBlock(), createBlock(_sfc_main$2, {
|
|
120
|
+
key: 0,
|
|
121
|
+
name: __props.icon,
|
|
122
|
+
size: iconSize.value
|
|
123
|
+
}, null, 8, ["name", "size"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
124
|
+
createTextVNode(toDisplayString(initials.value), 1)
|
|
125
|
+
], 64))
|
|
108
126
|
]),
|
|
109
127
|
_: 1
|
|
110
128
|
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, watch, onBeforeUnmount, computed, nextTick, openBlock, createBlock, unref, withCtx, createVNode, normalizeStyle,
|
|
1
|
+
import { defineComponent, ref, watch, onBeforeUnmount, computed, nextTick, openBlock, createBlock, unref, withCtx, createVNode, normalizeStyle, createTextVNode, toDisplayString, createElementVNode, createElementBlock, createCommentVNode, renderSlot, normalizeClass, withModifiers, Fragment, renderList } from "vue";
|
|
2
2
|
import { DialogRoot, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription } from "reka-ui";
|
|
3
3
|
import { useLabels } from "../composables/useLpConfig.js";
|
|
4
4
|
import { useZoomPan } from "../composables/useZoomPan.js";
|
|
@@ -313,9 +313,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
313
313
|
createVNode(unref(DialogPortal), null, {
|
|
314
314
|
default: withCtx(() => [
|
|
315
315
|
createVNode(unref(DialogOverlay), {
|
|
316
|
-
class:
|
|
316
|
+
class: "lp-scrim fixed inset-0 data-[state=open]:animate-[fade-in_var(--duration-medium)_var(--ease-emphasized)] data-[state=closed]:animate-[fade-out_120ms_ease]",
|
|
317
317
|
style: normalizeStyle({ zIndex: unref(layer).scrim })
|
|
318
|
-
}, null, 8, ["
|
|
318
|
+
}, null, 8, ["style"]),
|
|
319
319
|
createVNode(unref(DialogContent), {
|
|
320
320
|
ref_key: "contentRef",
|
|
321
321
|
ref: contentRef,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, ref, watch, computed, openBlock, createElementBlock, renderSlot, mergeProps, unref, Fragment, renderList, normalizeClass, createElementVNode, toDisplayString, createVNode, createCommentVNode, createBlock } from "vue";
|
|
2
2
|
import { useMergedAttrs } from "../composables/useMergedClass.js";
|
|
3
3
|
import { _ as _sfc_main$1 } from "./LpIcon-DYtaid0K.js";
|
|
4
|
-
import { _ as _sfc_main$2 } from "./LpLightbox-
|
|
4
|
+
import { _ as _sfc_main$2 } from "./LpLightbox-EVXzAq62.js";
|
|
5
5
|
const _hoisted_1 = { key: 0 };
|
|
6
6
|
const _hoisted_2 = ["aria-label"];
|
|
7
7
|
const _hoisted_3 = ["aria-label", "onClick"];
|