@inpageedit/core 0.5.2 → 0.5.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.
Files changed (45) hide show
  1. package/dist/Preferences-Bg3J5Ur9.js.map +1 -1
  2. package/dist/decorators/Preferences.d.ts +1 -1
  3. package/dist/{index-6bp2nmez.js → index-6pczvrx6.js} +2 -2
  4. package/dist/{index-6bp2nmez.js.map → index-6pczvrx6.js.map} +1 -1
  5. package/dist/{index-3FdvKxaN.js → index-7DsKuWsw.js} +52 -37
  6. package/dist/index-7DsKuWsw.js.map +1 -0
  7. package/dist/{index-DXvJqlhL.js → index-Bo7FhmY-.js} +3 -3
  8. package/dist/index-Bo7FhmY-.js.map +1 -0
  9. package/dist/{index-B0QzYk-q.js → index-C5nqZrGe.js} +1258 -1297
  10. package/dist/{index-B0QzYk-q.js.map → index-C5nqZrGe.js.map} +1 -1
  11. package/dist/{index-CIzmjtBz.js → index-CHb2WvLm.js} +1246 -1112
  12. package/dist/index-CHb2WvLm.js.map +1 -0
  13. package/dist/{index-DlE7PWxs.js → index-Cm67r8TX.js} +170 -140
  14. package/dist/index-Cm67r8TX.js.map +1 -0
  15. package/dist/{index-BwVAO_o4.js → index-DiCrCoWT.js} +6 -6
  16. package/dist/index-DiCrCoWT.js.map +1 -0
  17. package/dist/index-Dnu9H-Aq.js +128 -0
  18. package/dist/index-Dnu9H-Aq.js.map +1 -0
  19. package/dist/{index-D1plOuGc.js → index-Dz0VGQwY.js} +63 -63
  20. package/dist/{index-D1plOuGc.js.map → index-Dz0VGQwY.js.map} +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/models/WikiPage/types/PageInfo.d.ts +2 -0
  23. package/dist/plugins/in-article-links/index.d.ts +6 -8
  24. package/dist/plugins/preferences/index.d.ts +5 -4
  25. package/dist/plugins/quick-edit/index.d.ts +8 -4
  26. package/dist/plugins/toolbox/index.d.ts +12 -2
  27. package/dist/services/ModalService/IPEModal.d.ts +4 -4
  28. package/dist/services/ModalService/index.d.ts +6 -14
  29. package/dist/services/SiteMetadataService.d.ts +3 -2
  30. package/dist/style.css +1 -1
  31. package/dist/utils/computeable.d.ts +2 -0
  32. package/dist/utils/makeCallable.d.ts +3 -0
  33. package/lib/index.umd.js +28 -28
  34. package/lib/index.umd.js.map +1 -1
  35. package/lib/style.css +1 -1
  36. package/package.json +1 -1
  37. package/dist/index-3FdvKxaN.js.map +0 -1
  38. package/dist/index-BwVAO_o4.js.map +0 -1
  39. package/dist/index-CIzmjtBz.js.map +0 -1
  40. package/dist/index-DXvJqlhL.js.map +0 -1
  41. package/dist/index-DlE7PWxs.js.map +0 -1
  42. package/dist/index-DnpXoEP3.js +0 -142
  43. package/dist/index-DnpXoEP3.js.map +0 -1
  44. package/dist/sleep-DpyIipK-.js +0 -5
  45. package/dist/sleep-DpyIipK-.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as s, I as g, a as r, m as c, $ as o, S as t, b as L, c as i } from "./index-CIzmjtBz.js";
1
+ import { B as s, I as g, a as r, m as c, $ as o, S as t, b as L, c as i } from "./index-CHb2WvLm.js";
2
2
  export {
3
3
  s as BasePlugin,
4
4
  g as InPageEdit,
@@ -53,4 +53,6 @@ export interface PageInfo {
53
53
  ns: number;
54
54
  title: string;
55
55
  }[];
56
+ missing?: boolean;
57
+ special?: boolean;
56
58
  }
@@ -6,16 +6,14 @@ declare module '../../InPageEdit' {
6
6
  }
7
7
  export interface InArticleWikiLinkStat {
8
8
  $el: HTMLAnchorElement;
9
- $url: URL;
10
- $params: URLSearchParams;
9
+ url: URL;
10
+ query: URLSearchParams;
11
+ hash: string;
11
12
  kind: 'normal' | 'mw:File';
12
- external: boolean;
13
+ /** MediaWiki page title */
13
14
  title: string;
15
+ external: boolean;
14
16
  action: 'view' | 'edit' | 'create' | 'diff' | string;
15
- section?: number | 'new' | undefined;
16
- revision?: number;
17
- redlink?: boolean;
18
- preload?: string;
19
17
  }
20
18
  export declare class PluginInArticleLinks extends BasePlugin<{
21
19
  wikiBaseUrl: string;
@@ -27,5 +25,5 @@ export declare class PluginInArticleLinks extends BasePlugin<{
27
25
  constructor(ctx: InPageEdit);
28
26
  protected start(): Promise<void>;
29
27
  protected stop(): Promise<void>;
30
- parseWikiAnchor(anchor: HTMLAnchorElement): InArticleWikiLinkStat | null;
28
+ parseInArticleLinkInfo(anchor: HTMLAnchorElement): InArticleWikiLinkStat | null;
31
29
  }
@@ -1,5 +1,6 @@
1
- import { InPageEdit, Schema } from '../../InPageEdit';
2
- import { IPEStorageItem } from '../../services/StorageService';
1
+ import { InPageEdit, Schema } from '../../InPageEdit.js';
2
+ import { IPEStorageItem } from '../../services/StorageService.js';
3
+ import { ComputeAble } from '../../utils/computeable.js';
3
4
  declare module '../../InPageEdit' {
4
5
  interface InPageEdit {
5
6
  preferences: PluginPreferences;
@@ -25,8 +26,8 @@ export declare class PluginPreferences extends BasePlugin {
25
26
  private _defaultPreferences;
26
27
  constructor(ctx: InPageEdit);
27
28
  start(): Promise<void>;
28
- get<T = any>(key: string, fallback?: () => T | Promise<T>): Promise<T | null>;
29
- getDefaultValue(key: string): any;
29
+ get<T = any>(key: string, fallback?: ComputeAble<T>): Promise<T | null>;
30
+ getDefaultValue(key: string): unknown;
30
31
  set<T = any>(key: string, value: T): Promise<IPEStorageItem<T> | void>;
31
32
  getAll(): Promise<Record<string, any>>;
32
33
  private loadDefaultConfigs;
@@ -5,7 +5,9 @@ import { IPEModal } from '../../services/ModalService/IPEModal';
5
5
  import { ReactNode } from 'jsx-dom';
6
6
  declare module '../../InPageEdit' {
7
7
  interface InPageEdit {
8
- quickEdit: PluginQuickEdit['quickEdit'];
8
+ quickEdit: PluginQuickEdit & {
9
+ (...args: Parameters<PluginQuickEdit['showModal']>): ReturnType<PluginQuickEdit['showModal']>;
10
+ };
9
11
  }
10
12
  interface Events {
11
13
  'quick-edit/init-options'(payload: Omit<QuickEditInitPayload, 'modal' | 'wikiPage'>): void;
@@ -38,8 +40,10 @@ export interface QuickEditInitPayload {
38
40
  wikiPage: WikiPage;
39
41
  }
40
42
  export interface QuickEditSubmitPayload {
43
+ wikiPage: WikiPage;
41
44
  text?: string;
42
45
  summary?: string;
46
+ section?: number | 'new' | undefined;
43
47
  minor?: boolean;
44
48
  createonly?: boolean;
45
49
  watchlist?: WatchlistAction;
@@ -49,9 +53,9 @@ export declare class PluginQuickEdit extends BasePlugin {
49
53
  private readonly DEFAULT_OPTIONS;
50
54
  constructor(ctx: InPageEdit);
51
55
  protected start(): Promise<void> | void;
52
- quickEdit(payload?: string | Partial<QuickEditOptions>): Promise<void>;
53
- private handleSubmit;
56
+ showModal(payload?: string | Partial<QuickEditOptions>): Promise<void>;
57
+ handleSubmit(payload: QuickEditSubmitPayload): Promise<import('fexios').FexiosFinalContext<any>>;
58
+ getWikiPageFromPayload(payload: Partial<QuickEditOptions>): Promise<WikiPage>;
54
59
  private injectToolbox;
55
- private getWikiPageFromPayload;
56
60
  protected removeToolbox(ctx: InPageEdit): void;
57
61
  }
@@ -18,12 +18,22 @@ declare module '../../InPageEdit' {
18
18
  export declare class PluginToolbox extends Service {
19
19
  ctx: InPageEdit;
20
20
  container: HTMLElement;
21
- private forceShow;
22
21
  constructor(ctx: InPageEdit);
23
22
  protected start(): Promise<void>;
24
23
  protected stop(): void | Promise<void>;
24
+ private setupHoverLogic;
25
+ /**
26
+ * 计算按钮动画延迟
27
+ * @param index 按钮索引(从0开始)
28
+ * @param totalCount 总按钮数量
29
+ * @returns 延迟时间(秒)
30
+ */
31
+ private calculateButtonDelay;
32
+ /**
33
+ * 更新按钮组的动画延迟
34
+ */
35
+ private updateButtonDelays;
25
36
  private createToolbox;
26
- private createIndicatorForNotArticlePage;
27
37
  private normalizeButtonId;
28
38
  addButton(payload: {
29
39
  id: string;
@@ -102,7 +102,7 @@ export interface IPEModalOptions {
102
102
  */
103
103
  onClickClose?: boolean | ((modal: IPEModal) => boolean | void);
104
104
  }
105
- export type IPEModalNotifyType = 'success' | 'error' | 'warning' | 'info' | 'dialog' | 'confirm' | string;
105
+ export type IPEModalNotifyType = 'default' | 'info' | 'success' | 'warning' | 'error' | 'confirm' | string;
106
106
  export type IPEModalNotifyPosition = 'top right' | 'top left' | 'bottom right' | 'bottom left';
107
107
  export declare enum IPEModalEvent {
108
108
  Init = "modal.init",
@@ -194,7 +194,7 @@ export declare class IPEModal {
194
194
  private applyAnimation;
195
195
  private _hooks;
196
196
  on(type: IPEModalEvent, listener: IPEModalHook): () => this;
197
- off(type: IPEModalEvent, listener: IPEModalHook): this;
197
+ off(type: IPEModalEvent, listener?: IPEModalHook): this;
198
198
  once(type: IPEModalEvent, listener: IPEModalHook): () => this;
199
199
  private emit;
200
200
  private focusFirst;
@@ -224,9 +224,9 @@ export declare class IPEModal {
224
224
  okBtn: Pick<IPEModalButtonOptions, 'label' | 'className'>;
225
225
  cancelBtn: Pick<IPEModalButtonOptions, 'label' | 'className'>;
226
226
  }>, method: (e: MouseEvent, m: IPEModal) => void): IPEModal;
227
- static notifyIcons: Record<IPEModalNotifyType, string>;
227
+ static getDefaultNotifyIcon(type: IPEModalNotifyType): import('jsx-dom').ReactElement | null;
228
228
  static notify(type: IPEModalNotifyType, options: Partial<IPEModalOptions> & Partial<{
229
- icon: string;
229
+ icon: string | Element;
230
230
  okBtn: Pick<IPEModalButtonOptions, 'label' | 'className'>;
231
231
  cancelBtn: Pick<IPEModalButtonOptions, 'label' | 'className'>;
232
232
  overrideOther: boolean;
@@ -1,5 +1,5 @@
1
1
  import { InPageEdit } from '../../InPageEdit';
2
- import { IPEModal, IPEModalButtonOptions, IPEModalEvent, IPEModalOptions } from './IPEModal.js';
2
+ import { IPEModal, IPEModalEvent, IPEModalOptions } from './IPEModal.js';
3
3
  export * from './IPEModal.js';
4
4
  declare module '../../InPageEdit' {
5
5
  interface InPageEdit {
@@ -16,20 +16,12 @@ export declare class ModalService {
16
16
  constructor(ctx: InPageEdit);
17
17
  IPEModal: typeof CustomIPEModal;
18
18
  IPEModalEvent: typeof IPEModalEvent;
19
- show: (options: Partial<IPEModalOptions>) => CustomIPEModal;
20
- createObject: (options: Partial<IPEModalOptions>) => CustomIPEModal;
19
+ show: (...args: Parameters<typeof CustomIPEModal.show>) => CustomIPEModal;
20
+ createObject: (...args: Parameters<typeof CustomIPEModal.createObject>) => CustomIPEModal;
21
21
  close: typeof IPEModal.close;
22
22
  closeAll: typeof IPEModal.closeAll;
23
23
  removeAll: typeof IPEModal.removeAll;
24
- dialog: (options: Partial<IPEModalOptions>) => CustomIPEModal;
25
- confirm: (options: Partial<IPEModalOptions> & Partial<{
26
- okBtn: Pick<IPEModalButtonOptions, "label" | "className">;
27
- cancelBtn: Pick<IPEModalButtonOptions, "label" | "className">;
28
- }>, method: (e: MouseEvent, m: IPEModal) => void) => CustomIPEModal;
29
- notify: (type: "success" | "error" | "warning" | "info" | "dialog" | "confirm" | string, options: Partial<IPEModalOptions> & Partial<{
30
- icon: string;
31
- okBtn: Pick<IPEModalButtonOptions, "label" | "className">;
32
- cancelBtn: Pick<IPEModalButtonOptions, "label" | "className">;
33
- overrideOther: boolean;
34
- }>, callback?: (result: boolean) => void) => CustomIPEModal;
24
+ dialog: (...args: Parameters<typeof CustomIPEModal.dialog>) => CustomIPEModal;
25
+ confirm: (...args: Parameters<typeof CustomIPEModal.confirm>) => CustomIPEModal;
26
+ notify: (...args: Parameters<typeof CustomIPEModal.notify>) => CustomIPEModal;
35
27
  }
@@ -8,19 +8,20 @@ declare module '../InPageEdit' {
8
8
  export declare class SiteMetadataService extends Service {
9
9
  ctx: InPageEdit;
10
10
  private _data;
11
- private siteIdentity?;
12
11
  private readonly CACHE_TTL;
13
12
  private readonly VERSION;
14
13
  private db;
15
14
  private queryData;
16
15
  constructor(ctx: InPageEdit);
16
+ logger: import('@inpageedit/logger').Logger;
17
17
  get api(): import('wiki-saikou/browser').MediaWikiApi;
18
18
  get mwConfig(): ReturnType<typeof mw.config.get>;
19
19
  protected start(): Promise<void>;
20
- computeSiteIdentity(): Promise<string>;
20
+ computeSiteIdentity(): string;
21
21
  fetchFromApi(): Promise<any>;
22
22
  fetchFromCache(): Promise<SiteMetadata | null>;
23
23
  saveToCache(data: SiteMetadata): Promise<import('./StorageService').IPEStorageItem<SiteMetadata>>;
24
+ invalidateCache(): Promise<void>;
24
25
  get _raw(): SiteMetadata;
25
26
  get siteInfo(): import('../types/SiteMetadata').SiteInfo;
26
27
  get specialPageAliases(): import('../types/SiteMetadata').SiteSpecialPageAlias[];
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";._ipe_progress_so6hn_1{position:relative;display:inline-block;width:100%;overflow:hidden;border:1px solid #c5c5c5;border-radius:100vmax;background-color:#fff;height:1em;--progress: 0%}._ipe_progress_so6hn_1[data-indeterminate=true]:before,._ipe_progress_so6hn_1[data-indeterminate=true]:after{content:"";position:absolute;top:0;bottom:0;left:0;background-color:#36c}._ipe_progress_so6hn_1[data-indeterminate=true]:before{animation:_progress-indeterminate-long_so6hn_1 2s linear infinite}._ipe_progress_so6hn_1[data-indeterminate=true]:after{animation:_progress-indeterminate-short_so6hn_1 2s linear infinite}._ipe_progress_so6hn_1[data-indeterminate=false]:before{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--progress);background-color:#36c;transition:width .3s ease-in-out}@keyframes _progress-indeterminate-long_so6hn_1{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@keyframes _progress-indeterminate-short_so6hn_1{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}to{left:110%;width:0}}._mbox_5x43w_1{--border-color: #dfdfdf;--title-color: #efefef;--content-color: #ffffff;border-radius:.5rem;border:1px solid var(--title-color);border-left:6px solid var(--border-color);overflow:hidden;margin-bottom:1rem;position:relative}._mbox_5x43w_1 ._title_5x43w_12{background-color:var(--title-color);padding:.5rem 1rem;font-weight:700;font-size:1rem;line-height:1.2}._mbox_5x43w_1 ._content_5x43w_19{background-color:var(--content-color);padding:.5rem 1rem;font-size:1rem;line-height:1.5;max-height:14em;overflow:auto}._mbox_5x43w_1 ._close_5x43w_27{position:absolute;top:.5rem;right:.5rem;font-size:1.25rem;line-height:1rem;color:var(--border-color);cursor:pointer;user-select:none}._mbox_5x43w_1 ._close_5x43w_27:hover{filter:brightness(1.2)}._mbox_5x43w_1 ._close_5x43w_27:active{filter:brightness(.8)}._mbox_5x43w_1.mbox-type-note,._mbox_5x43w_1.mbox-type-info{--border-color: #1f6feb;--title-color: #AFD1FE;--content-color: #f3f9ff}._mbox_5x43w_1.mbox-type-tip,._mbox_5x43w_1.mbox-type-success{--border-color: #238636;--title-color: #E0F1E3;--content-color: #f9f9f9}._mbox_5x43w_1.mbox-type-important,._mbox_5x43w_1.mbox-type-done{--border-color: #8957e5;--title-color: #DDCBFC;--content-color: #f9f9f9}._mbox_5x43w_1.mbox-type-warning{--border-color: #9e6a03;--title-color: #E4CC9D;--content-color: #fff9db}._mbox_5x43w_1.mbox-type-caution,._mbox_5x43w_1.mbox-type-error{--border-color: #da3633;--title-color: #FCB9B6;--content-color: #f9f9f9}._twinSwapInput_1gdgl_9{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"input-left swap-button input-right";gap:1rem;align-items:end}@media (max-width: 768px){._twinSwapInput_1gdgl_9{grid-template-columns:1fr;grid-template-areas:"input-left" "swap-button" "input-right";gap:.75rem}}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23{display:flex;flex-direction:column}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23._inputLeft_1gdgl_27{grid-area:input-left}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23._inputRight_1gdgl_30{grid-area:input-right}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23 label{display:block;margin-bottom:.5em;font-weight:500;font-size:.875rem}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23 input{width:100%}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23 input:disabled{opacity:.75;cursor:not-allowed}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46{grid-area:swap-button;display:flex;align-items:center;justify-content:center}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button{position:relative;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;width:2rem;height:2rem;border:none;background:#efefef;cursor:pointer;transition:all .2s ease}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button:hover{background:#e0e0e0}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button:active{background:#d0d0d0}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button:disabled{opacity:.75;cursor:not-allowed}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button svg{transition:all .2s ease;width:1.25rem;height:1.25rem}@media (max-width: 768px){._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button{transform:rotate(90deg)}}._tabview_zlbug_1{font-size:14px}._tabview_zlbug_1 ._labels_container_zlbug_4{font-size:16px;list-style:none;margin:0;white-space:nowrap;overflow-x:auto}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4{flex:auto;padding:0;margin:0;display:inline-block;text-align:center;text-transform:uppercase}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4:not(:first-child){margin-left:.5em}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4 a{display:inline-block;padding:.25em .5em;text-decoration:none;color:#08d;cursor:pointer}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4:hover a{box-shadow:0 -2px #0088dd40 inset}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4._active_zlbug_32 a{box-shadow:0 -2px #08d inset}._tabview_zlbug_1 ._contents_container_zlbug_35{margin-top:1em}:root{--ipe-modal-z: 1000;--ipe-modal-backdrop-bg: rgba(0, 0, 0, .5);--ipe-modal-bg: #ffffff;--ipe-modal-fg: #111827;--ipe-modal-fg--rgb: 17, 24, 39;--ipe-modal-footer-bg: #eaecf0;--ipe-modal-muted: #6b7280;--ipe-modal-accent: #3b82f6;--ipe-modal-accent--rgb: 59, 130, 246;--ipe-modal-danger: #ef4444;--ipe-modal-danger--rgb: 239, 68, 68;--ipe-modal-border-color: #c3c3c3;--ipe-modal-radius: 8px;--ipe-modal-button-radius: 10px;--ipe-modal-shadow: 0 0 40px rgba(128, 128, 128, .5);--ipe-modal-spacing: 12px;--ipe-modal-viewport-gap-y: 20px;--ipe-modal-window-max-w: 96vw;--ipe-modal-anim: none;--ipe-modal-safe-area-top: env(safe-area-inset-top);--ipe-modal-safe-area-bottom: env(safe-area-inset-bottom);--ipe-modal-vh: 100vh}@supports (height: 100dvh){:root{--ipe-modal-vh: 100dvh}}:root{--ipe-modal-window-max-h: calc( var(--ipe-modal-vh) - var(--ipe-modal-safe-area-top) - var(--ipe-modal-safe-area-bottom) - (var(--ipe-modal-viewport-gap-y) * 2) )}html.ipe-modal-no-scroll,body.ipe-modal-no-scroll{overflow:hidden!important;touch-action:none;-webkit-overflow-scrolling:auto}body.ipe-modal-no-scroll{position:fixed;width:100%;left:0;right:0}.ipe-modal-backdrop{position:fixed;inset:0;z-index:var(--ipe-modal-z);background:transparent;transition:background .18s ease;pointer-events:none}.ipe-modal-backdrop.is-open{background:var(--ipe-modal-backdrop-bg);pointer-events:auto}.ipe-modal-modal{position:fixed;inset:0;z-index:calc(var(--ipe-modal-z) + 1);outline:none;display:grid;align-items:start;justify-items:center;overflow:auto;opacity:0;transform:translateY(8px) scale(.98);transition:opacity .18s ease,transform .22s ease;pointer-events:none}.ipe-modal-modal.is-open{opacity:1;transform:none}.ipe-modal-modal.is-centered{display:grid;align-items:center}.ipe-modal-modal.is-centered .ipe-modal-modal__content{max-height:75dvh;overflow:auto}.ipe-modal-modal.is-fullscreen .ipe-modal-modal__window{width:100vw;height:var(--ipe-modal-vh);max-width:none;max-height:none;border-radius:0}.ipe-modal-modal.no-backdrop{position:absolute;inset:auto;display:block;padding:0;overflow:visible}.ipe-modal-modal.is-dragging{transition:none}.ipe-modal-modal.is-dragging .ipe-modal-modal__window{animation:none}.ipe-modal-modal.is-dragging .ipe-modal-modal__header{cursor:grabbing!important}.ipe-modal-modal__window{position:relative;background:var(--ipe-modal-bg);color:var(--ipe-modal-fg);border-radius:var(--ipe-modal-radius);box-shadow:var(--ipe-modal-shadow);max-width:var(--ipe-modal-window-max-w);width:min(92vw,var(--ipe-modal-window-max-w));overflow:hidden;display:block;animation:var(--ipe-modal-anim, none) .22s ease both;pointer-events:auto;overscroll-behavior:contain;margin-top:var(--ipe-modal-viewport-gap-y, 20px);margin-bottom:var(--ipe-modal-viewport-gap-y, 20px)}.size--dialog{max-width:420px}.size--small{max-width:520px}.size--smallToMedium{max-width:640px}.size--medium{max-width:max(64%,860px)}.size--mediumToLarge{max-width:max(72%,1080px)}.size--large{max-width:max(80%,1200px)}.size--full{width:100vw;height:var(--ipe-modal-vh);max-width:none;max-height:none;border-radius:0}.size--auto{max-width:var(--ipe-modal-window-max-w)}.ipe-modal-modal__window.is-fixed-height{height:min(var(--ipe-modal-window-max-h),80vh)}.ipe-modal-modal__header{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:calc(var(--ipe-modal-spacing) * .75) var(--ipe-modal-spacing);border-bottom:1px solid var(--ipe-modal-footer-bg)}.ipe-modal-modal__title{font-size:1.125rem;font-weight:700;line-height:1;margin:0}.ipe-modal-modal__icons{display:inline-flex;gap:6px}.ipe-modal-modal__icon{width:28px;height:28px;border-radius:8px;border:0;background:transparent}.ipe-modal-modal__close{margin-left:6px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:var(--ipe-modal-button-radius);background:transparent;font-size:22px;line-height:1;color:var(--ipe-modal-muted);cursor:pointer}.ipe-modal-modal__close:hover{background:#0000000f;color:var(--ipe-modal-fg)}.ipe-modal-modal__content{padding:var(--ipe-modal-spacing);overflow:visible;-webkit-overflow-scrolling:touch}.ipe-modal-modal__footer{background:var(--ipe-modal-footer-bg);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(var(--ipe-modal-spacing) * .75) var(--ipe-modal-spacing);border-top:1px solid var(--ipe-modal-border-color)}.ipe-modal-modal__buttons{display:inline-flex;gap:8px}.ipe-modal-toast-container{position:fixed;z-index:2000;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.ipe-modal-toast-container.top{top:16px}.ipe-modal-toast-container.bottom{bottom:16px;flex-direction:column-reverse}.ipe-modal-toast-container.right{right:16px}.ipe-modal-toast-container.left{left:16px}.ipe-modal-modal__window.plugin--toast{width:300px;border-radius:calc(var(--ipe-modal-radius) * .5)}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__header{padding:.5em}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__close{width:20px;height:20px;font-size:16px}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__content{padding:1em .5em}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__footer{padding:0 .5em .5em}.ipe-modal-modal__window.plugin--toast .ipe-modal-btn{padding:.5em .75em}.ipe-modal-btn{--accent-color: #fff;--text-color: var(--ipe-modal-fg);--active-color: rgba(0, 0, 0, .1);appearance:none;border:1px solid rgba(0,0,0,.14);background:var(--accent-color);color:var(--text-color);padding:8px 12px;border-radius:var(--ipe-modal-button-radius);cursor:pointer;font:inherit;transition:all .2s}.ipe-modal-btn:hover{background:#0000000a}.ipe-modal-btn:disabled{opacity:.6;cursor:not-allowed}.ipe-modal-btn:active{background:#0000000f;box-shadow:0 0 0 2px var(--active-color)}.ipe-modal-btn:focus{box-shadow:0 0 0 2px var(--active-color)}.ipe-modal-btn.is-primary{--accent-color: var(--ipe-modal-accent);--text-color: #fff;--active-color: rgba(var(--ipe-modal-accent--rgb), .5);border-color:var(--accent-color);background:var(--accent-color)}.ipe-modal-btn.is-danger{--accent-color: var(--ipe-modal-danger);--text-color: #fff;--active-color: rgba(var(--ipe-modal-danger--rgb), .2);border-color:var(--accent-color);background:var(--accent-color);color:var(--text-color)}.ipe-modal-btn.is-ghost,.ipe-modal-btn.is-text{background:transparent}.ipe-modal-btn.is-ghost.is-primary{color:var(--ipe-modal-accent)}.ipe-modal-btn.is-ghost.is-danger{color:var(--ipe-modal-danger)}.ipe-modal-btn.is-text{border:0}.ipe-modal-modal__window.size--dialog .ipe-modal-modal__footer,.ipe-modal-modal__window.compact-buttons .ipe-modal-modal__footer{padding:0}.ipe-modal-modal__window.size--dialog .ipe-modal-modal__buttons--left,.ipe-modal-modal__window.compact-buttons .ipe-modal-modal__buttons--left{display:none}.ipe-modal-modal__window.size--dialog .ipe-modal-modal__buttons--right,.ipe-modal-modal__window.compact-buttons .ipe-modal-modal__buttons--right{flex:1;width:100%;display:flex;gap:0}.ipe-modal-modal__window.size--dialog .ipe-modal-btn,.ipe-modal-modal__window.compact-buttons .ipe-modal-btn{flex:1;border:0;margin:0;padding:1rem;border-radius:0}.ipe-modal-modal__window.size--dialog .ipe-modal-btn:not(:first-child),.ipe-modal-modal__window.compact-buttons .ipe-modal-btn:not(:first-child){border-left:1px solid rgba(0,0,0,.06)}.ipe-modal-modal__window.size--dialog .ipe-modal-modal__footer,.ipe-modal-modal__window.compact-buttons .ipe-modal-modal__footer{background-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.theme-ipe{--color-primary: #36c;--color-primary-hover: #447ff5;--color-primary-active: #2a4b8d;--color-promary--rgb: 51, 102, 204;--color-white: #fff;--color-text-dark: #222;--color-text-medium: #252525;--color-text-hover: #454545;--color-bg-light: #f8f9fa;--color-bg-lighter: #fafafa;--color-bg-lightest: #f8f8f8;--color-bg-gray: #f4f4f4;--color-border-gray: #c8ccd1;--color-border-light: #efefef;--color-border-input: #ccc;--color-border-dark: #72777d;--color-border-disabled: #d6d6d6;--color-danger: #d33;--color-danger-hover: #ff4242;--color-danger-active: #d00;--color-danger--rgb: 211, 51, 51;--color-disabled-bg: #c8ccd1;--color-disabled-dark: #a0a0a0;--font-size-button: 14px;--font-size-label: 1rem;--font-weight-label: 700;--border-width: 1px;--border-width-radio-checked: 6px;--border-radius-button: 6px;--border-radius-input: 4px;--padding-button-y: .5em;--padding-button-x: 1em;--padding-button-dialog: 1em;--padding-input-y: .25em;--padding-input-x: .35em;--size-checkbox: 1.2em;--size-radio: 1.4em;--margin-checkbox-top: .15em;--margin-checkbox-right: .375em;--textarea-height: 50vh;--textarea-min-height: 20em;--line-height-input: 1.5em;--line-height-checkbox: 1.2em;--transition-fast: .1s;--transition-medium: .12s;--transition-slow: .2s;--ipe-modal-accent: var(--color-primary);--ipe-modal-danger: var(--color-danger);--ipe-modal-button-radius: var(--border-radius-button);font-size:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.theme-ipe textarea[name=text]{width:100%;height:var(--textarea-height);min-height:var(--textarea-min-height);resize:vertical;border:var(--border-width) solid var(--color-border-input);border-radius:var(--border-radius-input);transition:border var(--transition-slow);line-height:var(--line-height-input);padding:var(--padding-input-y) var(--padding-input-x);outline:none}.theme-ipe textarea[name=text]:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 var(--border-width) var(--color-primary)}.theme-ipe textarea[name=text]:disabled{background-color:var(--color-disabled-bg);color:var(--color-white);cursor:not-allowed}.theme-ipe .ipe-input-box label{display:block;font-size:.875rem;margin-bottom:.5em;font-weight:500}.theme-ipe .ipe-input-box input[type=text],.theme-ipe .ipe-input-box input[type=number],.theme-ipe .ipe-input-box input[type=email],.theme-ipe .ipe-input-box input[type=password],.theme-ipe .ipe-input-box input[type=url],.theme-ipe .ipe-input-box input[type=tel],.theme-ipe .ipe-input-box input[type=search]{width:100%}.theme-ipe input{padding:var(--padding-input-y) var(--padding-input-x);border:var(--border-width) solid var(--color-border-input);border-radius:var(--border-radius-input);transition:border var(--transition-slow);line-height:var(--line-height-input);outline:none}.theme-ipe input:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 var(--border-width) var(--color-primary)}.theme-ipe label input[type=checkbox]+span,.theme-ipe label input[type=radio]+span{user-select:none;line-height:var(--line-height-checkbox)}.theme-ipe label input[type=checkbox]+span:before,.theme-ipe label input[type=radio]+span:before{content:" ";display:inline-block;width:var(--size-checkbox);height:var(--size-checkbox);margin-top:var(--margin-checkbox-top);margin-right:var(--margin-checkbox-right);border-radius:var(--border-radius-input);background-color:var(--color-bg-lightest);border:var(--border-width) solid var(--color-border-dark);cursor:pointer;transition:all var(--transition-medium)}.theme-ipe label input[type=radio]+span:before{border-radius:50%;box-sizing:border-box;vertical-align:text-bottom;width:var(--size-radio);height:var(--size-radio)}.theme-ipe label input[type=checkbox]:checked+span:before{content:" ";background-color:var(--color-primary);background-image:url(data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kOyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxnIGlkPSJjaGVja21hcmsiPjxwYXRoIGQ9Ik0xMy43NDkyKzMuNDkwOTVMNS44NjMxMisxMS42MzM3TDIuMjUwNzcrNy45NjA4MkwxLjQ4NzYrOC43NTc3OEw1Ljg2MzEyKzEzLjE5M0wxNC41MTI0KzQuMjg3OUwxMy43NDkyKzMuNDkwOTVaIiBvcGFjaXR5PSIxIiBmaWxsPSIjZmZmZmZmIi8+PC9nPjwvc3ZnPg==);background-repeat:no-repeat}.theme-ipe label input[type=radio]:checked+span:before{border-color:var(--color-primary);border-width:var(--border-width-radio-checked)}.theme-ipe label input[type=checkbox]:checked+span:hover:before{background-color:var(--color-primary-hover)}.theme-ipe label input[type=radio]:checked+span:hover:before{border-color:var(--color-primary-hover)}.theme-ipe label input[type=checkbox]:active+span:before,.theme-ipe label input[type=checkbox]:focus+span:before{box-shadow:0 0 0 2px rgba(var(--color-promary--rgb),.5);border-color:var(--color-primary)}.theme-ipe label input[type=checkbox],.theme-ipe label input[type=radio]{position:absolute;clip:rect(0,0,0,0)}.theme-ipe .cm-panel label input[type=checkbox],.theme-ipe .cm-panel label input[type=radio]{position:initial;clip:initial}.theme-ipe label input[type=checkbox]:disabled+span:before{border-color:var(--color-border-disabled)}.theme-ipe label input[type=radio]:disabled+span:before{background-color:var(--color-disabled-bg);border-color:var(--color-disabled-bg)}.theme-ipe label input[type=checkbox]:disabled:checked+span:before{background-color:var(--color-disabled-dark)}.theme-ipe label input[type=radio]:disabled:checked+span:before{background-color:var(--color-white)}.theme-ipe .ipe-radio-box span,.theme-ipe .ipe-checkbox span{vertical-align:middle}._diff-container_lq0si_2{--primary-text-color: #333;--secondary-text-color: #888;--container-bg-color: #fff;--border-color: #ccc;--del-bg: #fadad7;--del-color: #b30000;--ins-bg: #eaf2c2;--ins-color: #406619;--chunk-header-color: #8a008b;--result-bg: #f5f5f5;background:var(--result-bg);padding:1rem;margin:0;border-radius:3px;font-family:Maple Mono NF CN,Maple Mono NF,Maple Mono,JetBrainsMono Nerd Font,JetBrains Mono NF,JetBrains Mono,Consolas,Courier New,monospace;white-space:pre-wrap;overflow-x:auto;line-height:1.4em;color:var(--secondary-text-color);transition:color .25s ease}._diff-container_lq0si_2:hover{color:var(--primary-text-color)}._diff-container_lq0si_2 del{text-decoration:line-through;color:var(--del-color);background:var(--del-bg)}._diff-container_lq0si_2 ins{background:var(--ins-bg);color:var(--ins-color);text-decoration:underline}._diff-container_lq0si_2 del,._diff-container_lq0si_2 ins{font-weight:700}._diff-container_lq0si_2 ._chunk-header_lq0si_44{color:var(--chunk-header-color);text-decoration:none}#ipe-edit-toolbox{position:fixed;right:32px;bottom:32px;user-select:none;z-index:199}@media print{#ipe-edit-toolbox{display:none}}#ipe-edit-toolbox .ipe-toolbox-btn{color:#fff;background:#bebebe;height:36px;width:36px;font-size:20px;line-height:1;border:0;border-radius:50%;box-shadow:0 0 8px #999;text-shadow:0 0 2px #4c4c4c;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center}#ipe-edit-toolbox .ipe-toolbox-btn svg,#ipe-edit-toolbox .ipe-toolbox-btn img{line-height:1;width:1em;height:1em;vertical-align:middle}#ipe-edit-toolbox #toolbox-toggle{position:absolute;right:0;bottom:0;width:42px;height:42px;background:#3f51b5;font-size:32px;line-height:1;margin:0;transition:all .26s ease-in-out;transform:rotate(0)}#ipe-edit-toolbox #toolbox-toggle.opened{transform:rotate(45deg)}#ipe-edit-toolbox .btn-group.group1 .btn-tip-group{transform:translate3d(0,100%,0)}#ipe-edit-toolbox .btn-group.group2 .btn-tip-group{transform:translate3d(100%,0,0)}#ipe-edit-toolbox .btn-group .btn-tip-group{transition-timing-function:ease-in-out;transition-duration:.3s;opacity:0}#ipe-edit-toolbox .btn-group.opened .btn-tip-group{transform:translateZ(0);opacity:1}#ipe-edit-toolbox .btn-group.opened .btn-tip-group:nth-of-type(1),#ipe-edit-toolbox .btn-group:not(.opened) .btn-tip-group:nth-of-type(3){transition-delay:0s}#ipe-edit-toolbox .btn-group .btn-tip-group:nth-of-type(2){transition-delay:.06s}#ipe-edit-toolbox .btn-group:not(.opened) .btn-tip-group:nth-of-type(1),#ipe-edit-toolbox .btn-group.opened .btn-tip-group:nth-of-type(3){transition-delay:.108s}#ipe-edit-toolbox .btn-group:not(.opened){transform:scaleZ(0);transition-delay:.408s}#ipe-edit-toolbox .btn-group.opened{transform:scaleZ(1)}#ipe-edit-toolbox .ipe-toolbox-btn#toolbox-toggle.click{box-shadow:0 0 4px gray,0 0 10px #444 inset}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__quick-edit-btn{background:#2196f3}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__quick-redirect-btn{background:#00bcd4}#ipe-edit-toolbox .ipe-toolbox-btn#redirectto-btn{background:#009688}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__quick-delete-btn{background:#e91e63}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__quick-move-btn{background:#ff5722}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__preferences-btn{background:#ffc107}#ipe-edit-toolbox .btn-group{position:absolute;display:flex;gap:8px;list-style:none;margin:0}#ipe-edit-toolbox .btn-group.group1{bottom:49px;right:4px;flex-direction:column}#ipe-edit-toolbox .btn-group.group2{bottom:2px;right:49px}#ipe-edit-toolbox .btn-group.opened{visibility:visible}#ipe-edit-toolbox .btn-tip-group .btn-tip{position:absolute;text-align:center;font-size:12px;white-space:nowrap;left:50%;bottom:calc(100% + .5em);transform:translate(-50%);background:#fff;padding:.2em .5em;box-shadow:0 0 .5em #999;border-radius:.5em;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out,bottom .2s ease-in-out}#ipe-edit-toolbox .btn-tip-group:hover .btn-tip{opacity:1;bottom:calc(100% + 1em)}#ipe-edit-toolbox .btn-tip-group .btn-tip:after{content:"";display:block;border:5px solid transparent;border-radius:2px;border-right-color:#fff;border-bottom-color:#fff;position:absolute;bottom:-8px;left:50%;transform:rotate(45deg) translate(-50%)}.tabs[data-v-1f988771]{--border-color: #efefef;--tab-color: #666;--active-color: #3366bb;display:flex;gap:.5em;border-bottom:1px solid #efefef;margin-bottom:1em}.tabs .tab[data-v-1f988771]{padding:.5em 1em;cursor:pointer;user-select:none;color:var(--tab-color);display:inline-block;transition:color .3s ease,box-shadow .3s ease}.tabs .tab.active[data-v-1f988771]{color:var(--active-color);box-shadow:inset 0 -.15em 0 0 var(--active-color)}
1
+ @charset "UTF-8";._ipe_progress_so6hn_1{position:relative;display:inline-block;width:100%;overflow:hidden;border:1px solid #c5c5c5;border-radius:100vmax;background-color:#fff;height:1em;--progress: 0%}._ipe_progress_so6hn_1[data-indeterminate=true]:before,._ipe_progress_so6hn_1[data-indeterminate=true]:after{content:"";position:absolute;top:0;bottom:0;left:0;background-color:#36c}._ipe_progress_so6hn_1[data-indeterminate=true]:before{animation:_progress-indeterminate-long_so6hn_1 2s linear infinite}._ipe_progress_so6hn_1[data-indeterminate=true]:after{animation:_progress-indeterminate-short_so6hn_1 2s linear infinite}._ipe_progress_so6hn_1[data-indeterminate=false]:before{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--progress);background-color:#36c;transition:width .3s ease-in-out}@keyframes _progress-indeterminate-long_so6hn_1{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@keyframes _progress-indeterminate-short_so6hn_1{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}to{left:110%;width:0}}._mbox_5x43w_1{--border-color: #dfdfdf;--title-color: #efefef;--content-color: #ffffff;border-radius:.5rem;border:1px solid var(--title-color);border-left:6px solid var(--border-color);overflow:hidden;margin-bottom:1rem;position:relative}._mbox_5x43w_1 ._title_5x43w_12{background-color:var(--title-color);padding:.5rem 1rem;font-weight:700;font-size:1rem;line-height:1.2}._mbox_5x43w_1 ._content_5x43w_19{background-color:var(--content-color);padding:.5rem 1rem;font-size:1rem;line-height:1.5;max-height:14em;overflow:auto}._mbox_5x43w_1 ._close_5x43w_27{position:absolute;top:.5rem;right:.5rem;font-size:1.25rem;line-height:1rem;color:var(--border-color);cursor:pointer;user-select:none}._mbox_5x43w_1 ._close_5x43w_27:hover{filter:brightness(1.2)}._mbox_5x43w_1 ._close_5x43w_27:active{filter:brightness(.8)}._mbox_5x43w_1.mbox-type-note,._mbox_5x43w_1.mbox-type-info{--border-color: #1f6feb;--title-color: #AFD1FE;--content-color: #f3f9ff}._mbox_5x43w_1.mbox-type-tip,._mbox_5x43w_1.mbox-type-success{--border-color: #238636;--title-color: #E0F1E3;--content-color: #f9f9f9}._mbox_5x43w_1.mbox-type-important,._mbox_5x43w_1.mbox-type-done{--border-color: #8957e5;--title-color: #DDCBFC;--content-color: #f9f9f9}._mbox_5x43w_1.mbox-type-warning{--border-color: #9e6a03;--title-color: #E4CC9D;--content-color: #fff9db}._mbox_5x43w_1.mbox-type-caution,._mbox_5x43w_1.mbox-type-error{--border-color: #da3633;--title-color: #FCB9B6;--content-color: #f9f9f9}._twinSwapInput_1gdgl_9{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"input-left swap-button input-right";gap:1rem;align-items:end}@media (max-width: 768px){._twinSwapInput_1gdgl_9{grid-template-columns:1fr;grid-template-areas:"input-left" "swap-button" "input-right";gap:.75rem}}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23{display:flex;flex-direction:column}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23._inputLeft_1gdgl_27{grid-area:input-left}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23._inputRight_1gdgl_30{grid-area:input-right}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23 label{display:block;margin-bottom:.5em;font-weight:500;font-size:.875rem}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23 input{width:100%}._twinSwapInput_1gdgl_9 ._inputWrapper_1gdgl_23 input:disabled{opacity:.75;cursor:not-allowed}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46{grid-area:swap-button;display:flex;align-items:center;justify-content:center}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button{position:relative;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;width:2rem;height:2rem;border:none;background:#efefef;cursor:pointer;transition:all .2s ease}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button:hover{background:#e0e0e0}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button:active{background:#d0d0d0}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button:disabled{opacity:.75;cursor:not-allowed}._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button svg{transition:all .2s ease;width:1.25rem;height:1.25rem}@media (max-width: 768px){._twinSwapInput_1gdgl_9 ._swapButton_1gdgl_46 button{transform:rotate(90deg)}}._tabview_zlbug_1{font-size:14px}._tabview_zlbug_1 ._labels_container_zlbug_4{font-size:16px;list-style:none;margin:0;white-space:nowrap;overflow-x:auto}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4{flex:auto;padding:0;margin:0;display:inline-block;text-align:center;text-transform:uppercase}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4:not(:first-child){margin-left:.5em}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4 a{display:inline-block;padding:.25em .5em;text-decoration:none;color:#08d;cursor:pointer}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4:hover a{box-shadow:0 -2px #0088dd40 inset}._tabview_zlbug_1 ._labels_container_zlbug_4 ._label_zlbug_4._active_zlbug_32 a{box-shadow:0 -2px #08d inset}._tabview_zlbug_1 ._contents_container_zlbug_35{margin-top:1em}:root{--ipe-modal-z: 1000;--ipe-modal-backdrop-bg: rgba(0, 0, 0, .5);--ipe-modal-bg: #ffffff;--ipe-modal-secondary-bg: #eaecf0;--ipe-modal-text: #111827;--ipe-modal-text--rgb: 17, 24, 39;--ipe-modal-muted: #6b7280;--ipe-modal-accent: #3b82f6;--ipe-modal-accent--rgb: 59, 130, 246;--ipe-modal-success: #10b981;--ipe-modal-info: #3b82f6;--ipe-modal-warning: #f59e0b;--ipe-modal-danger: #ef4444;--ipe-modal-danger--rgb: 239, 68, 68;--ipe-modal-border-color: #eaecf0;--ipe-modal-divider-color: #e5e7eb;--ipe-modal-radius: 8px;--ipe-modal-button-radius: 10px;--ipe-modal-shadow: 0 0 40px rgba(127, 127, 127, .5);--ipe-modal-spacing: 12px;--ipe-modal-viewport-gap-y: 20px;--ipe-modal-window-max-w: 96vw;--ipe-modal-anim: none;--ipe-modal-safe-area-top: env(safe-area-inset-top);--ipe-modal-safe-area-bottom: env(safe-area-inset-bottom);--ipe-modal-vh: 100vh}@supports (height: 100dvh){:root{--ipe-modal-vh: 100dvh}}:root{--ipe-modal-window-max-h: calc( var(--ipe-modal-vh) - var(--ipe-modal-safe-area-top) - var(--ipe-modal-safe-area-bottom) - (var(--ipe-modal-viewport-gap-y) * 2) )}html.ipe-modal-no-scroll,body.ipe-modal-no-scroll{overflow:hidden!important;touch-action:none;-webkit-overflow-scrolling:auto}body.ipe-modal-no-scroll{position:fixed;width:100%;left:0;right:0}.ipe-modal-backdrop{position:fixed;inset:0;z-index:var(--ipe-modal-z);background:transparent;transition:background .18s ease;pointer-events:none}.ipe-modal-backdrop.is-open{background:var(--ipe-modal-backdrop-bg);pointer-events:auto}.ipe-modal-modal{position:fixed;inset:0;z-index:calc(var(--ipe-modal-z) + 1);outline:none;display:grid;align-items:start;justify-items:center;overflow:auto;opacity:0;transform:translateY(8px) scale(.98);transition:opacity .18s ease,transform .22s ease;pointer-events:none}.ipe-modal-modal.is-open{opacity:1;transform:none}.ipe-modal-modal.is-centered{display:grid;align-items:center}.ipe-modal-modal.is-centered .ipe-modal-modal__content{max-height:75dvh;overflow:auto}.ipe-modal-modal.is-fullscreen .ipe-modal-modal__window{width:100vw;height:var(--ipe-modal-vh);max-width:none;max-height:none;border-radius:0}.ipe-modal-modal.no-backdrop{position:absolute;inset:auto;display:block;padding:0;overflow:visible}.ipe-modal-modal.is-dragging{transition:none}.ipe-modal-modal.is-dragging .ipe-modal-modal__window{animation:none}.ipe-modal-modal.is-dragging .ipe-modal-modal__header{cursor:grabbing!important}.ipe-modal-modal__window{position:relative;background:var(--ipe-modal-bg);color:var(--ipe-modal-text);border-radius:var(--ipe-modal-radius);box-shadow:var(--ipe-modal-shadow);max-width:var(--ipe-modal-window-max-w);width:min(92vw,var(--ipe-modal-window-max-w));overflow:hidden;display:block;animation:var(--ipe-modal-anim, none) .22s ease-in-out both;pointer-events:auto;overscroll-behavior:contain;margin-top:var(--ipe-modal-viewport-gap-y, 20px);margin-bottom:var(--ipe-modal-viewport-gap-y, 20px)}.size--dialog{max-width:420px}.size--small{max-width:520px}.size--smallToMedium{max-width:640px}.size--medium{max-width:max(64%,860px)}.size--mediumToLarge{max-width:max(72%,1080px)}.size--large{max-width:max(80%,1200px)}.size--full{width:100vw;height:var(--ipe-modal-vh);max-width:none;max-height:none;border-radius:0}.size--auto{max-width:var(--ipe-modal-window-max-w)}.ipe-modal-modal__window.is-fixed-height{height:min(var(--ipe-modal-window-max-h),80vh)}.ipe-modal-modal__header{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:calc(var(--ipe-modal-spacing) * .75) var(--ipe-modal-spacing);border-bottom:1px solid var(--ipe-modal-divider-color)}.ipe-modal-modal__title{font-size:1.125rem;font-weight:700;line-height:1;margin:0}.ipe-modal-modal__icons{display:inline-flex;gap:6px}.ipe-modal-modal__icon{width:28px;height:28px;border-radius:8px;border:0;background:transparent}.ipe-modal-modal__close{margin-left:6px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:var(--ipe-modal-button-radius);background:transparent;font-size:22px;line-height:1;color:var(--ipe-modal-muted);cursor:pointer}.ipe-modal-modal__close:hover{background:#0000000f;color:var(--ipe-modal-text)}.ipe-modal-modal__content{padding:var(--ipe-modal-spacing);overflow:visible;-webkit-overflow-scrolling:touch}.ipe-modal-modal__footer{background:var(--ipe-modal-secondary-bg);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(var(--ipe-modal-spacing) * .75) var(--ipe-modal-spacing);border-top:1px solid var(--ipe-modal-divider-color)}.ipe-modal-modal__buttons{display:inline-flex;gap:8px}.ipe-modal-toast-container{position:fixed;z-index:2000;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.ipe-modal-toast-container.top{top:16px}.ipe-modal-toast-container.bottom{bottom:16px;flex-direction:column-reverse}.ipe-modal-toast-container.right{right:16px}.ipe-modal-toast-container.left{left:16px}.ipe-modal-modal__window.plugin--toast{--type-color: var(--ipe-modal-bg);--text-color: var(--ipe-modal-text);width:300px;border-radius:calc(var(--ipe-modal-radius) * .75);margin-top:0;margin-bottom:0;border:0;border-left:calc(var(--ipe-modal-radius) * .75) solid var(--type-color)}.ipe-modal-modal__window.plugin--toast.type-default{--type-color: var(--ipe-modal-secondary-bg)}.ipe-modal-modal__window.plugin--toast.type-info{--type-color: var(--ipe-modal-info);--text-color: #fff;--ipe-modal-muted: #fff}.ipe-modal-modal__window.plugin--toast.type-success{--type-color: var(--ipe-modal-success);--text-color: #fff;--ipe-modal-muted: #fff}.ipe-modal-modal__window.plugin--toast.type-warning{--type-color: var(--ipe-modal-warning);--text-color: #fff;--ipe-modal-muted: #fff}.ipe-modal-modal__window.plugin--toast.type-error{--type-color: var(--ipe-modal-danger);--text-color: #fff;--ipe-modal-muted: #fff}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__header{padding:.5em;background-color:var(--type-color);color:var(--text-color);border-bottom:0}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__header .ipe-modal-modal__title{display:flex;align-items:center}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__header .ipe-modal-modal__title .ipe-modal-notify-icon{margin-right:.5em;width:20px;height:20px}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__close{width:20px;height:20px;font-size:16px;color:var(--ipe-modal-muted)}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__content{padding:1em .5em}.ipe-modal-modal__window.plugin--toast .ipe-modal-modal__footer{padding:.5em;background-color:transparent;border-top:0}.ipe-modal-modal__window.plugin--toast .ipe-modal-btn{padding:.25em .75em!important}.ipe-modal-btn{--accent-color: #fff;--text-color: var(--ipe-modal-text);--active-color: rgba(0, 0, 0, .1);appearance:none;border:1px solid rgba(0,0,0,.14);background:var(--accent-color);color:var(--text-color);padding:8px 12px;border-radius:var(--ipe-modal-button-radius);cursor:pointer;font:inherit;transition:all .2s}.ipe-modal-btn:hover{background:#0000000a}.ipe-modal-btn:disabled{opacity:.6;cursor:not-allowed}.ipe-modal-btn:active{background:#0000000f;box-shadow:0 0 0 2px var(--active-color)}.ipe-modal-btn:focus{box-shadow:0 0 0 2px var(--active-color)}.ipe-modal-btn.is-primary{--accent-color: var(--ipe-modal-accent);--text-color: #fff;--active-color: rgba(var(--ipe-modal-accent--rgb), .5);border-color:var(--accent-color);background:var(--accent-color)}.ipe-modal-btn.is-danger{--accent-color: var(--ipe-modal-danger);--text-color: #fff;--active-color: rgba(var(--ipe-modal-danger--rgb), .2);border-color:var(--accent-color);background:var(--accent-color);color:var(--text-color)}.ipe-modal-btn.is-ghost,.ipe-modal-btn.is-text{background:transparent}.ipe-modal-btn.is-ghost.is-primary{color:var(--ipe-modal-accent)}.ipe-modal-btn.is-ghost.is-danger{color:var(--ipe-modal-danger)}.ipe-modal-btn.is-text{border:0}.ipe-modal-modal__window.size--dialog .ipe-modal-modal__footer,.ipe-modal-modal__window.compact-buttons .ipe-modal-modal__footer{padding:0}.ipe-modal-modal__window.size--dialog .ipe-modal-modal__buttons--left,.ipe-modal-modal__window.compact-buttons .ipe-modal-modal__buttons--left{display:none}.ipe-modal-modal__window.size--dialog .ipe-modal-modal__buttons--right,.ipe-modal-modal__window.compact-buttons .ipe-modal-modal__buttons--right{flex:1;width:100%;display:flex;gap:0}.ipe-modal-modal__window.size--dialog .ipe-modal-btn,.ipe-modal-modal__window.compact-buttons .ipe-modal-btn{flex:1;border:0;margin:0;padding:1rem;border-radius:0}.ipe-modal-modal__window.size--dialog .ipe-modal-btn:not(:first-child),.ipe-modal-modal__window.compact-buttons .ipe-modal-btn:not(:first-child){border-left:1px solid rgba(0,0,0,.06)}.ipe-modal-modal__window.size--dialog .ipe-modal-modal__footer,.ipe-modal-modal__window.compact-buttons .ipe-modal-modal__footer{background-color:transparent}@keyframes ipe-modal-fade-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ipe-modal-fade-out{0%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:0}}.theme-ipe{--color-primary: #36c;--color-primary-hover: #447ff5;--color-primary-active: #2a4b8d;--color-promary--rgb: 51, 102, 204;--color-white: #fff;--color-text-dark: #222;--color-text-medium: #252525;--color-text-hover: #454545;--color-bg-light: #f8f9fa;--color-bg-lighter: #fafafa;--color-bg-lightest: #f8f8f8;--color-bg-gray: #f4f4f4;--color-border-gray: #c8ccd1;--color-border-light: #efefef;--color-border-input: #ccc;--color-border-dark: #72777d;--color-border-disabled: #d6d6d6;--color-danger: #d33;--color-danger-hover: #ff4242;--color-danger-active: #d00;--color-danger--rgb: 211, 51, 51;--color-disabled-bg: #c8ccd1;--color-disabled-dark: #a0a0a0;--font-size-button: 14px;--font-size-label: 1rem;--font-weight-label: 700;--border-width: 1px;--border-width-radio-checked: 6px;--border-radius-button: 6px;--border-radius-input: 4px;--padding-button-y: .5em;--padding-button-x: 1em;--padding-button-dialog: 1em;--padding-input-y: .25em;--padding-input-x: .35em;--size-checkbox: 1.2em;--size-radio: 1.4em;--margin-checkbox-top: .15em;--margin-checkbox-right: .375em;--textarea-height: 50vh;--textarea-min-height: 20em;--line-height-input: 1.5em;--line-height-checkbox: 1.2em;--transition-fast: .1s;--transition-medium: .12s;--transition-slow: .2s;--ipe-modal-accent: var(--color-primary);--ipe-modal-danger: var(--color-danger);--ipe-modal-button-radius: var(--border-radius-button);font-size:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.theme-ipe textarea[name=text]{width:100%;height:var(--textarea-height);min-height:var(--textarea-min-height);resize:vertical;border:var(--border-width) solid var(--color-border-input);border-radius:var(--border-radius-input);transition:border var(--transition-slow);line-height:var(--line-height-input);padding:var(--padding-input-y) var(--padding-input-x);outline:none}.theme-ipe textarea[name=text]:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 var(--border-width) var(--color-primary)}.theme-ipe textarea[name=text]:disabled{background-color:var(--color-disabled-bg);color:var(--color-white);cursor:not-allowed}.theme-ipe .ipe-input-box label{display:block;font-size:.875rem;margin-bottom:.5em;font-weight:500}.theme-ipe .ipe-input-box input[type=text],.theme-ipe .ipe-input-box input[type=number],.theme-ipe .ipe-input-box input[type=email],.theme-ipe .ipe-input-box input[type=password],.theme-ipe .ipe-input-box input[type=url],.theme-ipe .ipe-input-box input[type=tel],.theme-ipe .ipe-input-box input[type=search]{width:100%}.theme-ipe input{padding:var(--padding-input-y) var(--padding-input-x);border:var(--border-width) solid var(--color-border-input);border-radius:var(--border-radius-input);transition:border var(--transition-slow);line-height:var(--line-height-input);outline:none}.theme-ipe input:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 var(--border-width) var(--color-primary)}.theme-ipe label input[type=checkbox]+span,.theme-ipe label input[type=radio]+span{user-select:none;line-height:var(--line-height-checkbox)}.theme-ipe label input[type=checkbox]+span:before,.theme-ipe label input[type=radio]+span:before{content:" ";display:inline-block;width:var(--size-checkbox);height:var(--size-checkbox);margin-top:var(--margin-checkbox-top);margin-right:var(--margin-checkbox-right);border-radius:var(--border-radius-input);background-color:var(--color-bg-lightest);border:var(--border-width) solid var(--color-border-dark);cursor:pointer;transition:all var(--transition-medium)}.theme-ipe label input[type=radio]+span:before{border-radius:50%;box-sizing:border-box;vertical-align:text-bottom;width:var(--size-radio);height:var(--size-radio)}.theme-ipe label input[type=checkbox]:checked+span:before{content:" ";background-color:var(--color-primary);background-image:url(data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kOyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxnIGlkPSJjaGVja21hcmsiPjxwYXRoIGQ9Ik0xMy43NDkyKzMuNDkwOTVMNS44NjMxMisxMS42MzM3TDIuMjUwNzcrNy45NjA4MkwxLjQ4NzYrOC43NTc3OEw1Ljg2MzEyKzEzLjE5M0wxNC41MTI0KzQuMjg3OUwxMy43NDkyKzMuNDkwOTVaIiBvcGFjaXR5PSIxIiBmaWxsPSIjZmZmZmZmIi8+PC9nPjwvc3ZnPg==);background-repeat:no-repeat}.theme-ipe label input[type=radio]:checked+span:before{border-color:var(--color-primary);border-width:var(--border-width-radio-checked)}.theme-ipe label input[type=checkbox]:checked+span:hover:before{background-color:var(--color-primary-hover)}.theme-ipe label input[type=radio]:checked+span:hover:before{border-color:var(--color-primary-hover)}.theme-ipe label input[type=checkbox]:active+span:before,.theme-ipe label input[type=checkbox]:focus+span:before{box-shadow:0 0 0 2px rgba(var(--color-promary--rgb),.5);border-color:var(--color-primary)}.theme-ipe label input[type=checkbox],.theme-ipe label input[type=radio]{position:absolute;clip:rect(0,0,0,0)}.theme-ipe .cm-panel label input[type=checkbox],.theme-ipe .cm-panel label input[type=radio]{position:initial;clip:initial}.theme-ipe label input[type=checkbox]:disabled+span:before{border-color:var(--color-border-disabled)}.theme-ipe label input[type=radio]:disabled+span:before{background-color:var(--color-disabled-bg);border-color:var(--color-disabled-bg)}.theme-ipe label input[type=checkbox]:disabled:checked+span:before{background-color:var(--color-disabled-dark)}.theme-ipe label input[type=radio]:disabled:checked+span:before{background-color:var(--color-white)}.theme-ipe .ipe-radio-box span,.theme-ipe .ipe-checkbox span{vertical-align:middle}.skin-moeskin #ipe-edit-toolbox{bottom:5rem}._diff-container_lq0si_2{--primary-text-color: #333;--secondary-text-color: #888;--container-bg-color: #fff;--border-color: #ccc;--del-bg: #fadad7;--del-color: #b30000;--ins-bg: #eaf2c2;--ins-color: #406619;--chunk-header-color: #8a008b;--result-bg: #f5f5f5;background:var(--result-bg);padding:1rem;margin:0;border-radius:3px;font-family:Maple Mono NF CN,Maple Mono NF,Maple Mono,JetBrainsMono Nerd Font,JetBrains Mono NF,JetBrains Mono,Consolas,Courier New,monospace;white-space:pre-wrap;overflow-x:auto;line-height:1.4em;color:var(--secondary-text-color);transition:color .25s ease}._diff-container_lq0si_2:hover{color:var(--primary-text-color)}._diff-container_lq0si_2 del{text-decoration:line-through;color:var(--del-color);background:var(--del-bg)}._diff-container_lq0si_2 ins{background:var(--ins-bg);color:var(--ins-color);text-decoration:underline}._diff-container_lq0si_2 del,._diff-container_lq0si_2 ins{font-weight:700}._diff-container_lq0si_2 ._chunk-header_lq0si_44{color:var(--chunk-header-color);text-decoration:none}#ipe-edit-toolbox{font-size:16px;position:fixed;right:2em;bottom:2em;user-select:none;z-index:42}@media print{#ipe-edit-toolbox{display:none}}#ipe-edit-toolbox .ipe-toolbox-btn{color:#fff;background:#bebebe;height:1.5em;width:1.5em;font-size:1.5em;line-height:1;border:0;border-radius:50%;box-shadow:0 0 8px #7f7f7f80;text-shadow:0 0 2px #4c4c4c;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center}#ipe-edit-toolbox .ipe-toolbox-btn svg,#ipe-edit-toolbox .ipe-toolbox-btn img{line-height:1;width:1em;height:1em;vertical-align:middle}#ipe-edit-toolbox #toolbox-toggler{position:absolute;right:0;bottom:0;width:2em;height:2em;background:#3f51b5;font-size:1.5em;line-height:1;margin:0;transition:transform .3s cubic-bezier(.68,-.55,.27,1.55);transform:rotate(0)}#ipe-edit-toolbox.is-persistent #toolbox-toggler{transform:rotate(45deg)}#ipe-edit-toolbox .btn-group.group1 .btn-tip-group{transform:translate3d(0,100%,0)}#ipe-edit-toolbox .btn-group.group2 .btn-tip-group{transform:translate3d(100%,0,0)}#ipe-edit-toolbox .btn-group .btn-tip-group{transition-timing-function:cubic-bezier(.68,-.55,.27,1.55);transition-duration:.3s;transition-delay:var(--transition-delay, 0s);opacity:0}#ipe-edit-toolbox.is-persistent .btn-group .btn-tip-group,#ipe-edit-toolbox.is-hovered .btn-group .btn-tip-group{transform:translateZ(0);opacity:1}#ipe-edit-toolbox:not(.is-persistent):not(.is-hovered) .btn-group .btn-tip-group{transition-delay:calc(var(--max-transition-delay) - var(--transition-delay))}#ipe-edit-toolbox.is-persistent .btn-group,#ipe-edit-toolbox.is-hovered .btn-group{transform:scaleZ(1)}#ipe-edit-toolbox .ipe-toolbox-btn#toolbox-toggler.click{box-shadow:0 0 4px gray,0 0 10px #444 inset}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__quick-edit-btn{background:#2196f3}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__quick-redirect-btn{background:#00bcd4}#ipe-edit-toolbox .ipe-toolbox-btn#redirectto-btn{background:#009688}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__quick-delete-btn{background:#e91e63}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__quick-move-btn{background:#ff5722}#ipe-edit-toolbox .ipe-toolbox-btn#ipe-toolbox__preferences-btn{background:#ffc107}#ipe-edit-toolbox .btn-group{position:absolute;display:flex;gap:.5em;list-style:none;margin:0}#ipe-edit-toolbox .btn-group.group1{bottom:3.5em;right:.375em;flex-direction:column}#ipe-edit-toolbox .btn-group.group2{bottom:.25em;right:3.375em}#ipe-edit-toolbox.is-persistent .btn-group,#ipe-edit-toolbox.is-hovered .btn-group{visibility:visible}#ipe-edit-toolbox .btn-tip-group .btn-tip{position:absolute;text-align:center;font-size:12px;white-space:nowrap;left:50%;bottom:calc(100% + .5em);transform:translate(-50%);background:#fff;color:#252525;padding:.2em .5em;box-shadow:0 0 .5em #7f7f7f80;border-radius:.5em;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out,bottom .2s ease-in-out}#ipe-edit-toolbox .btn-tip-group:hover .btn-tip{opacity:1;bottom:calc(100% + 1em)}#ipe-edit-toolbox .btn-tip-group .btn-tip:after{content:"";display:block;border:5px solid transparent;border-radius:2px;border-right-color:#fff;border-bottom-color:#fff;position:absolute;bottom:-8px;left:50%;transform:rotate(45deg) translate(-50%)}.tabs[data-v-e89c782f]{--border-color: #efefef;--tab-color: #666;--active-color: #3366bb;display:flex;gap:.5em;border-bottom:1px solid #efefef;margin-bottom:1em}.tabs .tab[data-v-e89c782f]{padding:.5em 1em;cursor:pointer;user-select:none;color:var(--tab-color);display:inline-block;transition:color .3s ease,box-shadow .3s ease}.tabs .tab.active[data-v-e89c782f]{color:var(--active-color);box-shadow:inset 0 -.15em 0 0 var(--active-color)}
@@ -0,0 +1,2 @@
1
+ export type ComputeAble<T> = (() => T | Promise<T>) | T;
2
+ export declare function computeFallback<T>(value: ComputeAble<T>): Promise<T>;
@@ -0,0 +1,3 @@
1
+ export declare const CALLABLE_APPLY_SYMBOL: unique symbol;
2
+ export declare const CALLABLE_CTOR_SYMBOL: unique symbol;
3
+ export declare function makeCallable<C extends object, M extends keyof C>(instance: C, method: M): C & ((...args: C[M] extends (...a: infer P) => any ? P : never) => C[M] extends (...a: any[]) => infer R ? R : never);