@diplodoc/transform 4.49.0 → 4.50.1
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/css/_yfm-only.css.map +1 -1
- package/dist/css/_yfm-only.min.css.map +1 -1
- package/dist/css/base.css +71 -11
- package/dist/css/base.css.map +3 -3
- package/dist/css/base.min.css +1 -1
- package/dist/css/base.min.css.map +3 -3
- package/dist/css/print.css.map +1 -1
- package/dist/css/yfm.css +71 -11
- package/dist/css/yfm.css.map +3 -3
- package/dist/css/yfm.min.css +1 -1
- package/dist/css/yfm.min.css.map +3 -3
- package/dist/js/yfm.js +70 -63
- package/dist/js/yfm.js.map +3 -3
- package/dist/js/yfm.min.js +1 -1
- package/dist/js/yfm.min.js.map +3 -3
- package/lib/md.js +2 -0
- package/lib/md.js.map +1 -1
- package/lib/plugins/ol-attr-conversion.d.ts +2 -0
- package/lib/plugins/ol-attr-conversion.js +21 -0
- package/lib/plugins/ol-attr-conversion.js.map +1 -0
- package/package.json +2 -2
- package/src/scss/_common.scss +1 -18
- package/src/scss/_lists.scss +71 -0
- package/src/transform/md.ts +2 -0
- package/src/transform/plugins/ol-attr-conversion.ts +21 -0
package/dist/js/yfm.js
CHANGED
|
@@ -122,11 +122,11 @@
|
|
|
122
122
|
// node_modules/@diplodoc/tabs-extension/build/runtime/index.js
|
|
123
123
|
(() => {
|
|
124
124
|
var x = "yfm-tabs", H = "yfm-tab", F = "yfm-tab-panel", D = "yfm-tab-list", l = "active";
|
|
125
|
-
var B = "data-diplodoc-group", G = "data-diplodoc-key", y = "data-diplodoc-variant",
|
|
126
|
-
var
|
|
127
|
-
var
|
|
125
|
+
var B = "data-diplodoc-group", G = "data-diplodoc-key", y = "data-diplodoc-variant", U = "data-diplodoc-id", L = "defaultTabsGroup-";
|
|
126
|
+
var R = "data-diplodoc-forced";
|
|
127
|
+
var w = "yfm-tabs-dropdown-select";
|
|
128
128
|
var W = "yfm-tabs-vertical";
|
|
129
|
-
var
|
|
129
|
+
var O = ((g) => (g.Regular = "regular", g.Radio = "radio", g.Dropdown = "dropdown", g.Accordion = "accordion", g))(O || {}), X = Symbol.for("diplodocTabs");
|
|
130
130
|
var f = (C) => {
|
|
131
131
|
let t = C.composedPath();
|
|
132
132
|
return Array.isArray(t) && t.length > 0 ? t[0] : C.target;
|
|
@@ -141,6 +141,7 @@
|
|
|
141
141
|
constructor(t, e = {}) {
|
|
142
142
|
this._onSelectTabHandlers = /* @__PURE__ */ new Set();
|
|
143
143
|
this._currentPageTabGroups = [];
|
|
144
|
+
this._isRestoringTabs = false;
|
|
144
145
|
this._document = t, this._options = Object.assign({ saveTabsToLocalStorage: false, saveTabsToQueryStateMode: "none" }, e), this._document.addEventListener("click", (o) => {
|
|
145
146
|
let g = f(o);
|
|
146
147
|
if (o.target && this.hideAllDropdown(o.target), Z(o)) return;
|
|
@@ -174,10 +175,10 @@
|
|
|
174
175
|
if (!g) return;
|
|
175
176
|
let I = f(o);
|
|
176
177
|
if (Z(o) || !this.isValidTabElement(I)) return;
|
|
177
|
-
let { tabs: a, nodes:
|
|
178
|
-
if (!i || a.length <= 1 ||
|
|
179
|
-
let
|
|
180
|
-
this.selectTab(a[
|
|
178
|
+
let { tabs: a, nodes: r } = this.getTabs(I), i = this.getTabDataFromHTMLElement(I), c = a.findIndex(({ key: A }) => (i == null ? void 0 : i.key) && A === i.key);
|
|
179
|
+
if (!i || a.length <= 1 || c === -1) return;
|
|
180
|
+
let s = (c + (g === "left" ? -1 : 1) + a.length) % a.length;
|
|
181
|
+
this.selectTab(a[s]), r[s].focus();
|
|
181
182
|
});
|
|
182
183
|
}
|
|
183
184
|
configure(t) {
|
|
@@ -189,7 +190,7 @@
|
|
|
189
190
|
};
|
|
190
191
|
}
|
|
191
192
|
selectTabById(t, e) {
|
|
192
|
-
let o = this._document.querySelector(`${n.TAB}[${
|
|
193
|
+
let o = this._document.querySelector(`${n.TAB}[${U}="${t}"]`);
|
|
193
194
|
if (!o || !this.isValidTabElement(o)) return;
|
|
194
195
|
let g = this.getTabDataFromHTMLElement(o);
|
|
195
196
|
g && this._selectTab(g, o), e != null && e.scrollToElement && o.scrollIntoView();
|
|
@@ -198,9 +199,14 @@
|
|
|
198
199
|
this._selectTab(t);
|
|
199
200
|
}
|
|
200
201
|
restoreTabs(t) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
202
|
+
this._isRestoringTabs = true;
|
|
203
|
+
try {
|
|
204
|
+
for (let [e, o] of Object.entries(t)) if (e) {
|
|
205
|
+
let g = __spreadValues({ group: e }, o);
|
|
206
|
+
this.selectTab(g);
|
|
207
|
+
}
|
|
208
|
+
} finally {
|
|
209
|
+
this._isRestoringTabs = false;
|
|
204
210
|
}
|
|
205
211
|
}
|
|
206
212
|
getTabsFromLocalStorage() {
|
|
@@ -209,21 +215,22 @@
|
|
|
209
215
|
getTabsFromSearchQuery() {
|
|
210
216
|
let t = {}, e = new URLSearchParams(window.location.search);
|
|
211
217
|
return e.has("tabs") && (e.get("tabs") || "").split(",").forEach((I) => {
|
|
212
|
-
let a = I.split("_"), [
|
|
213
|
-
if (a.length === 3 && (
|
|
214
|
-
let
|
|
215
|
-
t[
|
|
218
|
+
let a = I.split("_"), [r, i] = a, c = "regular";
|
|
219
|
+
if (a.length === 3 && (c = a[2]), r && i && Object.values(O).includes(c)) {
|
|
220
|
+
let s = i;
|
|
221
|
+
t[r] = { key: s, variant: c };
|
|
216
222
|
}
|
|
217
223
|
}), t;
|
|
218
224
|
}
|
|
219
225
|
updateLocalStorageWithTabs(t) {
|
|
220
|
-
this._options.saveTabsToLocalStorage && localStorage.setItem("tabsHistory", JSON.stringify(t));
|
|
226
|
+
this._options.saveTabsToLocalStorage && (this._isRestoringTabs || localStorage.setItem("tabsHistory", JSON.stringify(t)));
|
|
221
227
|
}
|
|
222
228
|
updateQueryParamWithTabs(t) {
|
|
223
|
-
|
|
224
|
-
e.
|
|
225
|
-
|
|
226
|
-
|
|
229
|
+
if (this._isRestoringTabs) return;
|
|
230
|
+
let e = new URLSearchParams(window.location.search), o = Object.entries(t).map(([a, { key: r, variant: i }]) => i === "regular" ? `${a}_${r}` : `${a}_${r}_${i}`);
|
|
231
|
+
o.length > 0 ? e.set("tabs", o.join(",")) : e.delete("tabs");
|
|
232
|
+
let g = history.state || {}, I = new URL(window.location.href);
|
|
233
|
+
I.search = e.toString(), window.history.replaceState(__spreadValues({}, g), document.title, I.href);
|
|
227
234
|
}
|
|
228
235
|
getCurrentPageTabHistory(t) {
|
|
229
236
|
return Object.fromEntries(Object.entries(t).filter(([e]) => this._currentPageTabGroups.includes(e)));
|
|
@@ -245,8 +252,8 @@
|
|
|
245
252
|
let { group: o, key: g, variant: I } = t;
|
|
246
253
|
if (!o) return;
|
|
247
254
|
this.saveTabPreferred({ group: o, key: g, variant: I });
|
|
248
|
-
let a = e && v(e),
|
|
249
|
-
this.updateHTML({ group: o, key: g, variant: I }, e, I) > 0 && (this.fireSelectTabEvent({ group: o, key: g, variant: I }, e == null ? void 0 : e.dataset.diplodocId),
|
|
255
|
+
let a = e && v(e), r = a && Q(e, a);
|
|
256
|
+
this.updateHTML({ group: o, key: g, variant: I }, e, I) > 0 && (this.fireSelectTabEvent({ group: o, key: g, variant: I }, e == null ? void 0 : e.dataset.diplodocId), r && this.resetScroll(e, a, r));
|
|
250
257
|
}
|
|
251
258
|
updateHTML(t, e, o) {
|
|
252
259
|
switch (o) {
|
|
@@ -276,29 +283,29 @@
|
|
|
276
283
|
}
|
|
277
284
|
}
|
|
278
285
|
updateHTMLRadio(t, e) {
|
|
279
|
-
let { group: o, key: g } = t, { isForced: I, root: a } = this.didTabOpenForce(e),
|
|
280
|
-
I && (a == null || a.removeAttribute(
|
|
281
|
-
let
|
|
282
|
-
return i.forEach((
|
|
283
|
-
let m =
|
|
286
|
+
let { group: o, key: g } = t, { isForced: I, root: a } = this.didTabOpenForce(e), r = I ? `.yfm-vertical-tab[${R}="true"]` : "", i = this._document.querySelectorAll(`${n.TABS}[${B}="${o}"] ${n.TAB}[${G}="${g}"]${r}`);
|
|
287
|
+
I && (a == null || a.removeAttribute(R));
|
|
288
|
+
let c = 0;
|
|
289
|
+
return i.forEach((s) => {
|
|
290
|
+
let m = s.parentNode.children;
|
|
284
291
|
for (let p = 0; p < m.length; p += 2) {
|
|
285
292
|
let [d, b] = [m.item(p), m.item(p + 1)], u = d.children.item(0);
|
|
286
|
-
if (d ===
|
|
293
|
+
if (d === s) {
|
|
287
294
|
u.checked ? (d.classList.remove("active"), b == null || b.classList.remove("active"), u.removeAttribute("checked")) : (d.classList.add("active"), b == null || b.classList.add("active"), u.setAttribute("checked", "true"));
|
|
288
295
|
continue;
|
|
289
296
|
}
|
|
290
|
-
u.hasAttribute("checked") && (d.classList.remove("active"), b == null || b.classList.remove("active"), u.removeAttribute("checked")),
|
|
297
|
+
u.hasAttribute("checked") && (d.classList.remove("active"), b == null || b.classList.remove("active"), u.removeAttribute("checked")), c++;
|
|
291
298
|
}
|
|
292
|
-
}),
|
|
299
|
+
}), c;
|
|
293
300
|
}
|
|
294
301
|
updateHTMLRegular(t) {
|
|
295
302
|
let { group: e, key: o } = t, g = this._document.querySelectorAll(`${n.TABS}[${B}="${e}"] ${n.TAB}[${G}="${o}"]`), I = 0;
|
|
296
303
|
return g.forEach((a) => {
|
|
297
|
-
let
|
|
298
|
-
if (!this.isValidTabElement(
|
|
304
|
+
let r = a;
|
|
305
|
+
if (!this.isValidTabElement(r) || r.dataset.diplodocIsActive === "true") return;
|
|
299
306
|
I++;
|
|
300
|
-
let i = a,
|
|
301
|
-
|
|
307
|
+
let i = a, c = i.parentNode, s = c == null ? void 0 : c.parentNode, A = Array.from((c == null ? void 0 : c.querySelectorAll(n.TAB)) || []), m = Array.from((s == null ? void 0 : s.children) || []).filter((d) => d.classList.contains(F)), p = A.indexOf(i);
|
|
308
|
+
A.forEach((d, b) => {
|
|
302
309
|
let u = m[b], T = b === p, S = d;
|
|
303
310
|
S.dataset.diplodocIsActive = T ? "true" : "false", d.classList.toggle(l, T), d.setAttribute("aria-selected", T.toString()), d.setAttribute("tabindex", T ? "0" : "-1"), u.classList.toggle(l, T);
|
|
304
311
|
});
|
|
@@ -307,14 +314,14 @@
|
|
|
307
314
|
updateHTMLDropdown(t) {
|
|
308
315
|
let { group: e, key: o } = t, g = this._document.querySelectorAll(`${n.TABS}[${B}="${e}"] ${n.TAB}[${G}="${o}"]`), I = 0;
|
|
309
316
|
return g.forEach((a) => {
|
|
310
|
-
let
|
|
311
|
-
if (!(
|
|
312
|
-
let i =
|
|
317
|
+
let r = a.closest(`[${y}=dropdown]`);
|
|
318
|
+
if (!(r != null && r.children)) return;
|
|
319
|
+
let i = r.children.item(0), c = r.children.item(1);
|
|
313
320
|
i == null || i.classList.remove(l);
|
|
314
|
-
let
|
|
315
|
-
for (let
|
|
316
|
-
let m =
|
|
317
|
-
if (I++,
|
|
321
|
+
let s = Array.from((c == null ? void 0 : c.children) || []).indexOf(a) + 2;
|
|
322
|
+
for (let A = 2; A < r.children.length; A++) {
|
|
323
|
+
let m = r.children.item(A), p = c == null ? void 0 : c.children.item(A - 2);
|
|
324
|
+
if (I++, s === A) {
|
|
318
325
|
m == null || m.classList.add(l), p.classList.add(l), i.innerHTML = a.innerHTML, i.classList.add("filled");
|
|
319
326
|
continue;
|
|
320
327
|
}
|
|
@@ -324,15 +331,15 @@
|
|
|
324
331
|
}
|
|
325
332
|
updateHTMLAccordion(t, e) {
|
|
326
333
|
let { group: o, key: g } = t, I = this._document.querySelectorAll(`${n.TABS}[${B}="${o}"] ${n.TAB}[${G}="${g}"]`), a = 0;
|
|
327
|
-
return I.forEach((
|
|
328
|
-
let i =
|
|
329
|
-
if (i != null && i.children) for (let
|
|
330
|
-
let
|
|
331
|
-
if (a++,
|
|
332
|
-
|
|
334
|
+
return I.forEach((r) => {
|
|
335
|
+
let i = r.closest(`[${y}=accordion]`);
|
|
336
|
+
if (i != null && i.children) for (let c = 0; c < i.children.length; c += 2) {
|
|
337
|
+
let s = i.children.item(c), A = i.children.item(c + 1);
|
|
338
|
+
if (a++, r === s) {
|
|
339
|
+
s == null || s.classList.toggle(l), A == null || A.classList.toggle(l);
|
|
333
340
|
continue;
|
|
334
341
|
}
|
|
335
|
-
|
|
342
|
+
s == null || s.classList.remove(l), A == null || A.classList.remove(l);
|
|
336
343
|
}
|
|
337
344
|
}), e && !this.checkVisible(e) && setTimeout(() => {
|
|
338
345
|
e.scrollIntoView({ block: "nearest" });
|
|
@@ -348,8 +355,8 @@
|
|
|
348
355
|
});
|
|
349
356
|
}
|
|
350
357
|
resetScroll(t, e, o) {
|
|
351
|
-
let g = Q(t, e), I = g.top - o.top, a = g.left - o.left,
|
|
352
|
-
e.scrollTo(e.scrollLeft + a - i, e.scrollTop + I -
|
|
358
|
+
let g = Q(t, e), I = g.top - o.top, a = g.left - o.left, r = g.scrollTop - o.scrollTop, i = g.scrollLeft - o.scrollLeft;
|
|
359
|
+
e.scrollTo(e.scrollLeft + a - i, e.scrollTop + I - r);
|
|
353
360
|
}
|
|
354
361
|
didTabOpenForce(t) {
|
|
355
362
|
if (!t) return {};
|
|
@@ -358,9 +365,9 @@
|
|
|
358
365
|
return { root: e, isForced: o };
|
|
359
366
|
}
|
|
360
367
|
fireSelectTabEvent(t, e) {
|
|
361
|
-
let { group: o, key: g, variant: I } = t, a = o.startsWith(
|
|
362
|
-
this._onSelectTabHandlers.forEach((
|
|
363
|
-
|
|
368
|
+
let { group: o, key: g, variant: I } = t, a = o.startsWith(L) ? { key: g, variant: I } : t;
|
|
369
|
+
this._onSelectTabHandlers.forEach((r) => {
|
|
370
|
+
r({ tab: a, currentTabId: e });
|
|
364
371
|
});
|
|
365
372
|
}
|
|
366
373
|
getTabsType(t) {
|
|
@@ -371,27 +378,27 @@
|
|
|
371
378
|
return !!this.getTabsType(t);
|
|
372
379
|
}
|
|
373
380
|
isElementDropdownSelect(t) {
|
|
374
|
-
return t.classList.contains(
|
|
381
|
+
return t.classList.contains(w);
|
|
375
382
|
}
|
|
376
383
|
getTabDataFromHTMLElement(t) {
|
|
377
|
-
var I, a,
|
|
384
|
+
var I, a, r;
|
|
378
385
|
let e = this.getTabsType(t);
|
|
379
386
|
if (e === "radio") {
|
|
380
|
-
let i = t.dataset.diplodocVerticalTab ? t : t.parentElement,
|
|
381
|
-
return
|
|
387
|
+
let i = t.dataset.diplodocVerticalTab ? t : t.parentElement, c = i.dataset.diplodocKey, s = (I = i.closest(n.TABS)) == null ? void 0 : I.dataset.diplodocGroup;
|
|
388
|
+
return c && s ? { group: s, key: c, variant: "radio" } : null;
|
|
382
389
|
}
|
|
383
390
|
if (e === "dropdown" || e === "accordion") {
|
|
384
|
-
let i = t.dataset.diplodocKey,
|
|
385
|
-
return i &&
|
|
391
|
+
let i = t.dataset.diplodocKey, c = (a = t.closest(n.TABS)) == null ? void 0 : a.dataset.diplodocGroup;
|
|
392
|
+
return i && c ? { group: c, key: i, variant: e } : null;
|
|
386
393
|
}
|
|
387
|
-
let o = t.dataset.diplodocKey, g = (
|
|
394
|
+
let o = t.dataset.diplodocKey, g = (r = t.closest(n.TABS)) == null ? void 0 : r.dataset.diplodocGroup;
|
|
388
395
|
return o && g ? { group: g, key: o, variant: "regular" } : null;
|
|
389
396
|
}
|
|
390
397
|
getTabs(t) {
|
|
391
398
|
var I, a;
|
|
392
399
|
let e = (I = t.closest(n.TABS)) == null ? void 0 : I.dataset.diplodocGroup, o = (a = t.closest(n.TAB_LIST)) == null ? void 0 : a.querySelectorAll(n.TAB), g = [];
|
|
393
|
-
return o.forEach((
|
|
394
|
-
let i =
|
|
400
|
+
return o.forEach((r) => {
|
|
401
|
+
let i = r == null ? void 0 : r.dataset.diplodocKey;
|
|
395
402
|
i && g.push({ group: e, key: i, variant: "regular" });
|
|
396
403
|
}), { tabs: g, nodes: o };
|
|
397
404
|
}
|