@diplodoc/tabs-extension 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/runtime/TabsController.d.ts +3 -0
- package/runtime/index.js +1 -1
- package/runtime/index.js.map +3 -3
- package/runtime/utils.d.ts +6 -0
package/package.json
CHANGED
|
@@ -8,6 +8,9 @@ export declare class TabsController extends EventTarget {
|
|
|
8
8
|
selectTabById(id: string, options?: ISelectTabByIdOptions): void;
|
|
9
9
|
selectTab(tab: Tab): void;
|
|
10
10
|
private _selectTab;
|
|
11
|
+
private updateHTML;
|
|
12
|
+
private resetScroll;
|
|
13
|
+
private fireSelectTabEvent;
|
|
11
14
|
private isValidTabElement;
|
|
12
15
|
private getTabDataFromHTMLElement;
|
|
13
16
|
}
|
package/runtime/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(()=>{var
|
|
1
|
+
"use strict";(()=>{var M="yfm-tabs",g="yfm-tab-list",h="yfm-tab",y="yfm-tab-panel",u="active",x="data-diplodoc-group",I="data-diplodoc-key",v="data-diplodoc-id";var H="selecttab",C="defaultTabsGroup-",m=Symbol.for("diplodocTabs");var f=s=>{let r=s.composedPath();return Array.isArray(r)&&r.length>0?r[0]:s.target},N=s=>{let r=f(s);return!r||!r.matches},S=s=>Math.abs(s.scrollHeight-s.clientHeight)>1?s:s.parentElement?S(s.parentElement):void 0,_=(s,r)=>{let e=s.getBoundingClientRect(),t=r.getBoundingClientRect();return{top:e.top-t.top,left:e.left-t.left}};var l={TABS:`.${M}`,TAB_LIST:`.${g}`,TAB:`.${h}`,TAB_PANEL:`.${y}`},A=class extends EventTarget{constructor(e){super();this._document=e,this._document.addEventListener("click",t=>{let o=f(t);if(N(t)||!this.isValidTabElement(o))return;let n=this.getTabDataFromHTMLElement(o);n&&this._selectTab(n,o)})}selectTabById(e,t){let o=this._document.querySelector(`${l.TAB}[${v}="${e}"]`);if(!o||!this.isValidTabElement(o))return;let n=this.getTabDataFromHTMLElement(o);n&&this._selectTab(n,o),t!=null&&t.scrollToElement&&o.scrollIntoView()}selectTab(e){this._selectTab(e)}_selectTab(e,t){let{group:o,key:n}=e;if(!o)return;let c=t&&S(t),T=c&&_(t,c);this.updateHTML({group:o,key:n})>0&&(T&&this.resetScroll(t,c,T),this.fireSelectTabEvent({group:o,key:n},t==null?void 0:t.dataset.diplodocId))}updateHTML(e){let{group:t,key:o}=e,n=this._document.querySelectorAll(`${l.TABS}[${x}="${t}"] ${l.TAB}[${I}="${o}"]`),c=0;return n.forEach(T=>{let E=T;if(!this.isValidTabElement(E)||E.dataset.diplodocIsActive==="true")return;c++;let L=T,p=L.parentNode,a=p==null?void 0:p.parentNode,b=Array.from((a==null?void 0:a.querySelectorAll(l.TAB))||[]),O=Array.from((a==null?void 0:a.querySelectorAll(l.TAB_PANEL))||[]),D=b.indexOf(L);b.forEach((d,B)=>{let P=O[B],i=B===D,$=d;$.dataset.diplodocIsActive=i?"true":"false",d.classList.toggle(u,i),d.setAttribute("aria-selected",i.toString()),d.setAttribute("tabindex",i?"0":"-1"),P.classList.toggle(u,i)})}),c}resetScroll(e,t,o){let n=_(e,t);t.scrollTo(n.left+t.scrollLeft-o.left,n.top+t.scrollTop-o.top)}fireSelectTabEvent(e,t){let{group:o,key:n}=e,c=o.startsWith(C)?{key:n}:e;this.dispatchEvent(new CustomEvent(H,{detail:{tab:c,currentTabId:t}}))}isValidTabElement(e){let t=e.matches(l.TAB)&&e.dataset.diplodocId?e.closest(l.TAB_LIST):null;return t==null?void 0:t.closest(l.TABS)}getTabDataFromHTMLElement(e){var n;let t=e.dataset.diplodocKey,o=(n=e.closest(l.TABS))==null?void 0:n.dataset.diplodocGroup;return t&&o?{group:o,key:t}:null}};typeof window!="undefined"&&typeof document!="undefined"&&!window[m]&&(window[m]=new A(document));})();
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/runtime/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/common.ts", "../src/runtime/utils.ts", "../src/runtime/TabsController.ts", "../src/runtime/index.ts"],
|
|
4
|
-
"sourcesContent": ["import {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\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';\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_ACTIVA_KEY = 'data-diplodoc-is-active';\n\nexport const SELECT_TAB_EVENT_NAME = 'selecttab';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\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", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SELECT_TAB_EVENT_NAME,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport {isCustom
|
|
5
|
-
"mappings": "mBAEO,IAAMA,EAAiB,WACjBC,EAAsB,eACtBC,EAAgB,UAChBC,EAAsB,gBACtBC,EAAmB,SAEnBC,EAAiB,sBACjBC,EAAe,oBACfC,EAAc,mBAGpB,IAAMC,EAAwB,YAExBC,EAA4B,oBAY5BC,EAA+B,OAAO,IAAI,cAAc,EC3B9D,IAAMC,EAAkBC,GAAiB,CAC5C,IAAMC,EAAOD,EAAM,aAAa,EAChC,OAAO,MAAM,QAAQC,CAAI,GAAKA,EAAK,OAAS,EAAIA,EAAK,CAAC,EAAID,EAAM,MACpE,EAEaE,EAAYF,GAAiB,CACtC,IAAMG,EAASJ,EAAeC,CAAK,EACnC,MAAO,CAACG,GAAU,CAAEA,EAAuB,OAC/C,
|
|
6
|
-
"names": ["TABS_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "SELECT_TAB_EVENT_NAME", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "Selector", "TABS_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "TabsController", "document", "event", "target", "getEventTarget", "isCustom", "tab", "id", "options", "TAB_DATA_ID", "targetTab", "group", "key", "tabs", "GROUP_DATA_KEY", "TAB_DATA_KEY", "
|
|
4
|
+
"sourcesContent": ["import {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\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';\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_ACTIVA_KEY = 'data-diplodoc-is-active';\n\nexport const SELECT_TAB_EVENT_NAME = 'selecttab';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\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}\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 };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SELECT_TAB_EVENT_NAME,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport {\n isCustom,\n getEventTarget,\n getClosestScrollableParent,\n getOffsetByScrollableParent,\n ElementOffset,\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};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\nexport class TabsController extends EventTarget {\n private _document: Document;\n\n constructor(document: Document) {\n super();\n\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\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 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} = 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});\n\n if (updatedTabs > 0) {\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n\n this.fireSelectTabEvent({group, key}, targetTab?.dataset.diplodocId);\n }\n }\n\n private updateHTML(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(tabsContainer?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.querySelectorAll(Selector.TAB_PANEL) || []);\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 scrollableParent.scrollTo(\n targetOffset.left + scrollableParent.scrollLeft - previousTargetOffset.left,\n targetOffset.top + scrollableParent.scrollTop - previousTargetOffset.top,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key} : tab;\n this.dispatchEvent(\n new CustomEvent<SelectedTabEvent>(SELECT_TAB_EVENT_NAME, {\n detail: {tab: eventTab, currentTabId: diplodocId},\n }),\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 return tabList?.closest(Selector.TABS);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key} : null;\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["TABS_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "SELECT_TAB_EVENT_NAME", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "getClosestScrollableParent", "element", "getOffsetByScrollableParent", "scrollableParent", "elementBounds", "scrollableParentBounds", "Selector", "TABS_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "TabsController", "document", "event", "target", "getEventTarget", "isCustom", "tab", "id", "options", "TAB_DATA_ID", "targetTab", "group", "key", "scrollableParent", "getClosestScrollableParent", "previousTargetOffset", "getOffsetByScrollableParent", "tabs", "GROUP_DATA_KEY", "TAB_DATA_KEY", "updated", "element", "htmlElem", "tabList", "tabsContainer", "allTabs", "allPanels", "targetIndex", "i", "panel", "isTargetTab", "ACTIVE_CLASSNAME", "targetOffset", "diplodocId", "eventTab", "DEFAULT_TABS_GROUP_PREFIX", "SELECT_TAB_EVENT_NAME", "_a", "GLOBAL_SYMBOL", "TabsController"]
|
|
7
7
|
}
|
package/runtime/utils.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
export declare const getEventTarget: (event: Event) => EventTarget | null;
|
|
2
2
|
export declare const isCustom: (event: Event) => boolean;
|
|
3
|
+
export declare const getClosestScrollableParent: (element: HTMLElement) => HTMLElement | undefined;
|
|
4
|
+
export interface ElementOffset {
|
|
5
|
+
top: number;
|
|
6
|
+
left: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const getOffsetByScrollableParent: (element: HTMLElement, scrollableParent: HTMLElement) => ElementOffset;
|