@lax-wp/design-system 0.5.27 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/cards/card-main/CardMain.d.ts +0 -2
- package/dist/components/data-display/json-grid-viewer/JsonGridCore.d.ts +2 -2
- package/dist/components/data-display/json-grid-viewer/JsonGridViewer.d.ts +1 -1
- package/dist/components/data-display/json-grid-viewer/JsonGridViewerContext.d.ts +1 -1
- package/dist/components/data-display/json-grid-viewer/JsonValueDisplay.d.ts +1 -1
- package/dist/components/data-display/json-grid-viewer/NestedJsonGrid.d.ts +1 -1
- package/dist/components/data-display/json-grid-viewer/hooks.d.ts +1 -1
- package/dist/components/data-display/json-grid-viewer/utils.d.ts +1 -1
- package/dist/components/forms/file-upload-dragger/FileUpload.d.ts +0 -2
- package/dist/components/forms/shared/InputLabel.d.ts +1 -2
- package/dist/components/navigation/accordion/Accordion.d.ts +1 -1
- package/dist/components/navigation/breadcrumbs/BreadCrumb.d.ts +7 -1
- package/dist/components/navigation/tabs/Children.d.ts +3 -0
- package/dist/components/navigation/tabs/DropableWrapper.d.ts +8 -0
- package/dist/components/navigation/tabs/MoreButton.d.ts +13 -0
- package/dist/components/navigation/tabs/SortableTab.d.ts +9 -0
- package/dist/components/navigation/tabs/TabDragOverlay.d.ts +11 -0
- package/dist/components/navigation/tabs/TabOptions.d.ts +14 -0
- package/dist/components/navigation/tabs/TabSwitch.d.ts +3 -0
- package/dist/components/navigation/tabs/Tabs.d.ts +2 -0
- package/dist/components/navigation/tabs/icons/PinIcon.d.ts +7 -0
- package/dist/components/navigation/tabs/icons/UnpinIcon.d.ts +7 -0
- package/dist/components/navigation/tabs/index.d.ts +3 -0
- package/dist/components/navigation/tabs/types.d.ts +117 -0
- package/dist/components/tooltip/Tooltip.d.ts +2 -5
- package/dist/design-system.css +1 -1
- package/dist/hooks/useTabState.d.ts +5 -0
- package/dist/hooks/useTextWidth.d.ts +11 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.es.js +11730 -10944
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +33 -150
- package/dist/index.umd.js.map +1 -1
- package/dist/types/index.d.ts +0 -12
- package/package.json +1 -1
- package/dist/components/data-display/skeleton/loaders/PieChartWidgetLoader.d.ts +0 -5
|
@@ -11,8 +11,6 @@ export type CardMainProps = {
|
|
|
11
11
|
mode?: string | null;
|
|
12
12
|
/** Display ID to show in banner */
|
|
13
13
|
displayId?: string | null;
|
|
14
|
-
/** Whether the main sidebar is expanded */
|
|
15
|
-
isMainSideBarOpen?: boolean;
|
|
16
14
|
};
|
|
17
15
|
/**
|
|
18
16
|
* CardMain component for main content areas with optional edit/comparison banners
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { IJsonGridProps } from './types';
|
|
3
3
|
export declare const JsonGridCore: FC<IJsonGridProps>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { IJsonGridViewerContext } from './types';
|
|
2
2
|
export declare const JsonGridViewerContext: import("react").Context<IJsonGridViewerContext | null>;
|
|
3
3
|
export declare const JsonGridViewerContextProvider: import("react").Provider<IJsonGridViewerContext | null>;
|
|
4
4
|
export declare const useJsonGridViewerContext: () => IJsonGridViewerContext;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { JsonArray, JsonObject, JsonValue } from './types';
|
|
2
2
|
export declare const useCheckboxSelection: (selectedPaths: string[], setSelectedPaths: (paths: string[]) => void) => {
|
|
3
3
|
handleCheckboxChange: (fullPath: string, isChecked: boolean, value: JsonValue, isExpandable: boolean) => void;
|
|
4
4
|
isPathSelected: (path: string) => boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { JsonValue } from './types';
|
|
2
2
|
export declare const getDataType: (value: JsonValue) => string;
|
|
3
3
|
export declare const filterTopLevelPaths: (paths: string[]) => string[];
|
|
4
4
|
export declare const parseJson: (value: string) => any;
|
|
@@ -27,8 +27,6 @@ export type FileUploadDraggerProps = {
|
|
|
27
27
|
getFile: (file: any, fileName?: string) => any;
|
|
28
28
|
/** Label to display */
|
|
29
29
|
label?: string;
|
|
30
|
-
/** Whether the field is required */
|
|
31
|
-
required?: boolean;
|
|
32
30
|
/** Description text to display */
|
|
33
31
|
description?: string;
|
|
34
32
|
/** Error message to display */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FC } from "react";
|
|
1
|
+
import type { FC, ReactNode } from "react";
|
|
2
2
|
import { type TBreadCrumbItem } from "./BreadCrumbItem";
|
|
3
3
|
/**
|
|
4
4
|
* Arrow icon for breadcrumb separators
|
|
@@ -18,6 +18,12 @@ export interface BreadCrumbProps {
|
|
|
18
18
|
variant?: "primary" | "secondary";
|
|
19
19
|
/** Click handler when a breadcrumb item is clicked */
|
|
20
20
|
onClick?: (id: string | number) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Custom link renderer for navigation
|
|
23
|
+
* Allows integration with any routing library (react-router, next/link, etc.)
|
|
24
|
+
* If not provided, items will be rendered as clickable divs
|
|
25
|
+
*/
|
|
26
|
+
renderLink?: (item: TBreadCrumbItem, children: ReactNode, isLastItem: boolean) => ReactNode;
|
|
21
27
|
}
|
|
22
28
|
/**
|
|
23
29
|
* BreadCrumb component displays a navigation trail with animated items
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
type DropableWrapperProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
id: string;
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare const DropableWrapper: ({ children, id, enabled }: DropableWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SuffixRecord, TabVariant } from './types';
|
|
2
|
+
type MoreButtonProps = {
|
|
3
|
+
variant: TabVariant;
|
|
4
|
+
size: string;
|
|
5
|
+
draggingOver: string | null;
|
|
6
|
+
title: string;
|
|
7
|
+
showMoreDropdown: boolean;
|
|
8
|
+
handleShowMoreDropdown: () => void;
|
|
9
|
+
selectedId: string;
|
|
10
|
+
suffixRecord?: SuffixRecord;
|
|
11
|
+
};
|
|
12
|
+
declare const MoreButton: ({ variant, size, draggingOver, title, showMoreDropdown, handleShowMoreDropdown, selectedId, suffixRecord, }: MoreButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export default MoreButton;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
type SortableTabProps = {
|
|
3
|
+
title: string;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
isDragging?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const SortableTab: ({ title, children, isDragging, className }: SortableTabProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SuffixRecord, TabSize, TabVariant } from './types';
|
|
2
|
+
type TabDragOverlayProps = {
|
|
3
|
+
draggingTab: string;
|
|
4
|
+
suffixRecord?: SuffixRecord;
|
|
5
|
+
size?: TabSize;
|
|
6
|
+
variant: TabVariant;
|
|
7
|
+
selectedId: string;
|
|
8
|
+
portalContainer?: HTMLElement | null;
|
|
9
|
+
};
|
|
10
|
+
declare const TabDragOverlay: ({ draggingTab, suffixRecord, size, variant, selectedId, portalContainer, }: TabDragOverlayProps) => import("react").ReactPortal;
|
|
11
|
+
export default TabDragOverlay;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TabOptionConfig } from './types';
|
|
2
|
+
type TabOptionsProps = {
|
|
3
|
+
savedConfig: TabOptionConfig;
|
|
4
|
+
onApplyFilter: (config: TabOptionConfig) => void;
|
|
5
|
+
setUnsavedChanges: (unsavedChanges: boolean) => void;
|
|
6
|
+
handleTabSort: (order: 'asc' | 'desc') => void;
|
|
7
|
+
onSearchChange: (searchValue: string, filterType: 'contains' | 'does-not-contain') => void;
|
|
8
|
+
hasSuffixRecord: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const TabOptions: ({ savedConfig, onApplyFilter, setUnsavedChanges, handleTabSort, onSearchChange, hasSuffixRecord, }: TabOptionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const Indicator: ({ className }: {
|
|
12
|
+
className?: string;
|
|
13
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TabSwitchProps } from './types';
|
|
2
|
+
declare const TabSwitch: ({ showCounts, title, icon, suffixRecord, classValue, isSelected, selectedClassValue, textClassValue, selectedId, iconsOnly, draggingTab, disableAnimation, tabOptions, color, onClick, }: TabSwitchProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export default TabSwitch;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { TabsProps } from './types';
|
|
2
|
+
export declare const Tabs: <T extends string>({ variant, tabs, activeTab, onTabClick, suffixRecord, isLoading, size, className, draggable, showAllItems, copyLink, isDisabled, color, iconsOnly, tabIcons, height, fullWidth, fitContentWidth, disableAnimation, onDelete, onCopyLink, allowPin, isFullWidth, rightSection, initialTabs, tabConfig, onTabConfigChange, onTabsChange, portalContainer, }: TabsProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export type TabVariant = 'default' | 'secondary' | 'switch';
|
|
3
|
+
export type TabSize = 'sm' | 'md' | '';
|
|
4
|
+
export type Tab<T extends string> = {
|
|
5
|
+
name: T;
|
|
6
|
+
is_default: boolean;
|
|
7
|
+
is_hidden: boolean;
|
|
8
|
+
is_pinned?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export type TabOptionConfig = {
|
|
11
|
+
filterType: {
|
|
12
|
+
label: string;
|
|
13
|
+
value: 'contains' | 'does-not-contain';
|
|
14
|
+
};
|
|
15
|
+
sortOrder: 'default' | 'asc' | 'desc';
|
|
16
|
+
showCounts: boolean;
|
|
17
|
+
lockOrder: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type SuffixRecord<T extends string = string, V = string> = Record<T, V>;
|
|
20
|
+
export type TabsProps<T extends string> = {
|
|
21
|
+
/** List of tab identifiers */
|
|
22
|
+
tabs: readonly T[];
|
|
23
|
+
/** Currently active tab */
|
|
24
|
+
activeTab: T;
|
|
25
|
+
/** Callback when a tab is clicked */
|
|
26
|
+
onTabClick?(id: T): void;
|
|
27
|
+
/** Visual variant */
|
|
28
|
+
variant?: TabVariant;
|
|
29
|
+
/** Size of the tabs */
|
|
30
|
+
size?: TabSize;
|
|
31
|
+
/** Additional class name for the container */
|
|
32
|
+
className?: string;
|
|
33
|
+
/** Color scheme */
|
|
34
|
+
color?: 'light' | 'dark';
|
|
35
|
+
/** Height class for switch variant tabs */
|
|
36
|
+
height?: string;
|
|
37
|
+
/** Whether switch variant tabs should fill available width */
|
|
38
|
+
fullWidth?: boolean;
|
|
39
|
+
/** Whether to fit content width instead of full width */
|
|
40
|
+
fitContentWidth?: boolean;
|
|
41
|
+
/** Whether each tab should stretch equally */
|
|
42
|
+
isFullWidth?: boolean;
|
|
43
|
+
/** Disable framer-motion animations */
|
|
44
|
+
disableAnimation?: boolean;
|
|
45
|
+
/** Show loading skeleton */
|
|
46
|
+
isLoading?: boolean;
|
|
47
|
+
/** Disable all tab clicks */
|
|
48
|
+
isDisabled?: boolean;
|
|
49
|
+
/** Icons to display inside tabs, keyed by tab name */
|
|
50
|
+
tabIcons?: Record<string, ReactNode>;
|
|
51
|
+
/** Suffix values (counts/badges) displayed next to tab names */
|
|
52
|
+
suffixRecord?: SuffixRecord<T>;
|
|
53
|
+
/** Count values for tabs */
|
|
54
|
+
counts?: Record<T, number>;
|
|
55
|
+
/** Show only icons, hide text labels */
|
|
56
|
+
iconsOnly?: boolean;
|
|
57
|
+
/** Tooltip text for individual tabs */
|
|
58
|
+
tooltipTitle?: Record<string, string>;
|
|
59
|
+
/** Title attribute for the tab container */
|
|
60
|
+
title?: string;
|
|
61
|
+
/** Custom component rendered on the right side of the tab bar */
|
|
62
|
+
rightSection?: {
|
|
63
|
+
className?: string;
|
|
64
|
+
width: number;
|
|
65
|
+
component: ReactNode;
|
|
66
|
+
};
|
|
67
|
+
/** Enable drag-and-drop tab reordering */
|
|
68
|
+
draggable?: boolean;
|
|
69
|
+
/** Allow tabs to be pinned */
|
|
70
|
+
allowPin?: boolean;
|
|
71
|
+
/** Show all tabs without overflow truncation */
|
|
72
|
+
showAllItems?: boolean;
|
|
73
|
+
/** Show copy link option in tab context menu */
|
|
74
|
+
copyLink?: boolean;
|
|
75
|
+
/** Callback when a tab is deleted */
|
|
76
|
+
onDelete?(name: T): void;
|
|
77
|
+
/** Callback when copy link is triggered — receives tab name, should copy and return the URL */
|
|
78
|
+
onCopyLink?(name: T): Promise<string>;
|
|
79
|
+
/** Tabs with hidden state pre-configured (e.g. from API) */
|
|
80
|
+
initialHiddenTabs?: readonly T[];
|
|
81
|
+
/** Full tab state injected from external source (e.g. Redux/API) */
|
|
82
|
+
initialTabs?: Tab<T>[];
|
|
83
|
+
/** Tab option config injected from external source */
|
|
84
|
+
tabConfig?: TabOptionConfig;
|
|
85
|
+
/** Callback fired when tab option config changes (for external persistence) */
|
|
86
|
+
onTabConfigChange?(config: TabOptionConfig): void;
|
|
87
|
+
/** Callback fired when tabs array changes (reorder, hide, pin — for external persistence) */
|
|
88
|
+
onTabsChange?(tabs: Tab<T>[]): void;
|
|
89
|
+
/** Container element for the drag overlay portal */
|
|
90
|
+
portalContainer?: HTMLElement | null;
|
|
91
|
+
};
|
|
92
|
+
export type ChildrenProps = {
|
|
93
|
+
isSelected?: boolean;
|
|
94
|
+
selectedId?: string;
|
|
95
|
+
selectedClassValue?: string;
|
|
96
|
+
textClassValue?: string;
|
|
97
|
+
children: ReactNode;
|
|
98
|
+
disableAnimation?: boolean;
|
|
99
|
+
};
|
|
100
|
+
export type TabSwitchProps = {
|
|
101
|
+
title: string;
|
|
102
|
+
icon?: ReactNode;
|
|
103
|
+
suffixRecord?: SuffixRecord;
|
|
104
|
+
classValue?: string;
|
|
105
|
+
isSelected?: boolean;
|
|
106
|
+
selectedClassValue?: string;
|
|
107
|
+
textClassValue?: string;
|
|
108
|
+
selectedId?: string;
|
|
109
|
+
iconsOnly?: boolean;
|
|
110
|
+
draggingTab?: boolean;
|
|
111
|
+
disableAnimation?: boolean;
|
|
112
|
+
tabOptions?: ReactNode;
|
|
113
|
+
color?: 'light' | 'dark';
|
|
114
|
+
showCounts?: boolean;
|
|
115
|
+
onClick?(): void;
|
|
116
|
+
};
|
|
117
|
+
export declare const INITIAL_TAB_OPTION_CONFIG: TabOptionConfig;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './styles.css';
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
export type TooltipPlacement = 'auto' | 'auto-start' | 'auto-end' | 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end';
|
|
3
4
|
export interface TooltipProps {
|
|
@@ -10,10 +11,6 @@ export interface TooltipProps {
|
|
|
10
11
|
whiteSpace?: 'normal' | 'nowrap' | 'pre' | 'pre-wrap' | 'pre-line' | 'initial' | 'inherit';
|
|
11
12
|
/** Array of keyboard shortcut keys to display (e.g., ['Cmd', 'S'] or ['Ctrl', 'Enter']) */
|
|
12
13
|
shortcuts?: string[];
|
|
13
|
-
/** Controlled visibility state */
|
|
14
|
-
open?: boolean;
|
|
15
|
-
/** Callback fired when visibility changes */
|
|
16
|
-
onOpenChange?: (open: boolean) => void;
|
|
17
14
|
}
|
|
18
|
-
declare const Tooltip: ({ children, title, hideTooltip, delayShow, whiteSpace, placement, className, shortcuts,
|
|
15
|
+
declare const Tooltip: ({ children, title, hideTooltip, delayShow, whiteSpace, placement, className, shortcuts, }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
16
|
export default Tooltip;
|
package/dist/design-system.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.Toastify__toast-container{z-index:100000}.Toastify__toast{min-height:64px;border-radius:4px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.Toastify__toast--success,.Toastify__toast--error,.Toastify__toast--warning,.Toastify__toast--info{background:transparent}.Toastify__toast-body{padding:0;margin:0;color:inherit;font-size:14px;font-weight:500;line-height:1.5}.Toastify__close-button{color:inherit;opacity:.7;align-self:flex-start;background:transparent;border:none;padding:4px;margin:0;transition:opacity .2s ease}.Toastify__close-button:hover{opacity:1}.Toastify__progress-bar{background:linear-gradient(to right,#4caf50,#8bc34a,#cddc39,#ffeb3b,#ffc107,#ff9800,#ff5722)}.Toastify__progress-bar--success{background:#12b76a}.Toastify__progress-bar--error{background:#f04438}.Toastify__progress-bar--warning{background:#f79009}.Toastify__progress-bar--info{background:#016dcf}@media (prefers-color-scheme: dark){.Toastify__toast-container{background:transparent}.Toastify__toast{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}}@media screen and (max-width: 640px){.Toastify__toast-container{left:1rem;right:1rem;bottom:1rem;width:auto}.Toastify__toast{margin-bottom:.5rem}}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--bottom-center{animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--bottom-center{animation-duration:.2s;animation-timing-function:cubic-bezier(.4,0,1,1)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}
|
|
1
|
+
.tooltip-container{--tooltipBackground: #101828;--tooltipBorder: #252525;--tooltipColor: #fff;background-color:var(--tooltipBackground);border-radius:8px;border:1px solid var(--tooltipBorder);box-shadow:0 2px 4px #0000002e;color:var(--tooltipColor);display:flex;flex-direction:column;padding:4px 8px;transition:opacity .3s;z-index:9999;overflow-wrap:break-word;word-wrap:break-word;max-width:40ch;font-size:12px;font-weight:500}.tooltip-content{display:flex;align-items:center;gap:8px}.tooltip-title{flex:1}.tooltip-shortcuts{display:flex;align-items:center;gap:2px;flex-shrink:0}.tooltip-shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;font-family:inherit;font-size:11px;font-weight:500;color:#fffc;line-height:1}.tooltip-container[data-popper-interactive=false]{pointer-events:none}.tooltip-arrow{height:1rem;position:absolute;width:1rem;pointer-events:none}.tooltip-arrow:before{border-style:solid;content:"";display:block;height:0;margin:auto;width:0}.tooltip-arrow:after{border-style:solid;content:"";display:block;height:0;margin:auto;position:absolute;width:0}.tooltip-container[data-popper-placement*=bottom] .tooltip-arrow{left:0;margin-top:-.4rem;top:0}.tooltip-container[data-popper-placement*=bottom] .tooltip-arrow:before{border-color:transparent transparent var(--tooltipBorder) transparent;border-width:0 .5rem .4rem .5rem;position:absolute;top:-2px}.tooltip-container[data-popper-placement*=bottom] .tooltip-arrow:after{border-color:transparent transparent var(--tooltipBackground) transparent;border-width:0 .5rem .4rem .5rem}.tooltip-container[data-popper-placement*=top] .tooltip-arrow{bottom:0;left:0;margin-bottom:-1rem}.tooltip-container[data-popper-placement*=top] .tooltip-arrow:before{border-color:var(--tooltipBorder) transparent transparent transparent;border-width:.4rem .5rem 0 .5rem;position:absolute;top:1px}.tooltip-container[data-popper-placement*=top] .tooltip-arrow:after{border-color:var(--tooltipBackground) transparent transparent transparent;border-width:.4rem .5rem 0 .5rem}.tooltip-container[data-popper-placement*=right] .tooltip-arrow{left:0;margin-left:-.7rem}.tooltip-container[data-popper-placement*=right] .tooltip-arrow:before{border-color:transparent var(--tooltipBorder) transparent transparent}.tooltip-container[data-popper-placement*=right] .tooltip-arrow:after{border-color:transparent var(--tooltipBackground) transparent transparent;border-width:.5rem .4rem .5rem 0;left:6px;top:0}.tooltip-container[data-popper-placement*=left] .tooltip-arrow{margin-right:-.7rem;right:0}.tooltip-container[data-popper-placement*=left] .tooltip-arrow:before{border-color:transparent transparent transparent var(--tooltipBorder);border-width:.5rem 0 .5rem .4em}.tooltip-container[data-popper-placement*=left] .tooltip-arrow:after{border-color:transparent transparent transparent var(--tooltipBackground);border-width:.5rem 0 .5rem .4em;left:3px;top:0}.Toastify__toast-container{z-index:100000}.Toastify__toast{min-height:64px;border-radius:4px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.Toastify__toast--success,.Toastify__toast--error,.Toastify__toast--warning,.Toastify__toast--info{background:transparent}.Toastify__toast-body{padding:0;margin:0;color:inherit;font-size:14px;font-weight:500;line-height:1.5}.Toastify__close-button{color:inherit;opacity:.7;align-self:flex-start;background:transparent;border:none;padding:4px;margin:0;transition:opacity .2s ease}.Toastify__close-button:hover{opacity:1}.Toastify__progress-bar{background:linear-gradient(to right,#4caf50,#8bc34a,#cddc39,#ffeb3b,#ffc107,#ff9800,#ff5722)}.Toastify__progress-bar--success{background:#12b76a}.Toastify__progress-bar--error{background:#f04438}.Toastify__progress-bar--warning{background:#f79009}.Toastify__progress-bar--info{background:#016dcf}@media (prefers-color-scheme: dark){.Toastify__toast-container{background:transparent}.Toastify__toast{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}}@media screen and (max-width: 640px){.Toastify__toast-container{left:1rem;right:1rem;bottom:1rem;width:auto}.Toastify__toast{margin-bottom:.5rem}}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--bottom-center{animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--bottom-center{animation-duration:.2s;animation-timing-function:cubic-bezier(.4,0,1,1)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface MeasureTextOptions {
|
|
2
|
+
fontSize?: string;
|
|
3
|
+
fontWeight?: string;
|
|
4
|
+
fontFamily?: string;
|
|
5
|
+
letterSpacing?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const useTextWidth: () => {
|
|
8
|
+
measureText: (text: string, options?: MeasureTextOptions) => number;
|
|
9
|
+
clearCache: () => void;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -226,3 +226,8 @@ export { ShortcutKbd } from "./components/shortcut-kbd";
|
|
|
226
226
|
export type { ShortcutKbdProps, ShortcutKbdVariant } from "./components/shortcut-kbd";
|
|
227
227
|
export { ImageSlider } from "./components/sliders/ImageSlider";
|
|
228
228
|
export type { IImageSliderProps } from "./components/sliders/ImageSlider";
|
|
229
|
+
export { Tabs } from "./components/navigation/tabs";
|
|
230
|
+
export type { TabsProps, TabVariant, TabSize, Tab, TabOptionConfig, SuffixRecord, } from "./components/navigation/tabs";
|
|
231
|
+
export { INITIAL_TAB_OPTION_CONFIG } from "./components/navigation/tabs";
|
|
232
|
+
export { useTabState } from "./hooks/useTabState";
|
|
233
|
+
export { useTextWidth } from "./hooks/useTextWidth";
|