svelte-tweakpane-ui
Version:
A Svelte component library wrapping UI elements from Tweakpane, plus some additional functionality for convenience and flexibility.
147 lines (146 loc) • 4.81 kB
TypeScript
import { SvelteComponent } from 'svelte'
import type { GenericInputOptions, GenericInputRef } from './GenericInput.svelte'
export type GenericInputFoldingOptions = {
expanded?: boolean
} & GenericInputOptions
export type GenericInputFoldingRef = GenericInputRef
declare class __sveltets_Render<
T extends any,
U extends GenericInputFoldingOptions = GenericInputFoldingOptions,
V extends GenericInputFoldingRef = GenericInputFoldingRef,
> {
props(): {
/**
* DOM class name of the button used to expand and collapse the input's picker.
* @default `undefined`
* */
buttonClass?: string
/**
* Expand or collapse the input's picker.
* @default `false`
* @bindable
* */
expanded?: boolean
/**
* The style of value "picker" to use in the input.
* @default `'popup'`
*/
picker?: 'inline' | 'popup'
/**
* Allow users to interactively expand / contract the picker.
* @default `true`
* */
userExpandable?: boolean
} & {
/**
* The value to control.
* @bindable
*/
value: T
} & Omit<
{
/**
* The binding's target object with values to manipulate.
* @bindable
*/
object: import('@tweakpane/core').Bindable & Record<string, T>
/** The key for the value in the target `object` that the control should manipulate. */
key: string
/**
* Prevent interactivity and gray out the control.
* @default `false`
*/
disabled?: boolean
/**
* Text displayed next to control.
* @default `undefined`
*/
label?: string | undefined
/**
* Tweakpane's internal options object.
*
* See [`BindingParams`](https://tweakpane.github.io/docs/api/types/BindingParams.html).
*
* Valid types are contingent on the type of the value `key` points to in `object`.
*
* This is intended internal use, when implementing convenience components wrapping Binding's
* functionality. Options of interest are instead exposed as top-level props in _Svelte
* Tweakpane UI_.
* @default `undefined`
*/
options?: U | undefined
/**
* Custom color scheme.
*
* @default `undefined` \
* Inherits default Tweakpane theme equivalent to `ThemeUtils.presets.standard`, or the theme
* set with `setGlobalDefaultTheme()`.
*/
theme?: import('..').Theme | undefined
/**
* Reference to internal Tweakpane
* [`BindingApi`](https://tweakpane.github.io/docs/api/classes/_internal_.BindingApi.html) for
* this control.
*
* This property is exposed for advanced use cases only, such as when implementing convenience
* components wrapping `<Binding>`'s functionality.
*
* Direct manipulation of Tweakpane's internals can break _Svelte Tweakpane UI_ abstractions.
*
* @bindable
* @readonly
*/
ref?: V | undefined
/**
* Imported Tweakpane `TpPluginBundle` (aliased as `Plugin`) module to automatically register in
* the `<Binding>`'s containing `<Pane>`.
*
* This property is exposed for advanced use cases only, such as when implementing convenience
* components wrapping `<Binding>`'s functionality in combination with a Tweakpane plugin.
*
* Direct manipulation of Tweakpane's internals can break _Svelte Tweakpane UI_ abstractions.
*
* @default `undefined`
*/
plugin?: import('../utils.js').Plugin | undefined
},
'object' | 'key'
>
events(): {
change: import('..').BindingChangeEvent
} & {
[evt: string]: CustomEvent<any>
}
slots(): {}
}
export type GenericInputFoldingProps<
T extends any,
U extends GenericInputFoldingOptions = GenericInputFoldingOptions,
V extends GenericInputFoldingRef = GenericInputFoldingRef,
> = ReturnType<__sveltets_Render<T, U, V>['props']>
export type GenericInputFoldingEvents<
T extends any,
U extends GenericInputFoldingOptions = GenericInputFoldingOptions,
V extends GenericInputFoldingRef = GenericInputFoldingRef,
> = ReturnType<__sveltets_Render<T, U, V>['events']>
export type GenericInputFoldingSlots<
T extends any,
U extends GenericInputFoldingOptions = GenericInputFoldingOptions,
V extends GenericInputFoldingRef = GenericInputFoldingRef,
> = ReturnType<__sveltets_Render<T, U, V>['slots']>
/**
* This component is for internal use only.
*
* @sourceLink
* [GenericInputFolding.svelte](https://github.com/kitschpatrol/svelte-tweakpane-ui/blob/main/src/lib/internal/GenericInputFolding.svelte)
*/
export default class GenericInputFolding<
T extends any,
U extends GenericInputFoldingOptions = GenericInputFoldingOptions,
V extends GenericInputFoldingRef = GenericInputFoldingRef,
> extends SvelteComponent<
GenericInputFoldingProps<T, U, V>,
GenericInputFoldingEvents<T, U, V>,
GenericInputFoldingSlots<T, U, V>
> {}
export {}