invensys-ng 21.4.3 → 22.1.0

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/package.json CHANGED
@@ -1,15 +1,21 @@
1
1
  {
2
2
  "name": "invensys-ng",
3
- "version": "21.4.3",
3
+ "version": "22.1.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ulbrichFrauendorf/invensys-ng"
7
7
  },
8
8
  "peerDependencies": {
9
- "@angular/common": "^21.2.12",
10
- "@angular/core": "^21.2.12",
9
+ "@angular/animations": "^22.2.3",
10
+ "@angular/cdk": "^22.2.3",
11
+ "@angular/common": "^22.2.3",
12
+ "@angular/core": "^22.2.3",
13
+ "@angular/forms": "^22.2.3",
14
+ "@angular/platform-browser": "^22.2.3",
15
+ "@angular/router": "^22.2.3",
11
16
  "chart.js": "^4.5.1",
12
- "primeicons": "^7.0.0"
17
+ "primeicons": "^7.0.0",
18
+ "rxjs": "^7.8.0"
13
19
  },
14
20
  "dependencies": {
15
21
  "tslib": "^2.3.0"
@@ -0,0 +1,99 @@
1
+ @use './color-variables.scss' as colors;
2
+ @use './variables' as vars;
3
+ @use './floating-label' as floating;
4
+
5
+ @mixin option-field() {
6
+ :host { display: block; min-width: 0; max-width: 100%; }
7
+ .i-option-field { position: relative; width: 100%; }
8
+ .i-option-field--float { margin-top: floating.$space; }
9
+ .i-option-control {
10
+ position: relative;
11
+ display: flex;
12
+ align-items: center;
13
+ width: 100%;
14
+ min-height: vars.$component-input-height;
15
+ box-sizing: border-box;
16
+ border: 1px solid colors.$color-surface-border;
17
+ border-radius: vars.$componentBorderRadius;
18
+ color: colors.$color-text-primary;
19
+ background: colors.$color-component-background;
20
+ &:focus-within { border-color: colors.$color-primary; box-shadow: colors.$color-box-shadow; }
21
+ }
22
+ .i-option-value { flex: 1; min-width: 0; padding: 4px 0 4px 12px; pointer-events: none; }
23
+ .i-option-text { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
24
+ .i-option-placeholder { color: colors.$color-text-secondary; }
25
+ .i-option-trigger, .i-native-select {
26
+ position: absolute;
27
+ inset: 0;
28
+ width: 100%;
29
+ height: 100%;
30
+ box-sizing: border-box;
31
+ margin: 0;
32
+ border: 0;
33
+ border-radius: inherit;
34
+ background: transparent;
35
+ cursor: pointer;
36
+ z-index: 1;
37
+ }
38
+ .i-option-trigger:focus-visible { outline: 2px solid colors.$color-primary; outline-offset: 2px; }
39
+ .i-native-select { display: none; opacity: 0; font-size: 16px; }
40
+ .i-option-actions { display: flex; align-items: center; flex-shrink: 0; pointer-events: none; }
41
+ .i-option-clear {
42
+ position: relative;
43
+ z-index: 2;
44
+ pointer-events: auto;
45
+ display: inline-flex;
46
+ justify-content: center;
47
+ align-items: center;
48
+ width: 32px;
49
+ height: 32px;
50
+ flex-shrink: 0;
51
+ padding: 0;
52
+ border: 0;
53
+ border-radius: vars.$componentBorderRadius;
54
+ background: transparent;
55
+ color: colors.$color-text-secondary;
56
+ cursor: pointer;
57
+ &:focus-visible { outline: 2px solid colors.$color-primary; outline-offset: -2px; }
58
+ }
59
+ .i-option-arrow { width: 32px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
60
+ .i-option-arrow i { transition: transform 0.15s ease; }
61
+ .i-option-arrow .flipped { transform: rotate(180deg); }
62
+ .i-option-label { @include floating.base; position: absolute; top: 21px; left: 12px; transform: translateY(-50%); pointer-events: none; color: colors.$color-text-secondary; }
63
+ .i-option-field--open .i-option-label, .i-option-field--filled .i-option-label, .i-option-field:focus-within .i-option-label { @include floating.floated; }
64
+ .i-option-field--invalid {
65
+ .i-option-control { border-color: colors.$color-danger; }
66
+ .i-option-label { color: colors.$color-danger; }
67
+ }
68
+ .i-option-field--disabled {
69
+ .i-option-control { background: colors.$color-disabled-background; color: colors.$color-text-disabled; }
70
+ .i-option-trigger, .i-native-select { cursor: not-allowed; }
71
+ }
72
+ .i-option-error { margin-top: 4px; font-size: 12px; color: colors.$color-danger; }
73
+ .i-option-panel {
74
+ width: 100%; min-width: 0; box-sizing: border-box;
75
+ max-height: min(360px, calc(100dvh - 24px));
76
+ display: flex; flex-direction: column; overflow: hidden;
77
+ border: 1px solid colors.$color-surface-border; border-radius: vars.$componentBorderRadius;
78
+ background: colors.$color-component-background; color: colors.$color-text-primary;
79
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
80
+ }
81
+ .i-option-filter { padding: 8px; flex-shrink: 0; }
82
+ .i-option-search { box-sizing: border-box; width: 100%; min-width: 0; min-height: 40px; padding: 8px; font: inherit; border: 1px solid colors.$color-surface-border; border-radius: vars.$componentBorderRadius; color: inherit; background: colors.$color-component-background; }
83
+ .i-option-search:focus-visible { outline: 2px solid colors.$color-primary; outline-offset: -2px; }
84
+ .i-option-list { overflow: auto; min-height: 0; overscroll-behavior: contain; }
85
+ .i-option { display: flex; align-items: center; gap: 8px; width: 100%; box-sizing: border-box; min-height: 40px; padding: 8px 12px; border: 0; font: inherit; text-align: left; overflow-wrap: anywhere; background: transparent; color: inherit; cursor: pointer; }
86
+ .i-option:hover, .i-option.selected { background: colors.$color-surface-hover; }
87
+ .i-option:focus-visible { outline: 2px solid colors.$color-primary; outline-offset: -2px; }
88
+ .i-option-check { flex-shrink: 0; color: colors.$color-primary; }
89
+ .i-option-empty { padding: 12px; color: colors.$color-text-secondary; }
90
+ @media (pointer: coarse) {
91
+ .i-option-control, .i-option { min-height: 44px; }
92
+ .i-option-clear { width: 44px; height: 44px; }
93
+ .i-option-search { min-height: 44px; font-size: 16px; }
94
+ }
95
+ @media (max-width: 991px) and (pointer: coarse) {
96
+ .native-on-mobile .i-option-trigger { display: none; }
97
+ .native-on-mobile .i-native-select { display: block; }
98
+ }
99
+ }