@diplodoc/tabs-extension 3.6.0 → 3.7.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.
@@ -0,0 +1,2 @@
1
+ import { TabsControllerOptions } from '../runtime/TabsController';
2
+ export declare function TabsRuntime(props?: Partial<TabsControllerOptions>): null;
@@ -1,2 +1,3 @@
1
1
  export type { Tab, UseDiplodocTabsCallback } from './useDiplodocTabs';
2
2
  export { useDiplodocTabs } from './useDiplodocTabs';
3
+ export { TabsRuntime } from './TabsRuntime';
@@ -2,7 +2,21 @@
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
6
20
  var __export = (target, all) => {
7
21
  for (var name in all)
8
22
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -20,6 +34,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
34
  // src/react/index.ts
21
35
  var react_exports = {};
22
36
  __export(react_exports, {
37
+ TabsRuntime: () => TabsRuntime,
23
38
  useDiplodocTabs: () => useDiplodocTabs
24
39
  });
25
40
  module.exports = __toCommonJS(react_exports);
@@ -78,4 +93,16 @@ function useDiplodocTabs(callback = void 0) {
78
93
  )
79
94
  };
80
95
  }
96
+
97
+ // src/react/TabsRuntime.ts
98
+ var import_react2 = require("react");
99
+ function TabsRuntime(props = {}) {
100
+ const tabs = useDiplodocTabs();
101
+ tabs.configure(__spreadValues({}, props));
102
+ (0, import_react2.useEffect)(() => {
103
+ tabs.onPageChanged();
104
+ tabs.restoreTabs(__spreadValues(__spreadValues({}, tabs.getTabsFromLocalStorage()), tabs.getTabsFromSearchQuery()));
105
+ }, [tabs]);
106
+ return null;
107
+ }
81
108
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/react/index.ts", "../../src/react/useDiplodocTabs.ts", "../../src/common.ts"],
4
- "sourcesContent": ["export type {Tab, UseDiplodocTabsCallback} from './useDiplodocTabs';\nexport {useDiplodocTabs} from './useDiplodocTabs';\n", "import {useCallback, useEffect} from 'react';\n\nimport {GLOBAL_SYMBOL, SelectedTabEvent, Tab} from '../common';\nimport {ISelectTabByIdOptions, TabsControllerOptions, TabsHistory} from '../runtime/TabsController';\n\nexport type {Tab};\n\nexport type UseDiplodocTabsCallback = (tab: Tab, currentTabId?: string) => void;\n\nexport function useDiplodocTabs(callback: UseDiplodocTabsCallback | undefined = undefined) {\n if (callback !== undefined) {\n const selectTabHandle = useCallback(\n ({tab, currentTabId}: SelectedTabEvent) => {\n callback(tab, currentTabId);\n },\n [callback],\n );\n\n useEffect(() => window[GLOBAL_SYMBOL].onSelectTab(selectTabHandle), [selectTabHandle]);\n }\n\n return {\n selectTabById: useCallback(\n (tabId: string, options?: ISelectTabByIdOptions) =>\n window[GLOBAL_SYMBOL].selectTabById(tabId, options),\n [],\n ),\n selectTab: useCallback((tab: Tab) => window[GLOBAL_SYMBOL].selectTab(tab), []),\n configure: useCallback(\n (options: Partial<TabsControllerOptions>) => window[GLOBAL_SYMBOL].configure(options),\n [],\n ),\n restoreTabs: useCallback(\n (tabsHistory: TabsHistory) => window[GLOBAL_SYMBOL].restoreTabs(tabsHistory),\n [],\n ),\n onPageChanged: useCallback(() => window[GLOBAL_SYMBOL].onPageChanged(), []),\n getTabsFromLocalStorage: useCallback(\n () => window[GLOBAL_SYMBOL].getTabsFromLocalStorage(),\n [],\n ),\n getTabsFromSearchQuery: useCallback(\n () => window[GLOBAL_SYMBOL].getTabsFromSearchQuery(),\n [],\n ),\n getCurrentPageTabHistory: useCallback(\n (tabsHistory: TabsHistory) =>\n window[GLOBAL_SYMBOL].getCurrentPageTabHistory(tabsHistory),\n [],\n ),\n updateLocalStorageWithTabs: useCallback(\n (tabsHistory: TabsHistory) =>\n window[GLOBAL_SYMBOL].updateLocalStorageWithTabs(tabsHistory),\n [],\n ),\n updateQueryParamWithTabs: useCallback(\n (tabsHistory: TabsHistory) =>\n window[GLOBAL_SYMBOL].updateQueryParamWithTabs(tabsHistory),\n [],\n ),\n };\n}\n", "import {type TabsController} from './runtime/TabsController';\n\nexport const TAB_RE = /`?{% list tabs .*?%}`?/;\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const TAB_GROUP_CLASSNAME = 'yfm-tab-group';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_VARIANT = 'data-diplodoc-variant';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\nexport const ACTIVE_TAB_TEXT = '{selected}';\nexport const TAB_FORCED_OPEN = 'data-diplodoc-forced';\n\nexport const TABS_DROPDOWN_CLASSNAME = 'yfm-tabs-dropdown';\nexport const TABS_DROPDOWN_MENU_CLASSNAME = 'yfm-tabs-dropdown-menu';\nexport const TABS_DROPDOWN_SELECT = 'yfm-tabs-dropdown-select';\n\nexport const TABS_ACCORDION_CLASSNAME = 'yfm-tabs-accordion';\nexport const TABS_ACCORDION_CLIENT_HEIGHT = 'data-yfm-tabs-accordion-client-heights';\n\nexport const TABS_RADIO_CLASSNAME = 'yfm-tabs-vertical';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport enum TabsVariants {\n Regular = 'regular',\n Radio = 'radio',\n Dropdown = 'dropdown',\n Accordion = 'accordion',\n}\n\nexport type EnabledVariants = Partial<Record<TabsVariants, boolean>>;\n\nexport interface Tab {\n group?: string;\n key: string;\n variant: TabsVariants;\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"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAqC;;;ACkD9B,IAAM,gBAA+B,OAAO,IAAI,cAAc;;;ADzC9D,SAAS,gBAAgB,WAAgD,QAAW;AACvF,MAAI,aAAa,QAAW;AACxB,UAAM,sBAAkB;AAAA,MACpB,CAAC,EAAC,KAAK,aAAY,MAAwB;AACvC,iBAAS,KAAK,YAAY;AAAA,MAC9B;AAAA,MACA,CAAC,QAAQ;AAAA,IACb;AAEA,gCAAU,MAAM,OAAO,aAAa,EAAE,YAAY,eAAe,GAAG,CAAC,eAAe,CAAC;AAAA,EACzF;AAEA,SAAO;AAAA,IACH,mBAAe;AAAA,MACX,CAAC,OAAe,YACZ,OAAO,aAAa,EAAE,cAAc,OAAO,OAAO;AAAA,MACtD,CAAC;AAAA,IACL;AAAA,IACA,eAAW,0BAAY,CAAC,QAAa,OAAO,aAAa,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC;AAAA,IAC7E,eAAW;AAAA,MACP,CAAC,YAA4C,OAAO,aAAa,EAAE,UAAU,OAAO;AAAA,MACpF,CAAC;AAAA,IACL;AAAA,IACA,iBAAa;AAAA,MACT,CAAC,gBAA6B,OAAO,aAAa,EAAE,YAAY,WAAW;AAAA,MAC3E,CAAC;AAAA,IACL;AAAA,IACA,mBAAe,0BAAY,MAAM,OAAO,aAAa,EAAE,cAAc,GAAG,CAAC,CAAC;AAAA,IAC1E,6BAAyB;AAAA,MACrB,MAAM,OAAO,aAAa,EAAE,wBAAwB;AAAA,MACpD,CAAC;AAAA,IACL;AAAA,IACA,4BAAwB;AAAA,MACpB,MAAM,OAAO,aAAa,EAAE,uBAAuB;AAAA,MACnD,CAAC;AAAA,IACL;AAAA,IACA,8BAA0B;AAAA,MACtB,CAAC,gBACG,OAAO,aAAa,EAAE,yBAAyB,WAAW;AAAA,MAC9D,CAAC;AAAA,IACL;AAAA,IACA,gCAA4B;AAAA,MACxB,CAAC,gBACG,OAAO,aAAa,EAAE,2BAA2B,WAAW;AAAA,MAChE,CAAC;AAAA,IACL;AAAA,IACA,8BAA0B;AAAA,MACtB,CAAC,gBACG,OAAO,aAAa,EAAE,yBAAyB,WAAW;AAAA,MAC9D,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;",
6
- "names": []
3
+ "sources": ["../../src/react/index.ts", "../../src/react/useDiplodocTabs.ts", "../../src/common.ts", "../../src/react/TabsRuntime.ts"],
4
+ "sourcesContent": ["export type {Tab, UseDiplodocTabsCallback} from './useDiplodocTabs';\nexport {useDiplodocTabs} from './useDiplodocTabs';\nexport {TabsRuntime} from './TabsRuntime';\n", "import {useCallback, useEffect} from 'react';\n\nimport {GLOBAL_SYMBOL, SelectedTabEvent, Tab} from '../common';\nimport {ISelectTabByIdOptions, TabsControllerOptions, TabsHistory} from '../runtime/TabsController';\n\nexport type {Tab};\n\nexport type UseDiplodocTabsCallback = (tab: Tab, currentTabId?: string) => void;\n\nexport function useDiplodocTabs(callback: UseDiplodocTabsCallback | undefined = undefined) {\n if (callback !== undefined) {\n const selectTabHandle = useCallback(\n ({tab, currentTabId}: SelectedTabEvent) => {\n callback(tab, currentTabId);\n },\n [callback],\n );\n\n useEffect(() => window[GLOBAL_SYMBOL].onSelectTab(selectTabHandle), [selectTabHandle]);\n }\n\n return {\n selectTabById: useCallback(\n (tabId: string, options?: ISelectTabByIdOptions) =>\n window[GLOBAL_SYMBOL].selectTabById(tabId, options),\n [],\n ),\n selectTab: useCallback((tab: Tab) => window[GLOBAL_SYMBOL].selectTab(tab), []),\n configure: useCallback(\n (options: Partial<TabsControllerOptions>) => window[GLOBAL_SYMBOL].configure(options),\n [],\n ),\n restoreTabs: useCallback(\n (tabsHistory: TabsHistory) => window[GLOBAL_SYMBOL].restoreTabs(tabsHistory),\n [],\n ),\n onPageChanged: useCallback(() => window[GLOBAL_SYMBOL].onPageChanged(), []),\n getTabsFromLocalStorage: useCallback(\n () => window[GLOBAL_SYMBOL].getTabsFromLocalStorage(),\n [],\n ),\n getTabsFromSearchQuery: useCallback(\n () => window[GLOBAL_SYMBOL].getTabsFromSearchQuery(),\n [],\n ),\n getCurrentPageTabHistory: useCallback(\n (tabsHistory: TabsHistory) =>\n window[GLOBAL_SYMBOL].getCurrentPageTabHistory(tabsHistory),\n [],\n ),\n updateLocalStorageWithTabs: useCallback(\n (tabsHistory: TabsHistory) =>\n window[GLOBAL_SYMBOL].updateLocalStorageWithTabs(tabsHistory),\n [],\n ),\n updateQueryParamWithTabs: useCallback(\n (tabsHistory: TabsHistory) =>\n window[GLOBAL_SYMBOL].updateQueryParamWithTabs(tabsHistory),\n [],\n ),\n };\n}\n", "import {type TabsController} from './runtime/TabsController';\n\nexport const TAB_RE = /`?{% list tabs .*?%}`?/;\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const TAB_GROUP_CLASSNAME = 'yfm-tab-group';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_VARIANT = 'data-diplodoc-variant';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\nexport const ACTIVE_TAB_TEXT = '{selected}';\nexport const TAB_FORCED_OPEN = 'data-diplodoc-forced';\n\nexport const TABS_DROPDOWN_CLASSNAME = 'yfm-tabs-dropdown';\nexport const TABS_DROPDOWN_MENU_CLASSNAME = 'yfm-tabs-dropdown-menu';\nexport const TABS_DROPDOWN_SELECT = 'yfm-tabs-dropdown-select';\n\nexport const TABS_ACCORDION_CLASSNAME = 'yfm-tabs-accordion';\nexport const TABS_ACCORDION_CLIENT_HEIGHT = 'data-yfm-tabs-accordion-client-heights';\n\nexport const TABS_RADIO_CLASSNAME = 'yfm-tabs-vertical';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport enum TabsVariants {\n Regular = 'regular',\n Radio = 'radio',\n Dropdown = 'dropdown',\n Accordion = 'accordion',\n}\n\nexport type EnabledVariants = Partial<Record<TabsVariants, boolean>>;\n\nexport interface Tab {\n group?: string;\n key: string;\n variant: TabsVariants;\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", "import {useEffect} from 'react';\n\nimport {TabsControllerOptions} from '../runtime/TabsController';\n\nimport {useDiplodocTabs} from './useDiplodocTabs';\n\nexport function TabsRuntime(props: Partial<TabsControllerOptions> = {}) {\n const tabs = useDiplodocTabs();\n tabs.configure({...props});\n\n useEffect(() => {\n tabs.onPageChanged();\n tabs.restoreTabs({\n ...tabs.getTabsFromLocalStorage(),\n ...tabs.getTabsFromSearchQuery(),\n });\n }, [tabs]);\n\n return null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAqC;;;ACkD9B,IAAM,gBAA+B,OAAO,IAAI,cAAc;;;ADzC9D,SAAS,gBAAgB,WAAgD,QAAW;AACvF,MAAI,aAAa,QAAW;AACxB,UAAM,sBAAkB;AAAA,MACpB,CAAC,EAAC,KAAK,aAAY,MAAwB;AACvC,iBAAS,KAAK,YAAY;AAAA,MAC9B;AAAA,MACA,CAAC,QAAQ;AAAA,IACb;AAEA,gCAAU,MAAM,OAAO,aAAa,EAAE,YAAY,eAAe,GAAG,CAAC,eAAe,CAAC;AAAA,EACzF;AAEA,SAAO;AAAA,IACH,mBAAe;AAAA,MACX,CAAC,OAAe,YACZ,OAAO,aAAa,EAAE,cAAc,OAAO,OAAO;AAAA,MACtD,CAAC;AAAA,IACL;AAAA,IACA,eAAW,0BAAY,CAAC,QAAa,OAAO,aAAa,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC;AAAA,IAC7E,eAAW;AAAA,MACP,CAAC,YAA4C,OAAO,aAAa,EAAE,UAAU,OAAO;AAAA,MACpF,CAAC;AAAA,IACL;AAAA,IACA,iBAAa;AAAA,MACT,CAAC,gBAA6B,OAAO,aAAa,EAAE,YAAY,WAAW;AAAA,MAC3E,CAAC;AAAA,IACL;AAAA,IACA,mBAAe,0BAAY,MAAM,OAAO,aAAa,EAAE,cAAc,GAAG,CAAC,CAAC;AAAA,IAC1E,6BAAyB;AAAA,MACrB,MAAM,OAAO,aAAa,EAAE,wBAAwB;AAAA,MACpD,CAAC;AAAA,IACL;AAAA,IACA,4BAAwB;AAAA,MACpB,MAAM,OAAO,aAAa,EAAE,uBAAuB;AAAA,MACnD,CAAC;AAAA,IACL;AAAA,IACA,8BAA0B;AAAA,MACtB,CAAC,gBACG,OAAO,aAAa,EAAE,yBAAyB,WAAW;AAAA,MAC9D,CAAC;AAAA,IACL;AAAA,IACA,gCAA4B;AAAA,MACxB,CAAC,gBACG,OAAO,aAAa,EAAE,2BAA2B,WAAW;AAAA,MAChE,CAAC;AAAA,IACL;AAAA,IACA,8BAA0B;AAAA,MACtB,CAAC,gBACG,OAAO,aAAa,EAAE,yBAAyB,WAAW;AAAA,MAC9D,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;;;AE7DA,IAAAA,gBAAwB;AAMjB,SAAS,YAAY,QAAwC,CAAC,GAAG;AACpE,QAAM,OAAO,gBAAgB;AAC7B,OAAK,UAAU,mBAAI,MAAM;AAEzB,+BAAU,MAAM;AACZ,SAAK,cAAc;AACnB,SAAK,YAAY,kCACV,KAAK,wBAAwB,IAC7B,KAAK,uBAAuB,EAClC;AAAA,EACL,GAAG,CAAC,IAAI,CAAC;AAET,SAAO;AACX;",
6
+ "names": ["import_react"]
7
7
  }
@@ -1,2 +1,2 @@
1
- @charset "UTF-8";.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;overflow:visible;height:auto}.yfm-tabs-dropdown{position:relative;width:90%;margin-bottom:0;--yfm-tabs-dropdown-color: #F2F2F2;--yfm-tabs-dropdown-text-color: #A8A8A8;--yfm-tabs-dropdown-color-border: #CCC}.yfm-tabs-dropdown .yfm-tabs-dropdown-select{padding:10px 30px 10px 10px;background:var(--g-color-base-background);border:1px solid var(--yfm-tabs-dropdown-color-border);color:var(--yfm-tabs-dropdown-text-color);border-radius:5px;position:relative;user-select:none;margin-bottom:10px;max-width:500px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:10}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.filled{color:inherit}.yfm-tabs-dropdown .yfm-tabs-dropdown-select:after{content:"";position:absolute;display:block;right:10px;top:25%;transform:rotate(90deg);transition:transform .2s;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);width:20px;height:20px}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.active+.yfm-tabs-dropdown-menu{transform:scaleY(1)}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.active:after{transform:rotate(0)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu{width:100%;max-width:500px;max-height:500px;overflow-y:scroll;padding:10px 0;position:absolute;z-index:10;display:flex;flex-direction:column;border:1px solid var(--yfm-tabs-dropdown-color-border);border-radius:5px;background-color:var(--g-color-base-background);transform:scaleY(0);list-style:none;z-index:100;transition:transform 125ms;transform-origin:top center}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li{user-select:none;cursor:pointer;background-color:var(--g-color-base-background)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li:hover{background-color:var(--g-color-base-simple-hover);color:inherit}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab{padding:5px 0 5px 10px;border-radius:0;border-bottom:unset;margin:0;font-weight:500}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab.active{background-color:var(--g-color-base-selection)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab:hover{color:inherit}.yfm-tabs-dropdown>.yfm-tab-panel.active{border:1px solid #F2F2F2;transform:translateY(-30px);border-radius:12px;padding:40px 12px 16px}.yfm-tabs-dropdown>.yfm-tabs{width:100%}.yfm-tabs-accordion{max-width:80%}.yfm-tabs-accordion>.yfm-tab:first-of-type{border-top-color:transparent}.yfm-tabs-accordion .yfm-tab{padding:8px 0 12px 6px;position:relative;border-top:1px solid #E5E5E5;font-weight:500;scroll-margin-top:20px}.yfm-tabs-accordion .yfm-tab:after{content:"";position:absolute;display:block;right:10px;top:25%;transform:rotate(-180deg);transition:transform .3s,background-color .2s;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);width:20px;height:20px;border-radius:6px;padding:6px}.yfm-tabs-accordion .yfm-tab.active{border-bottom-color:transparent!important;font-weight:700}.yfm-tabs-accordion .yfm-tab.active:after{transform:rotate(0)}.yfm-tabs-accordion .yfm-tab:hover{color:#3f5799}.yfm-tabs-accordion .yfm-tab-panel.active{margin:10px 0 25px 6px}.yfm-tabs-vertical>.yfm-tab-list{flex-direction:column;border-bottom:unset}.yfm-tabs-vertical>.yfm-tab-panel{margin-left:30px}.yfm-tabs-vertical>.yfm-tab-group{display:flex;flex-direction:row;margin-bottom:5px}.yfm-tabs-vertical .yfm-vertical-tab>input[type=radio]{visibility:hidden;width:0;height:0}.yfm-tabs-vertical .yfm-vertical-tab>label{display:inline-block;cursor:pointer;position:relative;padding-left:25px;margin-right:0;line-height:18px;user-select:none}.yfm-tabs-vertical .yfm-vertical-tab>label:before{font-family:initial!important;content:"";position:absolute;left:0;bottom:1px;border-radius:50%;width:18px;height:18px;border:#dfdfdf 1px solid;background-color:#fff}.yfm-tabs-vertical .yfm-vertical-tab input[type=radio]:checked+label:before{content:"\2022";background-color:#5282ff;text-align:center;vertical-align:middle;font-size:20px;white-space:pre;display:inline-flex;justify-content:center;align-items:center;color:#fff}.yfm-tabs-vertical .yfm-vertical-tab{border-bottom:unset!important}
1
+ @charset "UTF-8";.yfm-tabs{margin-bottom:15px}.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;overflow:visible;height:auto}.yfm-tabs-dropdown{position:relative;width:90%;margin-bottom:0;--yfm-tabs-dropdown-color: #F2F2F2;--yfm-tabs-dropdown-text-color: #A8A8A8;--yfm-tabs-dropdown-color-border: #CCC}.yfm-tabs-dropdown .yfm-tabs-dropdown-select{padding:10px 30px 10px 10px;background:var(--g-color-base-background);border:1px solid var(--yfm-tabs-dropdown-color-border);color:var(--yfm-tabs-dropdown-text-color);border-radius:5px;position:relative;user-select:none;margin-bottom:10px;max-width:500px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:10}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.filled{color:inherit}.yfm-tabs-dropdown .yfm-tabs-dropdown-select:after{content:"";position:absolute;display:block;right:10px;top:25%;transform:rotate(90deg);transition:transform .2s;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);width:20px;height:20px}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.active+.yfm-tabs-dropdown-menu{transform:scaleY(1)}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.active:after{transform:rotate(0)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu{width:100%;max-width:500px;max-height:500px;overflow-y:scroll;padding:10px 0;position:absolute;z-index:10;display:flex;flex-direction:column;border:1px solid var(--yfm-tabs-dropdown-color-border);border-radius:5px;background-color:var(--g-color-base-background);transform:scaleY(0);list-style:none;z-index:100;transition:transform 125ms;transform-origin:top center}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li{user-select:none;cursor:pointer;background-color:var(--g-color-base-background)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li:hover{background-color:var(--g-color-base-simple-hover);color:inherit}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab{padding:5px 0 5px 10px;border-radius:0;border-bottom:unset;margin:0;font-weight:500}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab.active{background-color:var(--g-color-base-selection)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab:hover{color:inherit}.yfm-tabs-dropdown>.yfm-tab-panel.active{border:1px solid #F2F2F2;transform:translateY(-30px);border-radius:12px;padding:40px 12px 16px}.yfm-tabs-dropdown>.yfm-tabs{width:100%}.yfm-tabs-accordion{max-width:80%}.yfm-tabs-accordion>.yfm-tab:first-of-type{border-top-color:transparent}.yfm-tabs-accordion .yfm-tab{padding:8px 0 12px 6px;position:relative;border-top:1px solid #E5E5E5;font-weight:500;scroll-margin-top:20px}.yfm-tabs-accordion .yfm-tab:after{content:"";position:absolute;display:block;right:10px;top:25%;transform:rotate(-180deg);transition:transform .3s,background-color .2s;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);width:20px;height:20px;border-radius:6px;padding:6px}.yfm-tabs-accordion .yfm-tab.active{border-bottom-color:transparent!important;font-weight:700}.yfm-tabs-accordion .yfm-tab.active:after{transform:rotate(0)}.yfm-tabs-accordion .yfm-tab:hover{color:#3f5799}.yfm-tabs-accordion .yfm-tab-panel.active{margin:10px 0 25px 6px}.yfm-tabs-vertical>.yfm-tab-list{flex-direction:column;border-bottom:unset}.yfm-tabs-vertical>.yfm-tab-panel{margin-left:30px}.yfm-tabs-vertical>.yfm-tab-group{display:flex;flex-direction:row;margin-bottom:5px}.yfm-tabs-vertical .yfm-vertical-tab>input[type=radio]{visibility:hidden;width:0;height:0}.yfm-tabs-vertical .yfm-vertical-tab>label{display:inline-block;cursor:pointer;position:relative;padding-left:25px;margin-right:0;line-height:18px;user-select:none}.yfm-tabs-vertical .yfm-vertical-tab>label:before{font-family:initial!important;content:"";position:absolute;left:0;bottom:1px;border-radius:50%;width:18px;height:18px;border:#dfdfdf 1px solid;background-color:#fff}.yfm-tabs-vertical .yfm-vertical-tab input[type=radio]:checked+label:before{content:"\2022";background-color:#5282ff;text-align:center;vertical-align:middle;font-size:20px;white-space:pre;display:inline-flex;justify-content:center;align-items:center;color:#fff}.yfm-tabs-vertical .yfm-vertical-tab{border-bottom:unset!important}
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\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 overflow: visible;\n height: auto;\n }\n}\n\n\n.yfm-tabs-dropdown {\n position: relative;\n width: 90%;\n margin-bottom: 0;\n\n --yfm-tabs-dropdown-color: #F2F2F2;\n --yfm-tabs-dropdown-text-color: #A8A8A8;\n --yfm-tabs-dropdown-color-border: #CCC;\n\n .yfm-tabs-dropdown-select {\n padding: 10px 30px 10px 10px;\n background: var(--g-color-base-background);\n border: 1px solid var(--yfm-tabs-dropdown-color-border);\n color: var(--yfm-tabs-dropdown-text-color);\n border-radius: 5px;\n position: relative;\n user-select: none;\n margin-bottom: 10px;\n max-width: 500px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n z-index: 10;\n \n &.filled {\n color: inherit;\n }\n\n\n &::after {\n content: '';\n position: absolute;\n display: block;\n right: 10px;\n top: 25%;\n transform: rotate(90deg);\n transition: transform 200ms;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);\n width: 20px;\n height: 20px;\n }\n\n &.active {\n & + .yfm-tabs-dropdown-menu {\n transform: scaleY(1);\n }\n \n &::after {\n transform: rotate(0deg);\n }\n }\n }\n\n & > .yfm-tabs-dropdown-menu {\n width: 100%;\n max-width: 500px;\n max-height: 500px;\n overflow-y: scroll;\n padding: 10px 0px;\n position: absolute;\n z-index: 10;\n\n display: flex;\n flex-direction: column;\n\n border: 1px solid var(--yfm-tabs-dropdown-color-border);\n border-radius: 5px;\n background-color: var(--g-color-base-background);\n transform: scaleY(0);\n\n list-style: none;\n z-index: 100;\n\n transition: transform 125ms;\n transform-origin: top center;\n \n & > li {\n user-select: none;\n cursor: pointer;\n background-color: var(--g-color-base-background);\n\n &:hover {\n background-color: var(--g-color-base-simple-hover);\n color: inherit;\n }\n\n &.yfm-tab {\n padding: 5px 0 5px 10px;\n border-radius: 0;\n border-bottom: unset;\n margin: 0;\n font-weight: 500;\n\n &.active {\n background-color: var(--g-color-base-selection);\n }\n\n &:hover {\n color: inherit;\n }\n }\n }\n }\n\n & > .yfm-tab-panel {\n &.active {\n border: 1px solid #F2F2F2;\n transform: translateY(-30px);\n border-radius: 12px;\n padding: 40px 12px 16px 12px;\n }\n }\n\n & > .yfm-tabs {\n width: 100%;\n }\n}\n\n.yfm-tabs-accordion {\n max-width: 80%;\n\n & > .yfm-tab:first-of-type {\n border-top-color: transparent;\n }\n \n .yfm-tab {\n padding: 8px 0 12px 6px;;\n position: relative;\n\n border-top: 1px solid #E5E5E5;\n font-weight: 500;\n\n scroll-margin-top: 20px;\n\n &::after {\n content: '';\n position: absolute;\n display: block;\n right: 10px;\n top: 25%;\n transform: rotate(-180deg);\n transition: \n transform 300ms,\n background-color 200ms;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);\n width: 20px;\n height: 20px;\n border-radius: 6px;\n padding: 6px;\n }\n\n &.active {\n border-bottom-color: transparent !important;\n font-weight: 700;\n\n &::after {\n transform: rotate(0);\n }\n }\n\n &:hover {\n color: #3F5799;\n }\n }\n\n .yfm-tab-panel {\n &.active {\n margin: 10px 0 25px 6px;\n }\n }\n}\n\n.yfm-tabs-vertical {\n & > .yfm-tab-list {\n flex-direction: column;\n border-bottom: unset;\n }\n\n & > .yfm-tab-panel {\n margin-left: 30px;\n }\n\n & > .yfm-tab-group {\n display: flex;\n flex-direction: row;\n margin-bottom: 5px;\n }\n\n .yfm-vertical-tab > input[type=radio] {\n visibility: hidden;\n width: 0;\n height: 0;\n }\n\n .yfm-vertical-tab > label {\n display: inline-block;\n cursor: pointer;\n position: relative;\n padding-left: 25px;\n margin-right: 0;\n line-height: 18px;\n user-select: none;\n }\n\n .yfm-vertical-tab > label:before {\n font-family: initial !important;\n content: \"\";\n position: absolute;\n left: 0;\n bottom: 1px;\n border-radius: 50%;\n width: 18px;\n height: 18px; \n border: #dfdfdf 1px solid;\n background-color: white;\n }\n \n /* Checked */\n .yfm-vertical-tab input[type=radio]:checked + label:before {\n content: \"•\";\n background-color: rgb(82, 130, 255);\n text-align: center;\n vertical-align: middle;\n font-size: 20px;\n white-space: pre;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n color: white;\n }\n \n .yfm-vertical-tab {\n border-bottom: unset !important;\n }\n\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": [".yfm-tabs {\n margin-bottom: 15px;\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\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 overflow: visible;\n height: auto;\n }\n}\n\n\n.yfm-tabs-dropdown {\n position: relative;\n width: 90%;\n margin-bottom: 0;\n\n --yfm-tabs-dropdown-color: #F2F2F2;\n --yfm-tabs-dropdown-text-color: #A8A8A8;\n --yfm-tabs-dropdown-color-border: #CCC;\n\n .yfm-tabs-dropdown-select {\n padding: 10px 30px 10px 10px;\n background: var(--g-color-base-background);\n border: 1px solid var(--yfm-tabs-dropdown-color-border);\n color: var(--yfm-tabs-dropdown-text-color);\n border-radius: 5px;\n position: relative;\n user-select: none;\n margin-bottom: 10px;\n max-width: 500px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n z-index: 10;\n \n &.filled {\n color: inherit;\n }\n\n\n &::after {\n content: '';\n position: absolute;\n display: block;\n right: 10px;\n top: 25%;\n transform: rotate(90deg);\n transition: transform 200ms;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);\n width: 20px;\n height: 20px;\n }\n\n &.active {\n & + .yfm-tabs-dropdown-menu {\n transform: scaleY(1);\n }\n \n &::after {\n transform: rotate(0deg);\n }\n }\n }\n\n & > .yfm-tabs-dropdown-menu {\n width: 100%;\n max-width: 500px;\n max-height: 500px;\n overflow-y: scroll;\n padding: 10px 0px;\n position: absolute;\n z-index: 10;\n\n display: flex;\n flex-direction: column;\n\n border: 1px solid var(--yfm-tabs-dropdown-color-border);\n border-radius: 5px;\n background-color: var(--g-color-base-background);\n transform: scaleY(0);\n\n list-style: none;\n z-index: 100;\n\n transition: transform 125ms;\n transform-origin: top center;\n \n & > li {\n user-select: none;\n cursor: pointer;\n background-color: var(--g-color-base-background);\n\n &:hover {\n background-color: var(--g-color-base-simple-hover);\n color: inherit;\n }\n\n &.yfm-tab {\n padding: 5px 0 5px 10px;\n border-radius: 0;\n border-bottom: unset;\n margin: 0;\n font-weight: 500;\n\n &.active {\n background-color: var(--g-color-base-selection);\n }\n\n &:hover {\n color: inherit;\n }\n }\n }\n }\n\n & > .yfm-tab-panel {\n &.active {\n border: 1px solid #F2F2F2;\n transform: translateY(-30px);\n border-radius: 12px;\n padding: 40px 12px 16px 12px;\n }\n }\n\n & > .yfm-tabs {\n width: 100%;\n }\n}\n\n.yfm-tabs-accordion {\n max-width: 80%;\n\n & > .yfm-tab:first-of-type {\n border-top-color: transparent;\n }\n \n .yfm-tab {\n padding: 8px 0 12px 6px;;\n position: relative;\n\n border-top: 1px solid #E5E5E5;\n font-weight: 500;\n\n scroll-margin-top: 20px;\n\n &::after {\n content: '';\n position: absolute;\n display: block;\n right: 10px;\n top: 25%;\n transform: rotate(-180deg);\n transition: \n transform 300ms,\n background-color 200ms;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);\n width: 20px;\n height: 20px;\n border-radius: 6px;\n padding: 6px;\n }\n\n &.active {\n border-bottom-color: transparent !important;\n font-weight: 700;\n\n &::after {\n transform: rotate(0);\n }\n }\n\n &:hover {\n color: #3F5799;\n }\n }\n\n .yfm-tab-panel {\n &.active {\n margin: 10px 0 25px 6px;\n }\n }\n}\n\n.yfm-tabs-vertical {\n & > .yfm-tab-list {\n flex-direction: column;\n border-bottom: unset;\n }\n\n & > .yfm-tab-panel {\n margin-left: 30px;\n }\n\n & > .yfm-tab-group {\n display: flex;\n flex-direction: row;\n margin-bottom: 5px;\n }\n\n .yfm-vertical-tab > input[type=radio] {\n visibility: hidden;\n width: 0;\n height: 0;\n }\n\n .yfm-vertical-tab > label {\n display: inline-block;\n cursor: pointer;\n position: relative;\n padding-left: 25px;\n margin-right: 0;\n line-height: 18px;\n user-select: none;\n }\n\n .yfm-vertical-tab > label:before {\n font-family: initial !important;\n content: \"\";\n position: absolute;\n left: 0;\n bottom: 1px;\n border-radius: 50%;\n width: 18px;\n height: 18px; \n border: #dfdfdf 1px solid;\n background-color: white;\n }\n \n /* Checked */\n .yfm-vertical-tab input[type=radio]:checked + label:before {\n content: \"•\";\n background-color: rgb(82, 130, 255);\n text-align: center;\n vertical-align: middle;\n font-size: 20px;\n white-space: pre;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n color: white;\n }\n \n .yfm-vertical-tab {\n border-bottom: unset !important;\n }\n\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";(()=>{var x="yfm-tabs",L="yfm-tab",O="yfm-tab-panel",R="yfm-tab-list",l="active";var T="data-diplodoc-group",y="data-diplodoc-key",G="data-diplodoc-variant",X="data-diplodoc-id",N="defaultTabsGroup-";var F="data-diplodoc-forced";var S="yfm-tabs-dropdown-select";var U="yfm-tabs-vertical";var Q=(g=>(g.Regular="regular",g.Radio="radio",g.Dropdown="dropdown",g.Accordion="accordion",g))(Q||{}),v=Symbol.for("diplodocTabs");var f=C=>{let t=C.composedPath();return Array.isArray(t)&&t.length>0?t[0]:C.target},Z=C=>{let t=f(C);return!t||!t.matches},W=C=>Math.abs(C.scrollHeight-C.clientHeight)>1?C:C.parentElement?W(C.parentElement):void 0,H=(C,t)=>{let e=C.getBoundingClientRect(),o=t.getBoundingClientRect();return{top:e.top-o.top,left:e.left-o.left,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}};var n={TABS:`.${x}`,TAB_LIST:`.${R}`,TAB:`.${L}`,TAB_PANEL:`.${O}`,VERTICAL_TABS:`.${U}`},h=class{constructor(t,e={}){this._onSelectTabHandlers=new Set;this._currentPageTabGroups=[];this._document=t,this._options=Object.assign({saveTabsToLocalStorage:!1,saveTabsToQueryStateMode:"none"},e),this._document.addEventListener("click",o=>{let g=f(o);if(o.target&&this.hideAllDropdown(o.target),Z(o))return;if(this.isElementDropdownSelect(g)){g.classList.toggle(l);return}if(!this.isValidTabElement(g))return;let I=this.getTabDataFromHTMLElement(g);I&&this._selectTab(I,g)}),this._document.addEventListener("keydown",o=>{let g=null;switch(o.key){case"ArrowLeft":{g="left";break}case"ArrowRight":{g="right";break}case"ArrowUp":{g="left";break}case"ArrowDown":{g="right";break}}if(!g)return;let I=f(o);if(Z(o)||!this.isValidTabElement(I))return;let{tabs:i,nodes:c}=this.getTabs(I),a=this.getTabDataFromHTMLElement(I),A=i.findIndex(({key:s})=>(a==null?void 0:a.key)&&s===a.key);if(!a||i.length<=1||A===-1)return;let r=(A+(g==="left"?-1:1)+i.length)%i.length;this.selectTab(i[r]),c[r].focus()})}configure(t){this._options=Object.assign(this._options,t)}onSelectTab(t){return this._onSelectTabHandlers.add(t),()=>{this._onSelectTabHandlers.delete(t)}}selectTabById(t,e){let o=this._document.querySelector(`${n.TAB}[${X}="${t}"]`);if(!o||!this.isValidTabElement(o))return;let g=this.getTabDataFromHTMLElement(o);g&&this._selectTab(g,o),e!=null&&e.scrollToElement&&o.scrollIntoView()}selectTab(t){this._selectTab(t)}restoreTabs(t){for(let[e,o]of Object.entries(t))if(e){let g={group:e,...o};this.selectTab(g)}}getTabsFromLocalStorage(){return JSON.parse(localStorage.getItem("tabsHistory")||"{}")}getTabsFromSearchQuery(){let t={},e=new URLSearchParams(window.location.search);return e.has("tabs")&&(e.get("tabs")||"").split(",").forEach(I=>{let i=I.split("_"),[c,a]=i,A="regular";if(i.length===3&&(A=i[2]),c&&a&&Object.values(Q).includes(A)){let r=a;t[c]={key:r,variant:A}}}),t}updateLocalStorageWithTabs(t){this._options.saveTabsToLocalStorage&&localStorage.setItem("tabsHistory",JSON.stringify(t))}updateQueryParamWithTabs(t){let e=new URLSearchParams(window.location.search),o=Object.entries(t).map(([I,{key:i,variant:c}])=>c==="regular"?`${I}_${i}`:`${I}_${i}_${c}`);e.set("tabs",o.join(","));let g=`${window.location.origin}${window.location.pathname}?${e.toString()}`;window.history.replaceState({},document.title,g)}getCurrentPageTabHistory(t){return Object.fromEntries(Object.entries(t).filter(([e])=>this._currentPageTabGroups.includes(e)))}onPageChanged(){this._currentPageTabGroups=this.getCurrentPageTabGroups()}getCurrentPageTabGroups(){let t=this._document.getElementsByClassName(x),e=new Set;return Array.from(t).forEach(o=>{let g=o.getAttribute(T);g&&e.add(g)}),Array.from(e)}clearTabsPreferred(){localStorage.removeItem("tabsHistory"),this.updateQueryParamWithTabs({})}_selectTab(t,e){let{group:o,key:g,variant:I}=t;if(!o)return;this.saveTabPreferred({group:o,key:g,variant:I});let i=e&&W(e),c=i&&H(e,i);this.updateHTML({group:o,key:g,variant:I},e,I)>0&&(this.fireSelectTabEvent({group:o,key:g,variant:I},e==null?void 0:e.dataset.diplodocId),c&&this.resetScroll(e,i,c))}updateHTML(t,e,o){switch(o){case"radio":return this.updateHTMLRadio(t,e);case"accordion":return this.updateHTMLAccordion(t,e);case"regular":return this.updateHTMLRegular(t);case"dropdown":return this.updateHTMLDropdown(t);default:return 0}}saveTabPreferred(t){let e={};switch(this._options.saveTabsToLocalStorage&&(e=JSON.parse(localStorage.getItem("tabsHistory")||"{}")),e[t.group]={key:t.key,variant:t.variant},this._options.saveTabsToLocalStorage&&this.updateLocalStorageWithTabs(e),this._options.saveTabsToQueryStateMode){case"all":{this.updateQueryParamWithTabs(e);break}case"page":{this.updateQueryParamWithTabs(this.getCurrentPageTabHistory(e));break}}}updateHTMLRadio(t,e){let{group:o,key:g}=t,{isForced:I,root:i}=this.didTabOpenForce(e),c=I?`.yfm-vertical-tab[${F}="true"]`:"",a=this._document.querySelectorAll(`${n.TABS}[${T}="${o}"] ${n.TAB}[${y}="${g}"]${c}`);I&&(i==null||i.removeAttribute(F));let A=0;return a.forEach(r=>{let m=r.parentNode.children;for(let p=0;p<m.length;p+=2){let[d,b]=[m.item(p),m.item(p+1)],u=d.children.item(0);if(d===r){u.checked?(d.classList.remove("active"),b==null||b.classList.remove("active"),u.removeAttribute("checked")):(d.classList.add("active"),b==null||b.classList.add("active"),u.setAttribute("checked","true"));continue}u.hasAttribute("checked")&&(d.classList.remove("active"),b==null||b.classList.remove("active"),u.removeAttribute("checked")),A++}}),A}updateHTMLRegular(t){let{group:e,key:o}=t,g=this._document.querySelectorAll(`${n.TABS}[${T}="${e}"] ${n.TAB}[${y}="${o}"]`),I=0;return g.forEach(i=>{let c=i;if(!this.isValidTabElement(c)||c.dataset.diplodocIsActive==="true")return;I++;let a=i,A=a.parentNode,r=A==null?void 0:A.parentNode,s=Array.from((A==null?void 0:A.querySelectorAll(n.TAB))||[]),m=Array.from((r==null?void 0:r.children)||[]).filter(d=>d.classList.contains(O)),p=s.indexOf(a);s.forEach((d,b)=>{let u=m[b],B=b===p,w=d;w.dataset.diplodocIsActive=B?"true":"false",d.classList.toggle(l,B),d.setAttribute("aria-selected",B.toString()),d.setAttribute("tabindex",B?"0":"-1"),u.classList.toggle(l,B)})}),I}updateHTMLDropdown(t){let{group:e,key:o}=t,g=this._document.querySelectorAll(`${n.TABS}[${T}="${e}"] ${n.TAB}[${y}="${o}"]`),I=0;return g.forEach(i=>{let c=i.closest(`[${G}=dropdown]`);if(!(c!=null&&c.children))return;let a=c.children.item(0),A=c.children.item(1);a==null||a.classList.remove(l);let r=Array.from((A==null?void 0:A.children)||[]).indexOf(i)+2;for(let s=2;s<c.children.length;s++){let m=c.children.item(s),p=A==null?void 0:A.children.item(s-2);if(I++,r===s){m==null||m.classList.add(l),p.classList.add(l),a.innerHTML=i.innerHTML,a.classList.add("filled");continue}p.classList.remove(l),m.classList.remove(l)}}),I}updateHTMLAccordion(t,e){let{group:o,key:g}=t,I=this._document.querySelectorAll(`${n.TABS}[${T}="${o}"] ${n.TAB}[${y}="${g}"]`),i=0;return I.forEach(c=>{let a=c.closest(`[${G}=accordion]`);if(a!=null&&a.children)for(let A=0;A<a.children.length;A+=2){let r=a.children.item(A),s=a.children.item(A+1);if(i++,c===r){r==null||r.classList.toggle(l),s==null||s.classList.toggle(l);continue}r==null||r.classList.remove(l),s==null||s.classList.remove(l)}}),e&&!this.checkVisible(e)&&setTimeout(()=>{e.scrollIntoView({block:"nearest"})}),i}checkVisible(t){let e=t.getBoundingClientRect(),o=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-o>=0)}hideAllDropdown(t){this._document.querySelectorAll(".yfm-tabs-dropdown-select.active").forEach(o=>{o.contains(t)||o.classList.remove(l)})}resetScroll(t,e,o){let g=H(t,e),I=g.top-o.top,i=g.left-o.left,c=g.scrollTop-o.scrollTop,a=g.scrollLeft-o.scrollLeft;e.scrollTo(e.scrollLeft+i-a,e.scrollTop+I-c)}didTabOpenForce(t){if(!t)return{};if(t.dataset.diplodocForced)return{root:t,isForced:!0};let e=t.dataset.diplodocVerticalTab?t:t.parentElement,o=typeof(e==null?void 0:e.dataset.diplodocForced)!="undefined";return{root:e,isForced:o}}fireSelectTabEvent(t,e){let{group:o,key:g,variant:I}=t,i=o.startsWith(N)?{key:g,variant:I}:t;this._onSelectTabHandlers.forEach(c=>{c({tab:i,currentTabId:e})})}getTabsType(t){let e=t.closest(`[${G}]`);if(e)return e.dataset.diplodocVariant}isValidTabElement(t){return!!this.getTabsType(t)}isElementDropdownSelect(t){return t.classList.contains(S)}getTabDataFromHTMLElement(t){var I,i,c;let e=this.getTabsType(t);if(e==="radio"){let a=t.dataset.diplodocVerticalTab?t:t.parentElement,A=a.dataset.diplodocKey,r=(I=a.closest(n.TABS))==null?void 0:I.dataset.diplodocGroup;return A&&r?{group:r,key:A,variant:"radio"}:null}if(e==="dropdown"||e==="accordion"){let a=t.dataset.diplodocKey,A=(i=t.closest(n.TABS))==null?void 0:i.dataset.diplodocGroup;return a&&A?{group:A,key:a,variant:e}:null}let o=t.dataset.diplodocKey,g=(c=t.closest(n.TABS))==null?void 0:c.dataset.diplodocGroup;return o&&g?{group:g,key:o,variant:"regular"}:null}getTabs(t){var I,i;let e=(I=t.closest(n.TABS))==null?void 0:I.dataset.diplodocGroup,o=(i=t.closest(n.TAB_LIST))==null?void 0:i.querySelectorAll(n.TAB),g=[];return o.forEach(c=>{let a=c==null?void 0:c.dataset.diplodocKey;a&&g.push({group:e,key:a,variant:"regular"})}),{tabs:g,nodes:o}}};typeof window!="undefined"&&typeof document!="undefined"&&!window[v]&&(window[v]=new h(document));})();
1
+ "use strict";(()=>{var x="yfm-tabs",H="yfm-tab",F="yfm-tab-panel",D="yfm-tab-list",l="active";var B="data-diplodoc-group",G="data-diplodoc-key",y="data-diplodoc-variant",w="data-diplodoc-id",U="defaultTabsGroup-";var O="data-diplodoc-forced";var L="yfm-tabs-dropdown-select";var W="yfm-tabs-vertical";var R=(g=>(g.Regular="regular",g.Radio="radio",g.Dropdown="dropdown",g.Accordion="accordion",g))(R||{}),X=Symbol.for("diplodocTabs");var f=C=>{let t=C.composedPath();return Array.isArray(t)&&t.length>0?t[0]:C.target},Z=C=>{let t=f(C);return!t||!t.matches},v=C=>Math.abs(C.scrollHeight-C.clientHeight)>1?C:C.parentElement?v(C.parentElement):void 0,Q=(C,t)=>{let e=C.getBoundingClientRect(),o=t.getBoundingClientRect();return{top:e.top-o.top,left:e.left-o.left,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}};var n={TABS:`.${x}`,TAB_LIST:`.${D}`,TAB:`.${H}`,TAB_PANEL:`.${F}`,VERTICAL_TABS:`.${W}`},h=class{constructor(t,e={}){this._onSelectTabHandlers=new Set;this._currentPageTabGroups=[];this._document=t,this._options=Object.assign({saveTabsToLocalStorage:!1,saveTabsToQueryStateMode:"none"},e),this._document.addEventListener("click",o=>{let g=f(o);if(o.target&&this.hideAllDropdown(o.target),Z(o))return;if(this.isElementDropdownSelect(g)){g.classList.toggle(l);return}if(!this.isValidTabElement(g))return;let I=this.getTabDataFromHTMLElement(g);I&&this._selectTab(I,g)}),this._document.addEventListener("keydown",o=>{let g=null;switch(o.key){case"ArrowLeft":{g="left";break}case"ArrowRight":{g="right";break}case"ArrowUp":{g="left";break}case"ArrowDown":{g="right";break}}if(!g)return;let I=f(o);if(Z(o)||!this.isValidTabElement(I))return;let{tabs:a,nodes:c}=this.getTabs(I),i=this.getTabDataFromHTMLElement(I),r=a.findIndex(({key:s})=>(i==null?void 0:i.key)&&s===i.key);if(!i||a.length<=1||r===-1)return;let A=(r+(g==="left"?-1:1)+a.length)%a.length;this.selectTab(a[A]),c[A].focus()})}configure(t){this._options=Object.assign(this._options,t)}onSelectTab(t){return this._onSelectTabHandlers.add(t),()=>{this._onSelectTabHandlers.delete(t)}}selectTabById(t,e){let o=this._document.querySelector(`${n.TAB}[${w}="${t}"]`);if(!o||!this.isValidTabElement(o))return;let g=this.getTabDataFromHTMLElement(o);g&&this._selectTab(g,o),e!=null&&e.scrollToElement&&o.scrollIntoView()}selectTab(t){this._selectTab(t)}restoreTabs(t){for(let[e,o]of Object.entries(t))if(e){let g={group:e,...o};this.selectTab(g)}}getTabsFromLocalStorage(){return JSON.parse(localStorage.getItem("tabsHistory")||"{}")}getTabsFromSearchQuery(){let t={},e=new URLSearchParams(window.location.search);return e.has("tabs")&&(e.get("tabs")||"").split(",").forEach(I=>{let a=I.split("_"),[c,i]=a,r="regular";if(a.length===3&&(r=a[2]),c&&i&&Object.values(R).includes(r)){let A=i;t[c]={key:A,variant:r}}}),t}updateLocalStorageWithTabs(t){this._options.saveTabsToLocalStorage&&localStorage.setItem("tabsHistory",JSON.stringify(t))}updateQueryParamWithTabs(t){let e=new URLSearchParams(window.location.search),o=Object.entries(t).map(([I,{key:a,variant:c}])=>c==="regular"?`${I}_${a}`:`${I}_${a}_${c}`);e.set("tabs",o.join(","));let g=`${window.location.origin}${window.location.pathname}?${e.toString()}`;window.history.replaceState({},document.title,g)}getCurrentPageTabHistory(t){return Object.fromEntries(Object.entries(t).filter(([e])=>this._currentPageTabGroups.includes(e)))}onPageChanged(){this._currentPageTabGroups=this.getCurrentPageTabGroups()}getCurrentPageTabGroups(){let t=this._document.getElementsByClassName(x),e=new Set;return Array.from(t).forEach(o=>{let g=o.getAttribute(B);g&&e.add(g)}),Array.from(e)}clearTabsPreferred(){localStorage.removeItem("tabsHistory"),this.updateQueryParamWithTabs({})}_selectTab(t,e){let{group:o,key:g,variant:I}=t;if(!o)return;this.saveTabPreferred({group:o,key:g,variant:I});let a=e&&v(e),c=a&&Q(e,a);this.updateHTML({group:o,key:g,variant:I},e,I)>0&&(this.fireSelectTabEvent({group:o,key:g,variant:I},e==null?void 0:e.dataset.diplodocId),c&&this.resetScroll(e,a,c))}updateHTML(t,e,o){switch(o){case"radio":return this.updateHTMLRadio(t,e);case"accordion":return this.updateHTMLAccordion(t,e);case"regular":return this.updateHTMLRegular(t);case"dropdown":return this.updateHTMLDropdown(t);default:return 0}}saveTabPreferred(t){let e={};switch(this._options.saveTabsToLocalStorage&&(e=JSON.parse(localStorage.getItem("tabsHistory")||"{}")),e[t.group]={key:t.key,variant:t.variant},this._options.saveTabsToLocalStorage&&this.updateLocalStorageWithTabs(e),this._options.saveTabsToQueryStateMode){case"all":{this.updateQueryParamWithTabs(e);break}case"page":{this.updateQueryParamWithTabs(this.getCurrentPageTabHistory(e));break}}}updateHTMLRadio(t,e){let{group:o,key:g}=t,{isForced:I,root:a}=this.didTabOpenForce(e),c=I?`.yfm-vertical-tab[${O}="true"]`:"",i=this._document.querySelectorAll(`${n.TABS}[${B}="${o}"] ${n.TAB}[${G}="${g}"]${c}`);I&&(a==null||a.removeAttribute(O));let r=0;return i.forEach(A=>{let m=A.parentNode.children;for(let p=0;p<m.length;p+=2){let[d,b]=[m.item(p),m.item(p+1)],u=d.children.item(0);if(d===A){u.checked?(d.classList.remove("active"),b==null||b.classList.remove("active"),u.removeAttribute("checked")):(d.classList.add("active"),b==null||b.classList.add("active"),u.setAttribute("checked","true"));continue}u.hasAttribute("checked")&&(d.classList.remove("active"),b==null||b.classList.remove("active"),u.removeAttribute("checked")),r++}}),r}updateHTMLRegular(t){let{group:e,key:o}=t,g=this._document.querySelectorAll(`${n.TABS}[${B}="${e}"] ${n.TAB}[${G}="${o}"]`),I=0;return g.forEach(a=>{let c=a;if(!this.isValidTabElement(c)||c.dataset.diplodocIsActive==="true")return;I++;let i=a,r=i.parentNode,A=r==null?void 0:r.parentNode,s=Array.from((r==null?void 0:r.querySelectorAll(n.TAB))||[]),m=Array.from((A==null?void 0:A.children)||[]).filter(d=>d.classList.contains(F)),p=s.indexOf(i);s.forEach((d,b)=>{let u=m[b],T=b===p,S=d;S.dataset.diplodocIsActive=T?"true":"false",d.classList.toggle(l,T),d.setAttribute("aria-selected",T.toString()),d.setAttribute("tabindex",T?"0":"-1"),u.classList.toggle(l,T)})}),I}updateHTMLDropdown(t){let{group:e,key:o}=t,g=this._document.querySelectorAll(`${n.TABS}[${B}="${e}"] ${n.TAB}[${G}="${o}"]`),I=0;return g.forEach(a=>{let c=a.closest(`[${y}=dropdown]`);if(!(c!=null&&c.children))return;let i=c.children.item(0),r=c.children.item(1);i==null||i.classList.remove(l);let A=Array.from((r==null?void 0:r.children)||[]).indexOf(a)+2;for(let s=2;s<c.children.length;s++){let m=c.children.item(s),p=r==null?void 0:r.children.item(s-2);if(I++,A===s){m==null||m.classList.add(l),p.classList.add(l),i.innerHTML=a.innerHTML,i.classList.add("filled");continue}p.classList.remove(l),m.classList.remove(l)}}),I}updateHTMLAccordion(t,e){let{group:o,key:g}=t,I=this._document.querySelectorAll(`${n.TABS}[${B}="${o}"] ${n.TAB}[${G}="${g}"]`),a=0;return I.forEach(c=>{let i=c.closest(`[${y}=accordion]`);if(i!=null&&i.children)for(let r=0;r<i.children.length;r+=2){let A=i.children.item(r),s=i.children.item(r+1);if(a++,c===A){A==null||A.classList.toggle(l),s==null||s.classList.toggle(l);continue}A==null||A.classList.remove(l),s==null||s.classList.remove(l)}}),e&&!this.checkVisible(e)&&setTimeout(()=>{e.scrollIntoView({block:"nearest"})}),a}checkVisible(t){let e=t.getBoundingClientRect(),o=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-o>=0)}hideAllDropdown(t){this._document.querySelectorAll(".yfm-tabs-dropdown-select.active").forEach(o=>{o.contains(t)||o.classList.remove(l)})}resetScroll(t,e,o){let g=Q(t,e),I=g.top-o.top,a=g.left-o.left,c=g.scrollTop-o.scrollTop,i=g.scrollLeft-o.scrollLeft;e.scrollTo(e.scrollLeft+a-i,e.scrollTop+I-c)}didTabOpenForce(t){if(!t)return{};if(t.dataset.diplodocForced)return{root:t,isForced:!0};let e=t.dataset.diplodocVerticalTab?t:t.parentElement,o=typeof(e==null?void 0:e.dataset.diplodocForced)!="undefined";return{root:e,isForced:o}}fireSelectTabEvent(t,e){let{group:o,key:g,variant:I}=t,a=o.startsWith(U)?{key:g,variant:I}:t;this._onSelectTabHandlers.forEach(c=>{c({tab:a,currentTabId:e})})}getTabsType(t){let e=t.closest(`[${y}]`);if(e)return e.dataset.diplodocVariant}isValidTabElement(t){return!!this.getTabsType(t)}isElementDropdownSelect(t){return t.classList.contains(L)}getTabDataFromHTMLElement(t){var I,a,c;let e=this.getTabsType(t);if(e==="radio"){let i=t.dataset.diplodocVerticalTab?t:t.parentElement,r=i.dataset.diplodocKey,A=(I=i.closest(n.TABS))==null?void 0:I.dataset.diplodocGroup;return r&&A?{group:A,key:r,variant:"radio"}:null}if(e==="dropdown"||e==="accordion"){let i=t.dataset.diplodocKey,r=(a=t.closest(n.TABS))==null?void 0:a.dataset.diplodocGroup;return i&&r?{group:r,key:i,variant:e}:null}let o=t.dataset.diplodocKey,g=(c=t.closest(n.TABS))==null?void 0:c.dataset.diplodocGroup;return o&&g?{group:g,key:o,variant:"regular"}:null}getTabs(t){var I,a;let e=(I=t.closest(n.TABS))==null?void 0:I.dataset.diplodocGroup,o=(a=t.closest(n.TAB_LIST))==null?void 0:a.querySelectorAll(n.TAB),g=[];return o.forEach(c=>{let i=c==null?void 0:c.dataset.diplodocKey;i&&g.push({group:e,key:i,variant:"regular"})}),{tabs:g,nodes:o}}};typeof window!="undefined"&&typeof document!="undefined"&&!window[X]&&(window[X]=new h(document));})();
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/tabs-extension",
3
- "version": "3.6.0",
3
+ "version": "3.7.0",
4
4
  "description": "Tabs plugin for Diplodoc transformer and builder",
5
5
  "main": "build/plugin/index.js",
6
6
  "types": "build/plugin/index.d.ts",