@diplodoc/tabs-extension 2.1.1 → 2.1.2

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/tabs-extension",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "description": "TBD",
5
5
  "main": "plugin/index.js",
6
6
  "types": "plugin/index.d.ts",
package/runtime/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .yfm-tabs{margin-bottom:15px}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol{counter-reset:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li{counter-increment:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li:before{content:counters(tabs-list,".") ". "}.yfm-tab-list{display:flex;flex-wrap:wrap;margin-bottom:15px;border-bottom:1px solid rgba(0,0,0,.07)}.yfm-tab{margin-bottom:-1px;margin-right:20px;border-bottom:2px solid transparent;padding:6px 0 7px;font-weight:700;outline:none;cursor:pointer;user-select:none;white-space:break-spaces}.yfm-tab:last-child{margin-right:0}.yfm-tab:hover,.yfm-tab:active{color:#004080}.yfm-tab.active{border-bottom-color:#027bf3}.yfm-tab:focus{outline:2px solid #4d90fe;border-radius:2px}.yfm-tab:focus:not(:focus-visible){outline:0}.yfm-tab-panel{visibility:hidden;overflow:hidden;height:0}.yfm-tab-panel:first-child{margin-top:0!important}.yfm-tab-panel:last-child{margin-bottom:0!important}.yfm-tab-panel.active{visibility:visible;height:auto}
1
+ .yfm-tabs{margin-bottom:15px}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol{counter-reset:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li{counter-increment:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li:before{content:counters(tabs-list,".") ". "}.yfm-tab-list{display:flex;flex-wrap:wrap;margin-bottom:15px;border-bottom:1px solid rgba(0,0,0,.07)}.yfm-tab{margin-bottom:-1px;margin-right:20px;border-bottom:2px solid transparent;padding:6px 0 7px;font-weight:700;outline:none;cursor:pointer;user-select:none;white-space:break-spaces}.yfm-tab:last-child{margin-right:0}.yfm-tab:hover,.yfm-tab:active{color:#004080}.yfm-tab.active{border-bottom-color:#027bf3}.yfm-tab:focus{outline:2px solid #4d90fe;border-radius:2px}.yfm-tab:focus:not(:focus-visible){outline:0}.yfm-tab-panel{position:relative;visibility:hidden;overflow:hidden;height:0}.yfm-tab-panel:first-child{margin-top:0!important}.yfm-tab-panel:last-child{margin-bottom:0!important}.yfm-tab-panel.active{visibility:visible;height:auto}
2
2
  /*# sourceMappingURL=index.css.map */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/runtime/scss/tabs.scss"],
4
- "sourcesContent": [".yfm-tabs {\n margin-bottom: 15px;\n\n .yfm:not(.yfm_no-list-reset) & ol {\n counter-reset: tabs-list;\n\n & > li {\n counter-increment: tabs-list;\n\n &::before {\n content: counters(tabs-list, '.') '. ';\n }\n }\n }\n}\n\n.yfm-tab-list {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 15px;\n\n border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n}\n\n.yfm-tab {\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n\n padding: 6px 0 7px 0;\n font-weight: 700;\n outline: none;\n cursor: pointer;\n user-select: none;\n white-space: break-spaces;\n\n &:last-child {\n margin-right: 0;\n }\n\n &:hover, &:active {\n color: #004080;\n }\n\n &.active {\n border-bottom-color: #027bf3;\n }\n\n &:focus {\n outline: 2px solid #4d90fe;\n border-radius: 2px;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n}\n\n.yfm-tab-panel {\n visibility: hidden;\n overflow: hidden;\n height: 0;\n\n &:first-child {\n margin-top: 0 !important;\n }\n\n &:last-child {\n margin-bottom: 0 !important;\n }\n\n &.active {\n visibility: visible;\n height: auto;\n }\n}\n"],
5
- "mappings": "AAAA,CAAA,SACI,cAAA,KAEA,CAAA,GAAA,KAAA,CAAA,mBAAA,CAHJ,SAGI,GACI,cAAA,UAEA,CAHJ,GAGI,KAAA,CAHJ,mBAGI,CANR,SAMQ,EAAA,CAAA,GACI,kBAAA,UAEA,CANR,GAMQ,KAAA,CANR,mBAMQ,CATZ,SASY,EAAA,CAAA,EAAA,QACI,QAAA,SAAA,SAAA,CAAA,KAAA,KAMhB,CAAA,aACI,QAAA,KACA,UAAA,KACA,cAAA,KAEA,cAAA,IAAA,MAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAGJ,CAAA,QACI,cAAA,KACA,aAAA,KACA,cAAA,IAAA,MAAA,YA3BJ,QA6BI,IAAA,EAAA,IACA,YAAA,IACA,QAAA,KACA,OAAA,QACA,YAAA,KACA,YAAA,aAEA,CAZJ,OAYI,YACI,aAAA,EAGJ,CAhBJ,OAgBI,OAAA,CAhBJ,OAgBI,QACI,MAAA,QAGJ,CApBJ,OAoBI,CAAA,OACI,oBAAA,QAGJ,CAxBJ,OAwBI,OACI,QAAA,IAAA,MAAA,QAjDR,cAkDQ,IAEJ,CA5BJ,OA4BI,MAAA,KAAA,gBACI,QAAA,EAIR,CAAA,cACI,WAAA,OACA,SAAA,OACA,OAAA,EAEA,CALJ,aAKI,aACI,WAAA,YAGJ,CATJ,aASI,YACI,cAAA,YAGJ,CAbJ,aAaI,CA1BA,OA2BI,WAAA,QACA,OAAA",
4
+ "sourcesContent": [".yfm-tabs {\n margin-bottom: 15px;\n\n .yfm:not(.yfm_no-list-reset) & ol {\n counter-reset: tabs-list;\n\n & > li {\n counter-increment: tabs-list;\n\n &::before {\n content: counters(tabs-list, '.') '. ';\n }\n }\n }\n}\n\n.yfm-tab-list {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 15px;\n\n border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n}\n\n.yfm-tab {\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n\n padding: 6px 0 7px 0;\n font-weight: 700;\n outline: none;\n cursor: pointer;\n user-select: none;\n white-space: break-spaces;\n\n &:last-child {\n margin-right: 0;\n }\n\n &:hover, &:active {\n color: #004080;\n }\n\n &.active {\n border-bottom-color: #027bf3;\n }\n\n &:focus {\n outline: 2px solid #4d90fe;\n border-radius: 2px;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n}\n\n.yfm-tab-panel {\n position: relative;\n visibility: hidden;\n overflow: hidden;\n height: 0;\n\n &:first-child {\n margin-top: 0 !important;\n }\n\n &:last-child {\n margin-bottom: 0 !important;\n }\n\n &.active {\n visibility: visible;\n height: auto;\n }\n}\n"],
5
+ "mappings": "AAAA,CAAA,SACI,cAAA,KAEA,CAAA,GAAA,KAAA,CAAA,mBAAA,CAHJ,SAGI,GACI,cAAA,UAEA,CAHJ,GAGI,KAAA,CAHJ,mBAGI,CANR,SAMQ,EAAA,CAAA,GACI,kBAAA,UAEA,CANR,GAMQ,KAAA,CANR,mBAMQ,CATZ,SASY,EAAA,CAAA,EAAA,QACI,QAAA,SAAA,SAAA,CAAA,KAAA,KAMhB,CAAA,aACI,QAAA,KACA,UAAA,KACA,cAAA,KAEA,cAAA,IAAA,MAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAGJ,CAAA,QACI,cAAA,KACA,aAAA,KACA,cAAA,IAAA,MAAA,YA3BJ,QA6BI,IAAA,EAAA,IACA,YAAA,IACA,QAAA,KACA,OAAA,QACA,YAAA,KACA,YAAA,aAEA,CAZJ,OAYI,YACI,aAAA,EAGJ,CAhBJ,OAgBI,OAAA,CAhBJ,OAgBI,QACI,MAAA,QAGJ,CApBJ,OAoBI,CAAA,OACI,oBAAA,QAGJ,CAxBJ,OAwBI,OACI,QAAA,IAAA,MAAA,QAjDR,cAkDQ,IAEJ,CA5BJ,OA4BI,MAAA,KAAA,gBACI,QAAA,EAIR,CAAA,cACI,SAAA,SACA,WAAA,OACA,SAAA,OACA,OAAA,EAEA,CANJ,aAMI,aACI,WAAA,YAGJ,CAVJ,aAUI,YACI,cAAA,YAGJ,CAdJ,aAcI,CA3BA,OA4BI,WAAA,QACA,OAAA",
6
6
  "names": []
7
7
  }
package/runtime/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";(()=>{var E="yfm-tabs",S="yfm-tab-list",h="yfm-tab",m="yfm-tab-panel",u="active",x="data-diplodoc-group",H="data-diplodoc-key",G="data-diplodoc-id";var O="defaultTabsGroup-",p=Symbol.for("diplodocTabs");var I=a=>{let e=a.composedPath();return Array.isArray(e)&&e.length>0?e[0]:a.target},C=a=>{let e=I(a);return!e||!e.matches},f=a=>Math.abs(a.scrollHeight-a.clientHeight)>1?a:a.parentElement?f(a.parentElement):void 0,B=(a,e)=>{let t=a.getBoundingClientRect(),o=e.getBoundingClientRect();return{top:t.top-o.top,left:t.left-o.left,scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}};var r={TABS:`.${E}`,TAB_LIST:`.${S}`,TAB:`.${h}`,TAB_PANEL:`.${m}`},T=class{constructor(e){this._onSelectTabHandlers=new Set;this._document=e,this._document.addEventListener("click",t=>{let o=I(t);if(C(t)||!this.isValidTabElement(o))return;let l=this.getTabDataFromHTMLElement(o);l&&this._selectTab(l,o)}),this._document.addEventListener("keydown",t=>{let o=null;switch(t.key){case"ArrowLeft":{o="left";break}case"ArrowRight":{o="right";break}}if(!o)return;let l=I(t);if(C(t)||!this.isValidTabElement(l))return;let{tabs:n,nodes:c}=this.getTabs(l),s=this.getTabDataFromHTMLElement(l),i=n.findIndex(({key:d})=>(s==null?void 0:s.key)&&d===s.key);if(!s||n.length<=1||i===-1)return;let b=(i+(o==="left"?-1:1)+n.length)%n.length;this.selectTab(n[b]),c[b].focus()})}onSelectTab(e){return this._onSelectTabHandlers.add(e),()=>{this._onSelectTabHandlers.delete(e)}}selectTabById(e,t){let o=this._document.querySelector(`${r.TAB}[${G}="${e}"]`);if(!o||!this.isValidTabElement(o))return;let l=this.getTabDataFromHTMLElement(o);l&&this._selectTab(l,o),t!=null&&t.scrollToElement&&o.scrollIntoView()}selectTab(e){this._selectTab(e)}_selectTab(e,t){let{group:o,key:l}=e;if(!o)return;let n=t&&f(t),c=n&&B(t,n);this.updateHTML({group:o,key:l})>0&&(this.fireSelectTabEvent({group:o,key:l},t==null?void 0:t.dataset.diplodocId),c&&this.resetScroll(t,n,c))}updateHTML(e){let{group:t,key:o}=e,l=this._document.querySelectorAll(`${r.TABS}[${x}="${t}"] ${r.TAB}[${H}="${o}"]`),n=0;return l.forEach(c=>{let s=c;if(!this.isValidTabElement(s)||s.dataset.diplodocIsActive==="true")return;n++;let i=c,b=i.parentNode,d=b==null?void 0:b.parentNode,y=Array.from((b==null?void 0:b.querySelectorAll(r.TAB))||[]),v=Array.from((d==null?void 0:d.children)||[]).filter(A=>A.classList.contains(m)),M=y.indexOf(i);y.forEach((A,L)=>{let F=v[L],g=L===M,_=A;_.dataset.diplodocIsActive=g?"true":"false",A.classList.toggle(u,g),A.setAttribute("aria-selected",g.toString()),A.setAttribute("tabindex",g?"0":"-1"),F.classList.toggle(u,g)})}),n}resetScroll(e,t,o){let l=B(e,t),n=l.top-o.top,c=l.left-o.left,s=l.scrollTop-o.scrollTop,i=l.scrollLeft-o.scrollLeft;t.scrollTo(t.scrollLeft+c-i,t.scrollTop+n-s)}fireSelectTabEvent(e,t){let{group:o,key:l}=e,n=o.startsWith(O)?{key:l}:e;this._onSelectTabHandlers.forEach(c=>{c({tab:n,currentTabId:t})})}isValidTabElement(e){let t=e.matches(r.TAB)&&e.dataset.diplodocId?e.closest(r.TAB_LIST):null;return t==null?void 0:t.closest(r.TABS)}getTabDataFromHTMLElement(e){var l;let t=e.dataset.diplodocKey,o=(l=e.closest(r.TABS))==null?void 0:l.dataset.diplodocGroup;return t&&o?{group:o,key:t}:null}getTabs(e){var n,c;let t=(n=e.closest(r.TABS))==null?void 0:n.dataset.diplodocGroup,o=(c=e.closest(r.TAB_LIST))==null?void 0:c.querySelectorAll(r.TAB),l=[];return o.forEach(s=>{let i=s==null?void 0:s.dataset.diplodocKey;i&&l.push({group:t,key:i})}),{tabs:l,nodes:o}}};typeof window!="undefined"&&typeof document!="undefined"&&!window[p]&&(window[p]=new T(document));})();
1
+ "use strict";(()=>{var E="yfm-tabs",S="yfm-tab-list",h="yfm-tab",T="yfm-tab-panel",p="active",G="data-diplodoc-group",x="data-diplodoc-key",O="data-diplodoc-id";var X="defaultTabsGroup-",u=Symbol.for("diplodocTabs");var m=c=>{let e=c.composedPath();return Array.isArray(e)&&e.length>0?e[0]:c.target},f=c=>{let e=m(c);return!e||!e.matches},C=c=>Math.abs(c.scrollHeight-c.clientHeight)>1?c:c.parentElement?C(c.parentElement):void 0,B=(c,e)=>{let t=c.getBoundingClientRect(),o=e.getBoundingClientRect();return{top:t.top-o.top,left:t.left-o.left,scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}};var a={TABS:`.${E}`,TAB_LIST:`.${S}`,TAB:`.${h}`,TAB_PANEL:`.${T}`},I=class{constructor(e){this._onSelectTabHandlers=new Set;this._document=e,this._document.addEventListener("click",t=>{let o=m(t);if(f(t)||!this.isValidTabElement(o))return;let n=this.getTabDataFromHTMLElement(o);n&&this._selectTab(n,o)}),this._document.addEventListener("keydown",t=>{let o=null;switch(t.key){case"ArrowLeft":{o="left";break}case"ArrowRight":{o="right";break}}if(!o)return;let n=m(t);if(f(t)||!this.isValidTabElement(n))return;let{tabs:l,nodes:i}=this.getTabs(n),s=this.getTabDataFromHTMLElement(n),r=l.findIndex(({key:g})=>(s==null?void 0:s.key)&&g===s.key);if(!s||l.length<=1||r===-1)return;let d=(r+(o==="left"?-1:1)+l.length)%l.length;this.selectTab(l[d]),i[d].focus()})}onSelectTab(e){return this._onSelectTabHandlers.add(e),()=>{this._onSelectTabHandlers.delete(e)}}selectTabById(e,t){let o=this._document.querySelector(`${a.TAB}[${O}="${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 l=t&&C(t),i=l&&B(t,l);this.updateHTML({group:o,key:n})>0&&(this.fireSelectTabEvent({group:o,key:n},t==null?void 0:t.dataset.diplodocId),i&&this.resetScroll(t,l,i))}updateHTML(e){let{group:t,key:o}=e,n=this._document.querySelectorAll(`${a.TABS}[${G}="${t}"] ${a.TAB}[${x}="${o}"]`),l=0;return n.forEach(i=>{let s=i;if(!this.isValidTabElement(s)||s.dataset.diplodocIsActive==="true")return;l++;let r=i,d=r.parentNode,g=d==null?void 0:d.parentNode,y=Array.from((d==null?void 0:d.querySelectorAll(a.TAB))||[]),H=Array.from((g==null?void 0:g.children)||[]).filter(A=>A.classList.contains(T)),M=y.indexOf(r);y.forEach((A,L)=>{let _=H[L],b=L===M,F=A;F.dataset.diplodocIsActive=b?"true":"false",A.classList.toggle(p,b),A.setAttribute("aria-selected",b.toString()),A.setAttribute("tabindex",b?"0":"-1"),_.classList.toggle(p,b)})}),l}resetScroll(e,t,o){let n=B(e,t),l=n.top-o.top,i=n.left-o.left,s=n.scrollTop-o.scrollTop,r=n.scrollLeft-o.scrollLeft;t.scrollTo(t.scrollLeft+i-r,t.scrollTop+l-s)}fireSelectTabEvent(e,t){let{group:o,key:n}=e,l=o.startsWith(X)?{key:n}:e;this._onSelectTabHandlers.forEach(i=>{i({tab:l,currentTabId:t})})}isValidTabElement(e){let t=e.matches(a.TAB)&&e.dataset.diplodocId?e.closest(a.TAB_LIST):null;return t==null?void 0:t.closest(a.TABS)}getTabDataFromHTMLElement(e){var n;let t=e.dataset.diplodocKey,o=(n=e.closest(a.TABS))==null?void 0:n.dataset.diplodocGroup;return t&&o?{group:o,key:t}:null}getTabs(e){var l,i;let t=(l=e.closest(a.TABS))==null?void 0:l.dataset.diplodocGroup,o=(i=e.closest(a.TAB_LIST))==null?void 0:i.querySelectorAll(a.TAB),n=[];return o.forEach(s=>{let r=s==null?void 0:s.dataset.diplodocKey;r&&n.push({group:t,key:r})}),{tabs:n,nodes:o}}};typeof window!="undefined"&&typeof document!="undefined"&&!window[u]&&(window[u]=new I(document));})();
2
2
  //# sourceMappingURL=index.js.map