@diplodoc/transform 4.64.0 → 4.64.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/js/yfm.js CHANGED
@@ -137,30 +137,30 @@
137
137
 
138
138
  // node_modules/@diplodoc/tabs-extension/build/runtime/index.js
139
139
  (() => {
140
- var h = "yfm-tabs", H = "yfm-tab", F = "yfm-tab-panel", L = "yfm-tab-list", l = "active";
141
- var B = "data-diplodoc-group", G = "data-diplodoc-key", y = "data-diplodoc-variant", N = "data-diplodoc-id", W = "defaultTabsGroup-";
142
- var O = "data-diplodoc-forced";
143
- var S = "yfm-tabs-dropdown-select";
140
+ var x = "yfm-tabs", L = "yfm-tab", O = "yfm-tab-panel", H = "yfm-tab-list", l = "active";
141
+ var T = "data-diplodoc-group", G = "data-diplodoc-key", y = "data-diplodoc-variant", S = "data-diplodoc-id", U = "defaultTabsGroup-";
142
+ var F = "data-diplodoc-forced";
143
+ var W = "yfm-tabs-dropdown-select";
144
144
  var w = "yfm-tabs-vertical";
145
- var Z = ((g) => (g.Regular = "regular", g.Radio = "radio", g.Dropdown = "dropdown", g.Accordion = "accordion", g))(Z || {}), X = Symbol.for("diplodocTabs");
146
- var f = (C) => {
145
+ var v = ((g) => (g.Regular = "regular", g.Radio = "radio", g.Dropdown = "dropdown", g.Accordion = "accordion", g))(v || {}), X = Symbol.for("diplodocTabs");
146
+ var h = (C) => {
147
147
  let t = C.composedPath();
148
148
  return Array.isArray(t) && t.length > 0 ? t[0] : C.target;
149
- }, v = (C) => {
150
- let t = f(C);
149
+ }, R = (C) => {
150
+ let t = h(C);
151
151
  return !t || !t.matches;
152
- }, R = (C) => Math.abs(C.scrollHeight - C.clientHeight) > 1 ? C : C.parentElement ? R(C.parentElement) : void 0, Q = (C, t) => {
152
+ }, Z = (C) => Math.abs(C.scrollHeight - C.clientHeight) > 1 ? C : C.parentElement ? Z(C.parentElement) : void 0, Q = (C, t) => {
153
153
  let e = C.getBoundingClientRect(), o = t.getBoundingClientRect();
154
154
  return { top: e.top - o.top, left: e.left - o.left, scrollTop: t.scrollTop, scrollLeft: t.scrollLeft };
155
155
  };
156
- var n = { TABS: `.${h}`, TAB_LIST: `.${L}`, TAB: `.${H}`, TAB_PANEL: `.${F}`, VERTICAL_TABS: `.${w}` }, x = class {
156
+ var n = { TABS: `.${x}`, TAB_LIST: `.${H}`, TAB: `.${L}`, TAB_PANEL: `.${O}`, VERTICAL_TABS: `.${w}` }, f = class {
157
157
  constructor(t, e = {}) {
158
158
  this._onSelectTabHandlers = /* @__PURE__ */ new Set();
159
159
  this._currentPageTabGroups = [];
160
160
  this._isRestoringTabs = false;
161
161
  this._document = t, this._options = Object.assign({ saveTabsToLocalStorage: false, saveTabsToQueryStateMode: "none" }, e), this._document.addEventListener("click", (o) => {
162
- let g = f(o);
163
- if (o.target && this.hideAllDropdown(o.target), v(o)) return;
162
+ let g = h(o);
163
+ if (o.target && this.hideAllDropdown(o.target), R(o)) return;
164
164
  if (this.isElementDropdownSelect(g)) {
165
165
  g.classList.toggle(l);
166
166
  return;
@@ -189,12 +189,12 @@
189
189
  }
190
190
  }
191
191
  if (!g) return;
192
- let I = f(o);
193
- if (v(o) || !this.isValidTabElement(I)) return;
194
- let { tabs: a, nodes: r } = this.getTabs(I), i = this.getTabDataFromHTMLElement(I), s = a.findIndex(({ key: A }) => (i == null ? void 0 : i.key) && A === i.key);
195
- if (!i || a.length <= 1 || s === -1) return;
196
- let c = (s + (g === "left" ? -1 : 1) + a.length) % a.length;
197
- this.selectTab(a[c]), r[c].focus();
192
+ let I = h(o);
193
+ if (R(o) || !this.isValidTabElement(I)) return;
194
+ let { tabs: a, nodes: c } = this.getTabs(I), i = this.getTabDataFromHTMLElement(I), r = a.findIndex(({ key: A }) => (i == null ? void 0 : i.key) && A === i.key);
195
+ if (!i || a.length <= 1 || r === -1) return;
196
+ let s = (r + (g === "left" ? -1 : 1) + a.length) % a.length;
197
+ this.selectTab(a[s]), c[s].focus();
198
198
  });
199
199
  }
200
200
  configure(t) {
@@ -206,7 +206,7 @@
206
206
  };
207
207
  }
208
208
  selectTabById(t, e) {
209
- let o = this._document.querySelector(`${n.TAB}[${N}="${t}"]`);
209
+ let o = this._document.querySelector(`${n.TAB}[${S}="${t}"]`);
210
210
  if (!o || !this.isValidTabElement(o)) return;
211
211
  let g = this.getTabDataFromHTMLElement(o);
212
212
  g && this._selectTab(g, o), e != null && e.scrollToElement && o.scrollIntoView();
@@ -231,10 +231,10 @@
231
231
  getTabsFromSearchQuery() {
232
232
  let t = {}, e = new URLSearchParams(window.location.search);
233
233
  return e.has("tabs") && (e.get("tabs") || "").split(",").forEach((I) => {
234
- let a = I.split("_"), [r, i] = a, s = "regular";
235
- if (a.length === 3 && (s = a[2]), r && i && Object.values(Z).includes(s)) {
236
- let c = i;
237
- t[r] = { key: c, variant: s };
234
+ let a = I.split("_"), [c, i] = a, r = "regular";
235
+ if (a.length === 3 && (r = a[2]), c && i && Object.values(v).includes(r)) {
236
+ let s = i;
237
+ t[c] = { key: s, variant: r };
238
238
  }
239
239
  }), t;
240
240
  }
@@ -243,7 +243,7 @@
243
243
  }
244
244
  updateQueryParamWithTabs(t) {
245
245
  if (this._isRestoringTabs) return;
246
- let e = new URLSearchParams(window.location.search), o = Object.entries(t).map(([a, { key: r, variant: i }]) => i === "regular" ? `${a}_${r}` : `${a}_${r}_${i}`);
246
+ let e = new URLSearchParams(window.location.search), o = Object.entries(t).map(([a, { key: c, variant: i }]) => i === "regular" ? `${a}_${c}` : `${a}_${c}_${i}`);
247
247
  o.length > 0 ? e.set("tabs", o.join(",")) : e.delete("tabs");
248
248
  let g = history.state || {}, I = new URL(window.location.href);
249
249
  I.search = e.toString(), window.history.replaceState(__spreadValues({}, g), document.title, I.href);
@@ -255,9 +255,9 @@
255
255
  this._currentPageTabGroups = this.getCurrentPageTabGroups();
256
256
  }
257
257
  getCurrentPageTabGroups() {
258
- let t = this._document.getElementsByClassName(h), e = /* @__PURE__ */ new Set();
258
+ let t = this._document.getElementsByClassName(x), e = /* @__PURE__ */ new Set();
259
259
  return Array.from(t).forEach((o) => {
260
- let g = o.getAttribute(B);
260
+ let g = o.getAttribute(T);
261
261
  g && e.add(g);
262
262
  }), Array.from(e);
263
263
  }
@@ -268,8 +268,8 @@
268
268
  let { group: o, key: g, variant: I } = t;
269
269
  if (!o) return;
270
270
  this.saveTabPreferred({ group: o, key: g, variant: I });
271
- let a = e && R(e), r = a && Q(e, a);
272
- 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));
271
+ let a = e && Z(e), c = a && Q(e, a);
272
+ 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), c && this.resetScroll(e, a, c));
273
273
  }
274
274
  updateHTML(t, e, o) {
275
275
  switch (o) {
@@ -299,45 +299,45 @@
299
299
  }
300
300
  }
301
301
  updateHTMLRadio(t, e) {
302
- let { group: o, key: g } = t, { isForced: I, root: a } = this.didTabOpenForce(e), r = I ? `.yfm-vertical-tab[${O}="true"]` : "", i = this._document.querySelectorAll(`${n.TABS}[${B}="${o}"] ${n.TAB}[${G}="${g}"]${r}`);
303
- I && (a == null || a.removeAttribute(O));
304
- let s = 0;
305
- return i.forEach((c) => {
306
- let m = c.parentNode.children;
302
+ let { group: o, key: g } = t, { isForced: I, root: a } = this.didTabOpenForce(e), c = I ? `.yfm-vertical-tab[${F}="true"]` : "", i = this._document.querySelectorAll(`${n.TABS}[${T}="${o}"] ${n.TAB}[${G}="${g}"]${c}`);
303
+ I && (a == null || a.removeAttribute(F));
304
+ let r = 0;
305
+ return i.forEach((s) => {
306
+ let m = s.parentNode.children;
307
307
  for (let p = 0; p < m.length; p += 2) {
308
308
  let [d, b] = [m.item(p), m.item(p + 1)], u = d.children.item(0);
309
- if (d === c) {
309
+ if (d === s) {
310
310
  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"));
311
311
  continue;
312
312
  }
313
- u.hasAttribute("checked") && (d.classList.remove("active"), b == null || b.classList.remove("active"), u.removeAttribute("checked")), s++;
313
+ u.hasAttribute("checked") && (d.classList.remove("active"), b == null || b.classList.remove("active"), u.removeAttribute("checked")), r++;
314
314
  }
315
- }), s;
315
+ }), r;
316
316
  }
317
317
  updateHTMLRegular(t) {
318
- let { group: e, key: o } = t, g = this._document.querySelectorAll(`${n.TABS}[${B}="${e}"] ${n.TAB}[${G}="${o}"]`), I = 0;
318
+ let { group: e, key: o } = t, g = this._document.querySelectorAll(`${n.TABS}[${T}="${e}"] ${n.TAB}[${G}="${o}"]`), I = 0;
319
319
  return g.forEach((a) => {
320
- let r = a;
321
- if (!this.isValidTabElement(r) || r.dataset.diplodocIsActive === "true") return;
320
+ let c = a;
321
+ if (!this.isValidTabElement(c) || c.dataset.diplodocIsActive === "true") return;
322
322
  I++;
323
- let i = a, s = i.parentNode, c = s == null ? void 0 : s.parentNode, A = Array.from((s == null ? void 0 : s.querySelectorAll(n.TAB)) || []), m = Array.from((c == null ? void 0 : c.children) || []).filter((d) => d.classList.contains(F)), p = A.indexOf(i);
323
+ let i = a, r = i.parentNode, s = r == null ? void 0 : r.parentNode, A = Array.from((r == null ? void 0 : r.querySelectorAll(n.TAB)) || []), m = Array.from((s == null ? void 0 : s.children) || []).filter((d) => d.classList.contains(O)), p = A.indexOf(i);
324
324
  A.forEach((d, b) => {
325
- let u = m[b], T = b === p, U = d;
326
- U.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);
325
+ let u = m[b], B = b === p, N = d;
326
+ N.dataset.diplodocIsActive = B ? "true" : "false", d.classList.toggle(l, B), d.setAttribute("aria-selected", B.toString()), d.setAttribute("tabindex", B ? "0" : "-1"), u.classList.toggle(l, B);
327
327
  });
328
328
  }), I;
329
329
  }
330
330
  updateHTMLDropdown(t) {
331
- let { group: e, key: o } = t, g = this._document.querySelectorAll(`${n.TABS}[${B}="${e}"] ${n.TAB}[${G}="${o}"]`), I = 0;
331
+ let { group: e, key: o } = t, g = this._document.querySelectorAll(`${n.TABS}[${T}="${e}"] ${n.TAB}[${G}="${o}"]`), I = 0;
332
332
  return g.forEach((a) => {
333
- let r = a.closest(`[${y}=dropdown]`);
334
- if (!(r != null && r.children)) return;
335
- let i = r.children.item(0), s = r.children.item(1);
333
+ let c = a.closest(`[${y}=dropdown]`);
334
+ if (!(c != null && c.children)) return;
335
+ let i = c.children.item(0), r = c.children.item(1);
336
336
  i == null || i.classList.remove(l);
337
- let c = Array.from((s == null ? void 0 : s.children) || []).indexOf(a) + 2;
338
- for (let A = 2; A < r.children.length; A++) {
339
- let m = r.children.item(A), p = s == null ? void 0 : s.children.item(A - 2);
340
- if (I++, c === A) {
337
+ let s = Array.from((r == null ? void 0 : r.children) || []).indexOf(a) + 2;
338
+ for (let A = 2; A < c.children.length; A++) {
339
+ let m = c.children.item(A), p = r == null ? void 0 : r.children.item(A - 2);
340
+ if (I++, s === A) {
341
341
  m == null || m.classList.add(l), p.classList.add(l), i.innerHTML = a.innerHTML, i.classList.add("filled");
342
342
  continue;
343
343
  }
@@ -346,16 +346,16 @@
346
346
  }), I;
347
347
  }
348
348
  updateHTMLAccordion(t, e) {
349
- let { group: o, key: g } = t, I = this._document.querySelectorAll(`${n.TABS}[${B}="${o}"] ${n.TAB}[${G}="${g}"]`), a = 0;
350
- return I.forEach((r) => {
351
- let i = r.closest(`[${y}=accordion]`);
352
- if (i != null && i.children) for (let s = 0; s < i.children.length; s += 2) {
353
- let c = i.children.item(s), A = i.children.item(s + 1);
354
- if (a++, r === c) {
355
- c == null || c.classList.toggle(l), A == null || A.classList.toggle(l);
349
+ let { group: o, key: g } = t, I = this._document.querySelectorAll(`${n.TABS}[${T}="${o}"] ${n.TAB}[${G}="${g}"]`), a = 0;
350
+ return I.forEach((c) => {
351
+ let i = c.closest(`[${y}=accordion]`);
352
+ if (i != null && i.children) for (let r = 0; r < i.children.length; r += 2) {
353
+ let s = i.children.item(r), A = i.children.item(r + 1);
354
+ if (a++, c === s) {
355
+ s == null || s.classList.toggle(l), A == null || A.classList.toggle(l);
356
356
  continue;
357
357
  }
358
- c == null || c.classList.remove(l), A == null || A.classList.remove(l);
358
+ s == null || s.classList.remove(l), A == null || A.classList.remove(l);
359
359
  }
360
360
  }), e && !this.checkVisible(e) && setTimeout(() => {
361
361
  e.scrollIntoView({ block: "nearest" });
@@ -371,8 +371,8 @@
371
371
  });
372
372
  }
373
373
  resetScroll(t, e, o) {
374
- 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;
375
- e.scrollTo(e.scrollLeft + a - i, e.scrollTop + I - r);
374
+ let g = Q(t, e), I = g.top - o.top, a = g.left - o.left, c = g.scrollTop - o.scrollTop, i = g.scrollLeft - o.scrollLeft;
375
+ e.scrollTo(e.scrollLeft + a - i, e.scrollTop + I - c);
376
376
  }
377
377
  didTabOpenForce(t) {
378
378
  if (!t) return {};
@@ -381,9 +381,9 @@
381
381
  return { root: e, isForced: o };
382
382
  }
383
383
  fireSelectTabEvent(t, e) {
384
- let { group: o, key: g, variant: I } = t, a = o.startsWith(W) ? { key: g, variant: I } : t;
385
- this._onSelectTabHandlers.forEach((r) => {
386
- r({ tab: a, currentTabId: e });
384
+ let { group: o, key: g, variant: I } = t, a = o.startsWith(U) ? { key: g, variant: I } : t;
385
+ this._onSelectTabHandlers.forEach((c) => {
386
+ c({ tab: a, currentTabId: e });
387
387
  });
388
388
  }
389
389
  getTabsType(t) {
@@ -394,32 +394,32 @@
394
394
  return !!this.getTabsType(t);
395
395
  }
396
396
  isElementDropdownSelect(t) {
397
- return t.classList.contains(S);
397
+ return t.classList.contains(W);
398
398
  }
399
399
  getTabDataFromHTMLElement(t) {
400
- var I, a, r;
400
+ var I, a, c;
401
401
  let e = this.getTabsType(t);
402
402
  if (e === "radio") {
403
- let i = t.dataset.diplodocVerticalTab ? t : t.parentElement, s = i.dataset.diplodocKey, c = (I = i.closest(n.TABS)) == null ? void 0 : I.dataset.diplodocGroup;
404
- return s && c ? { group: c, key: s, variant: "radio" } : null;
403
+ let i = t.dataset.diplodocVerticalTab ? t : t.parentElement, r = i.dataset.diplodocKey, s = (I = i.closest(n.TABS)) == null ? void 0 : I.dataset.diplodocGroup;
404
+ return r && s ? { group: s, key: r, variant: "radio" } : null;
405
405
  }
406
406
  if (e === "dropdown" || e === "accordion") {
407
- let i = t.dataset.diplodocKey, s = (a = t.closest(n.TABS)) == null ? void 0 : a.dataset.diplodocGroup;
408
- return i && s ? { group: s, key: i, variant: e } : null;
407
+ let i = t.dataset.diplodocKey, r = (a = t.closest(n.TABS)) == null ? void 0 : a.dataset.diplodocGroup;
408
+ return i && r ? { group: r, key: i, variant: e } : null;
409
409
  }
410
- let o = t.dataset.diplodocKey, g = (r = t.closest(n.TABS)) == null ? void 0 : r.dataset.diplodocGroup;
410
+ let o = t.dataset.diplodocKey, g = (c = t.closest(n.TABS)) == null ? void 0 : c.dataset.diplodocGroup;
411
411
  return o && g ? { group: g, key: o, variant: "regular" } : null;
412
412
  }
413
413
  getTabs(t) {
414
414
  var I, a;
415
415
  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 = [];
416
- return o.forEach((r) => {
417
- let i = r == null ? void 0 : r.dataset.diplodocKey;
416
+ return o.forEach((c) => {
417
+ let i = c == null ? void 0 : c.dataset.diplodocKey;
418
418
  i && g.push({ group: e, key: i, variant: "regular" });
419
419
  }), { tabs: g, nodes: o };
420
420
  }
421
421
  };
422
- typeof window != "undefined" && typeof document != "undefined" && !window[X] && (window[X] = new x(document));
422
+ typeof window != "undefined" && typeof document != "undefined" && !window[X] && (window[X] = new f(document));
423
423
  })();
424
424
 
425
425
  // src/js/polyfill.js
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/transform",
3
- "version": "4.64.0",
3
+ "version": "4.64.1",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -51,7 +51,7 @@
51
51
  "dependencies": {
52
52
  "@diplodoc/cut-extension": "^1.1.0",
53
53
  "@diplodoc/file-extension": "^0.2.1",
54
- "@diplodoc/tabs-extension": "^3.7.4",
54
+ "@diplodoc/tabs-extension": "^3.7.5",
55
55
  "@diplodoc/utils": "^2.1.0",
56
56
  "chalk": "^4.1.2",
57
57
  "cheerio": "^1.0.0",