inugami-ng 0.0.11 → 0.0.12

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.
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, output, viewChild, computed, signal, effect, Component } from '@angular/core';
3
- import { SVG_MATH, SVG_BUILDER, SVG_TRANSFORM } from 'inugami-ng/services';
2
+ import { input, model, output, viewChild, computed, signal, effect, Component } from '@angular/core';
3
+ import { GET_COLOR, COMPUTE_PERCENT, COLORS_MATLAB, SVG_MATH, SVG_BUILDER, SVG_TRANSFORM } from 'inugami-ng/services';
4
4
 
5
5
  const SVG_SWITZERLAND_COLORED = (selectItem) => {
6
6
  return {
@@ -39,27 +39,14 @@ const SVG_SWITZERLAND_LEVEL_MONOCHROME_RED = (selectItem) => {
39
39
  const SVG_SWITZERLAND_LEVEL_MONOCHROME_GREEN = (selectItem) => {
40
40
  return SVG_SWITZERLAND_LEVEL_MONOCHROME_GENERATOR(selectItem, 100, 0, 10);
41
41
  };
42
- const SVG_SWITZERLAND_LEVEL_COLOR_10 = (selectItem) => {
43
- return SVG_SWITZERLAND_LEVEL_COLOR_GENERATOR(selectItem, 0, 10);
44
- };
45
42
  const SVG_SWITZERLAND_LEVEL_COLOR_100 = (selectItem) => {
46
43
  return SVG_SWITZERLAND_LEVEL_COLOR_GENERATOR(selectItem, 0, 100);
47
44
  };
48
- const SVG_SWITZERLAND_LEVEL_COLOR_GENERATOR = (selectItem, min, max) => {
49
- let value = Number(selectItem.value) || 0;
50
- if (value < min) {
51
- value = min;
52
- }
53
- if (value > max) {
54
- value = max;
55
- }
56
- const range = max - min;
57
- const percentage = range <= 0 ? 0 : Math.min(Math.max(((value - min) / range) * 100, 0), 100);
58
- const colorIndex = Math.round((percentage * 0.75) * 356);
59
- const saturation = Math.round(percentage);
45
+ const SVG_SWITZERLAND_LEVEL_COLOR_GENERATOR = (selectItem, min, max, colors) => {
46
+ const color = GET_COLOR(COMPUTE_PERCENT(Number(selectItem.value) || 0, min, max), colors ? colors : COLORS_MATLAB);
60
47
  return {
61
- styleclass: `monochrome-level`,
62
- style: `fill:hsl(${colorIndex} ${saturation}% 50% / 1);`
48
+ styleclass: `color-level`,
49
+ style: `fill:${color};`
63
50
  };
64
51
  };
65
52
 
@@ -67,16 +54,25 @@ class InuSvgSwitzerland {
67
54
  //==================================================================================================================
68
55
  // ATTRIBUTES
69
56
  //==================================================================================================================
70
- styleclass = input('', ...(ngDevMode ? [{ debugName: "styleclass" }] : []));
71
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
72
- valid = input(true, ...(ngDevMode ? [{ debugName: "valid" }] : []));
73
57
  actionHandler = input(undefined, ...(ngDevMode ? [{ debugName: "actionHandler" }] : []));
58
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
59
+ formValue = model([], ...(ngDevMode ? [{ debugName: "formValue" }] : []));
60
+ matcher = input(...(ngDevMode ? [undefined, { debugName: "matcher" }] : []));
74
61
  styleGenerator = input(undefined, ...(ngDevMode ? [{ debugName: "styleGenerator" }] : []));
62
+ styleclass = input('', ...(ngDevMode ? [{ debugName: "styleclass" }] : []));
63
+ valid = input(true, ...(ngDevMode ? [{ debugName: "valid" }] : []));
64
+ value = model([], ...(ngDevMode ? [{ debugName: "value" }] : []));
65
+ valueExtractor = input(undefined, ...(ngDevMode ? [{ debugName: "valueExtractor" }] : []));
75
66
  //
76
67
  selected = output();
68
+ hover = output();
69
+ leave = output();
70
+ changed = output();
77
71
  //
78
72
  component = viewChild('component', ...(ngDevMode ? [{ debugName: "component" }] : []));
79
73
  container = viewChild('container', ...(ngDevMode ? [{ debugName: "container" }] : []));
74
+ onModelChange = () => {
75
+ };
80
76
  _styleClass = computed(() => {
81
77
  return [
82
78
  'inu-svg',
@@ -100,7 +96,6 @@ class InuSvgSwitzerland {
100
96
  //==================================================================================================================
101
97
  constructor() {
102
98
  effect(() => {
103
- console.log('effect>>>');
104
99
  this.initStyleGenerator();
105
100
  this.updateValues();
106
101
  });
@@ -113,6 +108,7 @@ class InuSvgSwitzerland {
113
108
  this.resolveParentSize(component, container);
114
109
  this.initializeLayout(container);
115
110
  this.resize();
111
+ this.initValues(this.value());
116
112
  this.updateValues();
117
113
  }
118
114
  }
@@ -322,9 +318,13 @@ class InuSvgSwitzerland {
322
318
  result.onmousedown = (mouseEvent) => mouseEvent.preventDefault();
323
319
  result.onclick = (mouseEvent) => this.onClick(canton, result, mouseEvent);
324
320
  result.ondblclick = (mouseEvent) => this.ondblclick(canton, result, mouseEvent);
321
+ result.ontouchend = (toucheEvent) => this.ontouchend(canton, result, toucheEvent);
322
+ result.onmouseenter = (mouseEvent) => this.onHover(canton, mouseEvent);
323
+ result.onmouseleave = (mouseEvent) => this.onMouseLeave(canton, mouseEvent);
325
324
  this.cantons[canton] = {
326
325
  name: canton,
327
326
  node: result,
327
+ lastTap: 0,
328
328
  selectItem: {
329
329
  id: canton,
330
330
  title: canton
@@ -336,12 +336,47 @@ class InuSvgSwitzerland {
336
336
  //==================================================================================================================
337
337
  // ACTIONS
338
338
  //==================================================================================================================
339
+ initValues(values) {
340
+ if (values.length == 0) {
341
+ return;
342
+ }
343
+ for (let value of values) {
344
+ const matcher = this.matcher();
345
+ const cantons = Object.keys(this.cantons);
346
+ for (let cantonName of cantons) {
347
+ const canton = this.cantons[cantonName];
348
+ const selectItem = this.extractMatchValue(canton, value, matcher);
349
+ if (selectItem) {
350
+ canton.selectItem = selectItem;
351
+ }
352
+ }
353
+ }
354
+ }
355
+ extractMatchValue(canton, value, matcher) {
356
+ if (typeof value == 'string' && canton.name === value) {
357
+ return {
358
+ selected: true,
359
+ value: value
360
+ };
361
+ }
362
+ else if (matcher) {
363
+ return matcher(canton.selectItem, value);
364
+ }
365
+ return undefined;
366
+ }
339
367
  updateValues() {
368
+ const extractor = this.valueExtractor();
369
+ const valueExtractor = extractor ? extractor : (v) => v?.value;
340
370
  const styleGenerator = this._styleGenerator();
341
371
  const cantons = Object.keys(this.cantons);
342
372
  for (let cantonName of cantons) {
343
373
  const canton = this.cantons[cantonName];
344
- const style = styleGenerator(canton.selectItem);
374
+ const style = styleGenerator({
375
+ id: canton.selectItem.id,
376
+ selected: canton.selectItem.selected,
377
+ title: canton.selectItem.title,
378
+ value: valueExtractor(canton.selectItem)
379
+ });
345
380
  if (style?.style) {
346
381
  canton.node.setAttribute('style', style.style);
347
382
  }
@@ -359,8 +394,11 @@ class InuSvgSwitzerland {
359
394
  onClick(cantonName, result, event) {
360
395
  event.preventDefault();
361
396
  event.stopPropagation();
397
+ if (this.disabled()) {
398
+ return;
399
+ }
362
400
  if (event.ctrlKey) {
363
- return this.deselect(cantonName, result, event);
401
+ return this.deselect(cantonName);
364
402
  }
365
403
  const canton = this.cantons[cantonName];
366
404
  if (!canton || canton.selectItem.disabled) {
@@ -375,7 +413,33 @@ class InuSvgSwitzerland {
375
413
  this.updateValues();
376
414
  this.sendSelected();
377
415
  }
378
- deselect(cantonName, result, event) {
416
+ ontouchend(cantonName, result, toucheEvent) {
417
+ toucheEvent.preventDefault();
418
+ if (this.disabled()) {
419
+ return;
420
+ }
421
+ const canton = this.cantons[cantonName];
422
+ if (!canton) {
423
+ return;
424
+ }
425
+ const currentTime = new Date().getTime();
426
+ const tapLength = currentTime - canton.lastTap;
427
+ if (tapLength < 300 && tapLength > 0) {
428
+ this.deselect(cantonName);
429
+ }
430
+ else {
431
+ canton.selectItem.selected = true;
432
+ const handler = this.actionHandler();
433
+ if (handler) {
434
+ const newValue = handler.onSelected(canton.selectItem);
435
+ canton.selectItem.value = newValue;
436
+ }
437
+ canton.lastTap = currentTime;
438
+ }
439
+ this.updateValues();
440
+ this.sendSelected();
441
+ }
442
+ deselect(cantonName) {
379
443
  const canton = this.cantons[cantonName];
380
444
  if (!canton || canton.selectItem.disabled) {
381
445
  return;
@@ -393,17 +457,35 @@ class InuSvgSwitzerland {
393
457
  this.sendSelected();
394
458
  }
395
459
  sendSelected() {
460
+ const values = [];
396
461
  const result = [];
397
- setTimeout(() => {
398
- const cantons = Object.keys(this.cantons);
399
- for (let cantonName of cantons) {
400
- const cantonItem = this.cantons[cantonName];
401
- if (cantonItem.selectItem.selected || cantonItem.selectItem.value != undefined) {
402
- result.push(cantonItem.selectItem);
403
- }
462
+ const cantons = Object.keys(this.cantons);
463
+ for (let cantonName of cantons) {
464
+ const cantonItem = this.cantons[cantonName];
465
+ if (cantonItem.selectItem.selected || cantonItem.selectItem.value != undefined) {
466
+ result.push(cantonItem.selectItem);
467
+ values.push(cantonItem.selectItem.value);
404
468
  }
405
- this.selected.emit(result);
406
- });
469
+ }
470
+ this.selected.emit(result);
471
+ this.formValue.set([...values]);
472
+ this.value.set([...values]);
473
+ this.changed.emit([...values]);
474
+ this.onModelChange([...values]);
475
+ }
476
+ onHover(cantonName, mouseEvent) {
477
+ const canton = this.cantons[cantonName];
478
+ if (!canton) {
479
+ return;
480
+ }
481
+ setTimeout(() => this.hover.emit(canton.selectItem));
482
+ }
483
+ onMouseLeave(cantonName, mouseEvent) {
484
+ const canton = this.cantons[cantonName];
485
+ if (!canton) {
486
+ return;
487
+ }
488
+ setTimeout(() => this.leave.emit(canton.selectItem));
407
489
  }
408
490
  //==================================================================================================================
409
491
  // TOOLS
@@ -414,11 +496,11 @@ class InuSvgSwitzerland {
414
496
  }
415
497
  }
416
498
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuSvgSwitzerland, deps: [], target: i0.ɵɵFactoryTarget.Component });
417
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: InuSvgSwitzerland, isStandalone: true, selector: "inu-svg-switzerland", inputs: { styleclass: { classPropertyName: "styleclass", publicName: "styleclass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, valid: { classPropertyName: "valid", publicName: "valid", isSignal: true, isRequired: false, transformFunction: null }, actionHandler: { classPropertyName: "actionHandler", publicName: "actionHandler", isSignal: true, isRequired: false, transformFunction: null }, styleGenerator: { classPropertyName: "styleGenerator", publicName: "styleGenerator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "component", first: true, predicate: ["component"], descendants: true, isSignal: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }], ngImport: i0, template: `
499
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: InuSvgSwitzerland, isStandalone: true, selector: "inu-svg-switzerland", inputs: { actionHandler: { classPropertyName: "actionHandler", publicName: "actionHandler", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, formValue: { classPropertyName: "formValue", publicName: "formValue", isSignal: true, isRequired: false, transformFunction: null }, matcher: { classPropertyName: "matcher", publicName: "matcher", isSignal: true, isRequired: false, transformFunction: null }, styleGenerator: { classPropertyName: "styleGenerator", publicName: "styleGenerator", isSignal: true, isRequired: false, transformFunction: null }, styleclass: { classPropertyName: "styleclass", publicName: "styleclass", isSignal: true, isRequired: false, transformFunction: null }, valid: { classPropertyName: "valid", publicName: "valid", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueExtractor: { classPropertyName: "valueExtractor", publicName: "valueExtractor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formValue: "formValueChange", value: "valueChange", selected: "selected", hover: "hover", leave: "leave", changed: "changed" }, viewQueries: [{ propertyName: "component", first: true, predicate: ["component"], descendants: true, isSignal: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }], ngImport: i0, template: `
418
500
  <div [class]="_styleClass()" #component>
419
501
  <svg #container xmlns="http://www.w3.org/2000/svg"></svg>
420
502
  </div>
421
- `, isInline: true, styles: ["svg{border:1px solid black}::ng-deep .inu-svg-switzerland-lakes{fill:#729fcf;stroke-opacity:0}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton{stroke-opacity:0;stroke:#22241c;stroke-width:4;stroke-dasharray:none}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.selected{stroke:#dfdfdf;stroke-opacity:1}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton:hover{stroke-opacity:1}::ng-deep .colored-AI{fill:#20603d}::ng-deep .colored-AG{fill:#d36e70}::ng-deep .colored-AR{fill:#00bb2d}::ng-deep .colored-BE{fill:#4c9141}::ng-deep .colored-BL{fill:#641c34}::ng-deep .colored-BS{fill:#9c9c9c}::ng-deep .colored-FR{fill:#343e40}::ng-deep .colored-GE{fill:#5c3c60}::ng-deep .colored-GL{fill:#c6a664}::ng-deep .colored-GR{fill:#6d6552}::ng-deep .colored-JU{fill:#909090}::ng-deep .colored-LU{fill:#fdf4e3}::ng-deep .colored-NE{fill:#2e3a23}::ng-deep .colored-NW{fill:#5e2129}::ng-deep .colored-OW{fill:#4e5452}::ng-deep .colored-SG{fill:#3d642d}::ng-deep .colored-SH{fill:#ff2301}::ng-deep .colored-SO{fill:#d6ae01}::ng-deep .colored-SZ{fill:#23282b}::ng-deep .colored-TG{fill:#6c6874}::ng-deep .colored-TI{fill:#59351f}::ng-deep .colored-UR{fill:#434750}::ng-deep .colored-VD{fill:#8b8c7a}::ng-deep .colored-VS{fill:#aea04b}::ng-deep .colored-ZG{fill:#b32821}::ng-deep .colored-ZH{fill:#6c4675}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton{transition:fill .15s,stroke .1s,stroke-opacity 50ms;cursor:pointer;outline:none}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome{fill:#dcdcdc;stroke:#bdbcc3;stroke-opacity:.5}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome:hover{stroke-opacity:1;stroke:#717076}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome.selected{fill:#2f5e76;stroke-opacity:1;stroke:#717076}\n"] });
503
+ `, isInline: true, styles: ["::ng-deep .inu-svg-switzerland-lakes{fill:#729fcf;stroke-opacity:0}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton{stroke-opacity:0;stroke:#22241c;stroke-width:4;stroke-dasharray:none}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.selected{stroke:#dfdfdf;stroke-opacity:1}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton:hover{stroke-opacity:1}::ng-deep .colored-AI{fill:#20603d}::ng-deep .colored-AG{fill:#d36e70}::ng-deep .colored-AR{fill:#00bb2d}::ng-deep .colored-BE{fill:#4c9141}::ng-deep .colored-BL{fill:#641c34}::ng-deep .colored-BS{fill:#9c9c9c}::ng-deep .colored-FR{fill:#343e40}::ng-deep .colored-GE{fill:#5c3c60}::ng-deep .colored-GL{fill:#c6a664}::ng-deep .colored-GR{fill:#6d6552}::ng-deep .colored-JU{fill:#909090}::ng-deep .colored-LU{fill:#fdf4e3}::ng-deep .colored-NE{fill:#2e3a23}::ng-deep .colored-NW{fill:#5e2129}::ng-deep .colored-OW{fill:#4e5452}::ng-deep .colored-SG{fill:#3d642d}::ng-deep .colored-SH{fill:#ff2301}::ng-deep .colored-SO{fill:#d6ae01}::ng-deep .colored-SZ{fill:#23282b}::ng-deep .colored-TG{fill:#6c6874}::ng-deep .colored-TI{fill:#59351f}::ng-deep .colored-UR{fill:#434750}::ng-deep .colored-VD{fill:#8b8c7a}::ng-deep .colored-VS{fill:#aea04b}::ng-deep .colored-ZG{fill:#b32821}::ng-deep .colored-ZH{fill:#6c4675}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton{transition:fill .15s,stroke .1s,stroke-opacity 50ms;cursor:pointer;outline:none}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome{fill:#dcdcdc;stroke:#bdbcc3;stroke-opacity:.5}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome:hover{stroke-opacity:1;stroke:#717076}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome.selected{fill:#2f5e76;stroke-opacity:1;stroke:#717076}\n"] });
422
504
  }
423
505
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuSvgSwitzerland, decorators: [{
424
506
  type: Component,
@@ -426,12 +508,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
426
508
  <div [class]="_styleClass()" #component>
427
509
  <svg #container xmlns="http://www.w3.org/2000/svg"></svg>
428
510
  </div>
429
- `, styles: ["svg{border:1px solid black}::ng-deep .inu-svg-switzerland-lakes{fill:#729fcf;stroke-opacity:0}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton{stroke-opacity:0;stroke:#22241c;stroke-width:4;stroke-dasharray:none}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.selected{stroke:#dfdfdf;stroke-opacity:1}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton:hover{stroke-opacity:1}::ng-deep .colored-AI{fill:#20603d}::ng-deep .colored-AG{fill:#d36e70}::ng-deep .colored-AR{fill:#00bb2d}::ng-deep .colored-BE{fill:#4c9141}::ng-deep .colored-BL{fill:#641c34}::ng-deep .colored-BS{fill:#9c9c9c}::ng-deep .colored-FR{fill:#343e40}::ng-deep .colored-GE{fill:#5c3c60}::ng-deep .colored-GL{fill:#c6a664}::ng-deep .colored-GR{fill:#6d6552}::ng-deep .colored-JU{fill:#909090}::ng-deep .colored-LU{fill:#fdf4e3}::ng-deep .colored-NE{fill:#2e3a23}::ng-deep .colored-NW{fill:#5e2129}::ng-deep .colored-OW{fill:#4e5452}::ng-deep .colored-SG{fill:#3d642d}::ng-deep .colored-SH{fill:#ff2301}::ng-deep .colored-SO{fill:#d6ae01}::ng-deep .colored-SZ{fill:#23282b}::ng-deep .colored-TG{fill:#6c6874}::ng-deep .colored-TI{fill:#59351f}::ng-deep .colored-UR{fill:#434750}::ng-deep .colored-VD{fill:#8b8c7a}::ng-deep .colored-VS{fill:#aea04b}::ng-deep .colored-ZG{fill:#b32821}::ng-deep .colored-ZH{fill:#6c4675}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton{transition:fill .15s,stroke .1s,stroke-opacity 50ms;cursor:pointer;outline:none}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome{fill:#dcdcdc;stroke:#bdbcc3;stroke-opacity:.5}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome:hover{stroke-opacity:1;stroke:#717076}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome.selected{fill:#2f5e76;stroke-opacity:1;stroke:#717076}\n"] }]
430
- }], ctorParameters: () => [], propDecorators: { styleclass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleclass", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], valid: [{ type: i0.Input, args: [{ isSignal: true, alias: "valid", required: false }] }], actionHandler: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionHandler", required: false }] }], styleGenerator: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleGenerator", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }], component: [{ type: i0.ViewChild, args: ['component', { isSignal: true }] }], container: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }] } });
511
+ `, styles: ["::ng-deep .inu-svg-switzerland-lakes{fill:#729fcf;stroke-opacity:0}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton{stroke-opacity:0;stroke:#22241c;stroke-width:4;stroke-dasharray:none}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.selected{stroke:#dfdfdf;stroke-opacity:1}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton:hover{stroke-opacity:1}::ng-deep .colored-AI{fill:#20603d}::ng-deep .colored-AG{fill:#d36e70}::ng-deep .colored-AR{fill:#00bb2d}::ng-deep .colored-BE{fill:#4c9141}::ng-deep .colored-BL{fill:#641c34}::ng-deep .colored-BS{fill:#9c9c9c}::ng-deep .colored-FR{fill:#343e40}::ng-deep .colored-GE{fill:#5c3c60}::ng-deep .colored-GL{fill:#c6a664}::ng-deep .colored-GR{fill:#6d6552}::ng-deep .colored-JU{fill:#909090}::ng-deep .colored-LU{fill:#fdf4e3}::ng-deep .colored-NE{fill:#2e3a23}::ng-deep .colored-NW{fill:#5e2129}::ng-deep .colored-OW{fill:#4e5452}::ng-deep .colored-SG{fill:#3d642d}::ng-deep .colored-SH{fill:#ff2301}::ng-deep .colored-SO{fill:#d6ae01}::ng-deep .colored-SZ{fill:#23282b}::ng-deep .colored-TG{fill:#6c6874}::ng-deep .colored-TI{fill:#59351f}::ng-deep .colored-UR{fill:#434750}::ng-deep .colored-VD{fill:#8b8c7a}::ng-deep .colored-VS{fill:#aea04b}::ng-deep .colored-ZG{fill:#b32821}::ng-deep .colored-ZH{fill:#6c4675}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton{transition:fill .15s,stroke .1s,stroke-opacity 50ms;cursor:pointer;outline:none}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome{fill:#dcdcdc;stroke:#bdbcc3;stroke-opacity:.5}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome:hover{stroke-opacity:1;stroke:#717076}::ng-deep .inu-svg-switzerland-cantons .inu-svg-switzerland-canton.monochrome.selected{fill:#2f5e76;stroke-opacity:1;stroke:#717076}\n"] }]
512
+ }], ctorParameters: () => [], propDecorators: { actionHandler: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionHandler", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], formValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "formValue", required: false }] }, { type: i0.Output, args: ["formValueChange"] }], matcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "matcher", required: false }] }], styleGenerator: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleGenerator", required: false }] }], styleclass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleclass", required: false }] }], valid: [{ type: i0.Input, args: [{ isSignal: true, alias: "valid", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueExtractor: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueExtractor", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }], hover: [{ type: i0.Output, args: ["hover"] }], leave: [{ type: i0.Output, args: ["leave"] }], changed: [{ type: i0.Output, args: ["changed"] }], component: [{ type: i0.ViewChild, args: ['component', { isSignal: true }] }], container: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }] } });
431
513
 
432
514
  /**
433
515
  * Generated bundle index. Do not edit.
434
516
  */
435
517
 
436
- export { InuSvgSwitzerland, SVG_SWITZERLAND_COLORED, SVG_SWITZERLAND_LEVEL_COLOR_10, SVG_SWITZERLAND_LEVEL_COLOR_100, SVG_SWITZERLAND_LEVEL_COLOR_GENERATOR, SVG_SWITZERLAND_LEVEL_MONOCHROME_BLUE, SVG_SWITZERLAND_LEVEL_MONOCHROME_GENERATOR, SVG_SWITZERLAND_LEVEL_MONOCHROME_GREEN, SVG_SWITZERLAND_LEVEL_MONOCHROME_RED, SVG_SWITZERLAND_MONOCHROME };
518
+ export { InuSvgSwitzerland, SVG_SWITZERLAND_COLORED, SVG_SWITZERLAND_LEVEL_COLOR_100, SVG_SWITZERLAND_LEVEL_COLOR_GENERATOR, SVG_SWITZERLAND_LEVEL_MONOCHROME_BLUE, SVG_SWITZERLAND_LEVEL_MONOCHROME_GENERATOR, SVG_SWITZERLAND_LEVEL_MONOCHROME_GREEN, SVG_SWITZERLAND_LEVEL_MONOCHROME_RED, SVG_SWITZERLAND_MONOCHROME };
437
519
  //# sourceMappingURL=inugami-ng-components-inu-svg-switzerland.mjs.map