@inkandswitch/patchwork-pkg-base 0.0.131 → 0.0.132
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/module-settings-url +1 -1
- package/package.json +1 -1
- package/packages/account/dist/index.css +19 -0
- package/packages/account/dist/index.css.map +2 -2
- package/packages/add-doc-to-sidebar-button/button.js +6 -0
- package/packages/add-doc-to-sidebar-button/styles.css +8 -1
- package/packages/chat/dist/index.js +1 -1
- package/packages/codemirror-base/dist/tool.js +75 -59
- package/packages/codemirror-base/dist/tool.js.map +2 -2
- package/packages/codemirror-markdown/dist/extensions/markdown.js +25 -0
- package/packages/codemirror-markdown/dist/extensions/markdown.js.map +2 -2
- package/packages/comments-view/dist/assets/{main-DXYeEDFB.js → main-EQKeEvzx.js} +50 -3
- package/packages/comments-view/dist/assets/main-EQKeEvzx.js.map +1 -0
- package/packages/comments-view/dist/index.js +3 -3
- package/packages/doc-openwith/doc-openwith.js +15 -1
- package/packages/doc-presence/doc-presence.js +66 -23
- package/packages/drafts/dist/assets/{main-CG9HOCai.js → main-wz7oton3.js} +134 -80
- package/packages/drafts/dist/assets/main-wz7oton3.js.map +1 -0
- package/packages/drafts/dist/index.js +3 -3
- package/packages/file/dist/index.js +1 -1
- package/packages/file/dist/{tool-Bucjz6Ay.js → tool-CSiyzu4S.js} +51 -41
- package/packages/file/dist/tool-CSiyzu4S.js.map +1 -0
- package/packages/file/dist/{typescript-language-server-BId-R8tz.js → typescript-language-server-T-bVgxs5.js} +2 -2
- package/packages/file/dist/{typescript-language-server-BId-R8tz.js.map → typescript-language-server-T-bVgxs5.js.map} +1 -1
- package/packages/packages/dist/index.js +6 -1
- package/packages/patternwitch/tool.js +30 -3
- package/packages/providers/dist/assets/FocusProvider-CsJzhQWV.js +2 -0
- package/packages/providers/dist/assets/FocusProvider-CsJzhQWV.js.map +1 -0
- package/packages/providers/dist/index.js +1 -1
- package/packages/theming/dist/{active-theme-WA6XMDTP.js → active-theme-HEMDARRS.js} +3 -3
- package/packages/theming/dist/{chunk-4GOF67HA.js → chunk-2LCY4PP2.js} +2 -2
- package/packages/theming/dist/{chunk-L7WQSSFT.js → chunk-MJMDS3V5.js} +2 -2
- package/packages/theming/dist/{lychee-BMLMUNP6.css → lychee-BADZHTMJ.css} +1 -1
- package/packages/theming/dist/main.js +4 -4
- package/packages/theming/dist/{theme-titlebar-LG6PFBKR.js → theme-titlebar-JLYY4TZR.js} +3 -3
- package/packages/theming/dist/{theme-tray-R3PJDYCL.js → theme-tray-OZPNTCHA.js} +3 -3
- package/packages/theming/dist/tool.js +2 -2
- package/packages/threepane/dist/IsolatedDocumentArea-PIXYOA25.js +2 -0
- package/packages/threepane/dist/PatchworkFrame-O76GWRUL.js +2 -0
- package/packages/threepane/dist/{PatchworkFrame-HMA5KZLY.js.map → PatchworkFrame-O76GWRUL.js.map} +3 -3
- package/packages/threepane/dist/{chunk-UOTRB26X.js → chunk-Y2SEQB3F.js} +24 -8
- package/packages/threepane/dist/{chunk-UOTRB26X.js.map → chunk-Y2SEQB3F.js.map} +3 -3
- package/packages/threepane/dist/index.js +1 -1
- package/plugin-registry-url +1 -1
- package/packages/comments-view/dist/assets/main-DXYeEDFB.js.map +0 -1
- package/packages/drafts/dist/assets/main-CG9HOCai.js.map +0 -1
- package/packages/file/dist/tool-Bucjz6Ay.js.map +0 -1
- package/packages/providers/dist/assets/FocusProvider-AfpGH4B_.js +0 -2
- package/packages/providers/dist/assets/FocusProvider-AfpGH4B_.js.map +0 -1
- package/packages/threepane/dist/IsolatedDocumentArea-JJMLEL4O.js +0 -2
- package/packages/threepane/dist/PatchworkFrame-HMA5KZLY.js +0 -2
- /package/packages/theming/dist/{active-theme-WA6XMDTP.js.map → active-theme-HEMDARRS.js.map} +0 -0
- /package/packages/theming/dist/{chunk-4GOF67HA.js.map → chunk-2LCY4PP2.js.map} +0 -0
- /package/packages/theming/dist/{chunk-L7WQSSFT.js.map → chunk-MJMDS3V5.js.map} +0 -0
- /package/packages/theming/dist/{theme-titlebar-LG6PFBKR.js.map → theme-titlebar-JLYY4TZR.js.map} +0 -0
- /package/packages/theming/dist/{theme-tray-R3PJDYCL.js.map → theme-tray-OZPNTCHA.js.map} +0 -0
- /package/packages/threepane/dist/{IsolatedDocumentArea-JJMLEL4O.js.map → IsolatedDocumentArea-PIXYOA25.js.map} +0 -0
|
@@ -101,7 +101,7 @@ function DocOpenWith(handle, element) {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
.doc-openwith-btn:hover,
|
|
104
|
-
.doc-openwith-btn
|
|
104
|
+
.doc-openwith-btn--open {
|
|
105
105
|
border-color: var(--doc-openwith-border-hover);
|
|
106
106
|
background: var(--doc-openwith-hover);
|
|
107
107
|
}
|
|
@@ -116,6 +116,18 @@ function DocOpenWith(handle, element) {
|
|
|
116
116
|
background: var(--doc-openwith-bg);
|
|
117
117
|
box-shadow: var(--studio-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
|
|
118
118
|
overflow: hidden;
|
|
119
|
+
/* Grows out of the button (transform-origin is set in toggleMenu, to
|
|
120
|
+
whichever edge it is aligned to). Closing is instant. */
|
|
121
|
+
transition:
|
|
122
|
+
opacity max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
|
|
123
|
+
scale max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@starting-style {
|
|
127
|
+
.doc-openwith-menu[popover]:popover-open {
|
|
128
|
+
opacity: 0;
|
|
129
|
+
scale: 0.97;
|
|
130
|
+
}
|
|
119
131
|
}
|
|
120
132
|
|
|
121
133
|
.doc-openwith-input {
|
|
@@ -254,9 +266,11 @@ function DocOpenWith(handle, element) {
|
|
|
254
266
|
if (rect.left + menuWidth > window.innerWidth - 8) {
|
|
255
267
|
menuEl.style.left = ""
|
|
256
268
|
menuEl.style.right = window.innerWidth - rect.right + "px"
|
|
269
|
+
menuEl.style.transformOrigin = "top right"
|
|
257
270
|
} else {
|
|
258
271
|
menuEl.style.right = ""
|
|
259
272
|
menuEl.style.left = rect.left + "px"
|
|
273
|
+
menuEl.style.transformOrigin = "top left"
|
|
260
274
|
}
|
|
261
275
|
menuEl.togglePopover()
|
|
262
276
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {render} from "solid-js/web"
|
|
2
2
|
import html from "solid-js/html"
|
|
3
|
-
import {createSignal} from "solid-js"
|
|
3
|
+
import {createMemo, createSignal, For, Show} from "solid-js"
|
|
4
4
|
import {Presence} from "@automerge/automerge-repo"
|
|
5
5
|
import {automergeUrlToServiceWorkerUrl} from "@inkandswitch/patchwork-filesystem"
|
|
6
6
|
import {subscribe} from "@inkandswitch/patchwork-providers"
|
|
@@ -169,26 +169,45 @@ function DocPresence(handle, element) {
|
|
|
169
169
|
connectToSelectedDocProvider(element)
|
|
170
170
|
const session = joinDoc(handle)
|
|
171
171
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
172
|
+
// A face is built once and kept: everything about it that can change is
|
|
173
|
+
// read through `entry` (an accessor), so a peer's heartbeat updates the face
|
|
174
|
+
// it has rather than replacing it.
|
|
175
|
+
function face(entry, faded) {
|
|
176
|
+
const imgUrl = () => {
|
|
177
|
+
const avatarUrl = entry()?.avatarUrl
|
|
178
|
+
return avatarUrl ? automergeUrlToServiceWorkerUrl(avatarUrl) : null
|
|
179
|
+
}
|
|
178
180
|
return html`<div
|
|
179
|
-
class
|
|
181
|
+
class=${() =>
|
|
182
|
+
"doc-presence-face" + (faded() ? " doc-presence-face--faded" : "")}
|
|
180
183
|
style=${() => {
|
|
181
|
-
let s = `--face-color:${
|
|
182
|
-
|
|
183
|
-
|
|
184
|
+
let s = `--face-color:${entry()?.color || "#888"};`
|
|
185
|
+
const url = imgUrl()
|
|
186
|
+
if (url) s += ` background-image: url("${url}"); color: transparent;`
|
|
184
187
|
return s
|
|
185
188
|
}}
|
|
186
|
-
title=${entry
|
|
189
|
+
title=${() => entry()?.name}
|
|
187
190
|
>
|
|
188
|
-
${
|
|
191
|
+
${() => (entry()?.name || "?")[0].toUpperCase()}
|
|
189
192
|
</div>`
|
|
190
193
|
}
|
|
191
194
|
|
|
195
|
+
// One face per contact, keyed by its url. `session.peers()` is a fresh array
|
|
196
|
+
// of fresh objects on every presence event (a heartbeat every couple of
|
|
197
|
+
// seconds), so the list is keyed on the urls, which are stable, and each
|
|
198
|
+
// face looks its own peer up.
|
|
199
|
+
const peerUrlsOf = () =>
|
|
200
|
+
createMemo(() => session.peers().map(p => p.value.contactUrl), [], {
|
|
201
|
+
equals: (a, b) =>
|
|
202
|
+
a.length === b.length && a.every((url, i) => url === b[i]),
|
|
203
|
+
})
|
|
204
|
+
// holds on to the last state it saw: a face can outlive its peer by a tick
|
|
205
|
+
const peerState = url =>
|
|
206
|
+
createMemo(
|
|
207
|
+
prev =>
|
|
208
|
+
session.peers().find(p => p.value.contactUrl === url)?.value ?? prev,
|
|
209
|
+
)
|
|
210
|
+
|
|
192
211
|
const style = document.createElement("style")
|
|
193
212
|
style.textContent = `
|
|
194
213
|
.doc-presence {
|
|
@@ -210,29 +229,53 @@ function DocPresence(handle, element) {
|
|
|
210
229
|
line-height: 1;
|
|
211
230
|
overflow: hidden;
|
|
212
231
|
flex-shrink: 0;
|
|
213
|
-
transition:
|
|
232
|
+
transition:
|
|
233
|
+
opacity max(1ms, calc(0.3s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease,
|
|
234
|
+
scale max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
|
|
214
235
|
background-color: var(--color-base-200, #eee);
|
|
215
236
|
background-size: cover;
|
|
216
237
|
background-position: center;
|
|
217
238
|
color: var(--color-base-content, #333);
|
|
218
239
|
}
|
|
240
|
+
/* someone whose window isn't focused */
|
|
241
|
+
.doc-presence-face--faded {
|
|
242
|
+
opacity: 0.35;
|
|
243
|
+
}
|
|
244
|
+
/* Someone arriving while you watch fades in. The faces already here when
|
|
245
|
+
the bar is drawn don't: \`data-live\` goes on a frame after that. */
|
|
246
|
+
@starting-style {
|
|
247
|
+
.doc-presence[data-live] .doc-presence-face,
|
|
248
|
+
.doc-presence[data-live] .doc-presence-face--faded {
|
|
249
|
+
opacity: 0;
|
|
250
|
+
scale: 0.8;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
219
253
|
`
|
|
220
254
|
element.appendChild(style)
|
|
221
255
|
|
|
222
256
|
const dispose = render(
|
|
223
|
-
() =>
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
257
|
+
() => {
|
|
258
|
+
const peerUrls = peerUrlsOf()
|
|
259
|
+
return html`<div class="doc-presence">
|
|
260
|
+
<${Show} when=${() => selfInfo()}>
|
|
261
|
+
${() => face(selfInfo, () => !focused())}
|
|
262
|
+
<//>
|
|
263
|
+
<${For} each=${() => peerUrls()}>
|
|
264
|
+
${url => {
|
|
265
|
+
const state = peerState(url)
|
|
266
|
+
return face(state, () => !state()?.focused)
|
|
267
|
+
}}
|
|
268
|
+
<//>
|
|
269
|
+
</div>`
|
|
270
|
+
},
|
|
232
271
|
element,
|
|
233
272
|
)
|
|
273
|
+
const live = requestAnimationFrame(() =>
|
|
274
|
+
element.querySelector(".doc-presence")?.setAttribute("data-live", ""),
|
|
275
|
+
)
|
|
234
276
|
|
|
235
277
|
return () => {
|
|
278
|
+
cancelAnimationFrame(live)
|
|
236
279
|
leaveDoc(handle)
|
|
237
280
|
style.remove()
|
|
238
281
|
dispose()
|
|
@@ -97,6 +97,32 @@
|
|
|
97
97
|
var(--drafts-shadow-sm);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
/* A merge just landed here: the ring the hover promised holds for a beat,
|
|
101
|
+
then fades. It is drawn over the card, since the card clips its own shadow
|
|
102
|
+
(see LANDED_MS in DraftsSidebar.tsx, which outlasts this). */
|
|
103
|
+
.draft-card[data-landed] {
|
|
104
|
+
position: relative;
|
|
105
|
+
}
|
|
106
|
+
.draft-card[data-landed]::after {
|
|
107
|
+
content: "";
|
|
108
|
+
position: absolute;
|
|
109
|
+
inset: 0;
|
|
110
|
+
border-radius: inherit;
|
|
111
|
+
border: 2px solid var(--drafts-primary);
|
|
112
|
+
background: color-mix(in oklch, var(--drafts-primary), transparent 88%);
|
|
113
|
+
pointer-events: none;
|
|
114
|
+
animation: draft-landed max(1ms, calc(600ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease-out both;
|
|
115
|
+
}
|
|
116
|
+
@keyframes draft-landed {
|
|
117
|
+
0%,
|
|
118
|
+
30% {
|
|
119
|
+
opacity: 1;
|
|
120
|
+
}
|
|
121
|
+
100% {
|
|
122
|
+
opacity: 0;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
100
126
|
.draft-card-header {
|
|
101
127
|
/* The header is a div (a rename input can't nest in a button), which,
|
|
102
128
|
unlike a button, doesn't default to border-box — without this the
|
|
@@ -1299,6 +1325,7 @@ const EMPTY_DRAFT_LIST = {
|
|
|
1299
1325
|
actorAttributionUrl: null
|
|
1300
1326
|
};
|
|
1301
1327
|
const DRAFTS_VERSION = "0.0.45";
|
|
1328
|
+
const LANDED_MS = 700;
|
|
1302
1329
|
console.log(`[drafts] DraftsSidebar v${DRAFTS_VERSION} loaded`);
|
|
1303
1330
|
function DraftsSidebar(props) {
|
|
1304
1331
|
const [hostDoc, hostDocHandle] = subscribeDoc(props.element, {
|
|
@@ -1598,6 +1625,18 @@ function DraftsSidebar(props) {
|
|
|
1598
1625
|
return `Fork from ${formatVersionTime(time)}`;
|
|
1599
1626
|
});
|
|
1600
1627
|
const [mergeHighlight, setMergeHighlight] = createSignal(false);
|
|
1628
|
+
const [landed, setLanded] = createSignal(null);
|
|
1629
|
+
let landedTimer;
|
|
1630
|
+
const flashLanded = (target) => {
|
|
1631
|
+
clearTimeout(landedTimer);
|
|
1632
|
+
setLanded(target);
|
|
1633
|
+
landedTimer = setTimeout(() => setLanded(null), LANDED_MS);
|
|
1634
|
+
};
|
|
1635
|
+
onCleanup(() => clearTimeout(landedTimer));
|
|
1636
|
+
const draftUrls = createMemo(() => list().drafts.map((s) => s.url), [], {
|
|
1637
|
+
equals: (a, b) => a.length === b.length && a.every((url, i) => url === b[i])
|
|
1638
|
+
});
|
|
1639
|
+
const summaryFor = (url) => createMemo((prev) => list().drafts.find((s) => s.url === url) ?? prev, list().drafts.find((s) => s.url === url));
|
|
1601
1640
|
const draftDepth = (summary) => {
|
|
1602
1641
|
const byUrl = new Map(list().drafts.map((s) => [s.url, s]));
|
|
1603
1642
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -1622,7 +1661,9 @@ function DraftsSidebar(props) {
|
|
|
1622
1661
|
}
|
|
1623
1662
|
const draftHandle = await repo.find(draftUrl);
|
|
1624
1663
|
await mergeDraft(repo, draftHandle);
|
|
1625
|
-
|
|
1664
|
+
const target = parentUrl && parentUrl !== list().main.url ? parentUrl : null;
|
|
1665
|
+
selectDraft(target);
|
|
1666
|
+
flashLanded(target ?? "main");
|
|
1626
1667
|
};
|
|
1627
1668
|
const onDeleteDraft = async () => {
|
|
1628
1669
|
const draftUrl = selected();
|
|
@@ -1703,65 +1744,74 @@ function DraftsSidebar(props) {
|
|
|
1703
1744
|
onForkAt: () => void onForkSelection(true),
|
|
1704
1745
|
get isMergeTarget() {
|
|
1705
1746
|
return memo(() => !!mergeHighlight())() && mergeParentUrl() === list().main.url;
|
|
1747
|
+
},
|
|
1748
|
+
get justLanded() {
|
|
1749
|
+
return landed() === "main";
|
|
1706
1750
|
}
|
|
1707
1751
|
}), null);
|
|
1708
1752
|
insert(_el$2, createComponent(For, {
|
|
1709
1753
|
get each() {
|
|
1710
|
-
return
|
|
1754
|
+
return draftUrls();
|
|
1711
1755
|
},
|
|
1712
|
-
children: (
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1756
|
+
children: (url) => {
|
|
1757
|
+
const summary = summaryFor(url);
|
|
1758
|
+
return createComponent(DraftCard, {
|
|
1759
|
+
get url() {
|
|
1760
|
+
return summary().url;
|
|
1761
|
+
},
|
|
1762
|
+
get members() {
|
|
1763
|
+
return summary().members;
|
|
1764
|
+
},
|
|
1765
|
+
get changeGroupDocUrl() {
|
|
1766
|
+
return summary().changeGroupDocUrl;
|
|
1767
|
+
},
|
|
1768
|
+
get mainDocUrl() {
|
|
1769
|
+
return hostDocHandle()?.url;
|
|
1770
|
+
},
|
|
1771
|
+
get isSelected() {
|
|
1772
|
+
return selected() === summary().url;
|
|
1773
|
+
},
|
|
1774
|
+
get name() {
|
|
1775
|
+
return summary().name;
|
|
1776
|
+
},
|
|
1777
|
+
get depth() {
|
|
1778
|
+
return draftDepth(summary());
|
|
1779
|
+
},
|
|
1780
|
+
onRename: (name) => void onRename(summary().url, name),
|
|
1781
|
+
onSelect: selectDraft,
|
|
1782
|
+
onScrub: (scrub) => onScrub(summary().url, summary().members, scrub),
|
|
1783
|
+
scrubber: () => selected() === summary().url ? scrubber() : null,
|
|
1784
|
+
onBaselineScrub: (base) => onBaselineScrub(summary().url, summary().members, base),
|
|
1785
|
+
baseliner: () => selected() === summary().url ? baseliner() : null,
|
|
1786
|
+
checkpoint: () => selected() === summary().url ? checkedOut()?.at ?? null : null,
|
|
1787
|
+
get hasCheckpoint() {
|
|
1788
|
+
return memo(() => selected() === summary().url)() && isPinned();
|
|
1789
|
+
},
|
|
1790
|
+
onReturnToLatest: clearCheckpoint,
|
|
1791
|
+
get eyeOpen() {
|
|
1792
|
+
return memo(() => selected() === summary().url)() && eyeOpen();
|
|
1793
|
+
},
|
|
1794
|
+
eyeDisabled: false,
|
|
1795
|
+
onToggleEye: toggleEye,
|
|
1796
|
+
onFork: () => void onForkSelection(false),
|
|
1797
|
+
get forkAtLabel() {
|
|
1798
|
+
return forkAtLabel();
|
|
1799
|
+
},
|
|
1800
|
+
onForkAt: () => void onForkSelection(true),
|
|
1801
|
+
get mergeLabel() {
|
|
1802
|
+
return `Merge into "${mergeTargetName()}"`;
|
|
1803
|
+
},
|
|
1804
|
+
onMerge: () => void onMergeDraft(),
|
|
1805
|
+
onMergeHover: setMergeHighlight,
|
|
1806
|
+
onDelete: () => void onDeleteDraft(),
|
|
1807
|
+
get isMergeTarget() {
|
|
1808
|
+
return memo(() => !!mergeHighlight())() && mergeParentUrl() === summary().url;
|
|
1809
|
+
},
|
|
1810
|
+
get justLanded() {
|
|
1811
|
+
return landed() === summary().url;
|
|
1812
|
+
}
|
|
1813
|
+
});
|
|
1814
|
+
}
|
|
1765
1815
|
}), null);
|
|
1766
1816
|
return _el$2;
|
|
1767
1817
|
}
|
|
@@ -2080,15 +2130,17 @@ function MainCard(props) {
|
|
|
2080
2130
|
}
|
|
2081
2131
|
}), null);
|
|
2082
2132
|
effect((_p$) => {
|
|
2083
|
-
var _v$ = props.isSelected ? "" : void 0, _v$2 = menuOpen() ? "" : void 0, _v$3 = props.isMergeTarget ? "" : void 0;
|
|
2133
|
+
var _v$ = props.isSelected ? "" : void 0, _v$2 = menuOpen() ? "" : void 0, _v$3 = props.isMergeTarget ? "" : void 0, _v$4 = props.justLanded ? "" : void 0;
|
|
2084
2134
|
_v$ !== _p$.e && setAttribute(_el$5, "data-selected", _p$.e = _v$);
|
|
2085
2135
|
_v$2 !== _p$.t && setAttribute(_el$5, "data-menu-open", _p$.t = _v$2);
|
|
2086
2136
|
_v$3 !== _p$.a && setAttribute(_el$5, "data-merge-target", _p$.a = _v$3);
|
|
2137
|
+
_v$4 !== _p$.o && setAttribute(_el$5, "data-landed", _p$.o = _v$4);
|
|
2087
2138
|
return _p$;
|
|
2088
2139
|
}, {
|
|
2089
2140
|
e: void 0,
|
|
2090
2141
|
t: void 0,
|
|
2091
|
-
a: void 0
|
|
2142
|
+
a: void 0,
|
|
2143
|
+
o: void 0
|
|
2092
2144
|
});
|
|
2093
2145
|
return _el$5;
|
|
2094
2146
|
})();
|
|
@@ -2198,17 +2250,19 @@ function DraftCard(props) {
|
|
|
2198
2250
|
}
|
|
2199
2251
|
}), null);
|
|
2200
2252
|
effect((_p$) => {
|
|
2201
|
-
var _v$
|
|
2202
|
-
_v$
|
|
2203
|
-
_v$
|
|
2204
|
-
_v$
|
|
2205
|
-
_v$
|
|
2253
|
+
var _v$5 = props.isSelected ? "" : void 0, _v$6 = menuOpen() ? "" : void 0, _v$7 = props.isMergeTarget ? "" : void 0, _v$8 = props.justLanded ? "" : void 0, _v$9 = `${Math.min(props.depth + 1, 5)}rem`;
|
|
2254
|
+
_v$5 !== _p$.e && setAttribute(_el$0, "data-selected", _p$.e = _v$5);
|
|
2255
|
+
_v$6 !== _p$.t && setAttribute(_el$0, "data-menu-open", _p$.t = _v$6);
|
|
2256
|
+
_v$7 !== _p$.a && setAttribute(_el$0, "data-merge-target", _p$.a = _v$7);
|
|
2257
|
+
_v$8 !== _p$.o && setAttribute(_el$0, "data-landed", _p$.o = _v$8);
|
|
2258
|
+
_v$9 !== _p$.i && setStyleProperty(_el$0, "margin-left", _p$.i = _v$9);
|
|
2206
2259
|
return _p$;
|
|
2207
2260
|
}, {
|
|
2208
2261
|
e: void 0,
|
|
2209
2262
|
t: void 0,
|
|
2210
2263
|
a: void 0,
|
|
2211
|
-
o: void 0
|
|
2264
|
+
o: void 0,
|
|
2265
|
+
i: void 0
|
|
2212
2266
|
});
|
|
2213
2267
|
return _el$0;
|
|
2214
2268
|
})();
|
|
@@ -2295,9 +2349,9 @@ function CardMenu(props) {
|
|
|
2295
2349
|
})()]
|
|
2296
2350
|
}), null);
|
|
2297
2351
|
effect((_p$) => {
|
|
2298
|
-
var _v$
|
|
2299
|
-
_v$
|
|
2300
|
-
_v$
|
|
2352
|
+
var _v$0 = props.forkDisabled, _v$1 = props.forkDisabled ? "Drafts aren't supported for folders yet" : "Fork a new draft from the latest version";
|
|
2353
|
+
_v$0 !== _p$.e && (_el$17.disabled = _p$.e = _v$0);
|
|
2354
|
+
_v$1 !== _p$.t && setAttribute(_el$17, "title", _p$.t = _v$1);
|
|
2301
2355
|
return _p$;
|
|
2302
2356
|
}, {
|
|
2303
2357
|
e: void 0,
|
|
@@ -2392,11 +2446,11 @@ function EyeToggle(props) {
|
|
|
2392
2446
|
}
|
|
2393
2447
|
}));
|
|
2394
2448
|
effect((_p$) => {
|
|
2395
|
-
var _v$
|
|
2396
|
-
_v$
|
|
2397
|
-
_v$
|
|
2398
|
-
_v$
|
|
2399
|
-
_v$
|
|
2449
|
+
var _v$10 = props.open ? "" : void 0, _v$11 = props.disabled ? "" : void 0, _v$12 = props.disabled, _v$13 = props.disabled ? "Nothing to compare yet — select a version in the timeline first" : props.open ? "Hide changes" : "Show what changed";
|
|
2450
|
+
_v$10 !== _p$.e && setAttribute(_el$32, "data-active", _p$.e = _v$10);
|
|
2451
|
+
_v$11 !== _p$.t && setAttribute(_el$32, "data-disabled", _p$.t = _v$11);
|
|
2452
|
+
_v$12 !== _p$.a && setAttribute(_el$32, "aria-disabled", _p$.a = _v$12);
|
|
2453
|
+
_v$13 !== _p$.o && setAttribute(_el$32, "title", _p$.o = _v$13);
|
|
2400
2454
|
return _p$;
|
|
2401
2455
|
}, {
|
|
2402
2456
|
e: void 0,
|
|
@@ -2867,9 +2921,9 @@ function DraftChangesList(props) {
|
|
|
2867
2921
|
return [(() => {
|
|
2868
2922
|
var _el$44 = _tmpl$25();
|
|
2869
2923
|
effect((_p$) => {
|
|
2870
|
-
var _v$
|
|
2871
|
-
_v$
|
|
2872
|
-
_v$
|
|
2924
|
+
var _v$14 = `${Math.min(tokenGeometry()?.top ?? 0, baselineGeometry().top)}px`, _v$15 = `${Math.abs((tokenGeometry()?.top ?? 0) - baselineGeometry().top)}px`;
|
|
2925
|
+
_v$14 !== _p$.e && setStyleProperty(_el$44, "top", _p$.e = _v$14);
|
|
2926
|
+
_v$15 !== _p$.t && setStyleProperty(_el$44, "height", _p$.t = _v$15);
|
|
2873
2927
|
return _p$;
|
|
2874
2928
|
}, {
|
|
2875
2929
|
e: void 0,
|
|
@@ -2942,11 +2996,11 @@ function AuthorAvatars(props) {
|
|
|
2942
2996
|
}
|
|
2943
2997
|
}));
|
|
2944
2998
|
effect((_p$) => {
|
|
2945
|
-
var _v$
|
|
2946
|
-
_v$
|
|
2947
|
-
_v$
|
|
2948
|
-
_v$
|
|
2949
|
-
_v$
|
|
2999
|
+
var _v$16 = author.contactUrl ? void 0 : author.key, _v$17 = author.contactUrl ? void 0 : authorColor(author.key), _v$18 = i() === 0 ? "0" : "-4px", _v$19 = String(visible().length - i());
|
|
3000
|
+
_v$16 !== _p$.e && setAttribute(_el$60, "title", _p$.e = _v$16);
|
|
3001
|
+
_v$17 !== _p$.t && setStyleProperty(_el$60, "background", _p$.t = _v$17);
|
|
3002
|
+
_v$18 !== _p$.a && setStyleProperty(_el$60, "margin-left", _p$.a = _v$18);
|
|
3003
|
+
_v$19 !== _p$.o && setStyleProperty(_el$60, "z-index", _p$.o = _v$19);
|
|
2950
3004
|
return _p$;
|
|
2951
3005
|
}, {
|
|
2952
3006
|
e: void 0,
|
|
@@ -3120,4 +3174,4 @@ const renderDraftsSidebar = (_handle, element) => {
|
|
|
3120
3174
|
export {
|
|
3121
3175
|
renderDraftsSidebar
|
|
3122
3176
|
};
|
|
3123
|
-
//# sourceMappingURL=main-
|
|
3177
|
+
//# sourceMappingURL=main-wz7oton3.js.map
|