@dstackai/sqircle 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -17
- package/dist/SquircleEditor.d.ts +5 -2
- package/dist/codeExport.d.ts +4 -2
- package/dist/index.d.ts +3 -2
- package/dist/palettes.d.ts +1 -0
- package/dist/sqircle.js +1295 -374
- package/dist/sqircle.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types.d.ts +2 -0
- package/docs/README.md +12 -7
- package/docs/design/README.md +2 -1
- package/docs/design/colors.md +23 -33
- package/docs/design/geometry.md +14 -13
- package/docs/design/rendering.md +72 -19
- package/docs/design/single-squircle-states.md +47 -109
- package/docs/examples/README.md +33 -0
- package/docs/react/README.md +106 -62
- package/docs/react/editor.md +162 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,22 +1,45 @@
|
|
|
1
1
|
# Squircle
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@dstackai/sqircle)
|
|
4
|
+
[](https://www.npmjs.com/package/@dstackai/sqircle)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+
Squircle is a React/TypeScript renderer for precise isometric squircle-prism SVG compositions. The reusable implementation lives in `src/squircle`; the root HTML files are Vite/React example shells that exercise the same renderer.
|
|
4
8
|
|
|
5
9
|
Use this repo when you need:
|
|
6
10
|
|
|
7
11
|
- `SquircleScene`: a configurable SVG renderer for 0-N squircle layers.
|
|
8
|
-
- `SquircleEditor`: a small constructor UI for editing layers and copying React code.
|
|
9
12
|
- A documented visual system for squircle geometry, gradients, wireframes, top-plane text, and dashed inlays.
|
|
10
|
-
-
|
|
13
|
+
- React-backed local examples for regression checks and agent handoff.
|
|
14
|
+
|
|
15
|
+
## Package
|
|
16
|
+
|
|
17
|
+
Install from npm:
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
npm install @dstackai/sqircle
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Use the renderer and component CSS:
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
import { SquircleScene, type SquircleLayerConfig } from "@dstackai/sqircle";
|
|
27
|
+
import "@dstackai/sqircle/style.css";
|
|
28
|
+
```
|
|
11
29
|
|
|
12
30
|
## Quick Start
|
|
13
31
|
|
|
32
|
+
For local development of this repo:
|
|
33
|
+
|
|
14
34
|
```sh
|
|
15
35
|
npm install
|
|
16
36
|
npm run dev
|
|
17
37
|
```
|
|
18
38
|
|
|
19
|
-
Open
|
|
39
|
+
Open the Vite dev server and choose a page:
|
|
40
|
+
|
|
41
|
+
- `/index.html`: hero example plus single-squircle state drawer.
|
|
42
|
+
- `/demo.html`: selectable composition gallery.
|
|
20
43
|
|
|
21
44
|
For production checks:
|
|
22
45
|
|
|
@@ -29,7 +52,8 @@ git diff --check -- .
|
|
|
29
52
|
## React Usage
|
|
30
53
|
|
|
31
54
|
```tsx
|
|
32
|
-
import { SquircleScene, type SquircleLayerConfig } from "
|
|
55
|
+
import { SquircleScene, type SquircleLayerConfig } from "@dstackai/sqircle";
|
|
56
|
+
import "@dstackai/sqircle/style.css";
|
|
33
57
|
|
|
34
58
|
const layers: SquircleLayerConfig[] = [
|
|
35
59
|
{
|
|
@@ -40,7 +64,13 @@ const layers: SquircleLayerConfig[] = [
|
|
|
40
64
|
{
|
|
41
65
|
id: "top",
|
|
42
66
|
offset: { y: 0 },
|
|
43
|
-
base: {
|
|
67
|
+
base: {
|
|
68
|
+
material: "solid",
|
|
69
|
+
paletteId: "15",
|
|
70
|
+
effect: "fluid",
|
|
71
|
+
text: "GPU",
|
|
72
|
+
dash: true
|
|
73
|
+
},
|
|
44
74
|
hover: { material: "wireframe", paletteId: "20" }
|
|
45
75
|
}
|
|
46
76
|
];
|
|
@@ -50,15 +80,139 @@ export function ExampleSquircle() {
|
|
|
50
80
|
}
|
|
51
81
|
```
|
|
52
82
|
|
|
53
|
-
For the full API, layer model,
|
|
83
|
+
For the full renderer API, layer model, geometry, strokes, opacity, and palette fields, read [React Component Guide](docs/react/README.md).
|
|
84
|
+
|
|
85
|
+
## Options Reference
|
|
86
|
+
|
|
87
|
+
This is the package-level renderer API reference. Keep it synchronized with `docs/react/README.md` and `src/squircle/types.ts`.
|
|
88
|
+
|
|
89
|
+
### `SquircleScene`
|
|
90
|
+
|
|
91
|
+
| Prop | Type | Default | Meaning |
|
|
92
|
+
| --- | --- | --- | --- |
|
|
93
|
+
| `layers` | `SquircleLayerConfig[]` | required | Draw-order layer array. First item is lowest/backmost; last item is topmost/frontmost. |
|
|
94
|
+
| `geometry` | `SquircleGeometryConfig` | `DEFAULT_GEOMETRY` | Scene geometry, projection, prism height, and dashed inlay scale. |
|
|
95
|
+
| `selectedLayerId` | `string \| null` | `null` | Marks a layer as selected for class/state styling. Does not move or restack layers. |
|
|
96
|
+
| `theme` | `light`, `dark` | `light` | Adds theme classes/data attributes for host styling while keeping the SVG background transparent. |
|
|
97
|
+
| `idPrefix` | `string` | generated React id | Prefix for SVG gradient ids. Use when deterministic ids are required. |
|
|
98
|
+
| `className` | `string` | none | Extra class on the root SVG. |
|
|
99
|
+
| `ariaLabel` | `string` | `Squircle scene` | Accessible label for the SVG. |
|
|
100
|
+
| `fitToLayers` | `boolean` | `true` | Expands the viewBox height to include visible layer offsets. |
|
|
101
|
+
| `transitionMs` | `number` | `220` | Hover crossfade duration in milliseconds. |
|
|
102
|
+
| `onLayerSelect` | `(layerId: string) => void` | none | Called when a rendered layer is clicked. |
|
|
103
|
+
|
|
104
|
+
### `SquircleLayerConfig`
|
|
105
|
+
|
|
106
|
+
| Field | Type | Default | Meaning |
|
|
107
|
+
| --- | --- | --- | --- |
|
|
108
|
+
| `id` | `string` | required | Stable layer id. |
|
|
109
|
+
| `visible` | `boolean` | `true` | Hidden layers are skipped without changing other offsets. |
|
|
110
|
+
| `offset` | `{ x?: number; y?: number }` | `{ x: 0, y: 0 }` | SVG translation for this layer. |
|
|
111
|
+
| `base` | `SquircleVariantConfig` | required | Normal layer state. |
|
|
112
|
+
| `hover` | `SquircleVariantConfig` | none | Hover state merged over `base`. If absent or identical, no hover copy is rendered. |
|
|
113
|
+
| `stroke` | `Partial<SquircleStrokeConfig>` | default strokes | Layer-wide stroke overrides. |
|
|
114
|
+
| `opacity` | `Partial<SquircleOpacityConfig>` | default opacity | Layer-wide opacity overrides. |
|
|
115
|
+
| `className` | `string` | none | Extra class on the layer group. |
|
|
116
|
+
|
|
117
|
+
### `SquircleVariantConfig`
|
|
118
|
+
|
|
119
|
+
Each layer has a required `base` variant and an optional `hover` variant. Hover is a state swap: the component renders a `.sq-hover` group only when the resolved hover variant differs from base. If hover is absent or identical, the layer has no `.sq-has-hover`, no hover copy, and no crossfade blink.
|
|
120
|
+
|
|
121
|
+
| Field | Values | Default | Meaning |
|
|
122
|
+
| --- | --- | --- | --- |
|
|
123
|
+
| `material` | `solid`, `transparent`, `wireframe` | `wireframe` | Prism rendering mode. |
|
|
124
|
+
| `paletteId` | `13` through `20` | `15` | Palette from `SQUIRCLE_PALETTES`. |
|
|
125
|
+
| `effect` | `off`, `fluid`, `frosted` | `off` | Solid-material top-face effect. Ignored by transparent and wireframe materials. |
|
|
126
|
+
| `text` | `string`, `boolean` | none | Render top-plane text. Pass a string such as `"GPU"` or `"{}"`; `true` is a compatibility shorthand for `"GPU"`. |
|
|
127
|
+
| `dash` | `boolean` | `false` | Render the dashed inlay. |
|
|
128
|
+
| `textStyle` | `solid`, `wireframe` | `solid` | Filled or outlined text. |
|
|
129
|
+
| `textColor` | `auto`, `white`, `black`, `contrast` | `contrast` | Text paint for solid/transparent material. `auto` and `contrast` currently resolve the same way. |
|
|
130
|
+
| `textSize` | `number` | `62` | Text font size. |
|
|
131
|
+
| `textFontFamily` | `string` | `Arial, Helvetica, sans-serif` | SVG text font family. |
|
|
132
|
+
| `textFontWeight` | `string`, `number` | `400` | SVG text font weight. |
|
|
133
|
+
| `dashColor` | `auto`, `white`, `black`, `contrast` | `contrast` | Dash paint for solid/transparent material. |
|
|
134
|
+
| `stroke` | `Partial<SquircleStrokeConfig>` | default strokes | Per-variant stroke overrides. |
|
|
135
|
+
| `opacity` | `Partial<SquircleOpacityConfig>` | default opacity | Per-variant opacity overrides. |
|
|
136
|
+
|
|
137
|
+
`auto` is the preferred value for palette-managed annotation paint. `contrast` remains a backwards-compatible alias and renders the same way. `gpu`, `gpuStyle`, and `gpuColor` are deprecated aliases accepted only for older snippets; new configs and generated code should use `text`, `textStyle`, and `textColor`.
|
|
138
|
+
|
|
139
|
+
### `SquircleGeometryConfig`
|
|
140
|
+
|
|
141
|
+
| Field | Type | Default | Meaning |
|
|
142
|
+
| --- | --- | --- | --- |
|
|
143
|
+
| `width` | `number` | `800` | SVG viewBox width and geometry fitting target. |
|
|
144
|
+
| `viewBoxHeight` | `number` | `480` | Base SVG viewBox height before optional layer fitting. |
|
|
145
|
+
| `exponent` | `number` | `12` | Superellipse exponent. Lower is rounder, higher is squarer. |
|
|
146
|
+
| `samples` | `number` | `160` | Number of sampled superellipse points. |
|
|
147
|
+
| `halfSize` | `number` | computed from `width` | Raw superellipse half-size before projection. |
|
|
148
|
+
| `prismHeight` | `number` | `10` | Extrusion height in SVG units. |
|
|
149
|
+
| `angleDegrees` | `number` | `20` | Isometric projection elevation angle. |
|
|
150
|
+
| `inlayScale` | `number` | `0.6` | Dashed inlay scale relative to the outer squircle. |
|
|
151
|
+
| `center` | `{ x: number; y: number }` | computed | Projection center. Override only when manually composing a custom viewBox. |
|
|
152
|
+
|
|
153
|
+
### `SquircleStrokeConfig`
|
|
154
|
+
|
|
155
|
+
| Field | Default | Meaning |
|
|
156
|
+
| --- | --- | --- |
|
|
157
|
+
| `face` | `0.35` | Hairline stroke for filled top and side faces. |
|
|
158
|
+
| `faceOpacity` | `0.72` | Opacity for filled-face strokes. |
|
|
159
|
+
| `wire` | `1.6` | Visible wireframe outline width. |
|
|
160
|
+
| `wireOpacity` | `0.88` | Visible wireframe outline opacity. |
|
|
161
|
+
| `hidden` | `1.2` | Hidden/back wireframe guide width. |
|
|
162
|
+
| `hiddenOpacity` | `0.28` | Hidden/back wireframe guide opacity. |
|
|
163
|
+
| `dash` | `2.2` | Dashed inlay width for solid/transparent material. |
|
|
164
|
+
| `wireDash` | `1.6` | Dashed inlay width for wireframe material. |
|
|
165
|
+
| `labelWire` | `1.1` | Outlined text stroke width. |
|
|
166
|
+
|
|
167
|
+
### `SquircleOpacityConfig`
|
|
168
|
+
|
|
169
|
+
| Field | Default | Meaning |
|
|
170
|
+
| --- | --- | --- |
|
|
171
|
+
| `transparentFace` | `0.38` | Face opacity for `material: "transparent"`. |
|
|
172
|
+
| `transparentAnnotation` | `0.62` | Text/dash opacity on transparent material. |
|
|
173
|
+
| `solidAnnotation` | `0.88` | Text/dash opacity on solid or wireframe material. |
|
|
174
|
+
|
|
175
|
+
### Palettes
|
|
176
|
+
|
|
177
|
+
`paletteId` accepts any id from `SQUIRCLE_PALETTE_IDS`: `13`, `14`, `15`, `16`, `17`, `18`, `19`, `20`. The palette object fields are:
|
|
178
|
+
|
|
179
|
+
| Field | Meaning |
|
|
180
|
+
| --- | --- |
|
|
181
|
+
| `id` | Stable palette id. |
|
|
182
|
+
| `label` | Human-readable palette name. |
|
|
183
|
+
| `top` | Top-face gradient stops. |
|
|
184
|
+
| `side` | Side-wall gradient stops. |
|
|
185
|
+
| `textWire` | Gradient stops used for outlined text. |
|
|
186
|
+
| `labelFill` | Automatic filled text/dash color. |
|
|
187
|
+
| `topEdge` | Top-face hairline stroke color. |
|
|
188
|
+
| `sideEdge` | Side-wall hairline stroke color. |
|
|
189
|
+
| `swatch` | Two-color UI swatch. |
|
|
190
|
+
|
|
191
|
+
`effect: "off"` uses the normal static top gradient. `fluid` and `frosted` clip animated blurred color fields to the top face, with the color field authored in local squircle-plane coordinates and projected through the same isometric matrix as text. `frosted` adds a screen-space pale veil and brighter rim. Effect colors are derived from the selected alpha palette.
|
|
192
|
+
|
|
193
|
+
## Surface Effects
|
|
194
|
+
|
|
195
|
+
Solid squircles can opt into animated top-surface effects with `effect: "fluid"` or `effect: "frosted"`. Both effects keep the prism geometry fixed: only the top face paint changes.
|
|
196
|
+
|
|
197
|
+
The color field is built in the flat squircle plane, blurred in that local coordinate system, and then projected onto the top face. The generated top polygon remains the screen-space clip path, while the frosted veil and rim stay screen-space overlays. This keeps the gradients reading as surface paint instead of flat circles floating above the prism.
|
|
198
|
+
|
|
199
|
+
Use [Rendering Contract](docs/design/rendering.md) for the exact ratios and SVG nesting rules before changing these effects.
|
|
200
|
+
|
|
201
|
+
## HTML Pages
|
|
202
|
+
|
|
203
|
+
The root HTML files are intentionally thin shells. They mount React entrypoints from `src/pages`, and those pages render examples built on the package components.
|
|
204
|
+
|
|
205
|
+
Legacy static snapshots from the exploration phase are archived under `legacy-static/`, which is ignored by git. Use them only as local visual references; new app work should use `@dstackai/sqircle` or the source components in `src/squircle`.
|
|
54
206
|
|
|
55
207
|
## Documentation Map
|
|
56
208
|
|
|
57
209
|
Start at [Documentation Index](docs/README.md). The docs are split by purpose:
|
|
58
210
|
|
|
59
|
-
- [React Component Guide](docs/react/README.md): how to use and configure `SquircleScene
|
|
211
|
+
- [React Component Guide](docs/react/README.md): how to use and configure `SquircleScene`.
|
|
212
|
+
- [Editor Guide](docs/react/editor.md): how to use the optional constructor UI and React code exporter.
|
|
60
213
|
- [Design Documentation](docs/design/README.md): geometry, rendering, color, annotation, wireframe, and single-squircle visual rules.
|
|
61
|
-
- [
|
|
214
|
+
- [React Example Pages](docs/examples/README.md): `index.html`, `demo.html`, `constructor.html`, and `react.html` page contracts.
|
|
215
|
+
- [Legacy Static Snapshots](docs/static/README.md): local ignored snapshots kept for reference only.
|
|
62
216
|
- [Verification Checklist](docs/verification.md): static checks, render checks, and expected behavior.
|
|
63
217
|
|
|
64
218
|
## Repository Shape
|
|
@@ -66,19 +220,20 @@ Start at [Documentation Index](docs/README.md). The docs are split by purpose:
|
|
|
66
220
|
| Path | Role |
|
|
67
221
|
| --- | --- |
|
|
68
222
|
| `src/squircle` | Main React/TypeScript component implementation |
|
|
69
|
-
| `
|
|
70
|
-
| `index.html` |
|
|
71
|
-
| `demo.html` |
|
|
72
|
-
| `constructor.html` |
|
|
73
|
-
| `
|
|
74
|
-
| `static
|
|
75
|
-
| `docs/` | Agent-facing component, design,
|
|
223
|
+
| `src/pages` | React example pages mounted by the root HTML files |
|
|
224
|
+
| `index.html` | Vite shell for the React hero and single-state example |
|
|
225
|
+
| `demo.html` | Vite shell for the React composition gallery |
|
|
226
|
+
| `constructor.html` | Vite shell for the React constructor UI |
|
|
227
|
+
| `react.html` | Compatibility Vite shell for the constructor UI |
|
|
228
|
+
| `legacy-static/` | Ignored local archive of the former static HTML/CSS snapshots |
|
|
229
|
+
| `docs/` | Agent-facing component, design, example-page, and verification docs |
|
|
76
230
|
|
|
77
231
|
## Current Visual Defaults
|
|
78
232
|
|
|
79
233
|
- Superellipse: `n = 12`, `N = 160`, `a = 225.49`
|
|
80
234
|
- Prism height: `h = 10`
|
|
81
235
|
- Projection: `20deg`
|
|
236
|
+
- Dashed inlay scale: `60%`
|
|
82
237
|
- ViewBox: `0 0 800 480`
|
|
83
238
|
- Default palette: `15 Alpha`
|
|
84
239
|
- Default three-layer offsets: bottom `y = 176`, middle `y = 88`, top `y = 0`
|
|
@@ -86,9 +241,11 @@ Start at [Documentation Index](docs/README.md). The docs are split by purpose:
|
|
|
86
241
|
## Hard Rules
|
|
87
242
|
|
|
88
243
|
- New reusable work should go through `src/squircle`.
|
|
89
|
-
- Component styles belong beside their components in `src/squircle`;
|
|
244
|
+
- Component styles belong beside their components in `src/squircle`; example-page styles live under `src/pages`.
|
|
90
245
|
- Do not hand-edit generated prism, inlay, or hidden-edge coordinates; regenerate from [Geometry Contract](docs/design/geometry.md).
|
|
91
246
|
- Keep hover swaps opacity-only: no transform, scale, filter, halo, or layer-gap changes.
|
|
92
247
|
- Render top-plane text as one SVG text element on the projected top plane. Do not duplicate it for filled and wireframe states.
|
|
93
248
|
- Keep variant colors synchronized with [Color System](docs/design/colors.md).
|
|
249
|
+
- Keep animated top effects clipped to the generated full-resolution top polygon; annotations still draw above the effect.
|
|
250
|
+
- Keep fluid/frosted color fields in local top-plane coordinates before projection; do not place their blobs directly in screen space.
|
|
94
251
|
- Keep the body background transparent.
|
package/dist/SquircleEditor.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type { SquircleLayerConfig, SquircleTheme } from "./types";
|
|
1
|
+
import type { SquircleGeometryConfig, SquircleLayerConfig, SquircleTheme } from "./types";
|
|
2
2
|
import "./SquircleEditor.css";
|
|
3
3
|
export interface SquircleEditorProps {
|
|
4
4
|
value?: SquircleLayerConfig[];
|
|
5
5
|
initialLayers?: SquircleLayerConfig[];
|
|
6
6
|
onChange?: (layers: SquircleLayerConfig[]) => void;
|
|
7
|
+
geometry?: SquircleGeometryConfig;
|
|
8
|
+
initialGeometry?: SquircleGeometryConfig;
|
|
9
|
+
onGeometryChange?: (geometry: SquircleGeometryConfig) => void;
|
|
7
10
|
title?: string;
|
|
8
11
|
description?: string;
|
|
9
12
|
/** @deprecated The editor now exports React code instead of schema-tagged JSON. */
|
|
@@ -21,4 +24,4 @@ export interface SquircleEditorProps {
|
|
|
21
24
|
showThemeSwitch?: boolean;
|
|
22
25
|
}
|
|
23
26
|
export declare function createDefaultSquircleEditorLayers(paletteId?: string): SquircleLayerConfig[];
|
|
24
|
-
export declare function SquircleEditor({ value, initialLayers, onChange, title, description, className, layerGap, showCode, showConfig, codeComponentName, codeImportPath, theme, defaultTheme, onThemeChange, showThemeSwitch }: SquircleEditorProps): import("react").JSX.Element;
|
|
27
|
+
export declare function SquircleEditor({ value, initialLayers, onChange, geometry, initialGeometry, onGeometryChange, title, description, className, layerGap, showCode, showConfig, codeComponentName, codeImportPath, theme, defaultTheme, onThemeChange, showThemeSwitch }: SquircleEditorProps): import("react").JSX.Element;
|
package/dist/codeExport.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { SquircleLayerConfig, SquircleTheme } from "./types";
|
|
1
|
+
import type { SquircleGeometryConfig, SquircleLayerConfig, SquircleTheme } from "./types";
|
|
2
2
|
export interface SquircleReactCodeOptions {
|
|
3
3
|
layers: SquircleLayerConfig[];
|
|
4
4
|
theme: SquircleTheme;
|
|
5
|
+
geometry?: SquircleGeometryConfig;
|
|
5
6
|
componentName?: string;
|
|
6
7
|
importPath?: string;
|
|
8
|
+
styleImportPath?: string | false;
|
|
7
9
|
ariaLabel?: string;
|
|
8
10
|
}
|
|
9
|
-
export declare function createSquircleReactCode({ layers, theme, componentName, importPath, ariaLabel }: SquircleReactCodeOptions): string;
|
|
11
|
+
export declare function createSquircleReactCode({ layers, theme, geometry, componentName, importPath, styleImportPath, ariaLabel }: SquircleReactCodeOptions): string;
|
|
10
12
|
export declare function toComponentName(input: string): string;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ export { SquircleScene } from "./SquircleScene";
|
|
|
2
2
|
export { SquircleEditor, createDefaultSquircleEditorLayers } from "./SquircleEditor";
|
|
3
3
|
export { createSquircleReactCode, toComponentName } from "./codeExport";
|
|
4
4
|
export { DEFAULT_GEOMETRY, createSquircleGeometry, createSquircleLayers, reflowLayerOffsets } from "./geometry";
|
|
5
|
-
export { DEFAULT_PALETTE_ID, SQUIRCLE_PALETTE_IDS, SQUIRCLE_PALETTES, getSquirclePalette } from "./palettes";
|
|
5
|
+
export { DEFAULT_PALETTE_ID, SQUIRCLE_PALETTE_IDS, SQUIRCLE_PALETTES, getSquirclePalette, isSquirclePaletteId } from "./palettes";
|
|
6
6
|
export type { SquircleReactCodeOptions } from "./codeExport";
|
|
7
7
|
export type { SquircleEditorProps } from "./SquircleEditor";
|
|
8
|
-
export type {
|
|
8
|
+
export type { SquircleGradientStop, SquirclePalette, SquirclePaletteId } from "./palettes";
|
|
9
|
+
export type { SquircleAnnotationColor, SquircleEffect, SquircleGeometryConfig, SquircleLayerConfig, SquircleMaterial, SquircleOpacityConfig, SquircleSceneProps, SquircleStrokeConfig, SquircleTextStyle, SquircleTheme, SquircleVariantConfig } from "./types";
|
package/dist/palettes.d.ts
CHANGED
|
@@ -179,3 +179,4 @@ export type SquirclePaletteId = keyof typeof SQUIRCLE_PALETTES;
|
|
|
179
179
|
export declare const SQUIRCLE_PALETTE_IDS: SquirclePaletteId[];
|
|
180
180
|
export declare const DEFAULT_PALETTE_ID: SquirclePaletteId;
|
|
181
181
|
export declare function getSquirclePalette(paletteId: string | undefined): SquirclePalette;
|
|
182
|
+
export declare function isSquirclePaletteId(paletteId: string | undefined): paletteId is SquirclePaletteId;
|