k3-plugin-api 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +791 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +4 -6
- package/index.d.ts +0 -11
- package/index.d.ts.map +0 -1
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,791 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* K3 runtime hooks available to plugins after initialization.
|
|
4
|
+
* Set via `init()` when the plugin is loaded.
|
|
5
|
+
*/
|
|
6
|
+
export interface K3Hooks {
|
|
7
|
+
/**
|
|
8
|
+
* React hook to access plugin-specific settings.
|
|
9
|
+
* @param pluginId - The unique plugin ID (e.g. "acme.my-plugin")
|
|
10
|
+
* @returns The settings object for this plugin, or `{}` if none are configured
|
|
11
|
+
*/
|
|
12
|
+
useSettings: (pluginId: string) => unknown;
|
|
13
|
+
/**
|
|
14
|
+
* React hook to access the current Bill-of-Materials.
|
|
15
|
+
* @returns Array of BOM entries derived from the current selection
|
|
16
|
+
*/
|
|
17
|
+
useBOM: () => K3BomEntry[];
|
|
18
|
+
/**
|
|
19
|
+
* React hook to access the current total price.
|
|
20
|
+
* @returns The effective total price (MOV-adjusted or overall price)
|
|
21
|
+
*/
|
|
22
|
+
usePrice: () => number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Hook functions injected by K3 at runtime.
|
|
26
|
+
* Use these in your plugin components to access configurator state.
|
|
27
|
+
*/
|
|
28
|
+
export declare let useSettings: K3Hooks["useSettings"];
|
|
29
|
+
export declare let useBOM: K3Hooks["useBOM"];
|
|
30
|
+
export declare let usePrice: K3Hooks["usePrice"];
|
|
31
|
+
/**
|
|
32
|
+
* Called by K3 when the plugin is loaded to inject runtime hooks.
|
|
33
|
+
* @internal This function is called by K3 automatically - plugins should not call it directly.
|
|
34
|
+
*/
|
|
35
|
+
export declare function init(hooks: K3Hooks): void;
|
|
36
|
+
/** A Higher-Order Component: takes the default component, returns a new one. */
|
|
37
|
+
export type HOC<P = Record<string, unknown>> = (comp: React.FC<P>) => React.FC<P>;
|
|
38
|
+
/** Four editor languages supported by K3. */
|
|
39
|
+
export type LocalizedString = {
|
|
40
|
+
de?: string;
|
|
41
|
+
en?: string;
|
|
42
|
+
nl?: string;
|
|
43
|
+
fr?: string;
|
|
44
|
+
};
|
|
45
|
+
/** An HOC slot with a required description for the admin UI. */
|
|
46
|
+
export interface HOCWithDescription<P = Record<string, unknown>> {
|
|
47
|
+
hoc: HOC<P>;
|
|
48
|
+
/** Describe what this extension point does. Shown in the plugin extensions dialog. */
|
|
49
|
+
description: string | LocalizedString;
|
|
50
|
+
}
|
|
51
|
+
/** A logic callback with a required description for the admin UI. */
|
|
52
|
+
export interface CallbackWithDescription<T> {
|
|
53
|
+
fn: T;
|
|
54
|
+
/** Describe what this callback does. Shown in the plugin extensions dialog. */
|
|
55
|
+
description: string | LocalizedString;
|
|
56
|
+
}
|
|
57
|
+
export interface K3PluginDescriptor {
|
|
58
|
+
/** Unique stable identifier, e.g. "vendor.myplugin". Required for collision detection. */
|
|
59
|
+
id: string;
|
|
60
|
+
/** Semver string, e.g. "1.0.0". */
|
|
61
|
+
version: string;
|
|
62
|
+
/** UI extension points: layout HOCs, input HOCs, dialog HOCs. */
|
|
63
|
+
ui?: K3UIExtensions;
|
|
64
|
+
/** Viewer / 3D extension points: canvas, scene components, layout components, dynamic models. */
|
|
65
|
+
viewer?: K3ViewerExtensions;
|
|
66
|
+
/** Logic/callback hooks: config, camera, core. */
|
|
67
|
+
logic?: K3LogicExtensions;
|
|
68
|
+
settings?: React.ComponentType<{
|
|
69
|
+
settings: unknown;
|
|
70
|
+
onSave: (settings: unknown) => void;
|
|
71
|
+
}>;
|
|
72
|
+
/** @deprecated Use viewer.models instead. */
|
|
73
|
+
dynamicModels?: DynamicModel[];
|
|
74
|
+
}
|
|
75
|
+
export interface K3UIExtensions {
|
|
76
|
+
/** Override layout shell components. */
|
|
77
|
+
layout?: K3LayoutExtensions;
|
|
78
|
+
/** Register new variable visualisations (renderers) per variable data type. */
|
|
79
|
+
inputs?: K3InputExtensions;
|
|
80
|
+
/** Override dialog components. */
|
|
81
|
+
dialogs?: K3DialogExtensions;
|
|
82
|
+
}
|
|
83
|
+
export interface K3LayoutExtensions {
|
|
84
|
+
/** Wraps the outermost app shell component. */
|
|
85
|
+
root?: HOCWithDescription;
|
|
86
|
+
/** Wraps the top header bar containing branding, navigation buttons, and scene controls. */
|
|
87
|
+
header?: HOCWithDescription;
|
|
88
|
+
/** Wraps the sidebar container that lists groups and variables. */
|
|
89
|
+
sidebar?: HOCWithDescription;
|
|
90
|
+
/** Wraps the header section inside the sidebar (above the groups list). */
|
|
91
|
+
sidebarHeader?: HOCWithDescription;
|
|
92
|
+
/** Wraps the footer section inside the sidebar (below the groups list). */
|
|
93
|
+
sidebarFooter?: HOCWithDescription;
|
|
94
|
+
/** Wraps the bottom footer bar of the app shell. */
|
|
95
|
+
footer?: HOCWithDescription;
|
|
96
|
+
/** Wraps the main content / viewer area of the configurator page. */
|
|
97
|
+
contentView?: HOCWithDescription;
|
|
98
|
+
/** Wraps the gallery / image viewer page layout. */
|
|
99
|
+
gallery?: HOCWithDescription;
|
|
100
|
+
/** Wraps the branding slot in the header (typically a logo + brand name). */
|
|
101
|
+
branding?: HOCWithDescription;
|
|
102
|
+
/** Wraps the logo image component inside the branding area. */
|
|
103
|
+
logo?: HOCWithDescription;
|
|
104
|
+
/** Wraps the previous/next group navigation button bar. */
|
|
105
|
+
navigationButtons?: HOCWithDescription;
|
|
106
|
+
/** Wraps the exit / close configurator button(s). */
|
|
107
|
+
exitButtons?: HOCWithDescription;
|
|
108
|
+
/** Wraps the 3D scene action buttons (e.g. AR, fullscreen, screenshot). */
|
|
109
|
+
sceneButtons?: HOCWithDescription;
|
|
110
|
+
/** Wraps the price display component shown in the header or footer. */
|
|
111
|
+
price?: HOCWithDescription;
|
|
112
|
+
/** Wraps the label/hotspot action display overlay rendered on the desktop 3D canvas. */
|
|
113
|
+
labelActionDisplay?: HOCWithDescription;
|
|
114
|
+
/** Wraps the label/hotspot action display overlay rendered on mobile. */
|
|
115
|
+
mobileLabelActionDisplay?: HOCWithDescription;
|
|
116
|
+
/** Wraps the modal shown when a selection violates a mandatory rule. */
|
|
117
|
+
invalidRuleModal?: HOCWithDescription;
|
|
118
|
+
/** Wraps a component that is only mounted after the app has fully loaded. */
|
|
119
|
+
mountedWhenLoaded?: HOCWithDescription;
|
|
120
|
+
/** Wraps the top-level configurator page layout (groups navigation + variable panel). */
|
|
121
|
+
configurator?: HOCWithDescription;
|
|
122
|
+
/** Wraps each group label in the sidebar navigation list. */
|
|
123
|
+
groupLabel?: HOCWithDescription;
|
|
124
|
+
/** Wraps the expandable group panel that contains its variables. */
|
|
125
|
+
groupPanel?: HOCWithDescription;
|
|
126
|
+
/** Wraps the additional-groups slot appended below the main groups list. */
|
|
127
|
+
additionalGroups?: HOCWithDescription;
|
|
128
|
+
/** Wraps the additional-variables slot appended at the end of a group's variable list. */
|
|
129
|
+
additionalVars?: HOCWithDescription;
|
|
130
|
+
/** Wraps each individual variable label inside a group panel. */
|
|
131
|
+
variableLabel?: HOCWithDescription;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Props passed to a plugin variable component (VariableVisualisation.component) at runtime.
|
|
135
|
+
* Use these to render a fully custom variable input UI.
|
|
136
|
+
*/
|
|
137
|
+
export interface K3VariableComponentProps {
|
|
138
|
+
/** The variable definition for which this component is rendered. */
|
|
139
|
+
variable: {
|
|
140
|
+
/** Database ID of the variable. */
|
|
141
|
+
id: string | number;
|
|
142
|
+
/** Translated display label of the variable. */
|
|
143
|
+
label: string;
|
|
144
|
+
/** Data type of the variable (list, color, number, …). */
|
|
145
|
+
type: VariableTypes;
|
|
146
|
+
settings?: {
|
|
147
|
+
/** Key of the VariableVisualisation that should be used to render this variable. */
|
|
148
|
+
template?: string;
|
|
149
|
+
templateOptions?: {
|
|
150
|
+
min?: number;
|
|
151
|
+
max?: number;
|
|
152
|
+
digits?: number;
|
|
153
|
+
[key: string]: unknown;
|
|
154
|
+
};
|
|
155
|
+
[key: string]: unknown;
|
|
156
|
+
};
|
|
157
|
+
[key: string]: unknown;
|
|
158
|
+
};
|
|
159
|
+
/** The currently active selection for this variable, if any. */
|
|
160
|
+
selection?: {
|
|
161
|
+
/** ID of the currently selected value. */
|
|
162
|
+
id: string | number;
|
|
163
|
+
data?: {
|
|
164
|
+
inputValue?: number;
|
|
165
|
+
[key: string]: unknown;
|
|
166
|
+
};
|
|
167
|
+
[key: string]: unknown;
|
|
168
|
+
};
|
|
169
|
+
/** All available value options for this variable. */
|
|
170
|
+
values?: Array<{
|
|
171
|
+
/** Database ID of the value. */
|
|
172
|
+
id: string | number;
|
|
173
|
+
/** Translated display label of the value. */
|
|
174
|
+
label: string;
|
|
175
|
+
/** Raw value payload (hex color, boolean, etc.). */
|
|
176
|
+
value?: string | boolean | null;
|
|
177
|
+
[key: string]: unknown;
|
|
178
|
+
}>;
|
|
179
|
+
/**
|
|
180
|
+
* Commit a selection.
|
|
181
|
+
* Number variables: onChange(values[0].id, { inputValue: numericValue })
|
|
182
|
+
* List/color/boolean: onChange(value.id)
|
|
183
|
+
*/
|
|
184
|
+
onChange: (valueId: string | number, metadata?: {
|
|
185
|
+
inputValue?: number;
|
|
186
|
+
}) => void;
|
|
187
|
+
/** When `true`, the variable is locked and user interaction should be blocked. */
|
|
188
|
+
disabled?: boolean;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* A plugin-registered variable renderer (VariableVisualisation).
|
|
192
|
+
* Displayed as a selectable option in the admin visualisation chooser.
|
|
193
|
+
* The component owns its full UI — label, input, chrome.
|
|
194
|
+
*/
|
|
195
|
+
export interface VariableVisualisation {
|
|
196
|
+
/**
|
|
197
|
+
* Globally unique template key, e.g. "acme.mySlider".
|
|
198
|
+
* Set variable.settings.template = this key to use this visualisation.
|
|
199
|
+
* Must be namespaced to avoid collisions.
|
|
200
|
+
*/
|
|
201
|
+
key: string;
|
|
202
|
+
/** Label shown in the admin visualisation chooser. */
|
|
203
|
+
label: string;
|
|
204
|
+
/** Describe what this visualisation does. Shown in the plugin extensions dialog. */
|
|
205
|
+
description: string | LocalizedString;
|
|
206
|
+
/** Full variable renderer component. Receives K3VariableComponentProps. */
|
|
207
|
+
component: React.ComponentType<K3VariableComponentProps>;
|
|
208
|
+
}
|
|
209
|
+
export interface K3InputExtensions {
|
|
210
|
+
/** Register new visualisations for list-type variables. */
|
|
211
|
+
list?: VariableVisualisation[];
|
|
212
|
+
/** Register new visualisations for color-type variables. */
|
|
213
|
+
color?: VariableVisualisation[];
|
|
214
|
+
/** Register new visualisations for number-type variables (e.g. custom slider). */
|
|
215
|
+
number?: VariableVisualisation[];
|
|
216
|
+
/** Register new visualisations for text-type variables. */
|
|
217
|
+
text?: VariableVisualisation[];
|
|
218
|
+
/** Register new visualisations for boolean-type variables. */
|
|
219
|
+
boolean?: VariableVisualisation[];
|
|
220
|
+
/** Register new visualisations for image-type variables. */
|
|
221
|
+
image?: VariableVisualisation[];
|
|
222
|
+
/** Register new visualisations for upload-type variables. */
|
|
223
|
+
upload?: VariableVisualisation[];
|
|
224
|
+
/** Register new visualisations for components-type variables. */
|
|
225
|
+
components?: VariableVisualisation[];
|
|
226
|
+
/** Register new visualisations for information-type variables. */
|
|
227
|
+
information?: VariableVisualisation[];
|
|
228
|
+
}
|
|
229
|
+
export interface K3DialogExtensions {
|
|
230
|
+
/** Extension points for the order / summary dialog (contact form, price table, confirmation). */
|
|
231
|
+
order?: K3OrderDialogExtensions;
|
|
232
|
+
/** Extension points for inline selection-warning components shown in the sidebar. */
|
|
233
|
+
warnings?: K3WarningExtensions;
|
|
234
|
+
}
|
|
235
|
+
export interface K3OrderDialogExtensions {
|
|
236
|
+
/** Wraps the entire order dialog modal. */
|
|
237
|
+
root?: HOCWithDescription;
|
|
238
|
+
/** Wraps the dialog headline / title element. */
|
|
239
|
+
headline?: HOCWithDescription;
|
|
240
|
+
/** Wraps the customer contact form fields (name, email, …). */
|
|
241
|
+
contactFields?: HOCWithDescription;
|
|
242
|
+
/** Wraps the price table container in the order summary. */
|
|
243
|
+
priceTable?: HOCWithDescription;
|
|
244
|
+
/** Wraps the list of selected option rows inside the price table. */
|
|
245
|
+
priceTableSelectionList?: HOCWithDescription;
|
|
246
|
+
/** Wraps the list of article/BOM rows inside the price table. */
|
|
247
|
+
priceTableArticleList?: HOCWithDescription;
|
|
248
|
+
/** Wraps the totals row at the bottom of the price table. */
|
|
249
|
+
priceTableTotal?: HOCWithDescription;
|
|
250
|
+
/** Wraps the success confirmation screen shown after a successful order submission. */
|
|
251
|
+
confirmationSuccess?: HOCWithDescription;
|
|
252
|
+
/** Wraps the error confirmation screen shown after a failed order submission. */
|
|
253
|
+
confirmationError?: HOCWithDescription;
|
|
254
|
+
}
|
|
255
|
+
export interface K3WarningExtensions {
|
|
256
|
+
/** Wraps the full invalid-selection warning component (red badge next to a variable value). */
|
|
257
|
+
invalidSelection?: HOCWithDescription;
|
|
258
|
+
/** Wraps the icon inside the invalid-selection warning. */
|
|
259
|
+
invalidSelectionIcon?: HOCWithDescription;
|
|
260
|
+
/** Wraps the tooltip content shown when hovering the invalid-selection warning. */
|
|
261
|
+
invalidSelectionTooltip?: HOCWithDescription;
|
|
262
|
+
/** Wraps the tooltip content shown when a number variable value is out of bounds. */
|
|
263
|
+
numberWarningTooltip?: HOCWithDescription;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* A single Bill-of-Materials entry exposed to plugin components.
|
|
267
|
+
* Mirrors the internal BOMEntry shape using only primitive/simple types.
|
|
268
|
+
*/
|
|
269
|
+
export interface K3BomEntry {
|
|
270
|
+
article: {
|
|
271
|
+
id: number;
|
|
272
|
+
/** Article number as defined in the K3 admin. */
|
|
273
|
+
no: string;
|
|
274
|
+
name: string;
|
|
275
|
+
description?: string | null;
|
|
276
|
+
thumbnail?: string | null;
|
|
277
|
+
category?: string | null;
|
|
278
|
+
};
|
|
279
|
+
/** Quantity of this article for the current selection. */
|
|
280
|
+
qty: number;
|
|
281
|
+
/** Optional override quantity from the article amount modal. */
|
|
282
|
+
amount?: number | null;
|
|
283
|
+
/** Price of a single unit of this article. */
|
|
284
|
+
price: {
|
|
285
|
+
price: number;
|
|
286
|
+
unit?: string;
|
|
287
|
+
};
|
|
288
|
+
/** Whether this is a main article (`true`) or an accessory/surcharge (`false`). */
|
|
289
|
+
main?: boolean;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Props automatically injected into every `customLayoutComponents` entry.
|
|
293
|
+
*
|
|
294
|
+
* @remarks TODO(WIP) — This interface will grow as more configurator data is
|
|
295
|
+
* exposed to plugins.
|
|
296
|
+
*/
|
|
297
|
+
export interface CustomLayoutComponentProps {
|
|
298
|
+
/** The slot name this component was mounted under. */
|
|
299
|
+
name: string;
|
|
300
|
+
/**
|
|
301
|
+
* Live Bill-of-Materials rows derived from the current selection.
|
|
302
|
+
* Each entry represents one article line or surcharge line.
|
|
303
|
+
*/
|
|
304
|
+
bom: K3BomEntry[];
|
|
305
|
+
/**
|
|
306
|
+
* Aggregated total price for the current configuration in the app's currency unit.
|
|
307
|
+
* TODO(WIP): Currency/formatting helpers are not yet part of the public API.
|
|
308
|
+
*/
|
|
309
|
+
totalPrice: number;
|
|
310
|
+
/** Any additional props forwarded by the layout. */
|
|
311
|
+
[key: string]: unknown;
|
|
312
|
+
}
|
|
313
|
+
export interface K3ViewerExtensions {
|
|
314
|
+
/** Wraps the root Three.js / R3F canvas element. */
|
|
315
|
+
canvas?: HOCWithDescription;
|
|
316
|
+
/**
|
|
317
|
+
* Named React components injected into the configurator layout by key.
|
|
318
|
+
* Consumed by `getDynamicComponents` to render plugin-provided UI inside layout slots.
|
|
319
|
+
* Use a plain component (no HOC wrapping needed).
|
|
320
|
+
*
|
|
321
|
+
* Components receive {@link CustomLayoutComponentProps} with BOM and total price data.
|
|
322
|
+
*/
|
|
323
|
+
customLayoutComponents?: Record<string, React.ComponentType<CustomLayoutComponentProps>>;
|
|
324
|
+
/** Dynamic 3D model definitions contributed by this plugin. Equivalent to the top-level `dynamicModels`. */
|
|
325
|
+
models?: DynamicModel[];
|
|
326
|
+
/** Override the label / hotspot overlay components rendered on the 3D canvas. */
|
|
327
|
+
labels?: {
|
|
328
|
+
/** Wraps the label action display overlay on desktop. Alias for `ui.layout.labelActionDisplay`. */
|
|
329
|
+
display?: HOCWithDescription;
|
|
330
|
+
/** Wraps the label action display overlay on mobile. Alias for `ui.layout.mobileLabelActionDisplay`. */
|
|
331
|
+
mobile?: HOCWithDescription;
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
/** [x, y, z] coordinate tuple used on camera objects. */
|
|
335
|
+
export type K3Coordinates = [number, number, number];
|
|
336
|
+
/**
|
|
337
|
+
* Restricts a camera to a specific configurator context.
|
|
338
|
+
* `"group"` / `"variable"` — camera activates only when that item is in view; `id` is the entity's database ID.
|
|
339
|
+
* `"general"` — camera is always available regardless of the active group or variable.
|
|
340
|
+
*/
|
|
341
|
+
export type K3CameraScope = {
|
|
342
|
+
type: "group" | "variable";
|
|
343
|
+
id: number;
|
|
344
|
+
} | {
|
|
345
|
+
type: "general";
|
|
346
|
+
id?: null;
|
|
347
|
+
};
|
|
348
|
+
interface K3BaseCamera {
|
|
349
|
+
/** Unique database ID of the camera record. */
|
|
350
|
+
id: string;
|
|
351
|
+
/** Human-readable camera name as set in the scene editor. */
|
|
352
|
+
name: string;
|
|
353
|
+
/** World-space XYZ position of the camera. */
|
|
354
|
+
position: K3Coordinates;
|
|
355
|
+
/** World-space XYZ point the camera is aimed at. */
|
|
356
|
+
lookAt: K3Coordinates;
|
|
357
|
+
/** Euler rotation [x, y, z] in radians. */
|
|
358
|
+
rotation: K3Coordinates;
|
|
359
|
+
/** Optional override for the screenshot render resolution in pixels. */
|
|
360
|
+
resolution?: {
|
|
361
|
+
width: number;
|
|
362
|
+
height: number;
|
|
363
|
+
};
|
|
364
|
+
/** Transition easing threshold used by the camera animation driver. */
|
|
365
|
+
threshold?: number;
|
|
366
|
+
/**
|
|
367
|
+
* How the camera's look-at target is computed.
|
|
368
|
+
* `"dynamic"` — recalculated from the current scene bounding box (default).
|
|
369
|
+
* `"static"` — uses the stored `lookAt` value unchanged.
|
|
370
|
+
*/
|
|
371
|
+
focusType?: "dynamic" | "static";
|
|
372
|
+
/** Restricts this camera to a specific group or variable context, or `"general"` for all contexts. */
|
|
373
|
+
scope?: K3CameraScope;
|
|
374
|
+
/** Orthographic zoom factor or perspective field-of-view multiplier. */
|
|
375
|
+
zoom?: number;
|
|
376
|
+
[key: string]: unknown;
|
|
377
|
+
}
|
|
378
|
+
/** A perspective camera configured in the K3 scene editor. */
|
|
379
|
+
export interface K3PerspectiveCamera extends K3BaseCamera {
|
|
380
|
+
type: "PerspectiveCamera";
|
|
381
|
+
/** Intrinsic perspective parameters: field-of-view in degrees, aspect ratio, near/far clip planes. */
|
|
382
|
+
baseSettings?: {
|
|
383
|
+
fov: number;
|
|
384
|
+
aspect: number;
|
|
385
|
+
near: number;
|
|
386
|
+
far: number;
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
/** An orthographic camera configured in the K3 scene editor. */
|
|
390
|
+
export interface K3OrthographicCamera extends K3BaseCamera {
|
|
391
|
+
type: "OrthographicCamera";
|
|
392
|
+
/** Intrinsic orthographic parameters: frustum left/right/top/bottom extents and near/far clip planes. */
|
|
393
|
+
baseSettings?: {
|
|
394
|
+
left: number;
|
|
395
|
+
right: number;
|
|
396
|
+
top: number;
|
|
397
|
+
bottom: number;
|
|
398
|
+
near: number;
|
|
399
|
+
far: number;
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
/** A scene camera — perspective or orthographic. Passed to screenshot / camera-list callbacks. */
|
|
403
|
+
export type K3Camera = K3PerspectiveCamera | K3OrthographicCamera;
|
|
404
|
+
/** Pixel dimensions used for screenshot rendering. */
|
|
405
|
+
export interface K3ScreenshotDimensions {
|
|
406
|
+
width: number;
|
|
407
|
+
height: number;
|
|
408
|
+
}
|
|
409
|
+
/** AR platform identifier. */
|
|
410
|
+
export type K3ARPlatform = "iOS" | "AndroidOS";
|
|
411
|
+
/**
|
|
412
|
+
* Minimal structural representation of a Three.js scene graph node.
|
|
413
|
+
* Cast to `import("three").Object3D` for full Three.js access.
|
|
414
|
+
*/
|
|
415
|
+
export interface K3Scene {
|
|
416
|
+
/** Three.js object type string, e.g. `"Scene"`, `"Mesh"`, `"Group"`. */
|
|
417
|
+
type: string;
|
|
418
|
+
/** Direct child nodes of this scene graph node. */
|
|
419
|
+
children: readonly K3Scene[];
|
|
420
|
+
/** Arbitrary metadata attached by K3 or the GLTF loader (e.g. material names, model IDs). */
|
|
421
|
+
userData: Record<string, unknown>;
|
|
422
|
+
traverse(callback: (object: K3Scene) => void): void;
|
|
423
|
+
getObjectByName(name: string): K3Scene | undefined;
|
|
424
|
+
}
|
|
425
|
+
/** Context passed to `core.onExportAR`. */
|
|
426
|
+
export interface K3ARExportContext {
|
|
427
|
+
/** Platform the AR export is targeting. */
|
|
428
|
+
platform: K3ARPlatform;
|
|
429
|
+
/**
|
|
430
|
+
* Live Three.js scene graph.
|
|
431
|
+
* Cast to `import("three").Object3D` for full Three.js access.
|
|
432
|
+
*/
|
|
433
|
+
scene: K3Scene;
|
|
434
|
+
}
|
|
435
|
+
/** An uploaded file in a save operation (e.g. a screenshot per camera). */
|
|
436
|
+
export interface K3UploadFile {
|
|
437
|
+
/** Camera name or custom key identifying this file. */
|
|
438
|
+
key: string;
|
|
439
|
+
/** The file data. */
|
|
440
|
+
file: Blob;
|
|
441
|
+
/** Optional explicit file name. */
|
|
442
|
+
fileName?: string;
|
|
443
|
+
}
|
|
444
|
+
/** Result returned to `core.onOpenPdf` after a save/order action. */
|
|
445
|
+
export interface K3SaveResult {
|
|
446
|
+
/** Generated configuration code. */
|
|
447
|
+
code?: string;
|
|
448
|
+
/** Pricing verification info. */
|
|
449
|
+
price?: {
|
|
450
|
+
okay: boolean;
|
|
451
|
+
priceSent?: number;
|
|
452
|
+
priceCalculated?: number;
|
|
453
|
+
};
|
|
454
|
+
/** `true` if the save action encountered a server-side error. */
|
|
455
|
+
error?: boolean;
|
|
456
|
+
/** Optional human-readable error or status message from the server. */
|
|
457
|
+
message?: string;
|
|
458
|
+
/** URL to a shop or cart page the user can be redirected to after saving. */
|
|
459
|
+
shopLink?: string;
|
|
460
|
+
/** URL to the generated PDF. */
|
|
461
|
+
pdf?: string;
|
|
462
|
+
/** Suggested file name for the generated PDF download. */
|
|
463
|
+
pdfName?: string;
|
|
464
|
+
[key: string]: unknown;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Payload dispatched when a configuration is saved (e.g. "order", "cart", "pdf").
|
|
468
|
+
* Passed to `config.onSaveEvent`.
|
|
469
|
+
*/
|
|
470
|
+
export interface K3ConfigurationSavedEvent {
|
|
471
|
+
type: "K3ConfigurationSaved";
|
|
472
|
+
/** Save action key, e.g. "cart", "pdf", "email". */
|
|
473
|
+
actionKey: string;
|
|
474
|
+
/** Generated configuration code. */
|
|
475
|
+
code: string;
|
|
476
|
+
/** Optional customer data if collected during the save flow. */
|
|
477
|
+
customer?: {
|
|
478
|
+
email?: string;
|
|
479
|
+
firstName?: string;
|
|
480
|
+
lastName?: string;
|
|
481
|
+
[key: string]: unknown;
|
|
482
|
+
};
|
|
483
|
+
[key: string]: unknown;
|
|
484
|
+
}
|
|
485
|
+
/** A persisted configuration object. Passed to `config.onUpdate` and `config.onSave`. */
|
|
486
|
+
export interface K3Configuration {
|
|
487
|
+
/** Database ID of the saved configuration record. */
|
|
488
|
+
id: number | string;
|
|
489
|
+
/** ID of the K3 app this configuration belongs to. */
|
|
490
|
+
appId: number;
|
|
491
|
+
/** Human-readable configuration code generated by the backend (e.g. "ABC-123"). */
|
|
492
|
+
code: string;
|
|
493
|
+
/** Calculated total price, or `null` if pricing is not configured. */
|
|
494
|
+
price: number | null;
|
|
495
|
+
/** ISO language code. */
|
|
496
|
+
lang: string;
|
|
497
|
+
/** Serialised selection state and BOM. */
|
|
498
|
+
json: {
|
|
499
|
+
/** Array of variable selection states at save time. */
|
|
500
|
+
variables: unknown[];
|
|
501
|
+
/** Bill-of-materials rows derived from the current selection. */
|
|
502
|
+
bom: unknown[];
|
|
503
|
+
/** Aggregated summary data (e.g. totals, labels). */
|
|
504
|
+
summary: unknown;
|
|
505
|
+
[key: string]: unknown;
|
|
506
|
+
};
|
|
507
|
+
/** Screenshot files, keyed by camera name then file name. */
|
|
508
|
+
files: Record<string, Record<string, string>>;
|
|
509
|
+
[key: string]: unknown;
|
|
510
|
+
}
|
|
511
|
+
/** A configuration not yet persisted (no `id` or `code`). */
|
|
512
|
+
export type K3NewConfiguration = Omit<K3Configuration, "id" | "code">;
|
|
513
|
+
/** An individual variable selection state. */
|
|
514
|
+
export interface K3Selection {
|
|
515
|
+
/** Unique selection ID. */
|
|
516
|
+
id: string;
|
|
517
|
+
/** ID of the variable this selection belongs to. */
|
|
518
|
+
variableId: number;
|
|
519
|
+
/** ID of the chosen value, or `null` / `undefined` when no value is selected. */
|
|
520
|
+
valueId?: number | string | null;
|
|
521
|
+
data?: {
|
|
522
|
+
/** Number variable input value. */
|
|
523
|
+
inputValue?: number;
|
|
524
|
+
/** Text variable input value. */
|
|
525
|
+
inputText?: string;
|
|
526
|
+
/** Image variable URL. */
|
|
527
|
+
url?: string;
|
|
528
|
+
[key: string]: unknown;
|
|
529
|
+
};
|
|
530
|
+
[key: string]: unknown;
|
|
531
|
+
}
|
|
532
|
+
/** Full application snapshot passed to `core.preprocessFullApp` before the store initialises. */
|
|
533
|
+
export interface K3FullApp {
|
|
534
|
+
app: {
|
|
535
|
+
id: number;
|
|
536
|
+
[key: string]: unknown;
|
|
537
|
+
};
|
|
538
|
+
client: {
|
|
539
|
+
id: number;
|
|
540
|
+
[key: string]: unknown;
|
|
541
|
+
};
|
|
542
|
+
groups: Array<{
|
|
543
|
+
id: number;
|
|
544
|
+
[key: string]: unknown;
|
|
545
|
+
}>;
|
|
546
|
+
variables: Array<{
|
|
547
|
+
id: number;
|
|
548
|
+
[key: string]: unknown;
|
|
549
|
+
}>;
|
|
550
|
+
values: Array<{
|
|
551
|
+
id: number | string;
|
|
552
|
+
[key: string]: unknown;
|
|
553
|
+
}>;
|
|
554
|
+
articles: Array<{
|
|
555
|
+
id: number;
|
|
556
|
+
[key: string]: unknown;
|
|
557
|
+
}>;
|
|
558
|
+
prices: Array<{
|
|
559
|
+
id: number;
|
|
560
|
+
[key: string]: unknown;
|
|
561
|
+
}>;
|
|
562
|
+
materials: Array<{
|
|
563
|
+
id: number;
|
|
564
|
+
[key: string]: unknown;
|
|
565
|
+
}>;
|
|
566
|
+
models: Array<{
|
|
567
|
+
id: number;
|
|
568
|
+
[key: string]: unknown;
|
|
569
|
+
}>;
|
|
570
|
+
images: Array<{
|
|
571
|
+
id: number;
|
|
572
|
+
[key: string]: unknown;
|
|
573
|
+
}>;
|
|
574
|
+
rules: Array<{
|
|
575
|
+
id: number;
|
|
576
|
+
[key: string]: unknown;
|
|
577
|
+
}>;
|
|
578
|
+
ruleItems: Array<{
|
|
579
|
+
id: number;
|
|
580
|
+
[key: string]: unknown;
|
|
581
|
+
}>;
|
|
582
|
+
[key: string]: unknown;
|
|
583
|
+
}
|
|
584
|
+
export interface K3LogicExtensions {
|
|
585
|
+
/** Hooks into the configuration data lifecycle (create, update, save). */
|
|
586
|
+
config?: {
|
|
587
|
+
/**
|
|
588
|
+
* Called every time the active configuration object is updated in the store (e.g. on every selection change).
|
|
589
|
+
* Return a modified copy to alter prices, codes, or any other configuration field.
|
|
590
|
+
*/
|
|
591
|
+
onUpdate?: CallbackWithDescription<(config: K3Configuration) => K3Configuration>;
|
|
592
|
+
/**
|
|
593
|
+
* Called just before a configuration is persisted (order, cart, email, …).
|
|
594
|
+
* Return a modified copy to inject extra fields or override values before saving.
|
|
595
|
+
*/
|
|
596
|
+
onSave?: CallbackWithDescription<(config: K3Configuration | K3NewConfiguration) => K3Configuration | K3NewConfiguration>;
|
|
597
|
+
/**
|
|
598
|
+
* Called with the list of screenshot files that will be uploaded alongside the save.
|
|
599
|
+
* Return a modified array to add, remove, or rename files.
|
|
600
|
+
*/
|
|
601
|
+
onSaveFiles?: CallbackWithDescription<(files: K3UploadFile[]) => K3UploadFile[]>;
|
|
602
|
+
/**
|
|
603
|
+
* Called after a successful save action with the dispatched event payload.
|
|
604
|
+
* Return a modified payload to add custom fields consumed by downstream integrations.
|
|
605
|
+
*/
|
|
606
|
+
onSaveEvent?: CallbackWithDescription<(payload: K3ConfigurationSavedEvent) => K3ConfigurationSavedEvent>;
|
|
607
|
+
};
|
|
608
|
+
/** Hooks into the camera and screenshot pipeline. */
|
|
609
|
+
camera?: {
|
|
610
|
+
/**
|
|
611
|
+
* Called with the list of cameras used for automated screenshot capture.
|
|
612
|
+
* Return a modified array to add, remove, or reorder screenshot cameras.
|
|
613
|
+
*/
|
|
614
|
+
onSetScreenshotCameras?: CallbackWithDescription<(cameras: K3Camera[]) => K3Camera[]>;
|
|
615
|
+
/**
|
|
616
|
+
* Called with the full list of scene cameras available in the viewer.
|
|
617
|
+
* Return a modified array to filter or reorder cameras shown in the UI.
|
|
618
|
+
*/
|
|
619
|
+
onSetCameraList?: CallbackWithDescription<(cameras: K3Camera[]) => K3Camera[]>;
|
|
620
|
+
/**
|
|
621
|
+
* Called to determine the pixel dimensions used when rendering screenshots.
|
|
622
|
+
* Return modified dimensions to override the default canvas size.
|
|
623
|
+
*/
|
|
624
|
+
getScreenshotDimensions?: CallbackWithDescription<(dim: K3ScreenshotDimensions) => K3ScreenshotDimensions>;
|
|
625
|
+
};
|
|
626
|
+
/** Core app lifecycle hooks. */
|
|
627
|
+
core?: {
|
|
628
|
+
/**
|
|
629
|
+
* Called once with the full application data object before the K3 store is initialised.
|
|
630
|
+
* Return a modified copy to patch groups, variables, values, rules, or any other app data.
|
|
631
|
+
*/
|
|
632
|
+
preprocessFullApp?: CallbackWithDescription<(app: K3FullApp) => K3FullApp>;
|
|
633
|
+
/**
|
|
634
|
+
* Called after a PDF is generated and the save result is available.
|
|
635
|
+
* Use this to open, download, or post-process the PDF URL from `result.pdf`.
|
|
636
|
+
*/
|
|
637
|
+
onOpenPdf?: CallbackWithDescription<(result: K3SaveResult) => void>;
|
|
638
|
+
/**
|
|
639
|
+
* Called when the user triggers an AR export.
|
|
640
|
+
* Receives the target platform and live Three.js scene; must return a `Blob` of the AR file.
|
|
641
|
+
*/
|
|
642
|
+
onExportAR?: CallbackWithDescription<(ctx: K3ARExportContext) => Promise<Blob>>;
|
|
643
|
+
};
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* Declares a named slot where child models can be placed inside a parent dynamic model.
|
|
647
|
+
* Attach an array of these to `DynamicModel.slotDefinitions`.
|
|
648
|
+
*/
|
|
649
|
+
export interface SlotDefinition {
|
|
650
|
+
/** Unique identifier (UUID) — primary key used in rule columns to reference this slot. */
|
|
651
|
+
id: string;
|
|
652
|
+
/** Human-readable name shown in the admin slot picker. */
|
|
653
|
+
name: string;
|
|
654
|
+
/** Optional fallback model ID rendered when no rule assigns a model to this slot. */
|
|
655
|
+
defaultModelId?: string | number;
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* A resolved model instance placed into a slot at runtime.
|
|
659
|
+
* Received via `DynamicModelComponentProps.slots[slotId]`.
|
|
660
|
+
*/
|
|
661
|
+
export interface SlotModelInstance {
|
|
662
|
+
/** The model data object for this slot instance. */
|
|
663
|
+
model: {
|
|
664
|
+
id: string | number;
|
|
665
|
+
[key: string]: unknown;
|
|
666
|
+
};
|
|
667
|
+
/** URL of the model's 3D file, or `undefined` if this is a dynamic model with a component. */
|
|
668
|
+
fileURL: string | undefined;
|
|
669
|
+
/** The React component used to render this model if it is a dynamic model otherwise `undefined`. */
|
|
670
|
+
component: React.ComponentType<any> | undefined;
|
|
671
|
+
/** Evaluated props passed to the model component. */
|
|
672
|
+
props: Record<string, unknown>;
|
|
673
|
+
/** The rule-engine action that placed this model into the scene. */
|
|
674
|
+
modelAction: {
|
|
675
|
+
/** Unique ID of the model action record. */
|
|
676
|
+
id: string;
|
|
677
|
+
/** ID of the model referenced by this action. */
|
|
678
|
+
modelId: string | number;
|
|
679
|
+
/** Props overrides defined on the action. */
|
|
680
|
+
props?: Record<string, unknown>;
|
|
681
|
+
/** ID of the slot this action targets. */
|
|
682
|
+
slotId?: string;
|
|
683
|
+
[key: string]: unknown;
|
|
684
|
+
};
|
|
685
|
+
/** The slot definition this instance was placed into. */
|
|
686
|
+
slotDefinition: SlotDefinition;
|
|
687
|
+
/** Recursively nested slot instances when the slotted model itself has slots. */
|
|
688
|
+
slots?: Record<string, SlotModelInstance[]>;
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Props automatically injected into every `DynamicModel.component` at runtime.
|
|
692
|
+
* Extend this with your custom prop types: `DynamicModelComponentProps & { myProp: string }`.
|
|
693
|
+
*/
|
|
694
|
+
export interface DynamicModelComponentProps {
|
|
695
|
+
/**
|
|
696
|
+
* Resolved child model instances keyed by slot ID.
|
|
697
|
+
* Only present when the model has `slotDefinitions` and at least one slot is filled.
|
|
698
|
+
*/
|
|
699
|
+
slots?: Record<string, SlotModelInstance[]>;
|
|
700
|
+
[key: string]: unknown;
|
|
701
|
+
}
|
|
702
|
+
export interface DynamicModel {
|
|
703
|
+
/** Unique type key used to reference this model from rule items, e.g. `"acme.my-model"`. */
|
|
704
|
+
type: string;
|
|
705
|
+
/** Human-readable display name shown in the admin model picker. */
|
|
706
|
+
label: string;
|
|
707
|
+
/** Describe what this dynamic model does. Shown in the plugin extensions dialog. */
|
|
708
|
+
description: string | LocalizedString;
|
|
709
|
+
/** Optional URL to a preview screenshot shown in the admin model picker. */
|
|
710
|
+
screenshot?: string;
|
|
711
|
+
/** List of Three.js material name patterns this model applies to in the scene. */
|
|
712
|
+
materials: string[];
|
|
713
|
+
/** When `true`, this model is excluded from AR exports (e.g. because it uses unsupported shaders). */
|
|
714
|
+
disabledForAR: boolean;
|
|
715
|
+
/** The React component rendered inside the Three.js canvas for this model. */
|
|
716
|
+
component: React.ComponentType<any>;
|
|
717
|
+
/**
|
|
718
|
+
* Schema for the admin props-editor dialog.
|
|
719
|
+
* Each key maps to a `ModelProp` descriptor that controls which editor widget is rendered.
|
|
720
|
+
*/
|
|
721
|
+
propsDialog: Record<string, ModelProp>;
|
|
722
|
+
/**
|
|
723
|
+
* Default prop values used when a new model action is created.
|
|
724
|
+
* Each key matches a `propsDialog` key; values may be plain data or `{ expression: string }`.
|
|
725
|
+
* Include `slotDefinitions` here to declare named slots for child models.
|
|
726
|
+
*/
|
|
727
|
+
defaultProps: {
|
|
728
|
+
slotDefinitions?: SlotDefinition[];
|
|
729
|
+
[key: string]: string | number | boolean | ModelPropDefault | undefined | SlotDefinition[];
|
|
730
|
+
};
|
|
731
|
+
/** Optional tag used to group or filter models in the admin UI. */
|
|
732
|
+
tag?: string;
|
|
733
|
+
}
|
|
734
|
+
export interface ModelProp {
|
|
735
|
+
/**
|
|
736
|
+
* Editor widget type for this prop in the admin dialog.
|
|
737
|
+
* `"basic"` — plain text/number input.
|
|
738
|
+
* `"model"` — K3 model selector.
|
|
739
|
+
* `"variable"` — K3 variable selector.
|
|
740
|
+
* `"expression"` — expression / formula editor.
|
|
741
|
+
*/
|
|
742
|
+
type?: "basic" | "model" | "variable" | "expression";
|
|
743
|
+
/** Human-readable label shown next to the editor widget in the admin dialog. */
|
|
744
|
+
label?: string;
|
|
745
|
+
/** For type="variable": restrict which variable types are selectable. */
|
|
746
|
+
allowedTypes?: VariableTypes[];
|
|
747
|
+
/** For type="model": allow selecting multiple models. */
|
|
748
|
+
multiple?: boolean;
|
|
749
|
+
}
|
|
750
|
+
/** All variable type string literals. */
|
|
751
|
+
export declare const VariableType: {
|
|
752
|
+
readonly List: "list";
|
|
753
|
+
readonly Color: "color";
|
|
754
|
+
readonly Number: "number";
|
|
755
|
+
readonly Text: "text";
|
|
756
|
+
readonly MultiSelect: "multiSelect";
|
|
757
|
+
readonly Boolean: "boolean";
|
|
758
|
+
readonly Image: "image";
|
|
759
|
+
readonly Upload: "upload";
|
|
760
|
+
readonly Components: "components";
|
|
761
|
+
readonly Information: "information";
|
|
762
|
+
};
|
|
763
|
+
export type VariableTypes = (typeof VariableType)[keyof typeof VariableType];
|
|
764
|
+
export interface ModelPropDefault {
|
|
765
|
+
/** An expression string evaluated at runtime instead of a static value (e.g. `"group.width * 2"`). */
|
|
766
|
+
expression?: string;
|
|
767
|
+
}
|
|
768
|
+
/** K3 Value object (list / color / boolean selection). */
|
|
769
|
+
export interface Value {
|
|
770
|
+
/** Unique database ID of the value. */
|
|
771
|
+
id: number | string;
|
|
772
|
+
/** Optional stable string key for the value, usable as an alternative identifier. */
|
|
773
|
+
key?: string | null;
|
|
774
|
+
/** The underlying data value: a hex color string, boolean flag, or generic string payload. */
|
|
775
|
+
value?: string | boolean | null;
|
|
776
|
+
/** Human-readable display label shown in the configurator UI. */
|
|
777
|
+
label: string;
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Context passed to plugin dynamic model components at runtime.
|
|
781
|
+
*/
|
|
782
|
+
export interface PluginModelContext {
|
|
783
|
+
/** Only set during screenshot rendering. */
|
|
784
|
+
screenshotCameraName?: string;
|
|
785
|
+
/** The unique ID of the model action this instance is rendered for. */
|
|
786
|
+
modelActionId?: string;
|
|
787
|
+
}
|
|
788
|
+
/** @deprecated Use K3PluginDescriptor */
|
|
789
|
+
export type K3Plugin = Pick<K3PluginDescriptor, "dynamicModels">;
|
|
790
|
+
export {};
|
|
791
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.array.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.error.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.full.d.ts","../node_modules/.pnpm/@types+react@19.2.3/node_modules/@types/react/global.d.ts","../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts","../node_modules/.pnpm/@types+react@19.2.3/node_modules/@types/react/index.d.ts","../node_modules/.pnpm/@types+react@19.2.3/node_modules/@types/react/jsx-runtime.d.ts","../index.ts"],"fileIdsList":[[89,90],[87,88],[89]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"bde31fd423cd93b0eff97197a3f66df7c93e8c0c335cbeb113b7ff1ac35c23f4","impliedFormat":1},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"0ff1b165090b491f5e1407ae680b9a0bc3806dc56827ec85f93c57390491e732","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"3e547afe1c50fbf02a834c9c6d6219b5777f59523c7cd3e52be50dd22935f9ab","signature":"32278a4c1a119ee53b0b4feae870a1b52e41b1744868dc4bdfe4b3ae242d3ffc"}],"root":[91],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":4,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"referencedMap":[[91,1],[89,2],[90,3]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "k3-plugin-api",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "Official TypeScript types and plugin API for the K3 product configurator",
|
|
5
|
-
"main": "index.
|
|
6
|
-
"types": "index.ts",
|
|
5
|
+
"main": "index.ts",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
|
+
"dist",
|
|
8
9
|
"index.ts",
|
|
9
|
-
"index.js",
|
|
10
|
-
"index.d.ts",
|
|
11
|
-
"index.d.ts.map",
|
|
12
10
|
"README.md"
|
|
13
11
|
],
|
|
14
12
|
"keywords": [
|
package/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { BasicDynamicModelEditor } from "#/core/r3f/dynamicModels/models/components/BasicDynamicModelEditor";
|
|
2
|
-
import type { DynamicModel } from "#core/types/dynamicModel.interface";
|
|
3
|
-
export type K3API = {
|
|
4
|
-
DynamicModelEditor: BasicDynamicModelEditor;
|
|
5
|
-
};
|
|
6
|
-
export declare let K3: K3API;
|
|
7
|
-
export declare function init(_ctx: K3API): void;
|
|
8
|
-
export interface K3Plugin {
|
|
9
|
-
dynamicModels: DynamicModel[];
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAC;AAClH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,MAAM,MAAM,KAAK,GAAG;IAClB,kBAAkB,EAAE,uBAAuB,CAAC;CAC7C,CAAC;AAEF,eAAO,IAAI,EAAE,EAAE,KAAK,CAAC;AAErB,wBAAgB,IAAI,CAAC,IAAI,EAAE,KAAK,QAE/B;AAGD,MAAM,WAAW,QAAQ;IACvB,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B"}
|