angular-three-tweakpane 4.0.0-next.88 → 4.0.0-next.89

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.
@@ -184,16 +184,23 @@ class NgtTweakBinding {
184
184
  this.parent = inject(NgtTweakFolder);
185
185
  this.injector = inject(Injector);
186
186
  this.asHostDirective = inject(NGT_TWEAK_BINDING_AS_HOST);
187
- this.binding = signal(null);
188
187
  this.bindingBaseParams = computed(() => ({
189
188
  label: this.label.snapshot.label,
190
189
  tag: this.label.snapshot.tag,
191
190
  disabled: this.blade.disabled(),
192
191
  hidden: this.blade.hidden(),
193
192
  }));
194
- this.blade.startChangeEffect(this.binding);
195
- this.label.startChangeEffect(this.binding);
196
- this.debounce.startDebounceEffect(this.binding, (ev) => {
193
+ this.bindingParams = signal({});
194
+ this.bindingApi = computed(() => {
195
+ const parent = this.parent.folder();
196
+ if (!parent)
197
+ return null;
198
+ const bindingParams = { ...this.bindingBaseParams(), ...this.bindingParams() };
199
+ return parent.addBinding(this.bindableObject, 'value', bindingParams);
200
+ });
201
+ this.blade.startChangeEffect(this.bindingApi);
202
+ this.label.startChangeEffect(this.bindingApi);
203
+ this.debounce.startDebounceEffect(this.bindingApi, (ev) => {
197
204
  if (this.asHostDirective && typeof this.asHostDirective === 'object') {
198
205
  this.value.set(this.asHostDirective.out(ev.value));
199
206
  }
@@ -201,25 +208,21 @@ class NgtTweakBinding {
201
208
  this.value.set(ev.value);
202
209
  }
203
210
  });
204
- if (!this.asHostDirective) {
205
- this.createBindingEffect(this.bindingBaseParams);
206
- }
207
- inject(DestroyRef).onDestroy(() => {
208
- this.binding()?.dispose();
209
- });
210
- }
211
- createBindingEffect(params) {
212
- return effect((onCleanup) => {
213
- const parent = this.parent.folder();
214
- if (!parent)
211
+ effect((onCleanup) => {
212
+ const bindingApi = this.bindingApi();
213
+ if (!bindingApi)
215
214
  return;
216
- const bindingParams = { ...this.bindingBaseParams(), ...params() };
217
- const binding = parent.addBinding(this.bindableObject, 'value', bindingParams);
218
- this.binding.set(binding);
219
215
  onCleanup(() => {
220
- binding.dispose();
221
- this.binding.set(null);
216
+ bindingApi.dispose();
222
217
  });
218
+ });
219
+ inject(DestroyRef).onDestroy(() => {
220
+ this.bindingApi()?.dispose();
221
+ });
222
+ }
223
+ syncBindingParams(params) {
224
+ return effect(() => {
225
+ this.bindingParams.set(params());
223
226
  }, { injector: this.injector });
224
227
  }
225
228
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakBinding, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -239,43 +242,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
239
242
 
240
243
  class NgtTweakButton {
241
244
  constructor() {
242
- this.label = input('');
243
245
  this.click = output();
244
246
  this.title = inject(NgtTweakTitle);
247
+ this.label = inject(NgtTweakLabel);
245
248
  this.blade = inject(NgtTweakBlade);
246
249
  this.parent = inject(NgtTweakFolder);
247
- this.button = signal(null);
248
- effect((onCleanup) => {
250
+ this.buttonApi = computed(() => {
249
251
  const parent = this.parent.folder();
250
252
  if (!parent)
251
- return;
252
- const button = parent.addButton({
253
+ return null;
254
+ return parent.addButton({
253
255
  title: this.title.snapshot,
254
256
  hidden: this.blade.snapshot.hidden,
255
257
  disabled: this.blade.snapshot.disabled,
256
- label: untracked(this.label),
258
+ label: this.label.snapshot.label,
257
259
  });
260
+ });
261
+ effect((onCleanup) => {
262
+ const buttonApi = this.buttonApi();
263
+ if (!buttonApi)
264
+ return;
258
265
  const boundEmit = this.click.emit.bind(this.click);
259
- button.on('click', boundEmit);
260
- this.button.set(button);
266
+ buttonApi.on('click', boundEmit);
261
267
  onCleanup(() => {
262
- button.off('click', boundEmit);
268
+ buttonApi.off('click', boundEmit);
263
269
  });
264
270
  });
265
- effect(() => {
266
- const button = this.button();
267
- if (!button)
268
- return;
269
- button.label = this.label();
270
- });
271
- this.title.startChangeEffect(this.button);
272
- this.blade.startChangeEffect(this.button);
271
+ this.label.startChangeEffect(this.buttonApi);
272
+ this.title.startChangeEffect(this.buttonApi);
273
+ this.blade.startChangeEffect(this.buttonApi);
273
274
  inject(DestroyRef).onDestroy(() => {
274
- this.button()?.dispose();
275
+ this.buttonApi()?.dispose();
275
276
  });
276
277
  }
277
278
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
278
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: NgtTweakButton, isStandalone: true, selector: "ngt-tweak-button", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, hostDirectives: [{ directive: NgtTweakTitle, inputs: ["title", "title"] }, { directive: NgtTweakBlade, inputs: ["hidden", "hidden", "disabled", "disabled"] }], ngImport: i0 }); }
279
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: NgtTweakButton, isStandalone: true, selector: "ngt-tweak-button", outputs: { click: "click" }, hostDirectives: [{ directive: NgtTweakTitle, inputs: ["title", "title"] }, { directive: NgtTweakLabel, inputs: ["label", "label"] }, { directive: NgtTweakBlade, inputs: ["hidden", "hidden", "disabled", "disabled"] }], ngImport: i0 }); }
279
280
  }
280
281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakButton, decorators: [{
281
282
  type: Directive,
@@ -283,6 +284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
283
284
  selector: 'ngt-tweak-button',
284
285
  hostDirectives: [
285
286
  { directive: NgtTweakTitle, inputs: ['title'] },
287
+ { directive: NgtTweakLabel, inputs: ['label'] },
286
288
  { directive: NgtTweakBlade, inputs: ['hidden', 'disabled'] },
287
289
  ],
288
290
  }]
@@ -292,7 +294,7 @@ class NgtTweakCheckbox {
292
294
  constructor() {
293
295
  this.params = input({});
294
296
  this.binding = inject(NgtTweakBinding);
295
- this.binding.createBindingEffect(this.params);
297
+ this.binding.syncBindingParams(this.params);
296
298
  }
297
299
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
298
300
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: NgtTweakCheckbox, isStandalone: true, selector: "ngt-tweak-checkbox", inputs: { params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTweakBindingAsHost()], hostDirectives: [{ directive: NgtTweakBinding, inputs: ["value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 }); }
@@ -310,7 +312,7 @@ class NgtTweakColor {
310
312
  constructor() {
311
313
  this.params = input({});
312
314
  this.binding = inject(NgtTweakBinding);
313
- this.binding.createBindingEffect(this.params);
315
+ this.binding.syncBindingParams(this.params);
314
316
  }
315
317
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakColor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
316
318
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: NgtTweakColor, isStandalone: true, selector: "ngt-tweak-color", inputs: { params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTweakBindingAsHost()], hostDirectives: [{ directive: NgtTweakBinding, inputs: ["value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 }); }
@@ -332,7 +334,6 @@ class NgtTweakList {
332
334
  this.debounce = inject(NgtTweakDebounce);
333
335
  this.label = inject(NgtTweakLabel);
334
336
  this.parent = inject(NgtTweakFolder);
335
- this.list = signal(null);
336
337
  this.listOptions = computed(() => {
337
338
  const options = this.options();
338
339
  if (Array.isArray(options)) {
@@ -343,28 +344,30 @@ class NgtTweakList {
343
344
  return { text: key, value };
344
345
  });
345
346
  });
346
- this.label.startChangeEffect(this.list);
347
- this.blade.startChangeEffect(this.list);
348
- this.debounce.startDebounceEffect(this.list, (ev) => {
349
- this.value.set(ev.value);
350
- });
351
- effect((onCleanup) => {
347
+ this.listApi = computed(() => {
352
348
  const parent = this.parent.folder();
353
349
  if (!parent)
354
- return;
355
- const list = parent.addBlade({
350
+ return null;
351
+ return parent.addBlade({
356
352
  view: 'list',
357
353
  options: this.listOptions(),
358
354
  value: untracked(this.value),
359
355
  label: this.label.snapshot.label,
360
356
  });
361
- this.list.set(list);
357
+ });
358
+ this.label.startChangeEffect(this.listApi);
359
+ this.blade.startChangeEffect(this.listApi);
360
+ this.debounce.startDebounceEffect(this.listApi, (ev) => {
361
+ this.value.set(ev.value);
362
+ });
363
+ effect((onCleanup) => {
364
+ const listApi = this.listApi();
362
365
  onCleanup(() => {
363
- list.dispose();
366
+ listApi?.dispose();
364
367
  });
365
368
  });
366
369
  inject(DestroyRef).onDestroy(() => {
367
- this.list()?.dispose();
370
+ this.listApi()?.dispose();
368
371
  });
369
372
  }
370
373
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakList, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -386,7 +389,7 @@ class NgtTweakNumber {
386
389
  constructor() {
387
390
  this.params = input({});
388
391
  this.binding = inject(NgtTweakBinding);
389
- this.binding.createBindingEffect(this.params);
392
+ this.binding.syncBindingParams(this.params);
390
393
  }
391
394
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakNumber, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
392
395
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: NgtTweakNumber, isStandalone: true, selector: "ngt-tweak-number", inputs: { params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTweakBindingAsHost()], hostDirectives: [{ directive: NgtTweakBinding, inputs: ["value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 }); }
@@ -488,7 +491,7 @@ class NgtTweakPoint {
488
491
  constructor() {
489
492
  this.params = input({});
490
493
  this.binding = inject(NgtTweakBinding);
491
- this.binding.createBindingEffect(this.params);
494
+ this.binding.syncBindingParams(this.params);
492
495
  }
493
496
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakPoint, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
494
497
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: NgtTweakPoint, isStandalone: true, selector: "ngt-tweak-point", inputs: { params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
@@ -534,7 +537,7 @@ class NgtTweakText {
534
537
  constructor() {
535
538
  this.params = input({});
536
539
  this.binding = inject(NgtTweakBinding);
537
- this.binding.createBindingEffect(this.params);
540
+ this.binding.syncBindingParams(this.params);
538
541
  }
539
542
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: NgtTweakText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
540
543
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: NgtTweakText, isStandalone: true, selector: "ngt-tweak-text", inputs: { params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTweakBindingAsHost()], hostDirectives: [{ directive: NgtTweakBinding, inputs: ["value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 }); }
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-tweakpane.mjs","sources":["../../../../libs/tweakpane/src/lib/blade.ts","../../../../libs/tweakpane/src/lib/debounce.ts","../../../../libs/tweakpane/src/lib/title.ts","../../../../libs/tweakpane/src/lib/folder.ts","../../../../libs/tweakpane/src/lib/label.ts","../../../../libs/tweakpane/src/lib/binding.ts","../../../../libs/tweakpane/src/lib/button.ts","../../../../libs/tweakpane/src/lib/checkbox.ts","../../../../libs/tweakpane/src/lib/color.ts","../../../../libs/tweakpane/src/lib/list.ts","../../../../libs/tweakpane/src/lib/number.ts","../../../../libs/tweakpane/src/lib/pane.ts","../../../../libs/tweakpane/src/lib/point.ts","../../../../libs/tweakpane/src/lib/text.ts","../../../../libs/tweakpane/src/angular-three-tweakpane.ts"],"sourcesContent":["import { booleanAttribute, Directive, effect, inject, Injector, input, untracked } from '@angular/core';\nimport { BladeApi } from 'tweakpane';\n\n@Directive({ selector: 'ngt-tweak-blade' })\nexport class NgtTweakBlade {\n\thidden = input(false, { transform: booleanAttribute });\n\tdisabled = input(false, { transform: booleanAttribute });\n\n\tprivate injector = inject(Injector);\n\n\tget snapshot() {\n\t\treturn {\n\t\t\thidden: untracked(this.hidden),\n\t\t\tdisabled: untracked(this.disabled),\n\t\t};\n\t}\n\n\tstartChangeEffect(api: () => BladeApi | null) {\n\t\treturn effect(\n\t\t\t() => {\n\t\t\t\tconst _api = api();\n\t\t\t\tif (!_api) return;\n\n\t\t\t\t_api.hidden = this.hidden();\n\t\t\t\t_api.disabled = this.disabled();\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import { Directive, effect, inject, Injector, input, numberAttribute } from '@angular/core';\nimport { debounceTime, fromEventPattern } from 'rxjs';\nimport { TpChangeEvent } from 'tweakpane';\n\n@Directive()\nexport class NgtTweakDebounce {\n\tdebounce = input(150, { transform: numberAttribute });\n\n\tprivate injector = inject(Injector);\n\n\tstartDebounceEffect<T>(\n\t\tapi: () => {\n\t\t\ton: (evName: 'change', cb: (ev: TpChangeEvent<T>) => void) => void;\n\t\t\toff: (evName: 'change', cb: (ev: TpChangeEvent<T>) => void) => void;\n\t\t} | null,\n\t\tcb: (ev: TpChangeEvent<T>) => void,\n\t) {\n\t\treturn effect(\n\t\t\t(onCleanup) => {\n\t\t\t\tconst _api = api();\n\t\t\t\tif (!_api) return;\n\n\t\t\t\tconst sub = fromEventPattern<TpChangeEvent<T>>(\n\t\t\t\t\t(handler) => _api.on('change', handler),\n\t\t\t\t\t(handler) => _api.off('change', handler),\n\t\t\t\t)\n\t\t\t\t\t.pipe(debounceTime(this.debounce()))\n\t\t\t\t\t.subscribe((ev) => {\n\t\t\t\t\t\tcb(ev);\n\t\t\t\t\t});\n\n\t\t\t\tonCleanup(() => {\n\t\t\t\t\tsub.unsubscribe();\n\t\t\t\t});\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import { Directive, effect, inject, Injector, input, untracked } from '@angular/core';\n\n@Directive()\nexport class NgtTweakTitle {\n\ttitle = input('TweakPane Title');\n\n\tprivate injector = inject(Injector);\n\n\tget snapshot() {\n\t\treturn untracked(this.title);\n\t}\n\n\tstartChangeEffect(api: () => { title: string | undefined } | null) {\n\t\treturn effect(\n\t\t\t() => {\n\t\t\t\tconst _api = api();\n\t\t\t\tif (!_api) return;\n\n\t\t\t\t_api.title = this.title();\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import { computed, DestroyRef, Directive, effect, inject, linkedSignal, model, Signal, untracked } from '@angular/core';\nimport { TpFoldEvent } from '@tweakpane/core';\nimport { FolderApi } from 'tweakpane';\nimport { NgtTweakBlade } from './blade';\nimport { NgtTweakTitle } from './title';\n\n@Directive({\n\tselector: 'ngt-tweak-folder',\n\thostDirectives: [\n\t\t{ directive: NgtTweakTitle, inputs: ['title'] },\n\t\t{ directive: NgtTweakBlade, inputs: ['hidden', 'disabled'] },\n\t],\n})\nexport class NgtTweakFolder {\n\texpanded = model(false);\n\n\tprivate title = inject(NgtTweakTitle);\n\tprivate blade = inject(NgtTweakBlade);\n\tprivate parent = inject(NgtTweakFolder, { skipSelf: true, optional: true });\n\tparentFolder = linkedSignal(() => this.parent?.folder());\n\tfolder: Signal<FolderApi | null> = computed(() => {\n\t\tconst parent = this.parentFolder();\n\t\tif (!parent) return null;\n\n\t\tif (!this.isSelf) return parent;\n\n\t\treturn parent.addFolder({\n\t\t\ttitle: this.title.snapshot,\n\t\t\texpanded: untracked(this.expanded),\n\t\t\tdisabled: this.blade.snapshot.disabled,\n\t\t\thidden: this.blade.snapshot.hidden,\n\t\t});\n\t});\n\n\tisSelf = true;\n\n\tconstructor() {\n\t\tthis.title.startChangeEffect(this.folder);\n\t\tthis.blade.startChangeEffect(this.folder);\n\n\t\teffect((onCleanup) => {\n\t\t\tconst folder = this.folder();\n\t\t\tif (!folder) return;\n\n\t\t\tconst cb = (ev: TpFoldEvent<FolderApi>) => {\n\t\t\t\tthis.expanded.set(ev.expanded);\n\t\t\t};\n\n\t\t\tfolder.on('fold', cb);\n\t\t\tonCleanup(() => {\n\t\t\t\tfolder.off('fold', cb);\n\t\t\t});\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.folder()?.dispose();\n\t\t});\n\t}\n}\n","import { Directive, effect, inject, Injector, input, untracked } from '@angular/core';\n\n@Directive()\nexport class NgtTweakLabel {\n\tlabel = input('');\n\ttag = input('');\n\n\tprivate injector = inject(Injector);\n\n\tget snapshot() {\n\t\treturn { label: untracked(this.label), tag: untracked(this.tag) };\n\t}\n\n\tstartChangeEffect(api: () => { label?: string | null; tag?: string | null } | null) {\n\t\treturn effect(\n\t\t\t() => {\n\t\t\t\tconst _api = api();\n\t\t\t\tif (!_api) return;\n\n\t\t\t\t_api.label = this.label();\n\t\t\t\tif ('tag' in _api) {\n\t\t\t\t\t_api.tag = this.tag();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import {\n\tcomputed,\n\tDestroyRef,\n\tDirective,\n\teffect,\n\tinject,\n\tInjectionToken,\n\tInjector,\n\tmodel,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { BindingApi, BindingParams } from '@tweakpane/core';\nimport { NgtTweakBlade } from './blade';\nimport { NgtTweakDebounce } from './debounce';\nimport { NgtTweakFolder } from './folder';\nimport { NgtTweakLabel } from './label';\n\nexport type NgtTweakBindingParams<TParams extends BindingParams> = Omit<\n\tTParams,\n\t'tag' | 'label' | 'disabled' | 'hidden'\n>;\n\nexport const NGT_TWEAK_BINDING_AS_HOST = new InjectionToken<\n\ttrue | { in: (value: unknown) => unknown; out: (value: unknown) => unknown } | null\n>('hostDirective NgtTweakBinding', { factory: () => null });\n\nexport function provideTweakBindingAsHost<TIn, TOut>(inOut?: { in: (value: TIn) => TOut; out: (value: TOut) => TIn }) {\n\treturn { provide: NGT_TWEAK_BINDING_AS_HOST, useValue: inOut ?? true };\n}\n\n@Directive({\n\tselector: 'ngt-tweak-binding',\n\thostDirectives: [\n\t\t{ directive: NgtTweakBlade, inputs: ['disabled', 'hidden'] },\n\t\t{ directive: NgtTweakDebounce, inputs: ['debounce'] },\n\t\t{ directive: NgtTweakLabel, inputs: ['label', 'tag'] },\n\t],\n})\nexport class NgtTweakBinding<TValue> {\n\tvalue = model.required<any>();\n\n\tprivate debounce = inject(NgtTweakDebounce);\n\tprivate label = inject(NgtTweakLabel);\n\tprivate blade = inject(NgtTweakBlade);\n\tprivate parent = inject(NgtTweakFolder);\n\tprivate injector = inject(Injector);\n\tprivate asHostDirective = inject(NGT_TWEAK_BINDING_AS_HOST);\n\n\tbinding = signal<BindingApi<unknown, TValue> | null>(null);\n\tprivate bindingBaseParams = computed(() => ({\n\t\tlabel: this.label.snapshot.label,\n\t\ttag: this.label.snapshot.tag,\n\t\tdisabled: this.blade.disabled(),\n\t\thidden: this.blade.hidden(),\n\t}));\n\n\tprivate get bindableObject() {\n\t\tlet value = untracked(this.value);\n\n\t\tif (this.asHostDirective && typeof this.asHostDirective === 'object') {\n\t\t\tvalue = this.asHostDirective.in(value) as TValue;\n\t\t}\n\n\t\treturn { value };\n\t}\n\n\tconstructor() {\n\t\tthis.blade.startChangeEffect(this.binding);\n\t\tthis.label.startChangeEffect(this.binding);\n\t\tthis.debounce.startDebounceEffect(this.binding, (ev) => {\n\t\t\tif (this.asHostDirective && typeof this.asHostDirective === 'object') {\n\t\t\t\tthis.value.set(this.asHostDirective.out(ev.value) as TValue);\n\t\t\t} else {\n\t\t\t\tthis.value.set(ev.value);\n\t\t\t}\n\t\t});\n\n\t\tif (!this.asHostDirective) {\n\t\t\tthis.createBindingEffect(this.bindingBaseParams);\n\t\t}\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.binding()?.dispose();\n\t\t});\n\t}\n\n\tcreateBindingEffect(params: () => BindingParams) {\n\t\treturn effect(\n\t\t\t(onCleanup) => {\n\t\t\t\tconst parent = this.parent.folder();\n\t\t\t\tif (!parent) return;\n\n\t\t\t\tconst bindingParams = { ...this.bindingBaseParams(), ...params() };\n\t\t\t\tconst binding = parent.addBinding(this.bindableObject, 'value', bindingParams);\n\n\t\t\t\tthis.binding.set(binding);\n\n\t\t\t\tonCleanup(() => {\n\t\t\t\t\tbinding.dispose();\n\t\t\t\t\tthis.binding.set(null);\n\t\t\t\t});\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import { DestroyRef, Directive, effect, inject, input, output, signal, untracked } from '@angular/core';\nimport { TpMouseEvent } from '@tweakpane/core';\nimport { ButtonApi } from 'tweakpane';\nimport { NgtTweakBlade } from './blade';\nimport { NgtTweakFolder } from './folder';\nimport { NgtTweakTitle } from './title';\n\n@Directive({\n\tselector: 'ngt-tweak-button',\n\thostDirectives: [\n\t\t{ directive: NgtTweakTitle, inputs: ['title'] },\n\t\t{ directive: NgtTweakBlade, inputs: ['hidden', 'disabled'] },\n\t],\n})\nexport class NgtTweakButton {\n\tlabel = input('');\n\tclick = output<TpMouseEvent<ButtonApi>>();\n\n\tprivate title = inject(NgtTweakTitle);\n\tprivate blade = inject(NgtTweakBlade);\n\tprivate parent = inject(NgtTweakFolder);\n\n\tbutton = signal<ButtonApi | null>(null);\n\n\tconstructor() {\n\t\teffect((onCleanup) => {\n\t\t\tconst parent = this.parent.folder();\n\t\t\tif (!parent) return;\n\n\t\t\tconst button = parent.addButton({\n\t\t\t\ttitle: this.title.snapshot,\n\t\t\t\thidden: this.blade.snapshot.hidden,\n\t\t\t\tdisabled: this.blade.snapshot.disabled,\n\t\t\t\tlabel: untracked(this.label),\n\t\t\t});\n\n\t\t\tconst boundEmit = this.click.emit.bind(this.click);\n\t\t\tbutton.on('click', boundEmit);\n\t\t\tthis.button.set(button);\n\n\t\t\tonCleanup(() => {\n\t\t\t\tbutton.off('click', boundEmit);\n\t\t\t});\n\t\t});\n\n\t\teffect(() => {\n\t\t\tconst button = this.button();\n\t\t\tif (!button) return;\n\n\t\t\tbutton.label = this.label();\n\t\t});\n\n\t\tthis.title.startChangeEffect(this.button);\n\t\tthis.blade.startChangeEffect(this.button);\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.button()?.dispose();\n\t\t});\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { BooleanInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\n@Directive({\n\tselector: 'ngt-tweak-checkbox',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [provideTweakBindingAsHost()],\n})\nexport class NgtTweakCheckbox {\n\tparams = input<BooleanInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.createBindingEffect(this.params);\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { ColorInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\n@Directive({\n\tselector: 'ngt-tweak-color',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [provideTweakBindingAsHost()],\n})\nexport class NgtTweakColor {\n\tparams = input<ColorInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.createBindingEffect(this.params);\n\t}\n}\n","import { computed, DestroyRef, Directive, effect, inject, input, model, signal, untracked } from '@angular/core';\nimport { ListItem } from '@tweakpane/core';\nimport { ListBladeApi } from 'tweakpane';\nimport { NgtTweakBlade } from './blade';\nimport { NgtTweakDebounce } from './debounce';\nimport { NgtTweakFolder } from './folder';\nimport { NgtTweakLabel } from './label';\n\n@Directive({\n\tselector: 'ngt-tweak-list',\n\thostDirectives: [\n\t\t{ directive: NgtTweakBlade, inputs: ['hidden', 'disabled'] },\n\t\t{ directive: NgtTweakDebounce, inputs: ['debounce'] },\n\t\t{ directive: NgtTweakLabel, inputs: ['label'] },\n\t],\n})\nexport class NgtTweakList<TOptionValue> {\n\tvalue = model.required<TOptionValue>();\n\toptions = input.required<Record<string, TOptionValue> | TOptionValue[]>();\n\n\tprivate blade = inject(NgtTweakBlade);\n\tprivate debounce = inject(NgtTweakDebounce);\n\tprivate label = inject(NgtTweakLabel);\n\tprivate parent = inject(NgtTweakFolder);\n\n\tlist = signal<ListBladeApi<TOptionValue> | null>(null);\n\tprivate listOptions = computed(() => {\n\t\tconst options = this.options();\n\t\tif (Array.isArray(options)) {\n\t\t\treturn options.map((option) => ({ value: option, text: `${option}` }) as ListItem<TOptionValue>);\n\t\t}\n\n\t\treturn Object.keys(options).map((key) => {\n\t\t\tconst value = options[key];\n\t\t\treturn { text: key, value } as ListItem<TOptionValue>;\n\t\t});\n\t});\n\n\tconstructor() {\n\t\tthis.label.startChangeEffect(this.list);\n\t\tthis.blade.startChangeEffect(this.list);\n\t\tthis.debounce.startDebounceEffect(this.list, (ev) => {\n\t\t\tthis.value.set(ev.value);\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst parent = this.parent.folder();\n\t\t\tif (!parent) return;\n\n\t\t\tconst list = parent.addBlade({\n\t\t\t\tview: 'list',\n\t\t\t\toptions: this.listOptions(),\n\t\t\t\tvalue: untracked(this.value),\n\t\t\t\tlabel: this.label.snapshot.label,\n\t\t\t}) as ListBladeApi<TOptionValue>;\n\n\t\t\tthis.list.set(list);\n\n\t\t\tonCleanup(() => {\n\t\t\t\tlist.dispose();\n\t\t\t});\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.list()?.dispose();\n\t\t});\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { NumberInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\n@Directive({\n\tselector: 'ngt-tweak-number',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [provideTweakBindingAsHost()],\n})\nexport class NgtTweakNumber {\n\tparams = input<NumberInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.createBindingEffect(this.params);\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tafterNextRender,\n\tDestroyRef,\n\tDirective,\n\teffect,\n\tElementRef,\n\tinject,\n\tinput,\n\tisSignal,\n\tsignal,\n} from '@angular/core';\nimport { ClassName } from '@tweakpane/core';\nimport { Pane } from 'tweakpane';\nimport { PaneConfig } from 'tweakpane/dist/types/pane/pane-config';\nimport { NgtTweakFolder } from './folder';\nimport { NgtTweakTitle } from './title';\n\n@Directive({\n\tselector: 'ngt-tweak-pane',\n\thostDirectives: [{ directive: NgtTweakFolder, inputs: ['expanded'], outputs: ['expandedChange'] }],\n})\nexport class NgtTweakPane {\n\ttop = input<string | number>('8px');\n\tright = input<string | number>('8px');\n\tleft = input<string | number>();\n\tbottom = input<string | number>();\n\twidth = input<string | number>('256px');\n\tcontainer = input<HTMLElement | ElementRef<HTMLElement | undefined> | undefined>();\n\n\tprivate document = inject(DOCUMENT);\n\tprivate title = inject(NgtTweakTitle, { host: true });\n\tprivate folder = inject(NgtTweakFolder, { host: true });\n\tprivate pane = signal<Pane | null>(null);\n\tprivate paneContainer?: HTMLDivElement;\n\n\tconstructor() {\n\t\tthis.folder.isSelf = false;\n\n\t\tafterNextRender(() => {\n\t\t\tconst container = this.container();\n\t\t\tconst paneOptions: PaneConfig = {\n\t\t\t\ttitle: this.title.title(),\n\t\t\t\texpanded: this.folder.expanded(),\n\t\t\t};\n\n\t\t\tif (container) {\n\t\t\t\tconst containerElement = 'nativeElement' in container ? container.nativeElement : container;\n\t\t\t\tif (containerElement) {\n\t\t\t\t\tthis.paneContainer = this.document.createElement('div');\n\t\t\t\t\tthis.paneContainer.classList.add(ClassName('dfw')());\n\t\t\t\t\tcontainerElement.appendChild(this.paneContainer);\n\t\t\t\t\tpaneOptions.container = this.paneContainer;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst pane = new Pane(paneOptions);\n\n\t\t\tthis.pane.set(pane);\n\t\t\tthis.folder.parentFolder.set(pane);\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tconst pane = this.pane();\n\t\t\tif (!pane) return;\n\n\t\t\tif (this.paneContainer) {\n\t\t\t\tthis.paneContainer.remove();\n\t\t\t}\n\n\t\t\tpane.element.remove();\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('top');\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('right');\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('left');\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('bottom');\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('width');\n\t\t});\n\t}\n\n\tprivate updateStyleEffect(propertyName: Exclude<keyof NgtTweakPane, 'pane' | 'title' | 'expanded' | 'container'>) {\n\t\tconst pane = this.pane();\n\t\tif (!pane) return;\n\n\t\tconst parentElement = pane.element.parentElement;\n\t\tif (!parentElement) return;\n\n\t\tconst property = this[propertyName];\n\t\tif (!isSignal(property)) return;\n\n\t\tconst value = property();\n\t\tif (!value) return;\n\n\t\tparentElement.style.setProperty(propertyName, typeof value === 'number' ? value + 'px' : value);\n\t\tpane.refresh();\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { Point2dInputParams, Point3dInputParams, Point4dInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\ntype AcceptableTweakPointValue =\n\t| [x: number, y: number, z?: number, w?: number]\n\t| { x: number; y: number; z?: number; w?: number };\n\n@Directive({\n\tselector: 'ngt-tweak-point',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [\n\t\tprovideTweakBindingAsHost<AcceptableTweakPointValue, { x: number; y: number; z?: number; w?: number }>({\n\t\t\tin: (value) => {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tconst [x, y, z, w] = value;\n\t\t\t\t\treturn { x, y, z, w };\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\tout: (value) => {\n\t\t\t\tconst { x, y, z, w } = value;\n\t\t\t\treturn [x, y, z, w];\n\t\t\t},\n\t\t}),\n\t],\n})\nexport class NgtTweakPoint {\n\tparams = input<Point2dInputParams | Point3dInputParams | Point4dInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.createBindingEffect(this.params);\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { StringInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\n@Directive({\n\tselector: 'ngt-tweak-text',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [provideTweakBindingAsHost()],\n})\nexport class NgtTweakText {\n\tparams = input<StringInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.createBindingEffect(this.params);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NgtTweakTitle","i2.NgtTweakBlade","i1.NgtTweakBlade","i2.NgtTweakDebounce","i3.NgtTweakLabel","i1.NgtTweakBinding","i1.NgtTweakFolder"],"mappings":"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"}
1
+ {"version":3,"file":"angular-three-tweakpane.mjs","sources":["../../../../libs/tweakpane/src/lib/blade.ts","../../../../libs/tweakpane/src/lib/debounce.ts","../../../../libs/tweakpane/src/lib/title.ts","../../../../libs/tweakpane/src/lib/folder.ts","../../../../libs/tweakpane/src/lib/label.ts","../../../../libs/tweakpane/src/lib/binding.ts","../../../../libs/tweakpane/src/lib/button.ts","../../../../libs/tweakpane/src/lib/checkbox.ts","../../../../libs/tweakpane/src/lib/color.ts","../../../../libs/tweakpane/src/lib/list.ts","../../../../libs/tweakpane/src/lib/number.ts","../../../../libs/tweakpane/src/lib/pane.ts","../../../../libs/tweakpane/src/lib/point.ts","../../../../libs/tweakpane/src/lib/text.ts","../../../../libs/tweakpane/src/angular-three-tweakpane.ts"],"sourcesContent":["import { booleanAttribute, Directive, effect, inject, Injector, input, untracked } from '@angular/core';\nimport { BladeApi } from 'tweakpane';\n\n@Directive({ selector: 'ngt-tweak-blade' })\nexport class NgtTweakBlade {\n\thidden = input(false, { transform: booleanAttribute });\n\tdisabled = input(false, { transform: booleanAttribute });\n\n\tprivate injector = inject(Injector);\n\n\tget snapshot() {\n\t\treturn {\n\t\t\thidden: untracked(this.hidden),\n\t\t\tdisabled: untracked(this.disabled),\n\t\t};\n\t}\n\n\tstartChangeEffect(api: () => BladeApi | null) {\n\t\treturn effect(\n\t\t\t() => {\n\t\t\t\tconst _api = api();\n\t\t\t\tif (!_api) return;\n\n\t\t\t\t_api.hidden = this.hidden();\n\t\t\t\t_api.disabled = this.disabled();\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import { Directive, effect, inject, Injector, input, numberAttribute } from '@angular/core';\nimport { debounceTime, fromEventPattern } from 'rxjs';\nimport { TpChangeEvent } from 'tweakpane';\n\n@Directive()\nexport class NgtTweakDebounce {\n\tdebounce = input(150, { transform: numberAttribute });\n\n\tprivate injector = inject(Injector);\n\n\tstartDebounceEffect<T>(\n\t\tapi: () => {\n\t\t\ton: (evName: 'change', cb: (ev: TpChangeEvent<T>) => void) => void;\n\t\t\toff: (evName: 'change', cb: (ev: TpChangeEvent<T>) => void) => void;\n\t\t} | null,\n\t\tcb: (ev: TpChangeEvent<T>) => void,\n\t) {\n\t\treturn effect(\n\t\t\t(onCleanup) => {\n\t\t\t\tconst _api = api();\n\t\t\t\tif (!_api) return;\n\n\t\t\t\tconst sub = fromEventPattern<TpChangeEvent<T>>(\n\t\t\t\t\t(handler) => _api.on('change', handler),\n\t\t\t\t\t(handler) => _api.off('change', handler),\n\t\t\t\t)\n\t\t\t\t\t.pipe(debounceTime(this.debounce()))\n\t\t\t\t\t.subscribe((ev) => {\n\t\t\t\t\t\tcb(ev);\n\t\t\t\t\t});\n\n\t\t\t\tonCleanup(() => {\n\t\t\t\t\tsub.unsubscribe();\n\t\t\t\t});\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import { Directive, effect, inject, Injector, input, untracked } from '@angular/core';\n\n@Directive()\nexport class NgtTweakTitle {\n\ttitle = input('TweakPane Title');\n\n\tprivate injector = inject(Injector);\n\n\tget snapshot() {\n\t\treturn untracked(this.title);\n\t}\n\n\tstartChangeEffect(api: () => { title: string | undefined } | null) {\n\t\treturn effect(\n\t\t\t() => {\n\t\t\t\tconst _api = api();\n\t\t\t\tif (!_api) return;\n\n\t\t\t\t_api.title = this.title();\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import { computed, DestroyRef, Directive, effect, inject, linkedSignal, model, Signal, untracked } from '@angular/core';\nimport { TpFoldEvent } from '@tweakpane/core';\nimport { FolderApi } from 'tweakpane';\nimport { NgtTweakBlade } from './blade';\nimport { NgtTweakTitle } from './title';\n\n@Directive({\n\tselector: 'ngt-tweak-folder',\n\thostDirectives: [\n\t\t{ directive: NgtTweakTitle, inputs: ['title'] },\n\t\t{ directive: NgtTweakBlade, inputs: ['hidden', 'disabled'] },\n\t],\n})\nexport class NgtTweakFolder {\n\texpanded = model(false);\n\n\tprivate title = inject(NgtTweakTitle);\n\tprivate blade = inject(NgtTweakBlade);\n\tprivate parent = inject(NgtTweakFolder, { skipSelf: true, optional: true });\n\tparentFolder = linkedSignal(() => this.parent?.folder());\n\tfolder: Signal<FolderApi | null> = computed(() => {\n\t\tconst parent = this.parentFolder();\n\t\tif (!parent) return null;\n\n\t\tif (!this.isSelf) return parent;\n\n\t\treturn parent.addFolder({\n\t\t\ttitle: this.title.snapshot,\n\t\t\texpanded: untracked(this.expanded),\n\t\t\tdisabled: this.blade.snapshot.disabled,\n\t\t\thidden: this.blade.snapshot.hidden,\n\t\t});\n\t});\n\n\tisSelf = true;\n\n\tconstructor() {\n\t\tthis.title.startChangeEffect(this.folder);\n\t\tthis.blade.startChangeEffect(this.folder);\n\n\t\teffect((onCleanup) => {\n\t\t\tconst folder = this.folder();\n\t\t\tif (!folder) return;\n\n\t\t\tconst cb = (ev: TpFoldEvent<FolderApi>) => {\n\t\t\t\tthis.expanded.set(ev.expanded);\n\t\t\t};\n\n\t\t\tfolder.on('fold', cb);\n\t\t\tonCleanup(() => {\n\t\t\t\tfolder.off('fold', cb);\n\t\t\t});\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.folder()?.dispose();\n\t\t});\n\t}\n}\n","import { Directive, effect, inject, Injector, input, untracked } from '@angular/core';\n\n@Directive()\nexport class NgtTweakLabel {\n\tlabel = input('');\n\ttag = input('');\n\n\tprivate injector = inject(Injector);\n\n\tget snapshot() {\n\t\treturn { label: untracked(this.label), tag: untracked(this.tag) };\n\t}\n\n\tstartChangeEffect(api: () => { label?: string | null; tag?: string | null } | null) {\n\t\treturn effect(\n\t\t\t() => {\n\t\t\t\tconst _api = api();\n\t\t\t\tif (!_api) return;\n\n\t\t\t\t_api.label = this.label();\n\t\t\t\tif ('tag' in _api) {\n\t\t\t\t\t_api.tag = this.tag();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n}\n","import {\n\tcomputed,\n\tDestroyRef,\n\tDirective,\n\teffect,\n\tinject,\n\tInjectionToken,\n\tInjector,\n\tmodel,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { BindingApi, BindingParams } from '@tweakpane/core';\nimport { NgtTweakBlade } from './blade';\nimport { NgtTweakDebounce } from './debounce';\nimport { NgtTweakFolder } from './folder';\nimport { NgtTweakLabel } from './label';\n\nexport const NGT_TWEAK_BINDING_AS_HOST = new InjectionToken<\n\ttrue | { in: (value: unknown) => unknown; out: (value: unknown) => unknown } | null\n>('hostDirective NgtTweakBinding', { factory: () => null });\n\nexport function provideTweakBindingAsHost<TIn, TOut>(inOut?: { in: (value: TIn) => TOut; out: (value: TOut) => TIn }) {\n\treturn { provide: NGT_TWEAK_BINDING_AS_HOST, useValue: inOut ?? true };\n}\n\n@Directive({\n\tselector: 'ngt-tweak-binding',\n\thostDirectives: [\n\t\t{ directive: NgtTweakBlade, inputs: ['disabled', 'hidden'] },\n\t\t{ directive: NgtTweakDebounce, inputs: ['debounce'] },\n\t\t{ directive: NgtTweakLabel, inputs: ['label', 'tag'] },\n\t],\n})\nexport class NgtTweakBinding<TValue> {\n\tvalue = model.required<any>();\n\n\tprivate debounce = inject(NgtTweakDebounce);\n\tprivate label = inject(NgtTweakLabel);\n\tprivate blade = inject(NgtTweakBlade);\n\tprivate parent = inject(NgtTweakFolder);\n\tprivate injector = inject(Injector);\n\tprivate asHostDirective = inject(NGT_TWEAK_BINDING_AS_HOST);\n\n\tprivate bindingBaseParams = computed(() => ({\n\t\tlabel: this.label.snapshot.label,\n\t\ttag: this.label.snapshot.tag,\n\t\tdisabled: this.blade.disabled(),\n\t\thidden: this.blade.hidden(),\n\t}));\n\tprivate bindingParams = signal<Record<string, unknown>>({});\n\n\tprivate get bindableObject() {\n\t\tlet value = untracked(this.value);\n\n\t\tif (this.asHostDirective && typeof this.asHostDirective === 'object') {\n\t\t\tvalue = this.asHostDirective.in(value) as TValue;\n\t\t}\n\n\t\treturn { value };\n\t}\n\n\tprivate bindingApi = computed(() => {\n\t\tconst parent = this.parent.folder();\n\t\tif (!parent) return null;\n\n\t\tconst bindingParams = { ...this.bindingBaseParams(), ...this.bindingParams() };\n\t\treturn parent.addBinding(this.bindableObject, 'value', bindingParams) as BindingApi<unknown, TValue>;\n\t});\n\n\tconstructor() {\n\t\tthis.blade.startChangeEffect(this.bindingApi);\n\t\tthis.label.startChangeEffect(this.bindingApi);\n\t\tthis.debounce.startDebounceEffect(this.bindingApi, (ev) => {\n\t\t\tif (this.asHostDirective && typeof this.asHostDirective === 'object') {\n\t\t\t\tthis.value.set(this.asHostDirective.out(ev.value) as TValue);\n\t\t\t} else {\n\t\t\t\tthis.value.set(ev.value);\n\t\t\t}\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst bindingApi = this.bindingApi();\n\t\t\tif (!bindingApi) return;\n\t\t\tonCleanup(() => {\n\t\t\t\tbindingApi.dispose();\n\t\t\t});\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.bindingApi()?.dispose();\n\t\t});\n\t}\n\n\tsyncBindingParams(params: () => BindingParams) {\n\t\treturn effect(\n\t\t\t() => {\n\t\t\t\tthis.bindingParams.set(params());\n\t\t\t},\n\t\t\t{ injector: this.injector },\n\t\t);\n\t}\n\n\t// createBindingEffect(params: () => BindingParams) {\n\t// \treturn effect(\n\t// \t\t(onCleanup) => {\n\t// \t\t\tconst parent = this.parent.folder();\n\t// \t\t\tif (!parent) return;\n\t//\n\t// \t\t\tconst bindingParams = { ...this.bindingBaseParams(), ...params() };\n\t// \t\t\tconst binding = parent.addBinding(this.bindableObject, 'value', bindingParams);\n\t//\n\t// \t\t\tthis.bindingApi.set(binding);\n\t//\n\t// \t\t\tonCleanup(() => {\n\t// \t\t\t\tbinding.dispose();\n\t// \t\t\t\tthis.bindingApi.set(null);\n\t// \t\t\t});\n\t// \t\t},\n\t// \t\t{ injector: this.injector },\n\t// \t);\n\t// }\n}\n","import { computed, DestroyRef, Directive, effect, inject, output } from '@angular/core';\nimport { TpMouseEvent } from '@tweakpane/core';\nimport { ButtonApi } from 'tweakpane';\nimport { NgtTweakBlade } from './blade';\nimport { NgtTweakFolder } from './folder';\nimport { NgtTweakLabel } from './label';\nimport { NgtTweakTitle } from './title';\n\n@Directive({\n\tselector: 'ngt-tweak-button',\n\thostDirectives: [\n\t\t{ directive: NgtTweakTitle, inputs: ['title'] },\n\t\t{ directive: NgtTweakLabel, inputs: ['label'] },\n\t\t{ directive: NgtTweakBlade, inputs: ['hidden', 'disabled'] },\n\t],\n})\nexport class NgtTweakButton {\n\tclick = output<TpMouseEvent<ButtonApi>>();\n\n\tprivate title = inject(NgtTweakTitle);\n\tprivate label = inject(NgtTweakLabel);\n\tprivate blade = inject(NgtTweakBlade);\n\tprivate parent = inject(NgtTweakFolder);\n\n\tprivate buttonApi = computed(() => {\n\t\tconst parent = this.parent.folder();\n\t\tif (!parent) return null;\n\n\t\treturn parent.addButton({\n\t\t\ttitle: this.title.snapshot,\n\t\t\thidden: this.blade.snapshot.hidden,\n\t\t\tdisabled: this.blade.snapshot.disabled,\n\t\t\tlabel: this.label.snapshot.label,\n\t\t});\n\t});\n\n\tconstructor() {\n\t\teffect((onCleanup) => {\n\t\t\tconst buttonApi = this.buttonApi();\n\t\t\tif (!buttonApi) return;\n\n\t\t\tconst boundEmit = this.click.emit.bind(this.click);\n\t\t\tbuttonApi.on('click', boundEmit);\n\n\t\t\tonCleanup(() => {\n\t\t\t\tbuttonApi.off('click', boundEmit);\n\t\t\t});\n\t\t});\n\n\t\tthis.label.startChangeEffect(this.buttonApi);\n\t\tthis.title.startChangeEffect(this.buttonApi);\n\t\tthis.blade.startChangeEffect(this.buttonApi);\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.buttonApi()?.dispose();\n\t\t});\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { BooleanInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\n@Directive({\n\tselector: 'ngt-tweak-checkbox',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [provideTweakBindingAsHost()],\n})\nexport class NgtTweakCheckbox {\n\tparams = input<BooleanInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.syncBindingParams(this.params);\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { ColorInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\n@Directive({\n\tselector: 'ngt-tweak-color',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [provideTweakBindingAsHost()],\n})\nexport class NgtTweakColor {\n\tparams = input<ColorInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.syncBindingParams(this.params);\n\t}\n}\n","import { computed, DestroyRef, Directive, effect, inject, input, model, untracked } from '@angular/core';\nimport { ListItem } from '@tweakpane/core';\nimport { ListBladeApi } from 'tweakpane';\nimport { NgtTweakBlade } from './blade';\nimport { NgtTweakDebounce } from './debounce';\nimport { NgtTweakFolder } from './folder';\nimport { NgtTweakLabel } from './label';\n\n@Directive({\n\tselector: 'ngt-tweak-list',\n\thostDirectives: [\n\t\t{ directive: NgtTweakBlade, inputs: ['hidden', 'disabled'] },\n\t\t{ directive: NgtTweakDebounce, inputs: ['debounce'] },\n\t\t{ directive: NgtTweakLabel, inputs: ['label'] },\n\t],\n})\nexport class NgtTweakList<TOptionValue> {\n\tvalue = model.required<TOptionValue>();\n\toptions = input.required<Record<string, TOptionValue> | TOptionValue[]>();\n\n\tprivate blade = inject(NgtTweakBlade);\n\tprivate debounce = inject(NgtTweakDebounce);\n\tprivate label = inject(NgtTweakLabel);\n\tprivate parent = inject(NgtTweakFolder);\n\n\tprivate listOptions = computed(() => {\n\t\tconst options = this.options();\n\t\tif (Array.isArray(options)) {\n\t\t\treturn options.map((option) => ({ value: option, text: `${option}` }) as ListItem<TOptionValue>);\n\t\t}\n\n\t\treturn Object.keys(options).map((key) => {\n\t\t\tconst value = options[key];\n\t\t\treturn { text: key, value } as ListItem<TOptionValue>;\n\t\t});\n\t});\n\tprivate listApi = computed(() => {\n\t\tconst parent = this.parent.folder();\n\t\tif (!parent) return null;\n\n\t\treturn parent.addBlade({\n\t\t\tview: 'list',\n\t\t\toptions: this.listOptions(),\n\t\t\tvalue: untracked(this.value),\n\t\t\tlabel: this.label.snapshot.label,\n\t\t}) as ListBladeApi<TOptionValue>;\n\t});\n\n\tconstructor() {\n\t\tthis.label.startChangeEffect(this.listApi);\n\t\tthis.blade.startChangeEffect(this.listApi);\n\t\tthis.debounce.startDebounceEffect(this.listApi, (ev) => {\n\t\t\tthis.value.set(ev.value);\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst listApi = this.listApi();\n\t\t\tonCleanup(() => {\n\t\t\t\tlistApi?.dispose();\n\t\t\t});\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.listApi()?.dispose();\n\t\t});\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { NumberInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\n@Directive({\n\tselector: 'ngt-tweak-number',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [provideTweakBindingAsHost()],\n})\nexport class NgtTweakNumber {\n\tparams = input<NumberInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.syncBindingParams(this.params);\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tafterNextRender,\n\tDestroyRef,\n\tDirective,\n\teffect,\n\tElementRef,\n\tinject,\n\tinput,\n\tisSignal,\n\tsignal,\n} from '@angular/core';\nimport { ClassName } from '@tweakpane/core';\nimport { Pane } from 'tweakpane';\nimport { PaneConfig } from 'tweakpane/dist/types/pane/pane-config';\nimport { NgtTweakFolder } from './folder';\nimport { NgtTweakTitle } from './title';\n\n@Directive({\n\tselector: 'ngt-tweak-pane',\n\thostDirectives: [{ directive: NgtTweakFolder, inputs: ['expanded'], outputs: ['expandedChange'] }],\n})\nexport class NgtTweakPane {\n\ttop = input<string | number>('8px');\n\tright = input<string | number>('8px');\n\tleft = input<string | number>();\n\tbottom = input<string | number>();\n\twidth = input<string | number>('256px');\n\tcontainer = input<HTMLElement | ElementRef<HTMLElement | undefined> | undefined>();\n\n\tprivate document = inject(DOCUMENT);\n\tprivate title = inject(NgtTweakTitle, { host: true });\n\tprivate folder = inject(NgtTweakFolder, { host: true });\n\tprivate pane = signal<Pane | null>(null);\n\tprivate paneContainer?: HTMLDivElement;\n\n\tconstructor() {\n\t\tthis.folder.isSelf = false;\n\n\t\tafterNextRender(() => {\n\t\t\tconst container = this.container();\n\t\t\tconst paneOptions: PaneConfig = {\n\t\t\t\ttitle: this.title.title(),\n\t\t\t\texpanded: this.folder.expanded(),\n\t\t\t};\n\n\t\t\tif (container) {\n\t\t\t\tconst containerElement = 'nativeElement' in container ? container.nativeElement : container;\n\t\t\t\tif (containerElement) {\n\t\t\t\t\tthis.paneContainer = this.document.createElement('div');\n\t\t\t\t\tthis.paneContainer.classList.add(ClassName('dfw')());\n\t\t\t\t\tcontainerElement.appendChild(this.paneContainer);\n\t\t\t\t\tpaneOptions.container = this.paneContainer;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst pane = new Pane(paneOptions);\n\n\t\t\tthis.pane.set(pane);\n\t\t\tthis.folder.parentFolder.set(pane);\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tconst pane = this.pane();\n\t\t\tif (!pane) return;\n\n\t\t\tif (this.paneContainer) {\n\t\t\t\tthis.paneContainer.remove();\n\t\t\t}\n\n\t\t\tpane.element.remove();\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('top');\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('right');\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('left');\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('bottom');\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.updateStyleEffect('width');\n\t\t});\n\t}\n\n\tprivate updateStyleEffect(propertyName: Exclude<keyof NgtTweakPane, 'pane' | 'title' | 'expanded' | 'container'>) {\n\t\tconst pane = this.pane();\n\t\tif (!pane) return;\n\n\t\tconst parentElement = pane.element.parentElement;\n\t\tif (!parentElement) return;\n\n\t\tconst property = this[propertyName];\n\t\tif (!isSignal(property)) return;\n\n\t\tconst value = property();\n\t\tif (!value) return;\n\n\t\tparentElement.style.setProperty(propertyName, typeof value === 'number' ? value + 'px' : value);\n\t\tpane.refresh();\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { Point2dInputParams, Point3dInputParams, Point4dInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\ntype AcceptableTweakPointValue =\n\t| [x: number, y: number, z?: number, w?: number]\n\t| { x: number; y: number; z?: number; w?: number };\n\n@Directive({\n\tselector: 'ngt-tweak-point',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [\n\t\tprovideTweakBindingAsHost<AcceptableTweakPointValue, { x: number; y: number; z?: number; w?: number }>({\n\t\t\tin: (value) => {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tconst [x, y, z, w] = value;\n\t\t\t\t\treturn { x, y, z, w };\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\tout: (value) => {\n\t\t\t\tconst { x, y, z, w } = value;\n\t\t\t\treturn [x, y, z, w];\n\t\t\t},\n\t\t}),\n\t],\n})\nexport class NgtTweakPoint {\n\tparams = input<Point2dInputParams | Point3dInputParams | Point4dInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.syncBindingParams(this.params);\n\t}\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { StringInputParams } from 'tweakpane';\nimport { NgtTweakBinding, provideTweakBindingAsHost } from './binding';\n\n@Directive({\n\tselector: 'ngt-tweak-text',\n\thostDirectives: [{ directive: NgtTweakBinding, inputs: ['value'], outputs: ['valueChange'] }],\n\tproviders: [provideTweakBindingAsHost()],\n})\nexport class NgtTweakText {\n\tparams = input<StringInputParams>({});\n\n\tprivate binding = inject(NgtTweakBinding);\n\n\tconstructor() {\n\t\tthis.binding.syncBindingParams(this.params);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NgtTweakTitle","i2.NgtTweakBlade","i1.NgtTweakBlade","i2.NgtTweakDebounce","i3.NgtTweakLabel","i2.NgtTweakLabel","i3.NgtTweakBlade","i1.NgtTweakBinding","i1.NgtTweakFolder"],"mappings":"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"}
package/lib/binding.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { BindingApi, BindingParams } from '@tweakpane/core';
2
+ import { BindingParams } from '@tweakpane/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./blade";
5
5
  import * as i2 from "./debounce";
6
6
  import * as i3 from "./label";
7
- export type NgtTweakBindingParams<TParams extends BindingParams> = Omit<TParams, 'tag' | 'label' | 'disabled' | 'hidden'>;
8
7
  export declare const NGT_TWEAK_BINDING_AS_HOST: InjectionToken<true | {
9
8
  in: (value: unknown) => unknown;
10
9
  out: (value: unknown) => unknown;
@@ -30,11 +29,12 @@ export declare class NgtTweakBinding<TValue> {
30
29
  private parent;
31
30
  private injector;
32
31
  private asHostDirective;
33
- binding: import("@angular/core").WritableSignal<BindingApi<unknown, TValue, import("@tweakpane/core/dist/blade/binding/controller/binding").BindingController<unknown, import("@tweakpane/core").ValueController<unknown, import("@tweakpane/core").View, import("@tweakpane/core").Value<unknown>>, import("@tweakpane/core").BindingValue<unknown>>> | null>;
34
32
  private bindingBaseParams;
33
+ private bindingParams;
35
34
  private get bindableObject();
35
+ private bindingApi;
36
36
  constructor();
37
- createBindingEffect(params: () => BindingParams): import("@angular/core").EffectRef;
37
+ syncBindingParams(params: () => BindingParams): import("@angular/core").EffectRef;
38
38
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtTweakBinding<any>, never>;
39
39
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgtTweakBinding<any>, "ngt-tweak-binding", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, [{ directive: typeof i1.NgtTweakBlade; inputs: { "disabled": "disabled"; "hidden": "hidden"; }; outputs: {}; }, { directive: typeof i2.NgtTweakDebounce; inputs: { "debounce": "debounce"; }; outputs: {}; }, { directive: typeof i3.NgtTweakLabel; inputs: { "label": "label"; "tag": "tag"; }; outputs: {}; }]>;
40
40
  }
package/lib/button.d.ts CHANGED
@@ -2,15 +2,16 @@ import { TpMouseEvent } from '@tweakpane/core';
2
2
  import { ButtonApi } from 'tweakpane';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./title";
5
- import * as i2 from "./blade";
5
+ import * as i2 from "./label";
6
+ import * as i3 from "./blade";
6
7
  export declare class NgtTweakButton {
7
- label: import("@angular/core").InputSignal<string>;
8
8
  click: import("@angular/core").OutputEmitterRef<TpMouseEvent<ButtonApi>>;
9
9
  private title;
10
+ private label;
10
11
  private blade;
11
12
  private parent;
12
- button: import("@angular/core").WritableSignal<ButtonApi | null>;
13
+ private buttonApi;
13
14
  constructor();
14
15
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtTweakButton, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgtTweakButton, "ngt-tweak-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "click": "click"; }, never, never, true, [{ directive: typeof i1.NgtTweakTitle; inputs: { "title": "title"; }; outputs: {}; }, { directive: typeof i2.NgtTweakBlade; inputs: { "hidden": "hidden"; "disabled": "disabled"; }; outputs: {}; }]>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgtTweakButton, "ngt-tweak-button", never, {}, { "click": "click"; }, never, never, true, [{ directive: typeof i1.NgtTweakTitle; inputs: { "title": "title"; }; outputs: {}; }, { directive: typeof i2.NgtTweakLabel; inputs: { "label": "label"; }; outputs: {}; }, { directive: typeof i3.NgtTweakBlade; inputs: { "hidden": "hidden"; "disabled": "disabled"; }; outputs: {}; }]>;
16
17
  }
package/lib/list.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { ListBladeApi } from 'tweakpane';
2
1
  import * as i0 from "@angular/core";
3
2
  import * as i1 from "./blade";
4
3
  import * as i2 from "./debounce";
@@ -10,8 +9,8 @@ export declare class NgtTweakList<TOptionValue> {
10
9
  private debounce;
11
10
  private label;
12
11
  private parent;
13
- list: import("@angular/core").WritableSignal<ListBladeApi<TOptionValue> | null>;
14
12
  private listOptions;
13
+ private listApi;
15
14
  constructor();
16
15
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtTweakList<any>, never>;
17
16
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgtTweakList<any>, "ngt-tweak-list", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, [{ directive: typeof i1.NgtTweakBlade; inputs: { "hidden": "hidden"; "disabled": "disabled"; }; outputs: {}; }, { directive: typeof i2.NgtTweakDebounce; inputs: { "debounce": "debounce"; }; outputs: {}; }, { directive: typeof i3.NgtTweakLabel; inputs: { "label": "label"; }; outputs: {}; }]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-three-tweakpane",
3
- "version": "4.0.0-next.88",
3
+ "version": "4.0.0-next.89",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },