@blueskyproject/tiled 0.0.9 → 0.0.11
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/InputSliderRange.d.ts +35 -0
- package/dist/components/InputSliderRange.d.ts.map +1 -0
- package/dist/components/SelectInteger.d.ts +12 -0
- package/dist/components/SelectInteger.d.ts.map +1 -0
- package/dist/components/Tiled/PreviewAwkward.d.ts +5 -0
- package/dist/components/Tiled/PreviewAwkward.d.ts.map +1 -1
- package/dist/components/Tiled/PreviewNDArray.d.ts.map +1 -1
- package/dist/components/Tiled/PreviewSparse.d.ts +6 -0
- package/dist/components/Tiled/PreviewSparse.d.ts.map +1 -0
- package/dist/components/Tiled/PreviewTable.d.ts.map +1 -1
- package/dist/components/Tiled/TiledPreview.d.ts +2 -2
- package/dist/components/Tiled/TiledPreview.d.ts.map +1 -1
- package/dist/components/Tiled/TiledPreviewMetadata.d.ts +2 -2
- package/dist/components/Tiled/TiledPreviewMetadata.d.ts.map +1 -1
- package/dist/components/Tiled/apiClient.d.ts +68 -0
- package/dist/components/Tiled/apiClient.d.ts.map +1 -1
- package/dist/components/Tiled/types.d.ts +2 -0
- package/dist/components/Tiled/types.d.ts.map +1 -1
- package/dist/components/Tiled/useTiled.d.ts +2 -2
- package/dist/components/Tiled/useTiled.d.ts.map +1 -1
- package/dist/components/Tiled/utils.d.ts +102 -1
- package/dist/components/Tiled/utils.d.ts.map +1 -1
- package/dist/components/VisxLinePlot/PlotSettings.d.ts +9 -2
- package/dist/components/VisxLinePlot/PlotSettings.d.ts.map +1 -1
- package/dist/components/VisxLinePlot/VisxLinePlot.d.ts +2 -1
- package/dist/components/VisxLinePlot/VisxLinePlot.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/tiled.css +1 -1
- package/dist/tiled.es.js +28988 -28704
- package/dist/tiled.umd.js +36 -29
- package/package.json +1 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
type InputSliderRangeProps = {
|
|
2
|
+
/** Slider label */
|
|
3
|
+
label?: string;
|
|
4
|
+
/** Lowest possible value */
|
|
5
|
+
min: number;
|
|
6
|
+
/** Greatest possible value */
|
|
7
|
+
max: number;
|
|
8
|
+
/** Current value of slider */
|
|
9
|
+
value: [number, number];
|
|
10
|
+
/** Unit type */
|
|
11
|
+
units?: string;
|
|
12
|
+
/** An extra unit label underneath the min/max tickmark value */
|
|
13
|
+
shorthandUnits?: string;
|
|
14
|
+
/**Should we show the input box on the right of the slider? */
|
|
15
|
+
showSideInput?: boolean;
|
|
16
|
+
/** An array representing where vertical tick marks should be */
|
|
17
|
+
marks?: number[];
|
|
18
|
+
/** The spacing between snap points for the slider thumb, defaults to 1 */
|
|
19
|
+
step?: number;
|
|
20
|
+
/**Tailwind ClassName */
|
|
21
|
+
width?: `w-${string}`;
|
|
22
|
+
/** How big should the text and tick marks be? */
|
|
23
|
+
size?: 'small' | 'medium' | 'large';
|
|
24
|
+
/** Is it allowed to have the min value equal the max value? */
|
|
25
|
+
allowValueOverlap?: boolean;
|
|
26
|
+
/** A function that is called with the newest value */
|
|
27
|
+
onChange?: (value: [number, number]) => void;
|
|
28
|
+
/** Should the slider be disabled? */
|
|
29
|
+
isDisabled?: boolean;
|
|
30
|
+
/** Tailwind ClassNames applied to parent container */
|
|
31
|
+
className?: string;
|
|
32
|
+
};
|
|
33
|
+
export default function InputSliderRange({ label, min, max, value, units, shorthandUnits, marks, step, size, allowValueOverlap, width, showSideInput, onChange, isDisabled, className, ...props }: InputSliderRangeProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=InputSliderRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputSliderRange.d.ts","sourceRoot":"","sources":["../../src/components/InputSliderRange.tsx"],"names":[],"mappings":"AAGA,KAAK,qBAAqB,GAAG;IAC3B,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IACrB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnC,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC5C,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,GAAG,EACH,GAAG,EACH,KAAK,EACL,KAAK,EACL,cAAc,EACd,KAAK,EACL,IAAM,EACN,IAAa,EACb,iBAAuB,EACvB,KAAc,EACd,aAAkB,EAClB,QAAQ,EACR,UAAgB,EAChB,SAAc,EACd,GAAG,KAAK,EACT,EAAE,qBAAqB,2CAuOvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type SelectIntegerProps = {
|
|
2
|
+
value: number;
|
|
3
|
+
min?: number;
|
|
4
|
+
max: number;
|
|
5
|
+
onChange: (value: number) => void;
|
|
6
|
+
label?: string;
|
|
7
|
+
showTotal?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
};
|
|
10
|
+
export default function SelectInteger({ value, min, max, onChange, label, showTotal, className }: SelectIntegerProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=SelectInteger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectInteger.d.ts","sourceRoot":"","sources":["../../src/components/SelectInteger.tsx"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAClC,KAAK,EACL,GAAO,EACP,GAAG,EACH,QAAQ,EACR,KAAK,EACL,SAAgB,EAChB,SAAc,EACjB,EAAE,kBAAkB,2CA+DpB"}
|
|
@@ -1 +1,6 @@
|
|
|
1
|
+
import { TiledSearchItem, AwkwardStructure } from './types';
|
|
2
|
+
export default function PreviewAwkward({ awkwardItem, url }: {
|
|
3
|
+
awkwardItem: TiledSearchItem<AwkwardStructure>;
|
|
4
|
+
url?: string;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
1
6
|
//# sourceMappingURL=PreviewAwkward.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewAwkward.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/PreviewAwkward.tsx"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"PreviewAwkward.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/PreviewAwkward.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE;IAAE,WAAW,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,2CAU5H"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewNDArray.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/PreviewNDArray.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAU,MAAM,SAAS,CAAC;AAOlE,KAAK,mBAAmB,GAAG;IACvB,SAAS,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACnC,SAAS,EACT,GAAG,EACH,WAAW,GACd,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"PreviewNDArray.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/PreviewNDArray.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAU,MAAM,SAAS,CAAC;AAOlE,KAAK,mBAAmB,GAAG;IACvB,SAAS,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACnC,SAAS,EACT,GAAG,EACH,WAAW,GACd,EAAE,mBAAmB,2CAyDrB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TiledSearchItem, SparseStructure } from './types';
|
|
2
|
+
export default function PreviewSparse({ sparseItem, url }: {
|
|
3
|
+
sparseItem: TiledSearchItem<SparseStructure>;
|
|
4
|
+
url?: string;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=PreviewSparse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreviewSparse.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/PreviewSparse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE3D,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE;IAAE,UAAU,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,2CAUxH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewTable.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/PreviewTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAiB,MAAM,SAAS,CAAC;AAOzE,KAAK,iBAAiB,GAAG;IACrB,SAAS,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"PreviewTable.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/PreviewTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAiB,MAAM,SAAS,CAAC;AAOzE,KAAK,iBAAiB,GAAG;IACrB,SAAS,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,iBAAiB,2CAqJzE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { PreviewSize, TiledSearchItem, ArrayStructure, TableStructure } from './types';
|
|
1
|
+
import { PreviewSize, TiledSearchItem, ArrayStructure, TableStructure, AwkwardStructure, SparseStructure } from './types';
|
|
2
2
|
type TiledPreviewProps = {
|
|
3
|
-
previewItem: TiledSearchItem<ArrayStructure> | TiledSearchItem<TableStructure>;
|
|
3
|
+
previewItem: TiledSearchItem<ArrayStructure> | TiledSearchItem<TableStructure> | TiledSearchItem<AwkwardStructure> | TiledSearchItem<SparseStructure>;
|
|
4
4
|
previewSize: PreviewSize;
|
|
5
5
|
handleSelectClick?: Function;
|
|
6
6
|
url?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TiledPreview.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/TiledPreview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TiledPreview.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/TiledPreview.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAA6E,MAAM,SAAS,CAAC;AAKrM,KAAK,iBAAiB,GAAG;IACrB,WAAW,EAAE,eAAe,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,gBAAgB,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IACtJ,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,CAAC,EAAC,QAAQ,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAEvD,CAAA;AACD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACjC,WAAW,EACX,iBAAiB,EACjB,WAAoB,EACpB,GAAG,EACH,kBAAkB,EAClB,GAAG,KAAK,EACX,EAAE,iBAAiB,2CAmCnB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TiledSearchItem, TiledStructures } from './types';
|
|
2
2
|
type TiledPreviewMetadataProps = {
|
|
3
|
-
item: TiledSearchItem<
|
|
3
|
+
item: TiledSearchItem<TiledStructures>;
|
|
4
4
|
};
|
|
5
5
|
export default function TiledPreviewMetadata({ item, ...props }: TiledPreviewMetadataProps): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TiledPreviewMetadata.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/TiledPreviewMetadata.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TiledPreviewMetadata.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/TiledPreviewMetadata.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG3F,KAAK,yBAAyB,GAAG;IAC7B,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC1C,CAAA;AACD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EACzC,IAAI,EACJ,GAAG,KAAK,EACX,EAAE,yBAAyB,2CAuC3B"}
|
|
@@ -1,10 +1,78 @@
|
|
|
1
1
|
import { TiledSearchResult } from './types';
|
|
2
2
|
declare const getDefaultTiledUrl: () => string;
|
|
3
|
+
/**
|
|
4
|
+
* Sets the Bearer token for authentication in axios requests
|
|
5
|
+
* @param token - The Bearer token string
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* setBearerToken('your-bearer-token-here');
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
3
11
|
declare const setBearerToken: (token: string) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Searches for data in a Tiled server instance
|
|
14
|
+
* @param searchPath - Optional path to search within (e.g., 'folder/subfolder')
|
|
15
|
+
* @param url - Optional custom Tiled server URL (defaults to environment variable or localhost:8000)
|
|
16
|
+
* @param cb - Optional callback function that receives the search results
|
|
17
|
+
* @param mock - If true, returns sample mock data instead of making API call
|
|
18
|
+
* @param parameters - Optional additional query parameters to include in the request
|
|
19
|
+
* @returns Promise that resolves to TiledSearchResult or null if error occurs
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const results = await getSearchResults('my-data-folder');
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
4
25
|
declare const getSearchResults: (searchPath?: string, url?: string, cb?: (res: TiledSearchResult) => void, mock?: boolean, parameters?: any) => Promise<TiledSearchResult | null>;
|
|
26
|
+
/**
|
|
27
|
+
* Performs the first search with an API key, which sets up authentication for subsequent requests
|
|
28
|
+
* @param apiKey - The API key for authentication with the Tiled server
|
|
29
|
+
* @param searchPath - Optional path to search within
|
|
30
|
+
* @param url - Optional custom Tiled server URL
|
|
31
|
+
* @param cb - Optional callback function that receives the search results
|
|
32
|
+
* @param mock - If true, returns sample mock data instead of making API call
|
|
33
|
+
* @returns Promise that resolves to TiledSearchResult or null if error occurs
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const results = await getFirstSearchWithApiKey('your-api-key', 'data-folder');
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
5
39
|
declare const getFirstSearchWithApiKey: (apiKey: string, searchPath?: string, url?: string, cb?: (res: TiledSearchResult) => void, mock?: boolean) => Promise<TiledSearchResult | null>;
|
|
40
|
+
/**
|
|
41
|
+
* Retrieves table data from a Tiled server for a specific partition
|
|
42
|
+
* @param searchPath - The path to the table data
|
|
43
|
+
* @param partition - The partition number to retrieve (0-based index)
|
|
44
|
+
* @param url - Optional custom Tiled server URL
|
|
45
|
+
* @param cb - Optional callback function that receives the parsed data
|
|
46
|
+
* @returns Promise that resolves to an array of parsed table rows or null if error occurs
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const tableData = await getTableData('my-table', 0);
|
|
50
|
+
* // Returns: [{ A: 0.5699, B: 1.1398, C: 1.7098 }, ...]
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
6
53
|
declare const getTableData: (searchPath: string, partition: number, url?: string, cb?: (parsedData: any) => void) => Promise<any>;
|
|
54
|
+
/**
|
|
55
|
+
* Generates a URL path for retrieving a full PNG image from a Tiled array
|
|
56
|
+
* @param searchPath - The path to the array data
|
|
57
|
+
* @param stepY - Step size for Y-axis sampling (default: 1)
|
|
58
|
+
* @param stepX - Step size for X-axis sampling (default: 1)
|
|
59
|
+
* @param stack - Optional array of stack indices for multi-dimensional arrays
|
|
60
|
+
* @param url - Optional custom Tiled server URL
|
|
61
|
+
* @returns Complete URL string for the PNG image
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const imageUrl = generateFullImagePngPath('my-image', 1, 1, [0, 5]);
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
7
67
|
declare const generateFullImagePngPath: (searchPath?: string, stepY?: number, stepX?: number, stack?: number[], url?: string) => string;
|
|
68
|
+
/**
|
|
69
|
+
* Configures whether search results should be returned in reverse order
|
|
70
|
+
* @param reverse - If true, results will be sorted in descending order
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* setReverseSort(true); // Enable reverse sorting
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
8
76
|
declare const setReverseSort: (reverse: boolean | undefined) => void;
|
|
9
77
|
export { getSearchResults, getDefaultTiledUrl, getTableData, getFirstSearchWithApiKey, setBearerToken, generateFullImagePngPath, setReverseSort };
|
|
10
78
|
//# sourceMappingURL=apiClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/apiClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/apiClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQ5C,QAAA,MAAM,kBAAkB,cAavB,CAAC;AAGF;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,UAAU,MAAM,SAMnC,CAAC;AAMF;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,gBAAgB,gBAAsB,MAAM,QAAO,MAAM,OAAM,CAAC,GAAG,EAAC,iBAAiB,KAAG,IAAI,SAAQ,OAAO,eAAc,GAAG,KAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAkCnK,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,wBAAwB,WAAiB,MAAM,eAAc,MAAM,QAAO,MAAM,OAAM,CAAC,GAAG,EAAC,iBAAiB,KAAG,IAAI,SAAS,OAAO,KAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAuC1K,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,YAAY,eAAoB,MAAM,aAAY,MAAM,QAAO,MAAM,OAAM,CAAC,UAAU,EAAC,GAAG,KAAG,IAAI,iBAkBtG,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,wBAAwB,gBAAgB,MAAM,UAAS,MAAM,UAAS,MAAM,UAAS,MAAM,EAAE,QAAO,MAAM,WAK/G,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,YAAY,OAAO,GAAG,SAAS,SAElD,CAAC;AAIF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,wBAAwB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAC,CAAA"}
|
|
@@ -115,4 +115,6 @@ export type TiledTableData = TiledTableRow[];
|
|
|
115
115
|
export declare const isArrayStructure: (item: TiledSearchItem<any>) => item is TiledSearchItem<ArrayStructure>;
|
|
116
116
|
export declare const isTableStructure: (item: TiledSearchItem<any>) => item is TiledSearchItem<TableStructure>;
|
|
117
117
|
export declare const isContainerStructure: (item: TiledSearchItem<any>) => item is TiledSearchItem<ContainerStructure>;
|
|
118
|
+
export declare const isAwkwardStructure: (item: TiledSearchItem<any>) => item is TiledSearchItem<AwkwardStructure>;
|
|
119
|
+
export declare const isSparseStructure: (item: TiledSearchItem<any>) => item is TiledSearchItem<SparseStructure>;
|
|
118
120
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACtB,CAAA;AACD,MAAM,MAAM,MAAM,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,MAAM,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;AAG/B,eAAO,MAAM,WAAW,EAAE,KAGzB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,IAAI,EAAE;QACF,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,MAAM,WAAW,cAAc;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,eAAe,CAAC,aAAa;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE;QACR,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,gBAAgB,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;QACvF,KAAK,EAAE,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;IACF,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TiledSearchResult, TiledSearchItem, Breadcrumb, ArrayStructure, TableStructure, TiledStructures, PreviewSize } from './types';
|
|
1
|
+
import { TiledSearchResult, TiledSearchItem, Breadcrumb, ArrayStructure, AwkwardStructure, TableStructure, TiledStructures, PreviewSize, SparseStructure } from './types';
|
|
2
2
|
export type useTiledProps = {
|
|
3
3
|
url?: string;
|
|
4
4
|
apiKey?: string;
|
|
@@ -14,7 +14,7 @@ export declare const useTiled: ({ url, apiKey, searchPath, bearerToken, initialS
|
|
|
14
14
|
imageUrl: string | undefined;
|
|
15
15
|
popoutUrl: string | undefined;
|
|
16
16
|
previewSize: PreviewSize;
|
|
17
|
-
previewItem: TiledSearchItem<ArrayStructure> | TiledSearchItem<TableStructure> | null;
|
|
17
|
+
previewItem: TiledSearchItem<ArrayStructure> | TiledSearchItem<TableStructure> | TiledSearchItem<AwkwardStructure> | TiledSearchItem<SparseStructure> | null;
|
|
18
18
|
handleColumnItemClick: (item: TiledSearchItem<TiledStructures>) => void;
|
|
19
19
|
handleLeftArrowClick: Function;
|
|
20
20
|
handleRightArrowClick: Function;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTiled.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/useTiled.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,cAAc,
|
|
1
|
+
{"version":3,"file":"useTiled.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/useTiled.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,cAAc,EACd,gBAAgB,EAEhB,cAAc,EACd,eAAe,EACf,WAAW,EAMX,eAAe,EACjB,MAAM,SAAS,CAAC;AAGlB,MAAM,MAAM,aAAa,GAAG;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAA;AACD,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,eAAO,MAAM,QAAQ,6EAA2E,aAAa;;;;;;;kCAiGzD,eAAe,CAAC,eAAe,CAAC;;;;;+BAyG/C,GAAG,eAAc,MAAM,kBAAiB,MAAM;CA8ElF,CAAA"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
import { TiledSearchItem, TiledStructures, Slider } from './types';
|
|
1
|
+
import { TiledSearchItem, TiledStructures, ArrayStructure, Slider } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Generates links for a TiledSearchItem, including a default link
|
|
4
|
+
* @param item - The TiledSearchItem to generate links for
|
|
5
|
+
* @param url - Optional base URL to prepend to the generated links
|
|
6
|
+
* @returns An object containing the generated links with an additional 'default' property
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const links = generateLinksForCallback(item, 'http://localhost:8000/api/v1');
|
|
10
|
+
* // Returns: { ...item.links, default: 'http://localhost:8000/api/v1/path/to/item' }
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
2
13
|
export declare const generateLinksForCallback: (item: TiledSearchItem<TiledStructures>, url?: string) => {
|
|
3
14
|
self: string;
|
|
4
15
|
full?: string;
|
|
@@ -8,12 +19,102 @@ export declare const generateLinksForCallback: (item: TiledSearchItem<TiledStruc
|
|
|
8
19
|
search?: string;
|
|
9
20
|
default?: string;
|
|
10
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Returns the appropriate icon for a given Tiled structure family
|
|
24
|
+
* @param structureFamily - The structure family type (e.g., 'array', 'table', 'container')
|
|
25
|
+
* @returns The corresponding icon component
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const icon = getTiledStructureIcon('array');
|
|
29
|
+
* // Returns: tiledStructureIcons.brackestSqaure
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
11
32
|
export declare const getTiledStructureIcon: (structureFamily: string) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* Generates the search path for a TiledSearchItem by combining ancestors and item ID
|
|
35
|
+
* @param item - The TiledSearchItem to generate the path for
|
|
36
|
+
* @param extra - Optional additional string to append to the path
|
|
37
|
+
* @returns The complete search path as a string
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const path = generateSearchPath(item, '/metadata');
|
|
41
|
+
* // Returns: 'parent/child/item/metadata' or 'item/metadata' if no ancestors
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
12
44
|
export declare const generateSearchPath: (item: TiledSearchItem<TiledStructures>, extra?: string) => string;
|
|
45
|
+
/**
|
|
46
|
+
* Mapping of NumPy data type characters to their byte sizes
|
|
47
|
+
* Used for calculating memory usage and data type information
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const floatSize = numpyTypeSizesBytes.f; // Returns: 4 (bytes for float32)
|
|
51
|
+
* const doubleSize = numpyTypeSizesBytes.d; // Returns: 8 (bytes for float64)
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
13
54
|
export declare const numpyTypeSizesBytes: Record<string, number>;
|
|
55
|
+
/**
|
|
56
|
+
* Opens a URL in a new browser tab with security features enabled
|
|
57
|
+
* @param popoutUrl - The URL to open in the new tab
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* onPopoutClick('https://example.com');
|
|
61
|
+
* // Opens https://example.com in a new tab
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
14
64
|
export declare const onPopoutClick: (popoutUrl: string) => void;
|
|
65
|
+
/**
|
|
66
|
+
* Creates an array of slider configurations based on array dimensions
|
|
67
|
+
* Each slider represents a dimension of a multi-dimensional array, with the last two dimensions typically representing image size
|
|
68
|
+
* @param sliderCount - The number of sliders to create
|
|
69
|
+
* @param shape - Array of dimension sizes for each axis
|
|
70
|
+
* @returns Array of Slider objects with min, max, index, and value properties
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const sliders = createSliders(3, [10, 20, 30, 100, 100]);
|
|
74
|
+
* // Returns: [
|
|
75
|
+
* // { min: 0, max: 9, index: 0, value: 5 },
|
|
76
|
+
* // { min: 0, max: 19, index: 1, value: 10 },
|
|
77
|
+
* // { min: 0, max: 29, index: 2, value: 15 }
|
|
78
|
+
* // ]
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
15
81
|
export declare const createSliders: (sliderCount: number, shape: number[]) => Slider[];
|
|
82
|
+
/**
|
|
83
|
+
* Retrieves the last search history from local storage
|
|
84
|
+
* @returns The last search path as a string, or undefined if not found
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const lastSearch = getLastSearchFromLocalStorage();
|
|
88
|
+
* // Returns: 'parent/child/item' or undefined
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
16
91
|
export declare const getLastSearchFromLocalStorage: () => string | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Writes a search path to local storage based on a TiledSearchItem or clears it with an empty string
|
|
94
|
+
* @param item - The TiledSearchItem to generate a path from, or an empty string to clear storage
|
|
95
|
+
* @returns The generated search path if item is provided, undefined otherwise
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const path = writeSearchPathToLocalStorage(item);
|
|
99
|
+
* // Returns: 'parent/child/item' and saves to localStorage
|
|
100
|
+
*
|
|
101
|
+
* writeSearchPathToLocalStorage('');
|
|
102
|
+
* // Clears the search history in localStorage
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
17
105
|
export declare const writeSearchPathToLocalStorage: (item: TiledSearchItem<TiledStructures> | "") => string | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* Retrieves the API key from local storage
|
|
108
|
+
* @returns The API key as a string if found and not empty, undefined otherwise
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const apiKey = getApiKeyFromLocalStorage();
|
|
112
|
+
* // Returns: 'your-api-key' or undefined if not found/empty
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
18
115
|
export declare const getApiKeyFromLocalStorage: () => string | undefined;
|
|
116
|
+
export declare const generateStepsForImagePath: (arrayItem: TiledSearchItem<ArrayStructure>, maxBytesAllowed?: number) => {
|
|
117
|
+
stepX: number;
|
|
118
|
+
stepY: number;
|
|
119
|
+
};
|
|
19
120
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Tiled/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAG,MAAM,SAAS,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,SAAU,eAAe,CAAC,eAAe,CAAC,QAAO,MAAM;;;;;;;;CAQ3F,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,oBAAoB,MAAM,4CAa3D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,SAAU,eAAe,CAAC,eAAe,CAAC,UAAS,MAAM,KAAE,MAQzF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkCpD,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,cAAa,MAAM,SAG5C,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,gBAAgB,MAAM,SAAQ,MAAM,EAAE,aAa/D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,0BAMzC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6BAA6B,SAAS,eAAe,CAAC,eAAe,CAAC,GAAG,EAAE,uBAQvF,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,0BAUrC,CAAA;AAED,eAAO,MAAM,yBAAyB,cAAc,eAAe,CAAC,cAAc,CAAC,oBAAmB,MAAM;;;CAqB3G,CAAA"}
|
|
@@ -11,6 +11,11 @@ type SimpleScaleConfig = {
|
|
|
11
11
|
type: 'band' | 'linear';
|
|
12
12
|
paddingInner?: number;
|
|
13
13
|
};
|
|
14
|
+
type CustomDomaineScaleConfig = {
|
|
15
|
+
type: 'band' | 'linear';
|
|
16
|
+
domain: [number, number];
|
|
17
|
+
paddingInner?: number;
|
|
18
|
+
};
|
|
14
19
|
type ProvidedProps = {
|
|
15
20
|
accessors: {
|
|
16
21
|
x: Record<string, Accessor>;
|
|
@@ -26,7 +31,7 @@ type ProvidedProps = {
|
|
|
26
31
|
annotationType?: 'line' | 'circle';
|
|
27
32
|
colorAccessorFactory: (key: string) => (d: DataPoint) => string | null;
|
|
28
33
|
config: {
|
|
29
|
-
x: SimpleScaleConfig;
|
|
34
|
+
x: SimpleScaleConfig | CustomDomaineScaleConfig;
|
|
30
35
|
y: SimpleScaleConfig;
|
|
31
36
|
};
|
|
32
37
|
curve: typeof curveLinear | typeof curveCardinal | typeof curveStep;
|
|
@@ -62,6 +67,7 @@ type ProvidedProps = {
|
|
|
62
67
|
theme: XYChartTheme;
|
|
63
68
|
xAxisOrientation: 'top' | 'bottom';
|
|
64
69
|
yAxisOrientation: 'left' | 'right';
|
|
70
|
+
xAxisLabel: string;
|
|
65
71
|
dataKeys: string[];
|
|
66
72
|
} & ReturnType<typeof getAnimatedOrUnanimatedComponents>;
|
|
67
73
|
type PlotSettingsProps = {
|
|
@@ -69,7 +75,8 @@ type PlotSettingsProps = {
|
|
|
69
75
|
data: DataPoint[];
|
|
70
76
|
dataKeys: string[];
|
|
71
77
|
setSelectedDataKeys: React.Dispatch<React.SetStateAction<string[]>>;
|
|
78
|
+
domain?: [number, number];
|
|
72
79
|
};
|
|
73
|
-
export default function PlotSettings({ children, data, dataKeys, setSelectedDataKeys }: PlotSettingsProps): import("react/jsx-runtime").JSX.Element;
|
|
80
|
+
export default function PlotSettings({ children, data, dataKeys, setSelectedDataKeys, domain }: PlotSettingsProps): import("react/jsx-runtime").JSX.Element;
|
|
74
81
|
export {};
|
|
75
82
|
//# sourceMappingURL=PlotSettings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlotSettings.d.ts","sourceRoot":"","sources":["../../../src/components/VisxLinePlot/PlotSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAyB,YAAY,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;AAKpF,OAAO,gBAAgB,CAAC;AAMxB,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACxC,KAAK,QAAQ,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;AAElE,KAAK,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"PlotSettings.d.ts","sourceRoot":"","sources":["../../../src/components/VisxLinePlot/PlotSettings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ export type XYChartProps = {
|
|
|
2
2
|
width?: number;
|
|
3
3
|
height?: number;
|
|
4
4
|
plotData: Record<string, number>[];
|
|
5
|
+
domain?: [number, number];
|
|
5
6
|
};
|
|
6
|
-
export default function VisxLinePlot({ width, height, plotData }: XYChartProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default function VisxLinePlot({ width, height, plotData, domain }: XYChartProps): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
//# sourceMappingURL=VisxLinePlot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisxLinePlot.d.ts","sourceRoot":"","sources":["../../../src/components/VisxLinePlot/VisxLinePlot.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"VisxLinePlot.d.ts","sourceRoot":"","sources":["../../../src/components/VisxLinePlot/VisxLinePlot.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,2CAiRrF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { default as Tiled } from './components/Tiled/Tiled';
|
|
2
2
|
export type { TiledProps } from './components/Tiled/Tiled';
|
|
3
|
+
export type { TiledItemLinks, TiledSearchItem, TiledStructures, TiledTableRow, TableStructure, ArrayStructure, ContainerStructure, AwkwardStructure, AwkwardForm, SparseStructure } from './components/Tiled/types';
|
|
4
|
+
export { getSearchResults, getDefaultTiledUrl, getTableData, getFirstSearchWithApiKey, setBearerToken, generateFullImagePngPath, setReverseSort } from './components/Tiled/apiClient';
|
|
5
|
+
export { isArrayStructure, isTableStructure, isContainerStructure } from './components/Tiled/types';
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAGhC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAGhC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEpN,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,wBAAwB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAC,MAAM,8BAA8B,CAAC;AACpL,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,0BAA0B,CAAC"}
|
package/dist/tiled.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius: .5rem }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-top-0{top:-0px}.-top-2{top:-.5rem}.-top-8{top:-2rem}.left-1\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-12{top:3rem}.top-2{top:.5rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-12{margin-top:3rem;margin-bottom:3rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mr-3{margin-right:.75rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-6{width:1.5rem;height:1.5rem}.h-1\/2{height:50%}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[1000px\]{height:1000px}.h-\[1200px\]{height:1200px}.h-\[1600px\]{height:1600px}.h-\[500px\]{height:500px}.h-\[800px\]{height:800px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-12{min-height:3rem}.min-h-14{min-height:3.5rem}.min-h-\[500px\]{min-height:500px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-32{width:8rem}.w-36{width:9rem}.w-4\/5{width:80%}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7\/12{width:58.333333%}.w-72{width:18rem}.w-\[0\]{width:0}.w-\[1000px\]{width:1000px}.w-\[1200px\]{width:1200px}.w-\[1600px\]{width:1600px}.w-\[1px\]{width:1px}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-36{min-width:9rem}.min-w-56{min-width:14rem}.min-w-72{min-width:18rem}.min-w-96{min-width:24rem}.min-w-\[200px\]{min-width:200px}.min-w-\[30rem\]{min-width:30rem}.min-w-\[600px\]{min-width:600px}.min-w-full{min-width:100%}.max-w-32{max-width:8rem}.max-w-72{max-width:18rem}.max-w-\[100\%\]{max-width:100%}.max-w-\[400px\]{max-width:400px}.max-w-full{max-width:100%}.max-w-xs{max-width:20rem}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.appearance-auto{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-r{border-right-width:1px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-r-slate-300{--tw-border-opacity: 1;border-right-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-sky-200{--tw-bg-opacity: 1;background-color:rgb(186 230 253 / var(--tw-bg-opacity, 1))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-400\/50{background-color:#94a3b880}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/50{background-color:#ffffff80}.p-2{padding:.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-sky-900{--tw-text-opacity: 1;color:rgb(12 74 110 / var(--tw-text-opacity, 1))}.text-sky-950{--tw-text-opacity: 1;color:rgb(8 47 73 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.rounded-scrollbar::-webkit-scrollbar{width:8px;height:8px}.rounded-scrollbar::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:9999px;border:2px solid #ffffff}.rounded-scrollbar::-webkit-scrollbar-track{background-color:#f8fafc;border-radius:9999px}.rounded-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc}.hover\:cursor-not-allowed:hover{cursor:not-allowed}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:cursor-text:hover{cursor:text}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-300:hover{--tw-bg-opacity: 1;background-color:rgb(125 211 252 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-600:hover{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-sky-300:hover{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.hover\:text-sky-500:hover{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.hover\:text-slate-400:hover{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.hover\:text-slate-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:opacity-70:hover{opacity:.7}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:border{border-width:1px}.peer:hover~.peer-hover\:border{border-width:1px}.peer:hover~.peer-hover\:border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.peer:hover~.peer-hover\:text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.controls{font-size:13px;line-height:1.5em}.controls>div{margin-bottom:4px}label{font-size:12px}input[type=radio]{height:10px}.pattern-lines{position:absolute;pointer-events:none;opacity:0}.scrollbar-always-visible::-webkit-scrollbar{background-color:#8080801e;border-radius:10px;width:10px;height:10px;margin-right:2px}.scrollbar-always-visible::-webkit-scrollbar-thumb{background-color:#16171921;border-radius:6px}
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius: .5rem }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-top-0{top:-0px}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-8{top:-2rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-12{top:3rem}.top-2{top:.5rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-12{margin-top:3rem;margin-bottom:3rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mr-3{margin-right:.75rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-6{width:1.5rem;height:1.5rem}.h-1\/2{height:50%}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[1000px\]{height:1000px}.h-\[1200px\]{height:1200px}.h-\[1600px\]{height:1600px}.h-\[500px\]{height:500px}.h-\[800px\]{height:800px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-12{min-height:3rem}.min-h-14{min-height:3.5rem}.min-h-\[500px\]{min-height:500px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-32{width:8rem}.w-36{width:9rem}.w-4\/5{width:80%}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7\/12{width:58.333333%}.w-72{width:18rem}.w-8{width:2rem}.w-\[0\]{width:0}.w-\[1000px\]{width:1000px}.w-\[1200px\]{width:1200px}.w-\[1600px\]{width:1600px}.w-\[1px\]{width:1px}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-36{min-width:9rem}.min-w-56{min-width:14rem}.min-w-72{min-width:18rem}.min-w-96{min-width:24rem}.min-w-\[200px\]{min-width:200px}.min-w-\[30rem\]{min-width:30rem}.min-w-\[600px\]{min-width:600px}.min-w-full{min-width:100%}.max-w-32{max-width:8rem}.max-w-72{max-width:18rem}.max-w-\[100\%\],.max-w-full{max-width:100%}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.appearance-auto{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-r{border-right-width:1px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-r-slate-300{--tw-border-opacity: 1;border-right-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-700\/80{background-color:#1d4ed8cc}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-sky-200{--tw-bg-opacity: 1;background-color:rgb(186 230 253 / var(--tw-bg-opacity, 1))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-400\/50{background-color:#94a3b880}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/50{background-color:#ffffff80}.p-2{padding:.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-sky-900{--tw-text-opacity: 1;color:rgb(12 74 110 / var(--tw-text-opacity, 1))}.text-sky-950{--tw-text-opacity: 1;color:rgb(8 47 73 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.rounded-scrollbar::-webkit-scrollbar{width:8px;height:8px}.rounded-scrollbar::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:9999px;border:2px solid #ffffff}.rounded-scrollbar::-webkit-scrollbar-track{background-color:#f8fafc;border-radius:9999px}.rounded-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc}.hover\:cursor-not-allowed:hover{cursor:not-allowed}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:cursor-text:hover{cursor:text}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-300:hover{--tw-bg-opacity: 1;background-color:rgb(125 211 252 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-600:hover{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-sky-300:hover{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.hover\:text-sky-500:hover{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.hover\:text-slate-400:hover{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.hover\:text-slate-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:opacity-70:hover{opacity:.7}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:border{border-width:1px}.peer:hover~.peer-hover\:border{border-width:1px}.peer:hover~.peer-hover\:border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.peer:hover~.peer-hover\:text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.controls{font-size:13px;line-height:1.5em}.controls>div{margin-bottom:4px}label{font-size:12px}input[type=radio]{height:10px}.pattern-lines{position:absolute;pointer-events:none;opacity:0}.scrollbar-always-visible::-webkit-scrollbar{background-color:#8080801e;border-radius:10px;width:10px;height:10px;margin-right:2px}.scrollbar-always-visible::-webkit-scrollbar-thumb{background-color:#16171921;border-radius:6px}
|