svelte-tweakpane-ui 1.2.5 → 1.2.7
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/control/ButtonGrid.svelte +1 -1
- package/dist/control/ButtonGrid.svelte.d.ts +4 -2
- package/dist/control/CubicBezier.svelte +2 -2
- package/dist/control/CubicBezier.svelte.d.ts +3 -7
- package/dist/control/Image.svelte +1 -1
- package/dist/control/Image.svelte.d.ts +2 -6
- package/dist/control/IntervalSlider.svelte +1 -1
- package/dist/control/IntervalSlider.svelte.d.ts +3 -11
- package/dist/control/List.svelte +4 -1
- package/dist/control/RadioGrid.svelte +1 -1
- package/dist/control/RadioGrid.svelte.d.ts +2 -0
- package/dist/control/Ring.svelte +1 -1
- package/dist/control/Ring.svelte.d.ts +3 -1
- package/dist/control/RotationEuler.svelte +1 -1
- package/dist/control/RotationEuler.svelte.d.ts +7 -6
- package/dist/control/RotationQuaternion.svelte +1 -1
- package/dist/control/RotationQuaternion.svelte.d.ts +5 -4
- package/dist/control/Textarea.svelte +1 -1
- package/dist/control/Textarea.svelte.d.ts +3 -1
- package/dist/control/Wheel.svelte +1 -1
- package/dist/control/Wheel.svelte.d.ts +2 -0
- package/dist/core/Binding.svelte +8 -0
- package/dist/monitor/FpsGraph.svelte +1 -1
- package/dist/monitor/FpsGraph.svelte.d.ts +4 -2
- package/dist/monitor/Profiler.svelte +1 -1
- package/dist/monitor/Profiler.svelte.d.ts +8 -6
- package/dist/monitor/WaveformMonitor.svelte +1 -1
- package/dist/monitor/WaveformMonitor.svelte.d.ts +3 -1
- package/package.json +16 -16
- package/readme.md +83 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@tweakpane
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
5
5
|
import Blade from '../core/Blade.svelte';
|
|
6
6
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
7
7
|
import { fillWith } from '../utils';
|
|
@@ -7,8 +7,8 @@ export type ButtonGridClickEvent = CustomEvent<{
|
|
|
7
7
|
index: number;
|
|
8
8
|
label: string;
|
|
9
9
|
}>;
|
|
10
|
-
import type { ButtonGridApi as ButtonGridRef } from '@tweakpane
|
|
11
|
-
import type { ButtonGridBladeParams as ButtonGridOptions } from '@tweakpane
|
|
10
|
+
import type { ButtonGridApi as ButtonGridRef } from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
11
|
+
import type { ButtonGridBladeParams as ButtonGridOptions } from '@kitschpatrol/tweakpane-plugin-essentials/dist/types/button-grid/plugin.d.ts';
|
|
12
12
|
declare const __propDef: {
|
|
13
13
|
props: {
|
|
14
14
|
/**
|
|
@@ -121,6 +121,8 @@ export type ButtonGridSlots = typeof __propDef.slots;
|
|
|
121
121
|
* Usage outside of a `<Pane>` component will implicitly wrap the button grid in `<Pane
|
|
122
122
|
* position="inline">`.
|
|
123
123
|
*
|
|
124
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-essentials) of the plugin with build optimizations. The fork also changes the package name from `@tweakpane/plugin-essentials` to `@kitschpatrol/tweakpane-plugin-essentials` for consistency with other plugins.
|
|
125
|
+
*
|
|
124
126
|
* @emits {ButtonGridClickEvent} click - When a button in the grid is clicked.
|
|
125
127
|
*
|
|
126
128
|
* @example
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@tweakpane
|
|
5
|
-
import { CubicBezier } from '@tweakpane
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
5
|
+
import { CubicBezier } from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
6
6
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
7
7
|
import GenericBladeFolding from '../internal/GenericBladeFolding.svelte';
|
|
8
8
|
import { fillWith } from '../utils';
|
|
@@ -10,8 +10,8 @@ export type CubicBezierValueObject = {
|
|
|
10
10
|
export type CubicBezierValueTuple = [x1: number, y1: number, x2: number, y2: number];
|
|
11
11
|
export type CubicBezierValue = Simplify<CubicBezierValueObject | CubicBezierValueTuple>;
|
|
12
12
|
export type CubicBezierChangeEvent = ValueChangeEvent<CubicBezierValue>;
|
|
13
|
-
import type { CubicBezierApi as CubicBezierRef } from '@tweakpane
|
|
14
|
-
import type { CubicBezierBladeParams as CubicBezierOptions } from '@tweakpane
|
|
13
|
+
import type { CubicBezierApi as CubicBezierRef } from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
14
|
+
import type { CubicBezierBladeParams as CubicBezierOptions } from '@kitschpatrol/tweakpane-plugin-essentials/dist/types/cubic-bezier/plugin.d.ts';
|
|
15
15
|
declare const __propDef: {
|
|
16
16
|
props: {
|
|
17
17
|
/**
|
|
@@ -137,11 +137,7 @@ export type CubicBezierSlots = typeof __propDef.slots;
|
|
|
137
137
|
* Usage outside of a `<Pane>` component will implicitly wrap the cubic bezier control in `<Pane
|
|
138
138
|
* position="inline">`.
|
|
139
139
|
*
|
|
140
|
-
*
|
|
141
|
-
* set frequently. A [PR on the Plugin Essentials repo with a
|
|
142
|
-
* fix](https://github.com/tweakpane/plugin-essentials/pull/21) is currently pending a review and
|
|
143
|
-
* merge. Consider monitoring the performance of this component in the context of your use case until
|
|
144
|
-
* this issue is resolved._
|
|
140
|
+
* Note that _Svelte Tweakpane UI_ embeds a [fork](https://github.com/kitschpatrol/tweakpane-plugin-essentials) of the plugin with build optimizations and [a fix for a performance issue](https://github.com/tweakpane/plugin-essentials/pull/21). The fork also changes the package name from `@tweakpane/plugin-essentials` to `@kitschpatrol/tweakpane-plugin-essentials` for consistency with other plugins.
|
|
145
141
|
*
|
|
146
142
|
* @emits {CubicBezierChangeEvent} change - When `value` changes. (This event is provided for advanced use cases. Prefer binding to `value`.)
|
|
147
143
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@kitschpatrol/tweakpane-image
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-image';
|
|
5
5
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
6
6
|
import GenericInput from '../internal/GenericInput.svelte';
|
|
7
7
|
import { fillWith } from '../utils';
|
|
@@ -130,17 +130,13 @@ export type ImageSlots = typeof __propDef.slots;
|
|
|
130
130
|
* Dias](https://www.linkedin.com/in/matheusdbs/), [Palash Bansal](https://github.com/repalash), and
|
|
131
131
|
* others.
|
|
132
132
|
*
|
|
133
|
-
* Note that _Svelte Tweakpane UI_ embeds a
|
|
134
|
-
* [fork](https://github.com/kitschpatrol/tweakpane-image-plugin) of the plugin with support for
|
|
135
|
-
* Tweakpane 4. The dependency will be updated to point to the source repository if / when the open
|
|
136
|
-
* [pull request](https://github.com/metehus/tweakpane-image-plugin/pull/1) with Tweakpane 4 support is
|
|
137
|
-
* merged.
|
|
138
|
-
*
|
|
139
133
|
* There is currently a known bug where change events' `origin` values are sometimes incorrect. (This issue is limited to this component.)
|
|
140
134
|
*
|
|
141
135
|
* Usage outside of a `<Pane>` component will implicitly wrap the image control in `<Pane
|
|
142
136
|
* position="inline">`.
|
|
143
137
|
*
|
|
138
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-image) of the plugin with build optimizations. The fork also changes the package name to `@kitschpatrol/tweakpane-plugin-image` for consistency with other plugins.
|
|
139
|
+
*
|
|
144
140
|
* @emits {ImageChangeEvent} change - When `value` changes. (This event is provided for advanced use cases. Prefer binding to `value`.)
|
|
145
141
|
*
|
|
146
142
|
* @example
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@tweakpane
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
5
5
|
import GenericSlider from '../internal/GenericSlider.svelte';
|
|
6
6
|
export let value;
|
|
7
7
|
export let meanValue = void 0;
|
|
@@ -56,17 +56,7 @@ declare const __propDef: {
|
|
|
56
56
|
* [Dynamic based on magnitude of
|
|
57
57
|
* `value`](https://github.com/cocopon/tweakpane/blob/66dfbea04bfe9b7f031673c955ceda1f92356e75/packages/core/src/common/number/util.ts#L54).
|
|
58
58
|
*/
|
|
59
|
-
pointerScale?: number | undefined
|
|
60
|
-
* Fires when `value` changes.
|
|
61
|
-
*
|
|
62
|
-
* _This event is provided for advanced use cases. It's usually preferred to bind to the `value` prop instead._
|
|
63
|
-
*
|
|
64
|
-
* The `event.details` payload includes a copy of the value and an `origin` field to distinguish between user-interactive changes (`internal`)
|
|
65
|
-
* and changes resulting from programmatic manipulation of the `value` (`external`).
|
|
66
|
-
*
|
|
67
|
-
* @extends ValueChangeEvent
|
|
68
|
-
* @event
|
|
69
|
-
* */;
|
|
59
|
+
pointerScale?: number | undefined;
|
|
70
60
|
/**
|
|
71
61
|
* The minimum step interval.
|
|
72
62
|
* @default `undefined` \
|
|
@@ -185,6 +175,8 @@ export type IntervalSliderSlots = typeof __propDef.slots;
|
|
|
185
175
|
* Usage outside of a `<Pane>` component will implicitly wrap the interval slider in `<Pane
|
|
186
176
|
* position="inline">`.
|
|
187
177
|
*
|
|
178
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-essentials) of the plugin with build optimizations. The fork also changes the package name from `@tweakpane/plugin-essentials` to `@kitschpatrol/tweakpane-plugin-essentials` for consistency with other plugins.
|
|
179
|
+
*
|
|
188
180
|
* @emits {IntervalSliderChangeEvent} change - When `value` changes. (This event is provided for advanced use cases. Prefer binding to `value`.)
|
|
189
181
|
*
|
|
190
182
|
* @example
|
package/dist/control/List.svelte
CHANGED
|
@@ -53,7 +53,10 @@
|
|
|
53
53
|
? options2
|
|
54
54
|
: isObjectStyleListOptions(options2)
|
|
55
55
|
? options2
|
|
56
|
-
: options2.map((value2) => ({
|
|
56
|
+
: options2.map((value2) => ({
|
|
57
|
+
value: value2,
|
|
58
|
+
text: typeof value2 === 'object' ? JSON.stringify(value2) : String(value2)
|
|
59
|
+
}));
|
|
57
60
|
}
|
|
58
61
|
function setValue() {
|
|
59
62
|
if (!shallowEqual(listBlade.value, value)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script generics="T extends boolean | number | string">
|
|
4
|
-
import * as pluginModule from '@tweakpane
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
5
5
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
6
6
|
import GenericInput from '../internal/GenericInput.svelte';
|
|
7
7
|
import { fillWith } from '../utils';
|
|
@@ -190,6 +190,8 @@ export type RadioGridSlots<T extends boolean | number | string> = ReturnType<
|
|
|
190
190
|
* Usage outside of a `<Pane>` component will implicitly wrap the radio grid in `<Pane
|
|
191
191
|
* position="inline">`.
|
|
192
192
|
*
|
|
193
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-essentials) of the plugin with build optimizations. The fork also changes the package name from `@tweakpane/plugin-essentials` to `@kitschpatrol/tweakpane-plugin-essentials` for consistency with other plugins.
|
|
194
|
+
*
|
|
193
195
|
* @emits {RadioGridChangeEvent} change - When `value` changes. (This event is provided for advanced use cases. Prefer binding to `value`.)
|
|
194
196
|
*
|
|
195
197
|
* @example
|
package/dist/control/Ring.svelte
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@tweakpane
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-camerakit';
|
|
5
5
|
import GenericSlider from '../internal/GenericSlider.svelte';
|
|
6
6
|
export let value;
|
|
7
7
|
export let series = void 0;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SvelteComponent } from 'svelte';
|
|
2
|
-
import type { RingSeries } from '@tweakpane
|
|
2
|
+
import type { RingSeries } from '@kitschpatrol/tweakpane-plugin-camerakit/dist/types/util.js';
|
|
3
3
|
import type { ValueChangeEvent } from '../utils.js';
|
|
4
4
|
type RingUnit = {
|
|
5
5
|
/**
|
|
@@ -198,6 +198,8 @@ export type RingSlots = typeof __propDef.slots;
|
|
|
198
198
|
*
|
|
199
199
|
* Usage outside of a `<Pane>` component will implicitly wrap the ring in `<Pane position="inline">`.
|
|
200
200
|
*
|
|
201
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-camerakit) of the plugin with build optimizations. The fork also changes the package name from `@tweakpane/plugin-camerakit` to `@kitschpatrol/tweakpane-plugin-camerakit` for consistency with other plugins.
|
|
202
|
+
*
|
|
201
203
|
* @emits {RingChangeEvent} change - When `value` changes. (This event is provided for advanced use cases. Prefer binding to `value`.)
|
|
202
204
|
*
|
|
203
205
|
* @example
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-rotation';
|
|
5
5
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
6
6
|
import GenericInputFolding from '../internal/GenericInputFolding.svelte';
|
|
7
7
|
import { BROWSER } from 'esm-env';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SvelteComponent } from 'svelte';
|
|
2
|
-
import type { EulerOrder } from '@
|
|
3
|
-
import type { EulerUnit } from '@
|
|
2
|
+
import type { EulerOrder } from '@kitschpatrol/tweakpane-plugin-rotation/dist/types/EulerOrder.js';
|
|
3
|
+
import type { EulerUnit } from '@kitschpatrol/tweakpane-plugin-rotation/dist/types/EulerUnit.js';
|
|
4
4
|
import type { PointDimensionParams } from '@tweakpane/core';
|
|
5
5
|
import type { Simplify } from '../utils';
|
|
6
6
|
import type { ValueChangeEvent } from '../utils.js';
|
|
@@ -15,7 +15,7 @@ export type RotationEulerValueObject = {
|
|
|
15
15
|
export type RotationEulerValueTuple = [x: number, y: number, z: number];
|
|
16
16
|
export type RotationEulerValue = Simplify<RotationEulerValueObject | RotationEulerValueTuple>;
|
|
17
17
|
export type RotationEulerChangeEvent = ValueChangeEvent<RotationEulerValue>;
|
|
18
|
-
import type { RotationInputPluginEulerParams as RotationEulerOptionsInternal } from '@
|
|
18
|
+
import type { RotationInputPluginEulerParams as RotationEulerOptionsInternal } from '@kitschpatrol/tweakpane-plugin-rotation/dist/types/RotationInputPluginEulerParams';
|
|
19
19
|
declare const __propDef: {
|
|
20
20
|
props: {
|
|
21
21
|
/**
|
|
@@ -220,8 +220,7 @@ export type RotationEulerSlots = typeof __propDef.slots;
|
|
|
220
220
|
/**
|
|
221
221
|
* Integrates the [euler
|
|
222
222
|
* rotation](https://github.com/0b5vr/tweakpane-plugin-rotation/blob/dev/src/RotationInputPluginEuler.ts)
|
|
223
|
-
* control from [0b5vr's](https://
|
|
224
|
-
* [tweakpane-plugin-rotation](https://github.com/0b5vr/tweakpane-plugin-rotation).
|
|
223
|
+
* control from [0b5vr](https://0b5vr.com)'s [tweakpane-plugin-rotation](https://github.com/0b5vr/tweakpane-plugin-rotation).
|
|
225
224
|
*
|
|
226
225
|
* _Svelte Tweakpane UI_ extends the original API to support tuple values in addition to object values.
|
|
227
226
|
* (Useful when working with frameworks like [three.js](https://threejs.org) /
|
|
@@ -230,11 +229,13 @@ export type RotationEulerSlots = typeof __propDef.slots;
|
|
|
230
229
|
* A utility function `Utils.eulerToCssTransform()` is also provided to easily convert a quaternion
|
|
231
230
|
* value object or tuple into a CSS transform string.
|
|
232
231
|
*
|
|
233
|
-
* See also
|
|
232
|
+
* See also `<RotationQuaternion>` if you're feeling gimbal locked.
|
|
234
233
|
*
|
|
235
234
|
* Usage outside of a `<Pane>` component will implicitly wrap the profiler in `<Pane
|
|
236
235
|
* position="inline">`.
|
|
237
236
|
*
|
|
237
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-rotation) of the plugin with build optimizations.
|
|
238
|
+
*
|
|
238
239
|
* @emits {RotationEulerChangeEvent} change - When `value` changes. (This event is provided for advanced use cases. Prefer binding to `value`.)
|
|
239
240
|
*
|
|
240
241
|
* @example
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-rotation';
|
|
5
5
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
6
6
|
import GenericInputFolding from '../internal/GenericInputFolding.svelte';
|
|
7
7
|
import { BROWSER } from 'esm-env';
|
|
@@ -14,7 +14,7 @@ export type RotationQuaternionValue = Simplify<
|
|
|
14
14
|
RotationQuaternionValueObject | RotationQuaternionValueTuple
|
|
15
15
|
>;
|
|
16
16
|
export type RotationQuaternionChangeEvent = ValueChangeEvent<RotationQuaternionValue>;
|
|
17
|
-
import type { RotationInputPluginQuaternionParams as RotationQuaternionOptionsInternal } from '@
|
|
17
|
+
import type { RotationInputPluginQuaternionParams as RotationQuaternionOptionsInternal } from '@kitschpatrol/tweakpane-plugin-rotation/dist/types/RotationInputPluginQuaternionParams';
|
|
18
18
|
declare const __propDef: {
|
|
19
19
|
props: {
|
|
20
20
|
/**
|
|
@@ -218,8 +218,7 @@ export type RotationQuaternionSlots = typeof __propDef.slots;
|
|
|
218
218
|
/**
|
|
219
219
|
* Integrates the [quaternion
|
|
220
220
|
* rotation](https://github.com/0b5vr/tweakpane-plugin-rotation/blob/dev/src/RotationInputPluginQuaternion.ts)
|
|
221
|
-
* control from [0b5vr's](https://
|
|
222
|
-
* [tweakpane-plugin-rotation](https://github.com/0b5vr/tweakpane-plugin-rotation).
|
|
221
|
+
* control from [0b5vr](https://0b5vr.com)'s [tweakpane-plugin-rotation](https://github.com/0b5vr/tweakpane-plugin-rotation).
|
|
223
222
|
*
|
|
224
223
|
* _Svelte Tweakpane UI_ extends the original API to support tuple values in addition to object values.
|
|
225
224
|
* (Useful when working with frameworks like [three.js](https://threejs.org) /
|
|
@@ -228,11 +227,13 @@ export type RotationQuaternionSlots = typeof __propDef.slots;
|
|
|
228
227
|
* A utility function `Utils.quaternionToCssTransform()` is also provided to easily convert a euler
|
|
229
228
|
* rotation value object or tuple into a CSS transform string.
|
|
230
229
|
*
|
|
231
|
-
* See also
|
|
230
|
+
* See also `<RotationEuler>` if you're not into the whole `w` thing.
|
|
232
231
|
*
|
|
233
232
|
* Usage outside of a `<Pane>` component will implicitly wrap the profiler in `<Pane
|
|
234
233
|
* position="inline">`.
|
|
235
234
|
*
|
|
235
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-rotation) of the plugin with build optimizations.
|
|
236
|
+
*
|
|
236
237
|
* @emits {RotationQuaternionChangeEvent} change - When `value` changes. (This event is provided for advanced use cases. Prefer binding to `value`.)
|
|
237
238
|
*
|
|
238
239
|
* @example
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-textarea';
|
|
5
5
|
import GenericInput from '../internal/GenericInput.svelte';
|
|
6
6
|
import {} from '../utils.js';
|
|
7
7
|
import { BROWSER } from 'esm-env';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SvelteComponent } from 'svelte';
|
|
2
2
|
import type { ValueChangeEvent } from '../utils.js';
|
|
3
3
|
export type TextareaChangeEvent = ValueChangeEvent<string>;
|
|
4
|
-
import type { TextareaPluginInputParams } from '@
|
|
4
|
+
import type { TextareaPluginInputParams } from '@kitschpatrol/tweakpane-plugin-textarea/dist/types/plugin.js';
|
|
5
5
|
import { type GenericInputRef } from '../internal/GenericInput.svelte';
|
|
6
6
|
declare const __propDef: {
|
|
7
7
|
props: {
|
|
@@ -139,6 +139,8 @@ export type TextareaSlots = typeof __propDef.slots;
|
|
|
139
139
|
* Usage outside of a `<Pane>` component will implicitly wrap the text area in
|
|
140
140
|
* `<Pane position="inline">`.
|
|
141
141
|
*
|
|
142
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-textarea) of the plugin with build optimizations. The fork also changes the package name from `@pangenerator/tweakpane-textarea-plugin` to `@kitschpatrol/tweakpane-plugin-textarea` for consistency with other plugins.
|
|
143
|
+
*
|
|
142
144
|
* @emits {TextareaChangeEvent} change - When `value` changes. (This event is
|
|
143
145
|
* provided for advanced use cases. Prefer binding to `value`.)
|
|
144
146
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@tweakpane
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-camerakit';
|
|
5
5
|
import GenericSlider from '../internal/GenericSlider.svelte';
|
|
6
6
|
export let value;
|
|
7
7
|
export let amount = void 0;
|
|
@@ -168,6 +168,8 @@ export type WheelSlots = typeof __propDef.slots;
|
|
|
168
168
|
*
|
|
169
169
|
* Usage outside of a `<Pane>` component will implicitly wrap the wheel in `<Pane position="inline">`.
|
|
170
170
|
*
|
|
171
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-camerakit) of the plugin with build optimizations. The fork also changes the package name from `@tweakpane/plugin-camerakit` to `@kitschpatrol/tweakpane-plugin-camerakit` for consistency with other plugins.
|
|
172
|
+
*
|
|
171
173
|
* @emits {WheelChangeEvent} change - When `value` changes. (This event is provided for advanced use cases. Prefer binding to `value`.)
|
|
172
174
|
*
|
|
173
175
|
* @example
|
package/dist/core/Binding.svelte
CHANGED
|
@@ -44,9 +44,13 @@
|
|
|
44
44
|
_ref?.dispose();
|
|
45
45
|
});
|
|
46
46
|
const dispatch = createEventDispatcher();
|
|
47
|
+
let lastObject = object;
|
|
47
48
|
let lastValue = copy(object[key]);
|
|
48
49
|
let internalChange = false;
|
|
49
50
|
function onBoundValueChange(object2) {
|
|
51
|
+
if (lastObject !== object2) {
|
|
52
|
+
internalChange = false;
|
|
53
|
+
}
|
|
50
54
|
if (!shallowEqual(object2[key], lastValue)) {
|
|
51
55
|
lastValue = copy(object2[key]);
|
|
52
56
|
dispatch('change', {
|
|
@@ -60,6 +64,10 @@
|
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
internalChange = false;
|
|
67
|
+
if (lastObject !== object2) {
|
|
68
|
+
lastObject = object2;
|
|
69
|
+
create();
|
|
70
|
+
}
|
|
63
71
|
}
|
|
64
72
|
function onTweakpaneChange() {
|
|
65
73
|
internalChange = true;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@tweakpane
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
5
5
|
import Blade from '../core/Blade.svelte';
|
|
6
6
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
7
7
|
import { fillWith } from '../utils';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SvelteComponent } from 'svelte';
|
|
2
2
|
export type FpsGraphChangeEvent = CustomEvent<number>;
|
|
3
|
-
import type { FpsGraphBladeApi as FpsGraphRef } from '@tweakpane
|
|
4
|
-
import type { FpsGraphBladeParams as FpsGraphOptions } from '@tweakpane
|
|
3
|
+
import type { FpsGraphBladeApi as FpsGraphRef } from '@kitschpatrol/tweakpane-plugin-essentials';
|
|
4
|
+
import type { FpsGraphBladeParams as FpsGraphOptions } from '@kitschpatrol/tweakpane-plugin-essentials/dist/types/fps-graph/plugin.js';
|
|
5
5
|
declare const __propDef: {
|
|
6
6
|
props: {
|
|
7
7
|
/**
|
|
@@ -145,6 +145,8 @@ export type FpsGraphSlots = typeof __propDef.slots;
|
|
|
145
145
|
* Usage outside of a `<Pane>` component will implicitly wrap the FPS graph in `<Pane
|
|
146
146
|
* position="inline">`.
|
|
147
147
|
*
|
|
148
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-essentials) of the plugin with build optimizations. The fork also changes the package name from `@tweakpane/plugin-essentials` to `@kitschpatrol/tweakpane-plugin-essentials` for consistency with other plugins.
|
|
149
|
+
*
|
|
148
150
|
* @emits {number} change - When the FPS value changes.
|
|
149
151
|
*
|
|
150
152
|
* @example
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
-
import * as pluginModule from '@
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-profiler';
|
|
5
5
|
import Blade from '../core/Blade.svelte';
|
|
6
6
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
7
7
|
import { fillWith } from '../utils';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SvelteComponent } from 'svelte';
|
|
2
|
-
import type { ProfilerBladeMeasureHandler } from '@
|
|
2
|
+
import type { ProfilerBladeMeasureHandler } from '@kitschpatrol/tweakpane-plugin-profiler';
|
|
3
3
|
import type { Simplify } from '../utils';
|
|
4
4
|
export type ProfilerCalcMode = 'frame' | 'mean' | 'median';
|
|
5
5
|
export type ProfilerMeasure = (name: string, functionToMeasure: () => void) => void;
|
|
@@ -9,8 +9,8 @@ export type ProfilerMeasureAsync = (
|
|
|
9
9
|
) => Promise<void>;
|
|
10
10
|
export type ProfilerMeasureHandler = Simplify<ProfilerBladeMeasureHandler>;
|
|
11
11
|
export type ProfilerChangeEvent = CustomEvent<number>;
|
|
12
|
-
import type { ProfilerBladeApi as ProfilerRef } from '@
|
|
13
|
-
import type { ProfilerBladePluginParams as ProfilerOptions } from '@
|
|
12
|
+
import type { ProfilerBladeApi as ProfilerRef } from '@kitschpatrol/tweakpane-plugin-profiler/dist/types/ProfilerBladeApi.js';
|
|
13
|
+
import type { ProfilerBladePluginParams as ProfilerOptions } from '@kitschpatrol/tweakpane-plugin-profiler/dist/types/ProfilerBladePluginParams.js';
|
|
14
14
|
declare const __propDef: {
|
|
15
15
|
props: {
|
|
16
16
|
/**
|
|
@@ -107,7 +107,7 @@ declare const __propDef: {
|
|
|
107
107
|
*
|
|
108
108
|
* The default is fine for most cases when you want to measure a temporal duration.
|
|
109
109
|
* @default [`new
|
|
110
|
-
* ProfilerBladeDefaultMeasureHandler()`](https://github.com/
|
|
110
|
+
* ProfilerBladeDefaultMeasureHandler()`](https://github.com/kitschpatrol/tweakpane-plugin-profiler/blob/dev/src/ProfilerBladeDefaultMeasureHandler.ts)
|
|
111
111
|
*/
|
|
112
112
|
measureHandler?:
|
|
113
113
|
| {
|
|
@@ -189,14 +189,16 @@ export type ProfilerSlots = typeof __propDef.slots;
|
|
|
189
189
|
* Configured to measure a function's execution duration by default, but can be customized to measure
|
|
190
190
|
* anything.
|
|
191
191
|
*
|
|
192
|
-
* Integrates [
|
|
193
|
-
* [tweakpane-plugin-profiler](https://github.com/
|
|
192
|
+
* Integrates [kitschpatrol's](https://kitschpatrol.com)
|
|
193
|
+
* [tweakpane-plugin-profiler](https://github.com/kitschpatrol/tweakpane-plugin-profiler).
|
|
194
194
|
*
|
|
195
195
|
* See `<FpsGraph>` for a simpler alternative optimized for framerate visualization.
|
|
196
196
|
*
|
|
197
197
|
* Usage outside of a `<Pane>` component will implicitly wrap the profiler in `<Pane
|
|
198
198
|
* position="inline">`.
|
|
199
199
|
*
|
|
200
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-profiler) of the plugin with build optimizations.
|
|
201
|
+
*
|
|
200
202
|
* @example
|
|
201
203
|
* ```svelte
|
|
202
204
|
* <script lang="ts">
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<script context="module"></script>
|
|
2
2
|
|
|
3
3
|
<script>
|
|
4
|
+
import * as pluginModule from '@kitschpatrol/tweakpane-plugin-waveform';
|
|
4
5
|
import ClsPad from '../internal/ClsPad.svelte';
|
|
5
6
|
import GenericMonitor from '../internal/GenericMonitor.svelte';
|
|
6
7
|
import { fillWith } from '../utils';
|
|
7
8
|
import { BROWSER } from 'esm-env';
|
|
8
|
-
import * as pluginModule from 'tweakpane-plugin-waveform';
|
|
9
9
|
export let value;
|
|
10
10
|
export let max = void 0;
|
|
11
11
|
export let min = void 0;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SvelteComponent } from 'svelte';
|
|
2
2
|
export type WaveformMonitorValue = Uint8Array | Uint16Array | Uint32Array | number[];
|
|
3
|
-
import type { WaveformStyles as WaveformMonitorLineStyle } from 'tweakpane-plugin-waveform/dist/types/view/waveform.js';
|
|
3
|
+
import type { WaveformStyles as WaveformMonitorLineStyle } from '@kitschpatrol/tweakpane-plugin-waveform/dist/types/view/waveform.js';
|
|
4
4
|
declare const __propDef: {
|
|
5
5
|
props: {
|
|
6
6
|
/**
|
|
@@ -149,6 +149,8 @@ export type WaveformMonitorSlots = typeof __propDef.slots;
|
|
|
149
149
|
* Usage outside of a `<Pane>` component will implicitly wrap the waveform monitor in `<Pane
|
|
150
150
|
* position="inline">`.
|
|
151
151
|
*
|
|
152
|
+
* Note that _Svelte Tweakpane UI_ embeds a functionally identical [fork](https://github.com/kitschpatrol/tweakpane-plugin-waveform) of the plugin with build optimizations.
|
|
153
|
+
*
|
|
152
154
|
* @example
|
|
153
155
|
* ```svelte
|
|
154
156
|
* <script lang="ts">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-tweakpane-ui",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A Svelte component library wrapping UI elements from Tweakpane, plus some additional functionality for convenience and flexibility.",
|
|
6
6
|
"repository": {
|
|
@@ -184,40 +184,40 @@
|
|
|
184
184
|
"svelte": "^4.0.0"
|
|
185
185
|
},
|
|
186
186
|
"dependencies": {
|
|
187
|
-
"@
|
|
188
|
-
"@
|
|
189
|
-
"@kitschpatrol/tweakpane-image
|
|
190
|
-
"@
|
|
187
|
+
"@kitschpatrol/tweakpane-plugin-camerakit": "^0.3.0",
|
|
188
|
+
"@kitschpatrol/tweakpane-plugin-essentials": "^0.2.1",
|
|
189
|
+
"@kitschpatrol/tweakpane-plugin-image": "^2.0.0",
|
|
190
|
+
"@kitschpatrol/tweakpane-plugin-profiler": "^0.4.1",
|
|
191
|
+
"@kitschpatrol/tweakpane-plugin-rotation": "^0.2.0",
|
|
192
|
+
"@kitschpatrol/tweakpane-plugin-textarea": "^2.0.0",
|
|
193
|
+
"@kitschpatrol/tweakpane-plugin-waveform": "^1.0.3",
|
|
191
194
|
"@tweakpane/core": "2.0.3",
|
|
192
|
-
"@tweakpane/plugin-camerakit": "0.3.0",
|
|
193
|
-
"@tweakpane/plugin-essentials": "0.2.1",
|
|
194
195
|
"esm-env": "1.0.0",
|
|
195
196
|
"fast-copy": "3.0.1",
|
|
196
197
|
"fast-equals": "5.0.1",
|
|
197
198
|
"nanoid": "5.0.6",
|
|
198
199
|
"svelte-local-storage-store": "0.6.4",
|
|
199
|
-
"tweakpane": "4.0.3"
|
|
200
|
-
"tweakpane-plugin-waveform": "1.0.0"
|
|
200
|
+
"tweakpane": "4.0.3"
|
|
201
201
|
},
|
|
202
202
|
"devDependencies": {
|
|
203
|
-
"@kitschpatrol/shared-config": "^4.6.
|
|
203
|
+
"@kitschpatrol/shared-config": "^4.6.6",
|
|
204
204
|
"@phenomnomnominal/tsquery": "^6.1.3",
|
|
205
205
|
"@playwright/test": "^1.44.0",
|
|
206
206
|
"@stkb/rewrap": "^0.1.0",
|
|
207
207
|
"@sveltejs/adapter-static": "^3.0.1",
|
|
208
|
-
"@sveltejs/kit": "^2.5.
|
|
208
|
+
"@sveltejs/kit": "^2.5.9",
|
|
209
209
|
"@sveltejs/package": "^2.3.1",
|
|
210
210
|
"@sveltejs/vite-plugin-svelte": "^3.1.0",
|
|
211
211
|
"@types/eslint": "^8.56.10",
|
|
212
212
|
"@types/fs-extra": "^11.0.4",
|
|
213
|
-
"@types/node": "^20.12.
|
|
213
|
+
"@types/node": "^20.12.12",
|
|
214
214
|
"bumpp": "^9.4.1",
|
|
215
215
|
"eslint": "^8.57.0",
|
|
216
216
|
"fs-extra": "^11.2.0",
|
|
217
217
|
"glob": "^10.3.15",
|
|
218
218
|
"npm-run-all": "^4.1.5",
|
|
219
219
|
"postcss-html": "^1.7.0",
|
|
220
|
-
"publint": "^0.2.
|
|
220
|
+
"publint": "^0.2.8",
|
|
221
221
|
"read-package-up": "^11.0.0",
|
|
222
222
|
"svelte": "^4.2.17",
|
|
223
223
|
"svelte-check": "^3.7.1",
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
"svelte2tsx": "^0.7.8",
|
|
226
226
|
"ts-morph": "^22.0.0",
|
|
227
227
|
"tslib": "^2.6.2",
|
|
228
|
-
"tsx": "^4.10.
|
|
228
|
+
"tsx": "^4.10.5",
|
|
229
229
|
"typescript": "^5.4.5",
|
|
230
230
|
"vite": "^5.2.11",
|
|
231
231
|
"yaml": "^2.4.2"
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
"build:01-sync": "pnpm run check",
|
|
236
236
|
"build:02-exports": "tsx ./scripts/generate-exports.ts",
|
|
237
237
|
"build:03-add-source-links": "tsx ./scripts/add-source-links.ts",
|
|
238
|
-
"build:04-format": "pnpm run format",
|
|
238
|
+
"build:04-format": "pnpm run format && prettier-config --fix ./readme.md",
|
|
239
239
|
"build:05-package": "svelte-package && publint",
|
|
240
240
|
"build:06-heal-dts-comments": "tsx ./scripts/heal-dts-comments.ts",
|
|
241
241
|
"build:07-strip-component-documentation": "tsx ./scripts/strip-component-documentation.ts",
|
|
@@ -262,7 +262,7 @@
|
|
|
262
262
|
"release": "run-s --print-label release:*",
|
|
263
263
|
"release:1-build": "pnpm run build",
|
|
264
264
|
"release:2-version": "pnpm bumpp --commit 'Release: %s' --tag 'v%s'",
|
|
265
|
-
"release:3-publish": "pnpm publish --
|
|
265
|
+
"release:3-publish": "pnpm publish --ignore-scripts --otp $(op read 'op://Personal/Npmjs/one-time password?attribute=otp')",
|
|
266
266
|
"rewrap": "rewrap -i --column 100 `find src \\( -name '*.svelte' -o -name '*.ts' -o -name '*.html' \\) -type f | grep -v src/examples`",
|
|
267
267
|
"test": "run-s --print-label test:*",
|
|
268
268
|
"test:integration": "playwright test",
|
package/readme.md
CHANGED
|
@@ -29,13 +29,13 @@
|
|
|
29
29
|
[](https://npmjs.com/package/svelte-tweakpane-ui)
|
|
30
30
|
[](https://opensource.org/licenses/MIT)
|
|
31
31
|
[](https://madewithsvelte.com/p/svelte-tweakpane-ui/shield-link)
|
|
32
|
-
[](https://kitschpatrol.com/svelte-tweakpane-ui)
|
|
33
33
|
|
|
34
34
|
<!-- /badges -->
|
|
35
35
|
|
|
36
36
|
## Overview
|
|
37
37
|
|
|
38
|
-
🎛️ **_Svelte Tweakpane UI_** wraps user-interface elements from the excellent [Tweakpane](https://tweakpane.github.io/docs/) library in a collection of 31 idiomatic, reactive, type-safe, carefully-crafted, and obsessively-documented [Svelte](https://svelte.dev) components.
|
|
38
|
+
🎛️ **_Svelte Tweakpane UI_** wraps user-interface elements from the excellent [Tweakpane](https://tweakpane.github.io/docs/) library in a collection of <!-- component-count -->31<!-- /component-count --> idiomatic, reactive, type-safe, carefully-crafted, and obsessively-documented [Svelte](https://svelte.dev) components.
|
|
39
39
|
|
|
40
40
|
The library makes it easy to quickly and declaratively add knobs and dials to your projects using components that feel like they were made for Svelte. It also augments Tweakpane with a few [extra features](https://kitschpatrol.com/svelte-tweakpane-ui/docs/features) for your convenience and enjoyment.
|
|
41
41
|
|
|
@@ -68,6 +68,86 @@ npm install svelte-tweakpane-ui
|
|
|
68
68
|
<Button on:click={() => alert('🎛️')} />
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
+
## Components
|
|
72
|
+
|
|
73
|
+
<!-- component-list -->
|
|
74
|
+
|
|
75
|
+
### Core
|
|
76
|
+
|
|
77
|
+
- **[Binding](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/binding)**\
|
|
78
|
+
Wraps the Tweakpane [`addBinding`](https://tweakpane.github.io/docs/input-bindings/) method.
|
|
79
|
+
- **[Blade](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/blade)**\
|
|
80
|
+
Wraps the Tweakpane [`addBlade`](https://tweakpane.github.io/docs/blades/) method.
|
|
81
|
+
- **[Folder](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/folder)**\
|
|
82
|
+
Organize multiple controls into a collapsable folder.
|
|
83
|
+
- **[Pane](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/pane)**\
|
|
84
|
+
The root `<Pane>` component, used for organizing controls into a single group and controlling how and where the Tweakpane is displayed.
|
|
85
|
+
- **[Separator](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/separator)**\
|
|
86
|
+
A convenience component providing a subtle visual separator between controls, in the spirit of the HTML `<hr>` element.
|
|
87
|
+
- **[TabGroup](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/tabgroup)**\
|
|
88
|
+
Contains a collection of `<TabPage>` components to be presented as a tabs.
|
|
89
|
+
- **[TabPage](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/tabpage)**\
|
|
90
|
+
Contains a collection of Tweakpane controls to be presented as a single group inside a `<TabGroup>` component.
|
|
91
|
+
|
|
92
|
+
### Control
|
|
93
|
+
|
|
94
|
+
- **[Button](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/button)**\
|
|
95
|
+
A humble but effective push button.
|
|
96
|
+
- **[ButtonGrid](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/buttongrid)**\
|
|
97
|
+
A grid of `<Button>` components.
|
|
98
|
+
- **[Checkbox](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/checkbox)**\
|
|
99
|
+
A checkbox.
|
|
100
|
+
- **[Color](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/color)**\
|
|
101
|
+
A color picker.
|
|
102
|
+
- **[CubicBezier](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/cubicbezier)**\
|
|
103
|
+
A control for editing a bezier curve. Ideal for tweaking animation easing values.
|
|
104
|
+
- **[Image](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/image)**\
|
|
105
|
+
An image input control.
|
|
106
|
+
- **[IntervalSlider](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/intervalslider)**\
|
|
107
|
+
A twin-handled slider control for specifying range values.
|
|
108
|
+
- **[List](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/list)**\
|
|
109
|
+
An option list picker, similar to an HTML `<select>` element.
|
|
110
|
+
- **[Point](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/point)**\
|
|
111
|
+
Wraps the Tweakpane [point bindings](https://tweakpane.github.io/docs/input-bindings/#point).
|
|
112
|
+
- **[RadioGrid](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/radiogrid)**\
|
|
113
|
+
A grid of radio buttons.
|
|
114
|
+
- **[Ring](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/ring)**\
|
|
115
|
+
A control evoking the focus ring on a proper camera lens.
|
|
116
|
+
- **[RotationEuler](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/rotationeuler)**\
|
|
117
|
+
Integrates the [euler rotation](https://github.com/0b5vr/tweakpane-plugin-rotation/blob/dev/src/RotationInputPluginEuler.ts) control from [0b5vr](https://0b5vr.com)'s [tweakpane-plugin-rotation](https://github.com/0b5vr/tweakpane-plugin-rotation).
|
|
118
|
+
- **[RotationQuaternion](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/rotationquaternion)**\
|
|
119
|
+
Integrates the [quaternion rotation](https://github.com/0b5vr/tweakpane-plugin-rotation/blob/dev/src/RotationInputPluginQuaternion.ts) control from [0b5vr](https://0b5vr.com)'s [tweakpane-plugin-rotation](https://github.com/0b5vr/tweakpane-plugin-rotation).
|
|
120
|
+
- **[Slider](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/slider)**\
|
|
121
|
+
A slider component providing fine-grained control over numeric values.
|
|
122
|
+
- **[Text](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/text)**\
|
|
123
|
+
A text field, in the spirit of the HTML `<input type="text">` element.
|
|
124
|
+
- **[Textarea](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/textarea)**\
|
|
125
|
+
A multi-line text input field, in the spirit of the HTML `<textarea>` element.
|
|
126
|
+
- **[Wheel](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/wheel)**\
|
|
127
|
+
A control evoking a dial on a proper camera body.
|
|
128
|
+
|
|
129
|
+
### Monitor
|
|
130
|
+
|
|
131
|
+
- **[FpsGraph](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/fpsgraph)**\
|
|
132
|
+
A control for monitoring and graphing frame rates over time.
|
|
133
|
+
- **[Monitor](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/monitor)**\
|
|
134
|
+
Wraps the Tweakpane [monitor binding](https://tweakpane.github.io/docs/monitor-bindings/) functionality for `boolean`, `number`, and `string` values.
|
|
135
|
+
- **[Profiler](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/profiler)**\
|
|
136
|
+
Measure and visualize multiple quantities over time.
|
|
137
|
+
- **[WaveformMonitor](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/waveformmonitor)**\
|
|
138
|
+
Visualize multiple numeric values as a waveform.
|
|
139
|
+
|
|
140
|
+
### Extra
|
|
141
|
+
|
|
142
|
+
- **[AutoObject](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/autoobject)**\
|
|
143
|
+
Rapid-development component which automatically creates a set of Tweakpane controls for an arbitrary object.
|
|
144
|
+
- **[AutoValue](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/autovalue)**\
|
|
145
|
+
Rapid-development component which automatically creates a Tweakpane control for an arbitrary value.
|
|
146
|
+
- **[Element](https://kitschpatrol.com/svelte-tweakpane-ui/docs/components/element)**\
|
|
147
|
+
A component for embedding arbitrary HTML elements into a pane.
|
|
148
|
+
|
|
149
|
+
<!-- /component-list -->
|
|
150
|
+
|
|
71
151
|
## Maintainers
|
|
72
152
|
|
|
73
153
|
[@kitschpatrol](https://github.com/kitschpatrol)
|
|
@@ -84,6 +164,6 @@ npm install svelte-tweakpane-ui
|
|
|
84
164
|
|
|
85
165
|
<!-- /footer -->
|
|
86
166
|
|
|
87
|
-
|
|
167
|
+
---
|
|
88
168
|
|
|
89
169
|
_Note: This library is not to be confused with Karl Moore's [`svelte-tweakpane`](https://github.com/pierogis/svelte-tweakpane)._
|