@diplodoc/transform 4.19.1 → 4.21.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,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../node_modules/get-root-node-polyfill/index.js", "../../node_modules/@diplodoc/tabs-extension/src/common.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/utils.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/TabsController.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/index.ts", "../../src/js/polyfill.js", "../../src/js/utils.ts", "../../src/js/code.ts", "../../src/js/cut.ts", "../../src/js/term/utils.ts", "../../src/js/term/index.ts"],
4
- "sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsOrientation} from './plugin/transform';\nimport type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_VERTICAL_CLASSNAME = 'yfm-tabs-vertical';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n align: TabsOrientation;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n scrollTop: number;\n scrollLeft: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n scrollTop: scrollableParent.scrollTop,\n scrollLeft: scrollableParent.scrollLeft,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TABS_VERTICAL_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport type {TabsOrientation} from '../plugin/transform';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n VERTICAL_TABS: `.${TABS_VERTICAL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\ntype TabSwitchDirection = 'left' | 'right';\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n const areVertical = this.areTabsVertical(target);\n\n if (isCustom(event)) {\n return;\n }\n\n if (!(this.isValidTabElement(target) || areVertical)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n this._document.addEventListener('keydown', (event) => {\n let direction: TabSwitchDirection | null = null;\n switch (event.key) {\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n }\n if (!direction) {\n return;\n }\n\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const {tabs, nodes} = this.getTabs(target);\n const currentTab = this.getTabDataFromHTMLElement(target);\n const currentTabIndex = tabs.findIndex(\n ({key}) => currentTab?.key && key === currentTab.key,\n );\n if (!currentTab || tabs.length <= 1 || currentTabIndex === -1) {\n return;\n }\n\n const newIndex =\n (currentTabIndex + (direction === 'left' ? -1 : 1) + tabs.length) % tabs.length;\n\n this.selectTab(tabs[newIndex]);\n nodes[newIndex].focus();\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key, align} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key, align}, align);\n\n if (updatedTabs > 0) {\n this.fireSelectTabEvent({group, key, align}, targetTab?.dataset.diplodocId);\n\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n }\n }\n\n private updateHTML(tab: Required<Tab>, align: TabsOrientation) {\n switch (align) {\n case 'vertical': {\n return this.updateHTMLVertical(tab);\n }\n case 'horizontal': {\n return this.updateHTMLHorizontal(tab);\n }\n }\n\n return 0;\n }\n\n private updateHTMLVertical(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const [tabs] = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n const root = tabs.parentNode!;\n const elements = root.children;\n\n for (let i = 0; i < elements.length; i += 2) {\n const [title, content] = [elements.item(i), elements.item(i + 1)] as HTMLElement[];\n\n const input = title.children.item(0) as HTMLInputElement;\n\n if (input.hasAttribute('checked')) {\n title.classList.remove('active');\n content?.classList.remove('active');\n input.removeAttribute('checked');\n }\n\n if (title === tabs) {\n title.classList.add('active');\n content?.classList.add('active');\n input.setAttribute('checked', 'true');\n }\n\n updated++;\n }\n\n return updated;\n }\n\n private updateHTMLHorizontal(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabList?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.children || []).filter((node) =>\n node.classList.contains(TAB_PANEL_CLASSNAME),\n );\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '0' : '-1');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n const topDelta = targetOffset.top - previousTargetOffset.top;\n const leftDelta = targetOffset.left - previousTargetOffset.left;\n const scrollTopDelta = targetOffset.scrollTop - previousTargetOffset.scrollTop;\n const scrollLeftDelta = targetOffset.scrollLeft - previousTargetOffset.scrollLeft;\n scrollableParent.scrollTo(\n scrollableParent.scrollLeft + leftDelta - scrollLeftDelta,\n scrollableParent.scrollTop + topDelta - scrollTopDelta,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key, align} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key, align} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n\n return tabList?.closest(Selector.TABS);\n }\n\n private areTabsVertical(target: HTMLElement) {\n const parent = target.parentElement;\n\n return target.dataset.diplodocVerticalTab || Boolean(parent?.dataset.diplodocVerticalTab);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n if (this.areTabsVertical(target)) {\n const tab = target.dataset.diplodocVerticalTab ? target : target.parentElement!;\n\n const key = tab.dataset.diplodocKey;\n const group = (tab.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'vertical'} : null;\n }\n\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'horizontal'} : null;\n }\n\n private getTabs(target: HTMLElement): {tabs: Tab[]; nodes: NodeListOf<HTMLElement>} {\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n const nodes = (\n target.closest(Selector.TAB_LIST) as HTMLElement\n )?.querySelectorAll<HTMLElement>(Selector.TAB);\n\n const tabs: Tab[] = [];\n nodes.forEach((tabEl) => {\n const key = tabEl?.dataset.diplodocKey;\n if (!key) {\n return;\n }\n\n /** horizontal-only supported feature (used in left/right button click) */\n tabs.push({\n group,\n key,\n align: 'horizontal',\n });\n });\n\n return {tabs, nodes};\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left =\n Number(\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument,\n ) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n"],
5
- "mappings": "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",
6
- "names": ["require_get_root_node_polyfill", "__commonJS", "exports", "module", "getRootNode", "opt", "composed", "getShadowIncludingRoot", "getRoot", "node", "root", "isShadowRoot", "TABS_CLASSNAME", "TABS_VERTICAL_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "getClosestScrollableParent", "element", "getOffsetByScrollableParent", "scrollableParent", "elementBounds", "scrollableParentBounds", "Selector", "TabsController", "document", "areVertical", "tab", "direction", "tabs", "nodes", "currentTab", "currentTabIndex", "key", "newIndex", "handler", "id", "options", "targetTab", "group", "align", "previousTargetOffset", "updated", "elements", "i", "title", "content", "input", "htmlElem", "tabList", "tabsContainer", "allTabs", "allPanels", "targetIndex", "panel", "isTargetTab", "targetOffset", "topDelta", "leftDelta", "scrollTopDelta", "scrollLeftDelta", "diplodocId", "eventTab", "parent", "_a", "_b", "tabEl", "import_get_root_node_polyfill", "__toESM", "e", "matches", "selector", "th", "BUTTON_SELECTOR", "copyToClipboard", "text", "textarea", "notifySuccess", "svgButton", "icon", "code", "ClassName", "toggleCut", "cutNode", "matchTitle", "findTitleInPath", "openClass", "openDefinitionClass", "isListenerNeeded", "createDefinitionElement", "termElement", "termKey", "definitionTemplate", "definitionElement", "setDefinitionId", "termId", "setDefinitionPosition", "termX", "termY", "termRight", "termLeft", "termWidth", "termHeight", "termParent", "termParentElement", "termParentRight", "termParentLeft", "closeDefinition", "termOnResize", "relativeX", "relativeY", "offsetTop", "definitionParent", "definitionWidth", "definitionParentLeft", "definitionLeftCoordinate", "getCoords", "definitionRightCoordinate", "definitionOutOfScreenOnLeft", "fitDefinitionDocument", "customHeaderTop", "openDefinition", "term", "definition", "elem", "box", "body", "docEl", "scrollTop", "scrollLeft", "clientTop", "clientLeft", "top", "left", "isTargetDefinitionContent"]
4
+ "sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsOrientation} from './plugin/transform';\nimport type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_VERTICAL_CLASSNAME = 'yfm-tabs-vertical';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n align: TabsOrientation;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n scrollTop: number;\n scrollLeft: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n scrollTop: scrollableParent.scrollTop,\n scrollLeft: scrollableParent.scrollLeft,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TABS_VERTICAL_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport type {TabsOrientation} from '../plugin/transform';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n VERTICAL_TABS: `.${TABS_VERTICAL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\ntype TabSwitchDirection = 'left' | 'right';\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n const areVertical = this.areTabsVertical(target);\n\n if (isCustom(event)) {\n return;\n }\n\n if (!(this.isValidTabElement(target) || areVertical)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n this._document.addEventListener('keydown', (event) => {\n let direction: TabSwitchDirection | null = null;\n switch (event.key) {\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n }\n if (!direction) {\n return;\n }\n\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const {tabs, nodes} = this.getTabs(target);\n const currentTab = this.getTabDataFromHTMLElement(target);\n const currentTabIndex = tabs.findIndex(\n ({key}) => currentTab?.key && key === currentTab.key,\n );\n if (!currentTab || tabs.length <= 1 || currentTabIndex === -1) {\n return;\n }\n\n const newIndex =\n (currentTabIndex + (direction === 'left' ? -1 : 1) + tabs.length) % tabs.length;\n\n this.selectTab(tabs[newIndex]);\n nodes[newIndex].focus();\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key, align} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key, align}, align);\n\n if (updatedTabs > 0) {\n this.fireSelectTabEvent({group, key, align}, targetTab?.dataset.diplodocId);\n\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n }\n }\n\n private updateHTML(tab: Required<Tab>, align: TabsOrientation) {\n switch (align) {\n case 'radio': {\n return this.updateHTMLVertical(tab);\n }\n case 'horizontal': {\n return this.updateHTMLHorizontal(tab);\n }\n }\n\n return 0;\n }\n\n private updateHTMLVertical(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const [tabs] = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n const root = tabs.parentNode!;\n const elements = root.children;\n\n for (let i = 0; i < elements.length; i += 2) {\n const [title, content] = [elements.item(i), elements.item(i + 1)] as HTMLElement[];\n\n const input = title.children.item(0) as HTMLInputElement;\n\n if (input.hasAttribute('checked')) {\n title.classList.remove('active');\n content?.classList.remove('active');\n input.removeAttribute('checked');\n }\n\n if (title === tabs) {\n title.classList.add('active');\n content?.classList.add('active');\n input.setAttribute('checked', 'true');\n }\n\n updated++;\n }\n\n return updated;\n }\n\n private updateHTMLHorizontal(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabList?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.children || []).filter((node) =>\n node.classList.contains(TAB_PANEL_CLASSNAME),\n );\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '0' : '-1');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n const topDelta = targetOffset.top - previousTargetOffset.top;\n const leftDelta = targetOffset.left - previousTargetOffset.left;\n const scrollTopDelta = targetOffset.scrollTop - previousTargetOffset.scrollTop;\n const scrollLeftDelta = targetOffset.scrollLeft - previousTargetOffset.scrollLeft;\n scrollableParent.scrollTo(\n scrollableParent.scrollLeft + leftDelta - scrollLeftDelta,\n scrollableParent.scrollTop + topDelta - scrollTopDelta,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key, align} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key, align} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n\n return tabList?.closest(Selector.TABS);\n }\n\n private areTabsVertical(target: HTMLElement) {\n const parent = target.parentElement;\n\n return target.dataset.diplodocVerticalTab || Boolean(parent?.dataset.diplodocVerticalTab);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n if (this.areTabsVertical(target)) {\n const tab = target.dataset.diplodocVerticalTab ? target : target.parentElement!;\n\n const key = tab.dataset.diplodocKey;\n const group = (tab.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'radio'} : null;\n }\n\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'horizontal'} : null;\n }\n\n private getTabs(target: HTMLElement): {tabs: Tab[]; nodes: NodeListOf<HTMLElement>} {\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n const nodes = (\n target.closest(Selector.TAB_LIST) as HTMLElement\n )?.querySelectorAll<HTMLElement>(Selector.TAB);\n\n const tabs: Tab[] = [];\n nodes.forEach((tabEl) => {\n const key = tabEl?.dataset.diplodocKey;\n if (!key) {\n return;\n }\n\n /** horizontal-only supported feature (used in left/right button click) */\n tabs.push({\n group,\n key,\n align: 'horizontal',\n });\n });\n\n return {tabs, nodes};\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["require_get_root_node_polyfill", "__commonJS", "exports", "module", "getRootNode", "opt", "composed", "getShadowIncludingRoot", "getRoot", "node", "root", "isShadowRoot", "TABS_CLASSNAME", "TABS_VERTICAL_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "getClosestScrollableParent", "element", "getOffsetByScrollableParent", "scrollableParent", "elementBounds", "scrollableParentBounds", "Selector", "TabsController", "document", "areVertical", "tab", "direction", "tabs", "nodes", "currentTab", "currentTabIndex", "key", "newIndex", "handler", "id", "options", "targetTab", "group", "align", "previousTargetOffset", "updated", "elements", "i", "title", "content", "input", "htmlElem", "tabList", "tabsContainer", "allTabs", "allPanels", "targetIndex", "panel", "isTargetTab", "targetOffset", "topDelta", "leftDelta", "scrollTopDelta", "scrollLeftDelta", "diplodocId", "eventTab", "parent", "_a", "_b", "tabEl", "import_get_root_node_polyfill", "__toESM", "e", "matches", "selector", "th", "BUTTON_SELECTOR", "copyToClipboard", "text", "textarea", "notifySuccess", "svgButton", "icon", "code", "ClassName", "toggleCut", "cutNode", "matchTitle", "findTitleInPath", "openClass", "openDefinitionClass", "isListenerNeeded", "createDefinitionElement", "termElement", "termKey", "definitionTemplate", "definitionElement", "setDefinitionId", "termId", "setDefinitionPosition", "termX", "termY", "termRight", "termLeft", "termWidth", "termHeight", "termParent", "termParentElement", "termParentRight", "termParentLeft", "closeDefinition", "termOnResize", "relativeX", "relativeY", "offsetTop", "definitionParent", "definitionWidth", "definitionParentLeft", "definitionLeftCoordinate", "getCoords", "definitionRightCoordinate", "definitionOutOfScreenOnLeft", "definitionOutOfScreenOnRight", "fitDefinitionDocument", "customHeaderTop", "shiftLeft", "offsetLeft", "isShiftLeftNeeded", "openDefinition", "term", "definition", "elem", "box", "body", "docEl", "scrollTop", "scrollLeft", "clientTop", "clientLeft", "top", "left", "isTargetDefinitionContent"]
7
7
  }
@@ -89,7 +89,7 @@ const index = (md, options) => {
89
89
  else {
90
90
  id = slugify(title, {
91
91
  lower: true,
92
- remove: /[*+~.()'"!:@`ь]/g,
92
+ remove: /[*+~.()'"!:@`ь?]/g,
93
93
  });
94
94
  ghId = slugger.slug(title);
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/anchors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/anchors/index.ts"],"names":[],"mappings":"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"}
@@ -156,7 +156,14 @@ function getTableRowPositions(state, startPosition, endPosition, startLine) {
156
156
  }
157
157
  iter.next();
158
158
  }
159
- return { rows, endOfTable };
159
+ const { pos } = iter;
160
+ return { rows, endOfTable, pos };
161
+ }
162
+ function extractAttributes(state, pos) {
163
+ var _a;
164
+ const attrsStringStart = state.skipSpaces(pos);
165
+ const attrsString = state.src.slice(attrsStringStart);
166
+ return (_a = (0, utils_1.parseAttrs)(attrsString)) !== null && _a !== void 0 ? _a : {};
160
167
  }
161
168
  /**
162
169
  * Extracts the class attribute from the given content token and applies it to the tdOpenToken.
@@ -167,13 +174,14 @@ function getTableRowPositions(state, startPosition, endPosition, startLine) {
167
174
  * @returns {void}
168
175
  */
169
176
  function extractAndApplyClassFromToken(contentToken, tdOpenToken) {
177
+ var _a;
170
178
  // Regex to find class attribute in any position within brackets
171
179
  const blockRegex = /\s*\{[^}]*}$/;
172
180
  const allAttrs = contentToken.content.match(blockRegex);
173
181
  if (!allAttrs) {
174
182
  return;
175
183
  }
176
- const attrsClass = (0, utils_1.parseAttrsClass)(allAttrs[0].trim());
184
+ const attrsClass = (_a = (0, utils_1.parseAttrs)(allAttrs[0].trim())) === null || _a === void 0 ? void 0 : _a.class.join(' ');
177
185
  if (attrsClass) {
178
186
  tdOpenToken.attrSet('class', attrsClass);
179
187
  // remove the class from the token so that it's not propagated to tr or table level
@@ -297,7 +305,8 @@ const yfmTable = (md) => {
297
305
  if (silent) {
298
306
  return true;
299
307
  }
300
- const { rows, endOfTable } = getTableRowPositions(state, startPosition, endPosition, startLine);
308
+ const { rows, endOfTable, pos } = getTableRowPositions(state, startPosition, endPosition, startLine);
309
+ const attrs = extractAttributes(state, pos);
301
310
  if (!endOfTable) {
302
311
  token = state.push('__yfm_lint', '', 0);
303
312
  token.hidden = true;
@@ -310,6 +319,9 @@ const yfmTable = (md) => {
310
319
  state.line = startLine;
311
320
  const tableStart = state.tokens.length;
312
321
  token = state.push('yfm_table_open', 'table', 1);
322
+ for (const [property, values] of Object.entries(attrs)) {
323
+ token.attrJoin(property, values.join(' '));
324
+ }
313
325
  token.map = [startLine, endOfTable];
314
326
  token = state.push('yfm_tbody_open', 'tbody', 1);
315
327
  token.map = [startLine + 1, endOfTable - 1];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/table/index.ts"],"names":[],"mappings":";AAGA,mCAAwC;AAExC,MAAM,UAAU,GAAG,WAAW,CAAC;AAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI;AAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,IAAI;AACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI;AAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,IAAI;AAChC,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,eAAe,GAAG,CAAC,KAAe,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE;IAClE,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,SAAS,KAAK,WAAW,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAIF,MAAM,wBAAwB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAClE,MAAM,qBAAqB,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAChD,eAAe,CAAC,wBAAwB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAExD,MAAM,sBAAsB,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAClE,MAAM,mBAAmB,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAC9C,eAAe,CAAC,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtD,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1F,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5C,MAAM,gBAAgB,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1F,MAAM,UAAU,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,aAAa,CAAC;AAEpF,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACrC,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAErE,MAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,WAAW,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACtC,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE/F,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,iBAAiB,GAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAI5F,MAAM,aAAa;IAOf,YAAY,KAAiB,EAAE,GAAW,EAAE,IAAY;QACpD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK;QACD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;SAChB,CAAC;IACN,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE;gBAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChD;SACJ;IACL,CAAC;CACJ;AAOD,SAAS,oBAAoB,CACzB,KAAiB,EACjB,aAAqB,EACrB,WAAmB,EACnB,SAAiB;IAEjB,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAqB,EAAE,CAAC;IACtC,IAAI,QAAQ,GAAiB,IAAI,CAAC;IAClC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAExF,MAAM,IAAI,GAA0C,EAAE,CAAC;IAEvD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,GAAG,EAAE;QAChB,IAAI,QAAQ,EAAE;YACV,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC7C;QACD,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;SAChD;QACD,UAAU,GAAG,EAAE,CAAC;QAChB,QAAQ,GAAG,IAAI,CAAC;QAChB,QAAQ,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE;QAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC3B,MAAM;SACT;QAED,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YACvC,YAAY,GAAG,CAAC,YAAY,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACpC;QAED,IAAI,YAAY,EAAE;YACd,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS;SACZ;QAED,IAAI,CAAC,sBAAsB,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YACvE,sBAAsB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;SAC9C;QAED,IAAI,sBAAsB,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YACpE,sBAAsB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;SAC5C;QAED,IAAI,sBAAsB,EAAE;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS;SACZ;QAED,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YACvC,aAAa,GAAG,IAAI,CAAC;YACrB,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACjC,SAAS;SACZ;QAED,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YACxC,IAAI,UAAU,KAAK,CAAC,EAAE;gBAClB,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAClC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC3B,MAAM;aACT;iBAAM;gBACH,aAAa,GAAG,KAAK,CAAC;gBACtB,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAClC,SAAS;aACZ;SACJ;QAED,IAAI,aAAa,EAAE;YACf,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS;SACZ;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,SAAS,EAAE;gBACX,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;aACnC;iBAAM;gBACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAChC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;aAC3B;YAED,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;YAEnC,SAAS;SACZ;QAED,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YAClC,IAAI,QAAQ,EAAE;gBACV,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC7C;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACjC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,SAAS;SACZ;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;KACf;IACD,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B,CAAC,YAAmB,EAAE,WAAkB;IAC1E,gEAAgE;IAChE,MAAM,UAAU,GAAG,cAAc,CAAC;IAClC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO;KACV;IACD,MAAM,UAAU,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE;QACZ,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACzC,mFAAmF;QACnF,IAAI,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACjC,eAAe,GAAG,EAAE,CAAC;SACxB;QACD,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;KACrF;AACL,CAAC;AAED,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAAG,CAAC,UAAsB,EAAE,QAAmB,EAAQ,EAAE;IACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;gBACrC,wBAAwB;gBACxB,IAAI,CAAC,KAAK,CAAC,EAAE;oBACT,SAAS;iBACZ;gBACD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC;gBAC9C,IAAI,aAAa,GAAG,CAAC,CAAC;gBACtB,6BAA6B;gBAC7B,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;oBACnC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE;wBACvC,aAAa,EAAE,CAAC;wBAChB,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC;qBACnD;yBAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE;wBAC9C,sEAAsE;wBACtE,MAAM;qBACT;yBAAM;wBACH,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC9D,MAAM;qBACT;iBACJ;aACJ;YAED,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;gBACrC,qBAAqB;gBACrB,IAAI,CAAC,KAAK,CAAC,EAAE;oBACT,SAAS;iBACZ;gBACD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC;gBAC9C,IAAI,aAAa,GAAG,CAAC,CAAC;gBACtB,uBAAuB;gBACvB,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;oBACnC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;wBACvC,aAAa,EAAE,CAAC;wBAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC;qBACnD;yBAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;wBAC9C,MAAM;qBACT;yBAAM;wBACH,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC9D,MAAM;qBACT;iBACJ;aACJ;SACJ;KACJ;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,MAAe,EAAQ,EAAE;;IAC9D,yEAAyE;IACzE,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,IAAI,MAAA,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,eAAe,EAAE;YACjC,gFAAgF;YAChF,uFAAuF;YACvF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9B,6CAA6C;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;oBAChE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM;iBACT;aACJ;SACJ;KACJ;IACD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE;QAC7B,gDAAgD;QAChD,8CAA8C;QAC9C,IAAI,KAAK,IAAI,GAAG,EAAE;YACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;SACzC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAuB,CAAC,EAAE,EAAE,EAAE;IACxC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACjB,MAAM,EACN,UAAU,EACV,CAAC,KAAiB,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAe,EAAE,EAAE;QACvE,IAAI,KAAK,CAAC;QACV,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1C,uBAAuB;QACvB,IAAI,WAAW,GAAG,aAAa,GAAG,CAAC,EAAE;YACjC,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE;YAC7C,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,MAAM,EAAE;YACR,OAAO,IAAI,CAAC;SACf;QAED,MAAM,EAAC,IAAI,EAAE,UAAU,EAAC,GAAG,oBAAoB,CAC3C,KAAK,EACL,aAAa,EACb,WAAW,EACX,SAAS,CACZ,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE;YACb,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC;QAEvC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAEvB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEpC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QAE5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,AAAD,EAAG,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAExE,6DAA6D;QAC7D,0EAA0E;QAC1E,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,yEAAyE;QACzE,6EAA6E;QAC7E,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAE9B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3C,KAAK,CAAC,GAAG,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3C,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEnC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;gBAEjC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;gBACrC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBAE7B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACzD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE3D,oFAAoF;gBACpF,uCAAuC;gBACvC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1E,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE5B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAErE,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;gBAC3B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;gBACrC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;gBACpC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAElC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChD,6BAA6B,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aAChF;YAED,IAAI,SAAS,GAAG,YAAY,EAAE;gBAC1B,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,CAAC;gBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;oBACtC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC3C,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;iBAChD;aACJ;YAED,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAChD;QAED,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACjC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QAEzE,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;QAExB,OAAO,IAAI,CAAC;IAChB,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAEF,iBAAS,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/table/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1 @@
1
- /**
2
- * Parse the markdown-attrs format to retrieve a class name
3
- * Putting all the requirements in regex was more complicated than parsing a string char by char.
4
- *
5
- * @param {string} inputString - The string to parse.
6
- * @returns {string|null} - The extracted class or null if there is none
7
- */
8
- export declare function parseAttrsClass(inputString: string): string | null;
1
+ export declare function parseAttrs(inputString: string): Record<string, string[]> | null;
@@ -1,15 +1,48 @@
1
1
  "use strict";
2
- /**
3
- * Parse the markdown-attrs format to retrieve a class name
4
- * Putting all the requirements in regex was more complicated than parsing a string char by char.
5
- *
6
- * @param {string} inputString - The string to parse.
7
- * @returns {string|null} - The extracted class or null if there is none
8
- */
9
2
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.parseAttrsClass = void 0;
11
- function parseAttrsClass(inputString) {
12
- const validChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .=-_';
3
+ exports.parseAttrs = void 0;
4
+ const wrapToData = (key) => {
5
+ if (key.startsWith('data-')) {
6
+ return key;
7
+ }
8
+ return `data-${key}`;
9
+ };
10
+ const selectors = {
11
+ class(value) {
12
+ if (value.startsWith('.')) {
13
+ return {
14
+ key: 'class',
15
+ value: value.slice(1),
16
+ };
17
+ }
18
+ return null;
19
+ },
20
+ id(value) {
21
+ if (value.startsWith('#')) {
22
+ return {
23
+ key: 'id',
24
+ value: value.slice(1),
25
+ };
26
+ }
27
+ return null;
28
+ },
29
+ attr(value) {
30
+ const parts = value.split('=');
31
+ if (parts.length === 2) {
32
+ return {
33
+ key: wrapToData(parts[0]),
34
+ value: parts[1],
35
+ };
36
+ }
37
+ return {
38
+ key: wrapToData(value),
39
+ value: 'true',
40
+ };
41
+ },
42
+ };
43
+ const handlers = Object.values(selectors);
44
+ function parseAttrs(inputString) {
45
+ const validChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .=-_#';
13
46
  if (!inputString.startsWith('{')) {
14
47
  return null;
15
48
  }
@@ -20,15 +53,24 @@ function parseAttrsClass(inputString) {
20
53
  if (!contentInside) {
21
54
  return null;
22
55
  }
23
- const parts = contentInside.split('.');
24
- if (parts.length !== 2 || !parts[1]) {
25
- return null;
26
- }
27
- //There should be a preceding whitespace
28
- if (!parts[0].endsWith(' ') && parts[0] !== '') {
29
- return null;
30
- }
31
- return parts[1];
56
+ const parts = contentInside.split(' ');
57
+ const attrs = {
58
+ class: [],
59
+ id: [],
60
+ };
61
+ parts.forEach((part) => {
62
+ const matched = handlers.find((test) => test(part));
63
+ if (!matched) {
64
+ return;
65
+ }
66
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
67
+ const { key, value } = matched(part);
68
+ if (!attrs[key]) {
69
+ attrs[key] = [];
70
+ }
71
+ attrs[key].push(value);
72
+ });
73
+ return attrs;
32
74
  }
33
75
  if (!validChars.includes(char)) {
34
76
  return null;
@@ -36,5 +78,5 @@ function parseAttrsClass(inputString) {
36
78
  }
37
79
  return null;
38
80
  }
39
- exports.parseAttrsClass = parseAttrsClass;
81
+ exports.parseAttrs = parseAttrs;
40
82
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/transform/plugins/table/utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,SAAgB,eAAe,CAAC,WAAmB;IAC/C,MAAM,UAAU,GAAG,2DAA2D,CAAC;IAE/E,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACf;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,IAAI,KAAK,GAAG,EAAE;YACd,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,4BAA4B;YAElF,IAAI,CAAC,aAAa,EAAE;gBAChB,OAAO,IAAI,CAAC;aACf;YAED,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACjC,OAAO,IAAI,CAAC;aACf;YACD,wCAAwC;YACxC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5C,OAAO,IAAI,CAAC;aACf;YAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAnCD,0CAmCC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/transform/plugins/table/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/transform",
3
- "version": "4.19.1",
3
+ "version": "4.21.0",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -40,7 +40,7 @@
40
40
  "typecheck": "tsc -p tsconfig.json --noEmit"
41
41
  },
42
42
  "dependencies": {
43
- "@diplodoc/tabs-extension": "^2.2.0",
43
+ "@diplodoc/tabs-extension": "^3.0.0",
44
44
  "chalk": "^4.1.2",
45
45
  "cheerio": "^1.0.0-rc.12",
46
46
  "css": "^3.0.0",
@@ -86,16 +86,21 @@ export function setDefinitionPosition(
86
86
  const fitDefinitionDocument =
87
87
  isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;
88
88
  const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;
89
+ const offsetRight = 5;
90
+ const shiftLeft = definitionOutOfScreenOnRight
91
+ ? definitionRightCoordinate - document.body.clientWidth + offsetRight
92
+ : 0;
93
+ const offsetLeft =
94
+ getCoords(termElement).left -
95
+ definitionParentLeft +
96
+ definitionParent.offsetLeft -
97
+ fitDefinitionDocument;
98
+
99
+ const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;
89
100
 
90
101
  definitionElement.style.top =
91
102
  Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';
92
- definitionElement.style.left =
93
- Number(
94
- getCoords(termElement).left -
95
- definitionParentLeft +
96
- definitionParent.offsetLeft -
97
- fitDefinitionDocument,
98
- ) + 'px';
103
+ definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';
99
104
  }
100
105
 
101
106
  function termOnResize() {
@@ -16,7 +16,7 @@
16
16
 
17
17
  &_dfn {
18
18
  position: absolute;
19
- z-index: 1000;
19
+ z-index: 100;
20
20
 
21
21
  width: fit-content;
22
22
  max-width: 450px;
@@ -124,7 +124,7 @@ const index: MarkdownItPluginCb<Options> = (md, options) => {
124
124
  } else {
125
125
  id = slugify(title, {
126
126
  lower: true,
127
- remove: /[*+~.()'"!:@`ь]/g,
127
+ remove: /[*+~.()'"!:@`ь?]/g,
128
128
  });
129
129
  ghId = slugger.slug(title);
130
130
  }