@diplodoc/transform 4.74.0 → 4.75.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.
@@ -1,3 +1,15 @@
1
+ .yfm-tooltip-live-region {
2
+ position: absolute;
3
+ width: 1px;
4
+ height: 1px;
5
+ padding: 0;
6
+ margin: -1px;
7
+ overflow: hidden;
8
+ clip-path: inset(50%);
9
+ white-space: nowrap;
10
+ border: 0;
11
+ }
12
+
1
13
  .yfm-tooltip {
2
14
  position: absolute;
3
15
  z-index: 100;
@@ -1,17 +1,12 @@
1
1
  "use strict";
2
2
  const utils_1 = require("markdown-it/lib/common/utils");
3
3
  const utils_2 = require("../utils");
4
- const constant_1 = require("./constant");
5
4
  const inlineCode = (md, options) => {
6
5
  var _a;
7
- const lang = options.lang;
8
6
  const generateID = (_a = options.generateID) !== null && _a !== void 0 ? _a : utils_2.generateID;
9
7
  md.renderer.rules.code_inline = function (tokens, idx) {
10
- var _a, _b;
11
8
  const id = generateID('inline-code-id');
12
- const description = (_a = constant_1.LANG_TOKEN_DESCRIPTION[lang]) !== null && _a !== void 0 ? _a : constant_1.LANG_TOKEN_DESCRIPTION.en;
13
- const label = (_b = constant_1.LANG_TOKEN_LABEL[lang]) !== null && _b !== void 0 ? _b : constant_1.LANG_TOKEN_LABEL.en;
14
- return `<code class="yfm-clipboard-inline-code" role="button" aria-label="${label}" aria-description="${description}" tabindex='0' id="${id}">${(0, utils_1.escapeHtml)(tokens[idx].content)}</code>`;
9
+ return `<code class="yfm-clipboard-inline-code" role="button" tabindex='0' id="${id}">${(0, utils_1.escapeHtml)(tokens[idx].content)}</code>`;
15
10
  };
16
11
  };
17
12
  module.exports = inlineCode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/inline-code/index.ts"],"names":[],"mappings":";AAEA,wDAAwD;AAExD,oCAAwD;AAExD,yCAAoE;AAEpE,MAAM,UAAU,GAAuB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,kBAAgB,CAAC;IAE1D,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,MAAM,EAAE,GAAG;;QACjD,MAAM,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAExC,MAAM,WAAW,GAAG,MAAA,iCAAsB,CAAC,IAAI,CAAC,mCAAI,iCAAsB,CAAC,EAAE,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAA,2BAAgB,CAAC,IAAI,CAAC,mCAAI,2BAAgB,CAAC,EAAE,CAAC;QAE5D,OAAO,qEAAqE,KAAK,uBAAuB,WAAW,sBAAsB,EAAE,KAAK,IAAA,kBAAU,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC7L,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,iBAAS,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/inline-code/index.ts"],"names":[],"mappings":";AAEA,wDAAwD;AAExD,oCAAwD;AAExD,MAAM,UAAU,GAAuB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;;IACnD,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,kBAAgB,CAAC;IAE1D,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,MAAM,EAAE,GAAG;QACjD,MAAM,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAExC,OAAO,0EAA0E,EAAE,KAAK,IAAA,kBAAU,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACrI,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,iBAAS,UAAU,CAAC"}
@@ -2,6 +2,7 @@
2
2
  const utils_1 = require("@diplodoc/utils");
3
3
  const pluginName = 'yfm_table';
4
4
  const pipeChar = 0x7c; // |
5
+ const colonChar = 0x3a; // :
5
6
  const apostropheChar = 0x60; // `
6
7
  const hashChar = 0x23; // #
7
8
  const backSlashChar = 0x5c; // \
@@ -161,14 +162,62 @@ class StateIterator {
161
162
  }
162
163
  }
163
164
  }
165
+ /**
166
+ * Parses table options from lines between #| and the first || or |#.
167
+ *
168
+ * Option line format: `|:{key="value" key2="value2"}`
169
+ * Multiple option lines are supported; results are merged.
170
+ */
171
+ function parseTableAttrs(state, iter) {
172
+ const options = {};
173
+ const { src } = state;
174
+ const utils = state.md.utils;
175
+ let parsing = true;
176
+ while (parsing) {
177
+ const lineEnd = iter.lineEnds;
178
+ // Skip leading whitespace to find first non-space char
179
+ let first = iter.pos;
180
+ while (first < lineEnd && utils.isSpace(src.charCodeAt(first))) {
181
+ first++;
182
+ }
183
+ // Skip empty lines
184
+ if (first >= lineEnd) {
185
+ iter.next(lineEnd - iter.pos + 1);
186
+ continue;
187
+ }
188
+ // Stop if we hit row start || or table close |#
189
+ if (isRowOrder(src, first) || isCloseTableOrder(src, first)) {
190
+ parsing = false;
191
+ continue;
192
+ }
193
+ // Option line must start with |:
194
+ if (src.charCodeAt(first) !== pipeChar || src.charCodeAt(first + 1) !== colonChar) {
195
+ parsing = false;
196
+ continue;
197
+ }
198
+ const result = (0, utils_1.parseMdAttrs)(state.md, src, first + 2, lineEnd);
199
+ if (!result) {
200
+ parsing = false;
201
+ continue;
202
+ }
203
+ for (const [key, values] of Object.entries(result.attrs)) {
204
+ options[key] = values[values.length - 1];
205
+ }
206
+ iter.next(lineEnd - iter.pos + 1);
207
+ }
208
+ return options;
209
+ }
164
210
  // eslint-disable-next-line complexity
165
211
  function getTableRowPositions(state, startPosition, endPosition, startLine, opts = {}) {
166
212
  let endOfTable = null;
167
213
  let tableLevel = 0;
168
214
  let currentRow = [];
169
215
  let colStart = null;
216
+ let pendingCellAttrs = {};
170
217
  let rowStart = null;
218
+ let currentRowAttrs = {};
171
219
  const iter = new StateIterator(state, startPosition + openTableOrder.length, startLine);
220
+ const tableAttrs = parseTableAttrs(state, iter);
172
221
  const rows = [];
173
222
  let isInsideCode = false;
174
223
  let isInsideMath = false;
@@ -176,14 +225,21 @@ function getTableRowPositions(state, startPosition, endPosition, startLine, opts
176
225
  const rowMap = new Map();
177
226
  const addRow = () => {
178
227
  if (colStart) {
179
- currentRow.push([colStart, iter.stats()]);
228
+ currentRow.push({ start: colStart, end: iter.stats(), rawAttrs: pendingCellAttrs });
229
+ pendingCellAttrs = {};
180
230
  }
181
231
  if (currentRow.length && rowStart) {
182
- rows.push([rowStart, iter.line, currentRow]);
232
+ rows.push({
233
+ start: rowStart,
234
+ end: iter.line,
235
+ cols: currentRow,
236
+ rawAttrs: currentRowAttrs,
237
+ });
183
238
  }
184
239
  currentRow = [];
185
240
  colStart = null;
186
241
  rowStart = null;
242
+ currentRowAttrs = {};
187
243
  };
188
244
  while (iter.pos <= endPosition) {
189
245
  if (iter.symbol === undefined) {
@@ -265,6 +321,30 @@ function getTableRowPositions(state, startPosition, endPosition, startLine, opts
265
321
  else {
266
322
  iter.next(rowStartOrder.length);
267
323
  rowStart = iter.line;
324
+ const hasRowAttrs = iter.pos <= iter.lineEnds &&
325
+ state.src.charCodeAt(iter.pos) === colonChar &&
326
+ state.src.charCodeAt(iter.pos + 1) === curlyBraceOpen;
327
+ if (hasRowAttrs) {
328
+ currentRowAttrs = parseInlineAttrs(state, iter, 1);
329
+ }
330
+ else {
331
+ currentRowAttrs = {};
332
+ }
333
+ // skip spaces/tabs on same line only if row attrs were present, then check for first-cell attrs ::{...}
334
+ if (hasRowAttrs) {
335
+ while (iter.pos <= iter.lineEnds &&
336
+ state.md.utils.isSpace(state.src.charCodeAt(iter.pos))) {
337
+ iter.next(1);
338
+ }
339
+ }
340
+ if (iter.pos <= iter.lineEnds &&
341
+ state.src.charCodeAt(iter.pos) === colonChar &&
342
+ state.src.charCodeAt(iter.pos + 1) === colonChar) {
343
+ pendingCellAttrs = parseInlineAttrs(state, iter, 2);
344
+ }
345
+ else {
346
+ pendingCellAttrs = {};
347
+ }
268
348
  colStart = iter.stats();
269
349
  }
270
350
  rowMap.set(tableLevel, !insideRow);
@@ -272,16 +352,38 @@ function getTableRowPositions(state, startPosition, endPosition, startLine, opts
272
352
  }
273
353
  if (isCellOrder(state.src, iter.pos)) {
274
354
  if (colStart) {
275
- currentRow.push([colStart, iter.stats()]);
355
+ currentRow.push({ start: colStart, end: iter.stats(), rawAttrs: pendingCellAttrs });
356
+ pendingCellAttrs = {};
276
357
  }
277
358
  iter.next(cellStartOrder.length);
359
+ // check for cell attrs ::{...} immediately after | (no spaces allowed)
360
+ if (iter.pos <= iter.lineEnds &&
361
+ state.src.charCodeAt(iter.pos) === colonChar &&
362
+ state.src.charCodeAt(iter.pos + 1) === colonChar) {
363
+ pendingCellAttrs = parseInlineAttrs(state, iter, 2);
364
+ }
365
+ else {
366
+ pendingCellAttrs = {};
367
+ }
278
368
  colStart = iter.stats();
279
369
  continue;
280
370
  }
281
371
  iter.next();
282
372
  }
283
373
  const { pos } = iter;
284
- return { rows, endOfTable, pos };
374
+ return { rows, endOfTable, pos, tableAttrs };
375
+ }
376
+ function parseInlineAttrs(state, iter, prefixLen) {
377
+ const result = {};
378
+ const parsed = (0, utils_1.parseMdAttrs)(state.md, state.src, iter.pos + prefixLen, iter.lineEnds);
379
+ if (!parsed) {
380
+ return result;
381
+ }
382
+ for (const [key, values] of Object.entries(parsed.attrs)) {
383
+ result[key] = values[0];
384
+ }
385
+ iter.next(parsed.pos - iter.pos);
386
+ return result;
285
387
  }
286
388
  function extractAttributes(state, pos) {
287
389
  const attrsStringStart = state.skipSpaces(pos);
@@ -295,9 +397,10 @@ function extractAttributes(state, pos) {
295
397
  *
296
398
  * @param {Token} contentToken - Search the content of this token for the class.
297
399
  * @param {Token} tdOpenToken - Parent td_open token. Extracted class is applied to this token.
400
+ * @param {Logger} log - Logger instance for deprecation warnings.
298
401
  * @returns {void}
299
402
  */
300
- function extractAndApplyClassFromToken(contentToken, tdOpenToken) {
403
+ function extractAndApplyClassFromToken(contentToken, tdOpenToken, log) {
301
404
  var _a;
302
405
  // Regex to find class attribute in any position within brackets
303
406
  const blockRegex = /\s*\{[^}]*}$/;
@@ -308,7 +411,10 @@ function extractAndApplyClassFromToken(contentToken, tdOpenToken) {
308
411
  const attrs = new utils_1.AttrsParser().parse(allAttrs[0].trim());
309
412
  const attrsClass = (_a = attrs === null || attrs === void 0 ? void 0 : attrs.class) === null || _a === void 0 ? void 0 : _a.join(' ');
310
413
  if (attrsClass) {
311
- tdOpenToken.attrSet('class', attrsClass);
414
+ if (attrsClass.split(' ').some((c) => c.startsWith('cell-align-'))) {
415
+ log.warn(`Deprecated: use align="..." inside cell attributes "::{align=\\"...\\"}" instead of .cell-align-* class in cell content "{ }"`);
416
+ }
417
+ tdOpenToken.attrJoin('class', attrsClass);
312
418
  // remove the class from the token so that it's not propagated to tr or table level
313
419
  let replacedContent = allAttrs[0].replace(`.${attrsClass}`, '');
314
420
  if (replacedContent.trim() === '{}') {
@@ -317,6 +423,49 @@ function extractAndApplyClassFromToken(contentToken, tdOpenToken) {
317
423
  contentToken.content = contentToken.content.replace(allAttrs[0], replacedContent);
318
424
  }
319
425
  }
426
+ const VALID_ALIGN_VALUES = new Set([
427
+ 'top-left',
428
+ 'top-center',
429
+ 'top-right',
430
+ 'center',
431
+ 'bottom-left',
432
+ 'bottom-right',
433
+ ]);
434
+ function parseHeaderRows(rawAttrs, log) {
435
+ if (!('header-rows' in rawAttrs))
436
+ return null;
437
+ const raw = rawAttrs['header-rows'];
438
+ const trimmed = raw.trim();
439
+ const parsed = Number.parseInt(trimmed, 10);
440
+ if (!Number.isInteger(parsed) || parsed <= 0 || String(parsed) !== trimmed) {
441
+ log.warn(`Invalid table header-rows value: "${raw}"`);
442
+ return null;
443
+ }
444
+ return parsed;
445
+ }
446
+ function applyCellAttrs(token, rawAttrs, log) {
447
+ if ('align' in rawAttrs) {
448
+ const value = rawAttrs['align'];
449
+ if (!VALID_ALIGN_VALUES.has(value)) {
450
+ log.warn(`Unknown table cell align value: "${value}"`);
451
+ }
452
+ token.meta = token.meta || {};
453
+ token.meta.align = value;
454
+ token.attrSet('data-align', value);
455
+ if (value) {
456
+ token.attrJoin('class', `cell-align-${value}`);
457
+ }
458
+ }
459
+ if ('bg' in rawAttrs) {
460
+ const value = rawAttrs['bg'];
461
+ token.meta = token.meta || {};
462
+ token.meta.bg = value;
463
+ token.attrSet('data-bg', value);
464
+ if (value) {
465
+ token.attrJoin('class', `cell-bg-${value}`);
466
+ }
467
+ }
468
+ }
320
469
  const COLSPAN_SYMBOL = '>';
321
470
  const ROWSPAN_SYMBOL = '^';
322
471
  /**
@@ -430,7 +579,7 @@ const yfmTable = (md, opts) => {
430
579
  if (silent) {
431
580
  return true;
432
581
  }
433
- const { rows, endOfTable, pos } = getTableRowPositions(state, startPosition, endPosition, startLine, opts);
582
+ const { rows, endOfTable, pos, tableAttrs } = getTableRowPositions(state, startPosition, endPosition, startLine, opts);
434
583
  const attrs = extractAttributes(state, pos);
435
584
  if (!endOfTable) {
436
585
  token = state.push('__yfm_lint', '', 0);
@@ -452,9 +601,16 @@ const yfmTable = (md, opts) => {
452
601
  token.attrJoin(attr, 'true');
453
602
  }
454
603
  token.map = [startLine, endOfTable];
604
+ token.meta = token.meta || {};
605
+ token.meta.rawAttrs = tableAttrs;
606
+ const headerRows = parseHeaderRows(tableAttrs, opts.log);
607
+ if (headerRows !== null) {
608
+ token.meta.headerRows = headerRows;
609
+ token.attrSet('data-header-rows', String(headerRows));
610
+ }
455
611
  token = state.push('yfm_tbody_open', 'tbody', 1);
456
612
  token.map = [startLine + 1, endOfTable - 1];
457
- const maxRowLength = Math.max(...rows.map(([, , cols]) => cols.length));
613
+ const maxRowLength = Math.max(...rows.map((row) => row.cols.length));
458
614
  // cellsMaps is a 2-D map of all td_open tokens in the table.
459
615
  // cellsMap is used to access the table cells by [row][column] coordinates
460
616
  const cellsMap = [];
@@ -462,17 +618,30 @@ const yfmTable = (md, opts) => {
462
618
  // To apply spans, traverse the contentMap and modify the cells from cellsMap
463
619
  const contentMap = [];
464
620
  for (let i = 0; i < rows.length; i++) {
465
- const [rowLineStarts, rowLineEnds, cols] = rows[i];
621
+ const { start: rowLineStarts, end: rowLineEnds, cols, rawAttrs: rowRawAttrs, } = rows[i];
466
622
  cellsMap.push([]);
467
623
  contentMap.push([]);
468
624
  const rowLength = cols.length;
625
+ const isHeaderRow = headerRows !== null && i < headerRows;
626
+ const cellTag = isHeaderRow ? 'th' : 'td';
469
627
  token = state.push('yfm_tr_open', 'tr', 1);
470
628
  token.map = [rowLineStarts, rowLineEnds];
629
+ token.meta = token.meta || {};
630
+ token.meta.rawAttrs = rowRawAttrs;
631
+ if (isHeaderRow) {
632
+ token.attrSet('data-header', 'true');
633
+ }
471
634
  for (let j = 0; j < cols.length; j++) {
472
- const [begin, end] = cols[j];
473
- token = state.push('yfm_td_open', 'td', 1);
635
+ const { start: begin, end, rawAttrs: cellRawAttrs } = cols[j];
636
+ token = state.push('yfm_td_open', cellTag, 1);
474
637
  cellsMap[i].push(token);
475
638
  token.map = [begin.line, end.line];
639
+ token.meta = token.meta || {};
640
+ token.meta.rawAttrs = cellRawAttrs;
641
+ if (isHeaderRow) {
642
+ token.attrSet('scope', 'col');
643
+ }
644
+ applyCellAttrs(token, cellRawAttrs, opts.log);
476
645
  const oldTshift = state.tShift[begin.line];
477
646
  const oldEMark = state.eMarks[end.line];
478
647
  const oldBMark = state.bMarks[begin.line];
@@ -487,20 +656,23 @@ const yfmTable = (md, opts) => {
487
656
  // To handle that, check markup as well
488
657
  const content = contentToken.content.trim() || contentToken.markup.trim();
489
658
  contentMap[i].push(content);
490
- token = state.push('yfm_td_close', 'td', -1);
659
+ token = state.push('yfm_td_close', cellTag, -1);
491
660
  state.tokens[state.tokens.length - 1].map = [end.line, end.line + 1];
492
661
  state.lineMax = oldLineMax;
493
662
  state.tShift[begin.line] = oldTshift;
494
663
  state.bMarks[begin.line] = oldBMark;
495
664
  state.eMarks[end.line] = oldEMark;
496
665
  const rowTokens = cellsMap[cellsMap.length - 1];
497
- extractAndApplyClassFromToken(contentToken, rowTokens[rowTokens.length - 1]);
666
+ extractAndApplyClassFromToken(contentToken, rowTokens[rowTokens.length - 1], opts.log);
498
667
  }
499
668
  if (rowLength < maxRowLength) {
500
669
  const emptyCellsCount = maxRowLength - rowLength;
501
670
  for (let k = 0; k < emptyCellsCount; k++) {
502
- token = state.push('yfm_td_open', 'td', 1);
503
- token = state.push('yfm_td_close', 'td', -1);
671
+ token = state.push('yfm_td_open', cellTag, 1);
672
+ if (isHeaderRow) {
673
+ token.attrSet('scope', 'col');
674
+ }
675
+ token = state.push('yfm_td_close', cellTag, -1);
504
676
  }
505
677
  }
506
678
  token = state.push('yfm_tr_close', 'tr', -1);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/table/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/table/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export type TableAttrs = Record<string, string>;
1
2
  export type YfmTablePluginOptions = {
2
3
  /**
3
4
  * Sets whether to interpret the pipe symbol inside the code block as a table separator.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/transform",
3
- "version": "4.74.0",
3
+ "version": "4.75.0",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -8,6 +8,8 @@ export const TOOLTIP_OPEN_CLASS = 'open';
8
8
 
9
9
  export const TOOLTIP_DATA_ATTR = 'data-tooltip-id';
10
10
 
11
+ export const TOOLTIP_LIVE_REGION_CLASS = 'yfm-tooltip-live-region';
12
+
11
13
  export const DEFAULT_OFFSET_VALUES: OffsetValues = {mainAxis: 5};
12
14
 
13
15
  export const OPPOSITE_SIDES: Record<Side, Side> = {
@@ -11,6 +11,7 @@ import {
11
11
  PAGE_CONTAINER_SELECTOR,
12
12
  TOOLTIP_BASE_CLASS,
13
13
  TOOLTIP_DATA_ATTR,
14
+ TOOLTIP_LIVE_REGION_CLASS,
14
15
  TOOLTIP_OPEN_CLASS,
15
16
  } from './constant';
16
17
  import {
@@ -32,6 +33,7 @@ interface TooltipState {
32
33
  export function createTooltipFactory(options: TooltipOptions = {}) {
33
34
  const {closeDelay = 1_000, additionalClassName} = options;
34
35
  let initialized = false;
36
+ let liveRegion: HTMLElement | null = null;
35
37
 
36
38
  const state: TooltipState = {
37
39
  currentId: null,
@@ -74,17 +76,25 @@ export function createTooltipFactory(options: TooltipOptions = {}) {
74
76
 
75
77
  state.currentId = null;
76
78
  }
79
+
80
+ if (liveRegion) {
81
+ liveRegion.textContent = '';
82
+ }
77
83
  };
78
84
 
79
85
  const show = (reference: HTMLElement, text: string) => {
80
86
  hide();
81
87
 
82
- const tooltip = createTooltipElement({text, className: additionalClassName});
88
+ const tooltip = createTooltipElement({className: additionalClassName});
83
89
  const update = updateTooltipPosition.bind(null, options, reference, tooltip);
84
90
 
85
91
  state.currentId = tooltip.id;
86
92
 
87
- attachTooltip(tooltip, reference);
93
+ attachTooltip(tooltip, reference, text);
94
+
95
+ if (liveRegion) {
96
+ liveRegion.textContent = text;
97
+ }
88
98
 
89
99
  state.unsubscribe = subscribeToScroll(reference, update);
90
100
 
@@ -115,6 +125,10 @@ export function createTooltipFactory(options: TooltipOptions = {}) {
115
125
  if (!initialized) {
116
126
  initialized = true;
117
127
 
128
+ liveRegion = document.createElement('div');
129
+ liveRegion.className = TOOLTIP_LIVE_REGION_CLASS;
130
+ liveRegion.setAttribute('aria-live', 'assertive');
131
+ document.body.appendChild(liveRegion);
118
132
  window.addEventListener('scroll', handleUpdate);
119
133
  window.addEventListener('resize', handleUpdate);
120
134
  }
@@ -142,7 +156,7 @@ export function createTooltipFactory(options: TooltipOptions = {}) {
142
156
  }
143
157
 
144
158
  function createTooltipElement(options: TooltipElementOptions) {
145
- const {text, className} = options;
159
+ const {className} = options;
146
160
 
147
161
  const id = generateId();
148
162
  const tooltip = document.createElement('div');
@@ -150,25 +164,15 @@ function createTooltipElement(options: TooltipElementOptions) {
150
164
  tooltip.id = id;
151
165
  tooltip.className = className ? `${TOOLTIP_BASE_CLASS} ${className}` : TOOLTIP_BASE_CLASS;
152
166
 
153
- tooltip.setAttribute('role', 'tooltip');
154
- tooltip.setAttribute('aria-live', 'polite');
155
-
156
- tooltip.textContent = text;
157
-
158
167
  return tooltip;
159
168
  }
160
169
 
161
- function attachTooltip(tooltip: HTMLElement, reference: HTMLElement) {
170
+ function attachTooltip(tooltip: HTMLElement, reference: HTMLElement, text: string) {
162
171
  const container = document.querySelector(PAGE_CONTAINER_SELECTOR) || document.body;
163
- const ariaLive = reference.getAttribute('aria-live');
164
172
 
165
173
  reference.setAttribute(TOOLTIP_DATA_ATTR, tooltip.id);
166
-
167
- if (ariaLive) {
168
- tooltip.setAttribute('aria-live', ariaLive);
169
- }
170
-
171
174
  container.appendChild(tooltip);
175
+ tooltip.textContent = text;
172
176
  }
173
177
 
174
178
  function detachTooltip(tooltip: HTMLElement) {
@@ -46,7 +46,6 @@ export interface TooltipContext {
46
46
  }
47
47
 
48
48
  export interface TooltipElementOptions {
49
- text: string;
50
49
  className?: string;
51
50
  }
52
51
 
@@ -1,3 +1,4 @@
1
+ .yfm table th,
1
2
  .yfm table td {
2
3
  &.cell-align-top-left,
3
4
  &.cell-align-bottom-left {
@@ -63,6 +64,18 @@
63
64
  }
64
65
  }
65
66
 
67
+ .yfm table tr[data-header] {
68
+ & > th,
69
+ & > td {
70
+ &:not([class*='cell-bg-']) {
71
+ background: var(
72
+ --yfm-color-table-head-background,
73
+ var(--yfm-color-table-head-background-private)
74
+ );
75
+ }
76
+ }
77
+ }
78
+
66
79
  .yfm table[sticky-header] {
67
80
  position: relative;
68
81
 
@@ -1,3 +1,15 @@
1
+ .yfm-tooltip-live-region {
2
+ position: absolute;
3
+ width: 1px;
4
+ height: 1px;
5
+ padding: 0;
6
+ margin: -1px;
7
+ overflow: hidden;
8
+ clip-path: inset(50%);
9
+ white-space: nowrap;
10
+ border: 0;
11
+ }
12
+
1
13
  .yfm-tooltip {
2
14
  position: absolute;
3
15
  z-index: 100;