@ngx-stoui/core 21.0.4 → 21.0.6
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/README.md +148 -148
- package/fesm2022/ngx-stoui-core.mjs +1 -1
- package/fesm2022/ngx-stoui-core.mjs.map +1 -1
- package/ngx-stoui.css +4 -2
- package/package.json +4 -1
- package/styles/README.md +273 -273
- package/styles/toolbox-grid/_toolbox-grid.scss +789 -0
- package/toolbox-grid.css +741 -0
package/README.md
CHANGED
|
@@ -1,148 +1,148 @@
|
|
|
1
|
-
# @ngx-stoui/core
|
|
2
|
-
|
|
3
|
-
Core packages like styling, pipes and common directives for Angular, based on EDS design styles.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @ngx-stoui/core
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Public API
|
|
12
|
-
|
|
13
|
-
### Compiled Stylesheets
|
|
14
|
-
|
|
15
|
-
Import these in your `styles.scss` or `angular.json`:
|
|
16
|
-
|
|
17
|
-
```scss
|
|
18
|
-
// Main stylesheet with all components and utilities
|
|
19
|
-
@import '@ngx-stoui/core/ngx-stoui.css';
|
|
20
|
-
|
|
21
|
-
// Datatable stylesheet (optional, if using datatables)
|
|
22
|
-
@import '@ngx-stoui/core/ngx-datatable.css';
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### SCSS Utilities (for advanced usage)
|
|
26
|
-
|
|
27
|
-
#### Grid System
|
|
28
|
-
|
|
29
|
-
Use the grid mixin to create responsive grid layouts:
|
|
30
|
-
|
|
31
|
-
```scss
|
|
32
|
-
@use '@ngx-stoui/core/style/grid' as grid;
|
|
33
|
-
|
|
34
|
-
.my-grid {
|
|
35
|
-
@include grid.grid(12); // 12-column grid
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.my-compact-grid {
|
|
39
|
-
@include grid.grid(4, 'column', 0); // 4-column grid with custom class name
|
|
40
|
-
}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
#### Theme Variables and Mixins
|
|
44
|
-
|
|
45
|
-
Access theme variables, typography, and create custom themed components:
|
|
46
|
-
|
|
47
|
-
```scss
|
|
48
|
-
@use 'sass:map';
|
|
49
|
-
@import '@ngx-stoui/core/style/theme/theme';
|
|
50
|
-
|
|
51
|
-
// Access theme variables
|
|
52
|
-
@mixin my-component-theme($theme, $variables) {
|
|
53
|
-
$primary: map.get($variables, primary);
|
|
54
|
-
$accent: map.get($variables, accent);
|
|
55
|
-
|
|
56
|
-
.my-component {
|
|
57
|
-
background: $primary;
|
|
58
|
-
color: $accent;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Apply to light and dark themes
|
|
63
|
-
.light-theme {
|
|
64
|
-
@include my-component-theme($sto-theme, $variables);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.dark-theme {
|
|
68
|
-
@include my-component-theme($sto-dark-theme, $dark-variables);
|
|
69
|
-
}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
#### Typography Only
|
|
73
|
-
|
|
74
|
-
If you only need typography definitions:
|
|
75
|
-
|
|
76
|
-
```scss
|
|
77
|
-
@import '@ngx-stoui/core/style/theme/typography';
|
|
78
|
-
|
|
79
|
-
// Access typography variables:
|
|
80
|
-
// - $sto-typography (default 13px)
|
|
81
|
-
// - $sto-sm-typography (small 10px)
|
|
82
|
-
// - $sto-l-typography (large 16px)
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Available Exports
|
|
86
|
-
|
|
87
|
-
### Compiled CSS
|
|
88
|
-
|
|
89
|
-
- `ngx-stoui.css` - Main stylesheet
|
|
90
|
-
- `ngx-datatable.css` - Datatable styles
|
|
91
|
-
|
|
92
|
-
### SCSS Utilities
|
|
93
|
-
|
|
94
|
-
- `style/grid.scss` - Grid mixin system
|
|
95
|
-
- `style/theme/theme.scss` - Complete theme with variables and components
|
|
96
|
-
- `style/theme/_typography.scss` - Typography configurations
|
|
97
|
-
- `style/theme/_theme.scss` - Theme color palettes
|
|
98
|
-
- `style/theme/_colors.scss` - Color definitions
|
|
99
|
-
- `style/theme/_theme-variables.scss` - Theme variable functions
|
|
100
|
-
- `style/theme/components.scss` - All component styles
|
|
101
|
-
|
|
102
|
-
### Fonts
|
|
103
|
-
|
|
104
|
-
- Equinor font files (`.woff`, `.woff2`)
|
|
105
|
-
|
|
106
|
-
## Usage Examples
|
|
107
|
-
|
|
108
|
-
### Basic Setup
|
|
109
|
-
|
|
110
|
-
```scss
|
|
111
|
-
// styles.scss
|
|
112
|
-
@import '@ngx-stoui/core/ngx-stoui.css';
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### With Grid System
|
|
116
|
-
|
|
117
|
-
```scss
|
|
118
|
-
// styles.scss
|
|
119
|
-
@use '@ngx-stoui/core/style/grid' as grid;
|
|
120
|
-
@import '@ngx-stoui/core/ngx-stoui.css';
|
|
121
|
-
|
|
122
|
-
.product-grid {
|
|
123
|
-
@include grid.grid(6); // 6-column grid
|
|
124
|
-
}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### With Custom Theming
|
|
128
|
-
|
|
129
|
-
```scss
|
|
130
|
-
// styles.scss
|
|
131
|
-
@use 'sass:map';
|
|
132
|
-
@import '@ngx-stoui/core/ngx-stoui.css';
|
|
133
|
-
@import '@ngx-stoui/core/style/theme/theme';
|
|
134
|
-
|
|
135
|
-
@mixin app-theme($theme, $variables) {
|
|
136
|
-
// Your custom theme styles using $variables
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
@include app-theme($sto-theme, $variables);
|
|
140
|
-
|
|
141
|
-
.sto-dark-theme {
|
|
142
|
-
@include app-theme($sto-dark-theme, $dark-variables);
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## Running unit tests
|
|
147
|
-
|
|
148
|
-
Run `nx test core` to execute the unit tests.
|
|
1
|
+
# @ngx-stoui/core
|
|
2
|
+
|
|
3
|
+
Core packages like styling, pipes and common directives for Angular, based on EDS design styles.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @ngx-stoui/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Public API
|
|
12
|
+
|
|
13
|
+
### Compiled Stylesheets
|
|
14
|
+
|
|
15
|
+
Import these in your `styles.scss` or `angular.json`:
|
|
16
|
+
|
|
17
|
+
```scss
|
|
18
|
+
// Main stylesheet with all components and utilities
|
|
19
|
+
@import '@ngx-stoui/core/ngx-stoui.css';
|
|
20
|
+
|
|
21
|
+
// Datatable stylesheet (optional, if using datatables)
|
|
22
|
+
@import '@ngx-stoui/core/ngx-datatable.css';
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### SCSS Utilities (for advanced usage)
|
|
26
|
+
|
|
27
|
+
#### Grid System
|
|
28
|
+
|
|
29
|
+
Use the grid mixin to create responsive grid layouts:
|
|
30
|
+
|
|
31
|
+
```scss
|
|
32
|
+
@use '@ngx-stoui/core/style/grid' as grid;
|
|
33
|
+
|
|
34
|
+
.my-grid {
|
|
35
|
+
@include grid.grid(12); // 12-column grid
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.my-compact-grid {
|
|
39
|
+
@include grid.grid(4, 'column', 0); // 4-column grid with custom class name
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
#### Theme Variables and Mixins
|
|
44
|
+
|
|
45
|
+
Access theme variables, typography, and create custom themed components:
|
|
46
|
+
|
|
47
|
+
```scss
|
|
48
|
+
@use 'sass:map';
|
|
49
|
+
@import '@ngx-stoui/core/style/theme/theme';
|
|
50
|
+
|
|
51
|
+
// Access theme variables
|
|
52
|
+
@mixin my-component-theme($theme, $variables) {
|
|
53
|
+
$primary: map.get($variables, primary);
|
|
54
|
+
$accent: map.get($variables, accent);
|
|
55
|
+
|
|
56
|
+
.my-component {
|
|
57
|
+
background: $primary;
|
|
58
|
+
color: $accent;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Apply to light and dark themes
|
|
63
|
+
.light-theme {
|
|
64
|
+
@include my-component-theme($sto-theme, $variables);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.dark-theme {
|
|
68
|
+
@include my-component-theme($sto-dark-theme, $dark-variables);
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### Typography Only
|
|
73
|
+
|
|
74
|
+
If you only need typography definitions:
|
|
75
|
+
|
|
76
|
+
```scss
|
|
77
|
+
@import '@ngx-stoui/core/style/theme/typography';
|
|
78
|
+
|
|
79
|
+
// Access typography variables:
|
|
80
|
+
// - $sto-typography (default 13px)
|
|
81
|
+
// - $sto-sm-typography (small 10px)
|
|
82
|
+
// - $sto-l-typography (large 16px)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Available Exports
|
|
86
|
+
|
|
87
|
+
### Compiled CSS
|
|
88
|
+
|
|
89
|
+
- `ngx-stoui.css` - Main stylesheet
|
|
90
|
+
- `ngx-datatable.css` - Datatable styles
|
|
91
|
+
|
|
92
|
+
### SCSS Utilities
|
|
93
|
+
|
|
94
|
+
- `style/grid.scss` - Grid mixin system
|
|
95
|
+
- `style/theme/theme.scss` - Complete theme with variables and components
|
|
96
|
+
- `style/theme/_typography.scss` - Typography configurations
|
|
97
|
+
- `style/theme/_theme.scss` - Theme color palettes
|
|
98
|
+
- `style/theme/_colors.scss` - Color definitions
|
|
99
|
+
- `style/theme/_theme-variables.scss` - Theme variable functions
|
|
100
|
+
- `style/theme/components.scss` - All component styles
|
|
101
|
+
|
|
102
|
+
### Fonts
|
|
103
|
+
|
|
104
|
+
- Equinor font files (`.woff`, `.woff2`)
|
|
105
|
+
|
|
106
|
+
## Usage Examples
|
|
107
|
+
|
|
108
|
+
### Basic Setup
|
|
109
|
+
|
|
110
|
+
```scss
|
|
111
|
+
// styles.scss
|
|
112
|
+
@import '@ngx-stoui/core/ngx-stoui.css';
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### With Grid System
|
|
116
|
+
|
|
117
|
+
```scss
|
|
118
|
+
// styles.scss
|
|
119
|
+
@use '@ngx-stoui/core/style/grid' as grid;
|
|
120
|
+
@import '@ngx-stoui/core/ngx-stoui.css';
|
|
121
|
+
|
|
122
|
+
.product-grid {
|
|
123
|
+
@include grid.grid(6); // 6-column grid
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### With Custom Theming
|
|
128
|
+
|
|
129
|
+
```scss
|
|
130
|
+
// styles.scss
|
|
131
|
+
@use 'sass:map';
|
|
132
|
+
@import '@ngx-stoui/core/ngx-stoui.css';
|
|
133
|
+
@import '@ngx-stoui/core/style/theme/theme';
|
|
134
|
+
|
|
135
|
+
@mixin app-theme($theme, $variables) {
|
|
136
|
+
// Your custom theme styles using $variables
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@include app-theme($sto-theme, $variables);
|
|
140
|
+
|
|
141
|
+
.sto-dark-theme {
|
|
142
|
+
@include app-theme($sto-dark-theme, $dark-variables);
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Running unit tests
|
|
147
|
+
|
|
148
|
+
Run `nx test core` to execute the unit tests.
|
|
@@ -609,7 +609,7 @@ class NumberFormatPipe {
|
|
|
609
609
|
value = parseFloat(this.toFixed(value, numberOfDecimals));
|
|
610
610
|
}
|
|
611
611
|
// Turn negative numbers back, but only if value is not -0
|
|
612
|
-
if (isNegativeNumber && value
|
|
612
|
+
if (isNegativeNumber && value !== 0) {
|
|
613
613
|
value = value * -1;
|
|
614
614
|
}
|
|
615
615
|
const localized = this.prettyPrintValue(value, appendDecimals, numberOfDecimals);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-stoui-core.mjs","sources":["../../../../libs/core/src/lib/abstract-and-interfaces/keyPress.enum.ts","../../../../libs/core/src/lib/sto-directives/context-menu.directive.ts","../../../../libs/core/src/lib/sto-directives/date-form-field-click.directive.ts","../../../../libs/core/src/lib/sto-directives/menu-overlay.directive.ts","../../../../libs/core/src/lib/sto-directives/quick-keys.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-grid.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-select-text-on-focus.directive.ts","../../../../libs/core/src/lib/sto-directives/directives.module.ts","../../../../libs/core/src/lib/sto-pipes/currency-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/date-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/keys.pipe.ts","../../../../libs/core/src/lib/sto-pipes/number-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/with-unit.ts","../../../../libs/core/src/lib/sto-pipes/yes-no.ts","../../../../libs/core/src/lib/sto-pipes/sto-pipes.module.ts","../../../../libs/core/src/index.ts","../../../../libs/core/src/ngx-stoui-core.ts"],"sourcesContent":["/**\r\nMIT License\r\n\r\nCopyright (c) 2017 Nathan Friend\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE. **/\r\n\r\nexport enum Key {\r\n Backspace = 8,\r\n Tab = 9,\r\n Enter = 13,\r\n Shift = 16,\r\n Ctrl = 17,\r\n Alt = 18,\r\n PauseBreak = 19,\r\n CapsLock = 20,\r\n Escape = 27,\r\n Space = 32,\r\n PageUp = 33,\r\n PageDown = 34,\r\n End = 35,\r\n Home = 36,\r\n\r\n LeftArrow = 37,\r\n UpArrow = 38,\r\n RightArrow = 39,\r\n DownArrow = 40,\r\n\r\n Insert = 45,\r\n Delete = 46,\r\n\r\n Zero = 48,\r\n ClosedParen = Zero,\r\n One = 49,\r\n ExclamationMark = One,\r\n Two = 50,\r\n AtSign = Two,\r\n Three = 51,\r\n PoundSign = Three,\r\n Hash = PoundSign,\r\n Four = 52,\r\n DollarSign = Four,\r\n Five = 53,\r\n PercentSign = Five,\r\n Six = 54,\r\n Caret = Six,\r\n Hat = Caret,\r\n Seven = 55,\r\n Ampersand = Seven,\r\n Eight = 56,\r\n Star = Eight,\r\n Asterik = Star,\r\n Nine = 57,\r\n OpenParen = Nine,\r\n\r\n A = 65,\r\n B = 66,\r\n C = 67,\r\n D = 68,\r\n E = 69,\r\n F = 70,\r\n G = 71,\r\n H = 72,\r\n I = 73,\r\n J = 74,\r\n K = 75,\r\n L = 76,\r\n M = 77,\r\n N = 78,\r\n O = 79,\r\n P = 80,\r\n Q = 81,\r\n R = 82,\r\n S = 83,\r\n T = 84,\r\n U = 85,\r\n V = 86,\r\n W = 87,\r\n X = 88,\r\n Y = 89,\r\n Z = 90,\r\n\r\n LeftWindowKey = 91,\r\n RightWindowKey = 92,\r\n SelectKey = 93,\r\n\r\n Numpad0 = 96,\r\n Numpad1 = 97,\r\n Numpad2 = 98,\r\n Numpad3 = 99,\r\n Numpad4 = 100,\r\n Numpad5 = 101,\r\n Numpad6 = 102,\r\n Numpad7 = 103,\r\n Numpad8 = 104,\r\n Numpad9 = 105,\r\n\r\n Multiply = 106,\r\n Add = 107,\r\n Subtract = 109,\r\n DecimalPoint = 110,\r\n Divide = 111,\r\n\r\n F1 = 112,\r\n F2 = 113,\r\n F3 = 114,\r\n F4 = 115,\r\n F5 = 116,\r\n F6 = 117,\r\n F7 = 118,\r\n F8 = 119,\r\n F9 = 120,\r\n F10 = 121,\r\n F11 = 122,\r\n F12 = 123,\r\n\r\n NumLock = 144,\r\n ScrollLock = 145,\r\n\r\n SemiColon = 186,\r\n Equals = 187,\r\n Comma = 188,\r\n Dash = 189,\r\n Period = 190,\r\n UnderScore = Dash,\r\n PlusSign = Equals,\r\n ForwardSlash = 191,\r\n Tilde = 192,\r\n GraveAccent = Tilde,\r\n\r\n OpenBracket = 219,\r\n ClosedBracket = 221,\r\n Quote = 222\r\n}\r\n","import { Directive, HostListener, input } from '@angular/core';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { MenuOverlayDirective } from './menu-overlay.directive';\r\n\r\n@Directive({\r\n selector: '[stoContextMenu]',\r\n})\r\nexport class ContextMenuDirective {\r\n readonly menuTrigger = input.required<MatMenuTrigger>();\r\n readonly overlayDirective = input.required<MenuOverlayDirective>();\r\n readonly menuContext = input<unknown>();\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n contextMenu(event: MouseEvent) {\r\n event.preventDefault();\r\n if (this.menuTrigger().menuOpen) {\r\n this.menuTrigger().closeMenu();\r\n }\r\n this.overlayDirective().updatePosition(event);\r\n setTimeout(() => {\r\n this.menuTrigger().menuData = this.menuContext();\r\n this.menuTrigger().openMenu();\r\n }, 150);\r\n }\r\n}\r\n","import {\r\n ContentChildren,\r\n Directive,\r\n HostListener,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n input,\r\n} from '@angular/core';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { MatInput } from '@angular/material/input';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n/**\r\n * Directive that can be placed on mat-form-fields that contains a mat-datepicker.\r\n * This directive has two tasks:\r\n * Clicking anywhere on the mat-form-field will open the datepicker dialog\r\n * When the datepicker is closed in any manner, we shift focus back to the datepicker input\r\n */\r\n@Directive({\r\n selector: '[stoDateFormFieldClick]',\r\n})\r\nexport class DateFormFieldClickDirective implements OnInit, OnDestroy {\r\n @ContentChildren(MatInput) inputs: QueryList<MatInput>;\r\n readonly stoDateFormFieldClick = input.required<MatDatepicker<Date>>();\r\n private destroy$ = new Subject();\r\n\r\n @HostListener('click')\r\n clickEvent() {\r\n this.stoDateFormFieldClick().open();\r\n }\r\n\r\n ngOnInit() {\r\n this.stoDateFormFieldClick()\r\n .closedStream.pipe(takeUntil(this.destroy$))\r\n .subscribe(() => this.inputs.first.focus());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\r\nimport { MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\r\nimport { fromEvent } from 'rxjs';\r\nimport { switchMap, take } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[stoMenuOverlay]',\r\n exportAs: 'stoMenuOverlay',\r\n standalone: true\r\n})\r\nexport class MenuOverlayDirective {\n private trigger = inject(MatMenuTrigger, { host: true });\n\r\n @HostBinding('style.left.px')\r\n left = 0;\r\n @HostBinding('style.top.px')\r\n top = 0;\r\n private readonly menu: MatMenuPanel;\r\n\r\n constructor() {\n const trigger = this.trigger;\n const el = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\r\n this.menu = trigger.menu as MatMenuPanel;\r\n this.trigger.menuOpened.pipe(\r\n switchMap(() =>\r\n fromEvent<MouseEvent>(document, 'click')\r\n .pipe(take(1))\r\n ),\r\n ).subscribe(() => {\r\n this.trigger.closeMenu();\r\n });\r\n this.setStyle(el.nativeElement);\r\n }\r\n\r\n public updatePosition(event: MouseEvent) {\r\n this.left = event.x;\r\n this.top = event.y;\r\n }\r\n\r\n private setStyle(element: HTMLButtonElement) {\r\n element.style.overflow = 'hidden';\r\n element.style.position = 'fixed';\r\n element.style.height = '1px';\r\n element.style.width = '1px';\r\n }\r\n}\r\n","import { Directive, HostListener, input, output } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { Key } from '../abstract-and-interfaces/keyPress.enum';\r\n\r\n/**\r\n * QuickKeysDirective is used to implement shortcut keys on DOM elements, e.g to submit or reset a form on enter/escape\r\n * <form quickKeys (quickSubmit)=\"save()\" (quickCancel)=\"reset()\">\r\n */\r\n\r\n@Directive({\r\n selector: '[stoQuickKeys]',\r\n})\r\nexport class QuickKeysDirective {\r\n readonly quickKeys = input<unknown>();\r\n /**\r\n * Optional formGroup input, when used in combination with a reactive form\r\n */\r\n readonly formGroup = input<UntypedFormGroup>();\r\n /**\r\n * Emits when ctrl + enter is clicked in combination\r\n * <form (quickSubmit)=\"save()\">\r\n */\r\n readonly quickSubmit = output<void>();\r\n /**\r\n * Emits when escape is clicked\r\n * <form (quickCancel)=\"cancel()\">\r\n */\r\n readonly quickCancel = output<void>();\r\n\r\n /**\r\n * Listens on the host element for any keyup events\r\n * @param e\r\n */\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp(e: KeyboardEvent) {\r\n if (this.formGroup()) {\r\n this.handleFormKeys(e);\r\n }\r\n this.handleGenericKeydown(e);\r\n }\r\n\r\n /**\r\n * Handler for generic keydowns, such as cancel events to close drawers\r\n * @param e\r\n * void\r\n */\r\n private handleGenericKeydown(e: KeyboardEvent) {\r\n // Shortcuts that are useful outside of forms\r\n if (e.keyCode === Key.Escape) {\r\n // TODO: The 'emit' function requires a mandatory void argument\r\n this.quickCancel.emit();\r\n }\r\n if (!this.formGroup() && e.keyCode === Key.Enter && e.ctrlKey) {\r\n // TODO: The 'emit' function requires a mandatory void argument\r\n this.quickSubmit.emit();\r\n }\r\n }\r\n\r\n /**\r\n * Handler for form specific shortcuts, such as saving the form\r\n * @param e\r\n */\r\n private handleFormKeys(e: KeyboardEvent) {\r\n if (this.formGroup()?.pristine) {\r\n return;\r\n }\r\n if (e.keyCode === Key.Enter && e.ctrlKey) {\r\n // TODO: The 'emit' function requires a mandatory void argument\r\n this.quickSubmit.emit();\r\n }\r\n }\r\n}\r\n","import { Directive, input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[stoGridSpacer]',\r\n host: {\r\n class: 'sto-grid__col sto-grid__col--spacer',\r\n },\r\n})\r\nexport class StoGridSpacerDirective {}\r\n\r\n@Directive({\r\n selector: '[stoGridColumn]',\r\n host: {\r\n class: 'sto-grid__col',\r\n '[class.sto-grid__col--2]': 'stoGridColumnDouble()',\r\n },\r\n})\r\nexport class StoGridColumnDirective {\r\n readonly stoGridColumnDouble = input(false);\r\n}\r\n\r\n@Directive({\r\n selector: '[stoGrid]',\r\n exportAs: 'stoGrid',\r\n host: {\r\n class: 'sto-grid',\r\n '[style.max-width.px]': 'maxWidth()',\r\n '[style.min-width.px]': 'minWidth()',\r\n },\r\n})\r\nexport class StoGridDirective {\r\n readonly maxWidth = input(1000);\r\n readonly minWidth = input(250);\r\n}\r\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\r\n\r\n/**\r\n * stoSelectTextOnFocus listens for input focus events, and selects the contents of the input\r\n * A user service is established in {@link StoUserPreferenceService} that allows a user to toggle this feature\r\n */\r\n@Directive({\r\n selector: '[stoSelectTextOnFocus]',\r\n standalone: true\r\n})\r\nexport class StoSelectTextOnFocusDirective {\n private elementRef = inject(ElementRef);\n\r\n\r\n private _el: HTMLInputElement;\r\n\r\n constructor() {\r\n this._el = this.elementRef.nativeElement;\r\n }\r\n\r\n /**\r\n * Listens for focus events on the host (input) element, and focuses if applicable\r\n */\r\n @HostListener('focus')\r\n @HostListener('dblclick')\r\n onFocus() {\r\n if ( !this._el.readOnly ) {\r\n this._el.select();\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { ContextMenuDirective } from './context-menu.directive';\r\nimport { DateFormFieldClickDirective } from './date-form-field-click.directive';\r\nimport { MenuOverlayDirective } from './menu-overlay.directive';\r\nimport { QuickKeysDirective } from './quick-keys.directive';\r\nimport {\r\n StoGridColumnDirective,\r\n StoGridDirective,\r\n StoGridSpacerDirective,\r\n} from './sto-grid.directive';\r\nimport { StoSelectTextOnFocusDirective } from './sto-select-text-on-focus.directive';\r\n\r\n/**\r\n * Directives have been made standalone, import them directly:\r\n * QuickKeysDirective\r\n * DateFormFieldClickDirective\r\n * StoSelectTextOnFocusDirective\r\n * StoGridDirective\r\n * StoGridColumnDirective\r\n * StoGridSpacerDirective\r\n * MenuOverlayDirective\r\n * ContextMenuDirective\r\n *\r\n */\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [\r\n QuickKeysDirective,\r\n DateFormFieldClickDirective,\r\n StoSelectTextOnFocusDirective,\r\n StoGridDirective,\r\n StoGridColumnDirective,\r\n StoGridSpacerDirective,\r\n MenuOverlayDirective,\r\n ContextMenuDirective,\r\n ],\r\n exports: [\r\n QuickKeysDirective,\r\n DateFormFieldClickDirective,\r\n StoSelectTextOnFocusDirective,\r\n StoGridDirective,\r\n StoGridColumnDirective,\r\n StoGridSpacerDirective,\r\n MenuOverlayDirective,\r\n ContextMenuDirective,\r\n ],\r\n})\r\nexport class StoDirectivesModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Pipe used to transform numbers to a currency format\r\n *\r\n * @example\r\n *\r\n * <span>{{ 5000.5824 | currentFormat:'$':3 }}</span>\r\n * Results in\r\n * <span>5 000,582 $</span>\r\n */\r\n@Pipe({\r\n name: 'currencyFormat',\r\n standalone: true\r\n})\r\nexport class CurrencyFormatPipe implements PipeTransform {\r\n transform(value: number, unit = '', maximumFractionDigits = 3): string | null {\r\n if ( !value ) {\r\n return null;\r\n }\r\n if ( typeof value === 'string' ) {\r\n value = parseFloat(value);\r\n if ( isNaN(value) ) {\r\n return '';\r\n }\r\n }\r\n\r\n const intl = new Intl.NumberFormat('en-US', { maximumFractionDigits }).format(value);\r\n return intl.replace(/,/g, ' ').replace('.', ',') + ` ${unit}`;\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { format as formatDate, isValid, parseISO } from 'date-fns';\r\n\r\n/**\r\n * Pipe used to transform dates, based on our default formats.\r\n *\r\n * @example\r\n *\r\n * public date = \"2018-08-27 14:00:30\"\r\n * <span>{{ date | dateFormat }}</span> -> Aug 27, 2018\r\n * <span>{{ date | dateFormat:'long' }}</span> -> Monday Aug 27, 2018\r\n */\r\n\r\n@Pipe({\r\n name: 'formatDate',\r\n standalone: true\r\n})\r\nexport class DateFormatPipe implements PipeTransform {\r\n\r\n transform(value: string | number | Date | null, format?: string): string | null {\r\n if ( !value ) {\r\n return null;\r\n }\r\n if ( typeof value === 'string' ) {\r\n const originalValue = value;\r\n value = parseISO(value);\r\n if ( !isValid(value) ) {\r\n // If invalid ISO date (e.g single-digit day), fall back to new Date()\r\n console.warn(`${originalValue} is not a valid ISO date string, falling back to native date`);\r\n value = new Date(originalValue);\r\n }\r\n }\r\n switch ( format ) {\r\n case 'long':\r\n return formatDate(value, 'EEEE MMM d, yyyy');\r\n case 'short':\r\n return formatDate(value, 'yyyy-MM-dd');\r\n case 'datetime':\r\n return formatDate(value, 'MMM d, yyyy, HH:mm');\r\n case 'datetimezone':\r\n return formatDate(value, `MMM d, yyyy, HH:mm:ss ('UTC'xxx)`);\r\n case 'datetime-long':\r\n return formatDate(value, 'EEEE MMM dd, yyyy, HH:mm');\r\n case 'datetime-short':\r\n return formatDate(value, 'yyyy-MM-dd, HH:mm');\r\n default:\r\n return formatDate(value, 'MMM d, yyyy');\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Transforms an Object to an Array.\r\n *\r\n * @example\r\n *\r\n * public obj = {a: 1, b: 2, c: 3};\r\n * <span *ngFor=\"let key of obj | keys \"> {{ obj[key] }}, </span> -> 1, 2, 3,\r\n */\r\n\r\n@Pipe({\r\n name: 'keys',\r\n standalone: true\r\n})\r\nexport class KeysPipe implements PipeTransform {\r\n\r\n transform(value: Record<string, unknown>): Array<string> {\r\n if ( value ) {\r\n return Object.keys(value);\r\n }\r\n return [];\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Formats numbers to use our standard formatting (d ddd,ddd)\r\n *\r\n * @example\r\n *\r\n * {{ 1234,32 | numberFormat }} -> 1 234,320\r\n * {{ 1234,32 | numberFormat:'M3' }} -> 1 234,320 M3\r\n * {{ -1234,32 | numberFormat:'M3':true }} -> 1 234,320 M3\r\n * {{ 1234,32 | numberFormat:'M3':false:false }} -> 1 234 M3\r\n * {{ 1234,32 | numberFormat:'M3':false:true:5 }} -> 1 234,32000 M3\r\n */\r\n@Pipe({\r\n name: 'numberFormat',\r\n standalone: true,\r\n})\r\nexport class NumberFormatPipe implements PipeTransform {\r\n transform(\r\n value: number | string,\r\n unit = '',\r\n abs?: boolean,\r\n appendDecimals = true,\r\n numberOfDecimals = 3,\r\n ): string | null {\r\n if (value !== 0 && !value) {\r\n return '';\r\n }\r\n if (typeof value === 'string') {\r\n const newValue = parseFloat(value);\r\n if (isNaN(newValue)) {\r\n return null;\r\n }\r\n value = newValue;\r\n }\r\n if (abs) {\r\n value = Math.abs(value);\r\n }\r\n // We absolute the value to ensure that the rounding rules is always away from zero.\r\n // 1.5 => 2 and -1.5 => -2\r\n const isNegativeNumber = value < 0;\r\n value = Math.abs(value);\r\n\r\n if (!appendDecimals) {\r\n value = Math.round(value);\r\n }\r\n if (!isNaN(value) && appendDecimals) {\r\n value = parseFloat(this.toFixed(value, numberOfDecimals));\r\n }\r\n // Turn negative numbers back, but only if value is not -0\r\n \r\n if (isNegativeNumber && value < 0) {\r\n value = value * -1;\r\n }\r\n const localized = this.prettyPrintValue(\r\n value,\r\n appendDecimals,\r\n numberOfDecimals,\r\n );\r\n return (\r\n localized.replace(/,/g, ' ').replace('.', ',') +\r\n `${unit ? ' ' + unit : ''}`\r\n );\r\n }\r\n\r\n private prettyPrintValue(\r\n value: number,\r\n appendDecimals: boolean,\r\n numberOfDecimals: number,\r\n ) {\r\n const intlOptions = {\r\n minimumFractionDigits: numberOfDecimals,\r\n maximumFractionDigits: numberOfDecimals,\r\n };\r\n const intl = new Intl.NumberFormat('en-US', intlOptions).format(value);\r\n const split = intl.split('.');\r\n let localized = split[0];\r\n\r\n if (appendDecimals) {\r\n const decimals = split.length === 2 ? split[1] : '';\r\n split[1] = decimals.padEnd(numberOfDecimals, '0');\r\n localized = split.join('.');\r\n }\r\n return localized;\r\n }\r\n\r\n // Normal toFixed has some issues: https://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding\r\n private toFixed(num: number, precision: number) {\r\n // This method also has some issues - namely, it's unable to parse negative numbers with huge floating points\r\n // -8.185452315956354e-12 becomes NaN\r\n let returnValue = +(\r\n Math.round(+(num + 'e' + precision)) +\r\n 'e' +\r\n -precision\r\n );\r\n if (isNaN(returnValue)) {\r\n returnValue = parseFloat(num.toFixed(precision));\r\n }\r\n return returnValue.toFixed(precision);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'getUnit', standalone: true })\r\nexport class GetUnit implements PipeTransform {\r\n transform(value: string, withParens?: boolean): string {\r\n if ( value ) {\r\n const arr = value.split('(');\r\n if ( arr.length > 0 ) {\r\n if ( withParens ) {\r\n value = '(' + arr[ 1 ];\r\n } else {\r\n arr[ 1 ].slice(0, -1);\r\n value = arr[ 1 ].slice(0, -1);\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\n@Pipe({ name: 'excludeUnit', standalone: true })\r\nexport class ExcludeUnit implements PipeTransform {\r\n transform(value: string): string {\r\n if ( value ) {\r\n const arr = value.split('(');\r\n if ( arr.length > 0 ) {\r\n value = arr[ 0 ];\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'yesNo', standalone: true })\r\nexport class YesNoPipe implements PipeTransform {\r\n transform(value: boolean, ignoreNulls = false): string {\r\n let valueStr = '';\r\n if ( ignoreNulls ) {\r\n valueStr = value ? 'Yes' : value === false ? 'No' : '';\r\n } else {\r\n valueStr = value ? 'Yes' : 'No';\r\n }\r\n return valueStr;\r\n\r\n }\r\n}\r\n","import { NumberFormatPipe } from './number-format.pipe';\r\nimport { CurrencyFormatPipe } from './currency-format.pipe';\r\nimport { KeysPipe } from './keys.pipe';\r\nimport { DateFormatPipe } from './date-format.pipe';\r\nimport { ExcludeUnit, GetUnit } from './with-unit';\r\nimport { YesNoPipe } from './yes-no';\r\n\r\n\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [\r\n DateFormatPipe,\r\n KeysPipe,\r\n NumberFormatPipe,\r\n CurrencyFormatPipe,\r\n GetUnit,\r\n ExcludeUnit,\r\n YesNoPipe\r\n ],\r\n exports: [\r\n DateFormatPipe,\r\n KeysPipe,\r\n NumberFormatPipe,\r\n CurrencyFormatPipe,\r\n GetUnit,\r\n ExcludeUnit,\r\n YesNoPipe\r\n ]\r\n})\r\nexport class StoPipesModule {\r\n}\r\n","/*\r\n * Public API Surface of @ngx-stoui/core\r\n */\r\n\r\nexport * from './lib/abstract-and-interfaces/keyPress.enum';\r\nexport * from './lib/sto-directives';\r\n\r\nexport * from './lib/sto-pipes/currency-format.pipe';\r\nexport * from './lib/sto-pipes/date-format.pipe';\r\nexport * from './lib/sto-pipes/keys.pipe';\r\nexport * from './lib/sto-pipes/number-format.pipe';\r\nexport * from './lib/sto-pipes/sto-pipes.module';\r\n\r\nexport * from './lib/sto-pipes/with-unit';\r\nexport * from './lib/sto-pipes/yes-no';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["format","formatDate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-stoui-core.mjs","sources":["../../../../libs/core/src/lib/abstract-and-interfaces/keyPress.enum.ts","../../../../libs/core/src/lib/sto-directives/context-menu.directive.ts","../../../../libs/core/src/lib/sto-directives/date-form-field-click.directive.ts","../../../../libs/core/src/lib/sto-directives/menu-overlay.directive.ts","../../../../libs/core/src/lib/sto-directives/quick-keys.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-grid.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-select-text-on-focus.directive.ts","../../../../libs/core/src/lib/sto-directives/directives.module.ts","../../../../libs/core/src/lib/sto-pipes/currency-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/date-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/keys.pipe.ts","../../../../libs/core/src/lib/sto-pipes/number-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/with-unit.ts","../../../../libs/core/src/lib/sto-pipes/yes-no.ts","../../../../libs/core/src/lib/sto-pipes/sto-pipes.module.ts","../../../../libs/core/src/index.ts","../../../../libs/core/src/ngx-stoui-core.ts"],"sourcesContent":["/**\nMIT License\n\nCopyright (c) 2017 Nathan Friend\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE. **/\n\nexport enum Key {\n Backspace = 8,\n Tab = 9,\n Enter = 13,\n Shift = 16,\n Ctrl = 17,\n Alt = 18,\n PauseBreak = 19,\n CapsLock = 20,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n\n LeftArrow = 37,\n UpArrow = 38,\n RightArrow = 39,\n DownArrow = 40,\n\n Insert = 45,\n Delete = 46,\n\n Zero = 48,\n ClosedParen = Zero,\n One = 49,\n ExclamationMark = One,\n Two = 50,\n AtSign = Two,\n Three = 51,\n PoundSign = Three,\n Hash = PoundSign,\n Four = 52,\n DollarSign = Four,\n Five = 53,\n PercentSign = Five,\n Six = 54,\n Caret = Six,\n Hat = Caret,\n Seven = 55,\n Ampersand = Seven,\n Eight = 56,\n Star = Eight,\n Asterik = Star,\n Nine = 57,\n OpenParen = Nine,\n\n A = 65,\n B = 66,\n C = 67,\n D = 68,\n E = 69,\n F = 70,\n G = 71,\n H = 72,\n I = 73,\n J = 74,\n K = 75,\n L = 76,\n M = 77,\n N = 78,\n O = 79,\n P = 80,\n Q = 81,\n R = 82,\n S = 83,\n T = 84,\n U = 85,\n V = 86,\n W = 87,\n X = 88,\n Y = 89,\n Z = 90,\n\n LeftWindowKey = 91,\n RightWindowKey = 92,\n SelectKey = 93,\n\n Numpad0 = 96,\n Numpad1 = 97,\n Numpad2 = 98,\n Numpad3 = 99,\n Numpad4 = 100,\n Numpad5 = 101,\n Numpad6 = 102,\n Numpad7 = 103,\n Numpad8 = 104,\n Numpad9 = 105,\n\n Multiply = 106,\n Add = 107,\n Subtract = 109,\n DecimalPoint = 110,\n Divide = 111,\n\n F1 = 112,\n F2 = 113,\n F3 = 114,\n F4 = 115,\n F5 = 116,\n F6 = 117,\n F7 = 118,\n F8 = 119,\n F9 = 120,\n F10 = 121,\n F11 = 122,\n F12 = 123,\n\n NumLock = 144,\n ScrollLock = 145,\n\n SemiColon = 186,\n Equals = 187,\n Comma = 188,\n Dash = 189,\n Period = 190,\n UnderScore = Dash,\n PlusSign = Equals,\n ForwardSlash = 191,\n Tilde = 192,\n GraveAccent = Tilde,\n\n OpenBracket = 219,\n ClosedBracket = 221,\n Quote = 222\n}\n","import { Directive, HostListener, input } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { MenuOverlayDirective } from './menu-overlay.directive';\n\n@Directive({\n selector: '[stoContextMenu]',\n})\nexport class ContextMenuDirective {\n readonly menuTrigger = input.required<MatMenuTrigger>();\n readonly overlayDirective = input.required<MenuOverlayDirective>();\n readonly menuContext = input<unknown>();\n\n @HostListener('contextmenu', ['$event'])\n contextMenu(event: MouseEvent) {\n event.preventDefault();\n if (this.menuTrigger().menuOpen) {\n this.menuTrigger().closeMenu();\n }\n this.overlayDirective().updatePosition(event);\n setTimeout(() => {\n this.menuTrigger().menuData = this.menuContext();\n this.menuTrigger().openMenu();\n }, 150);\n }\n}\n","import {\n ContentChildren,\n Directive,\n HostListener,\n OnDestroy,\n OnInit,\n QueryList,\n input,\n} from '@angular/core';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { MatInput } from '@angular/material/input';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * Directive that can be placed on mat-form-fields that contains a mat-datepicker.\n * This directive has two tasks:\n * Clicking anywhere on the mat-form-field will open the datepicker dialog\n * When the datepicker is closed in any manner, we shift focus back to the datepicker input\n */\n@Directive({\n selector: '[stoDateFormFieldClick]',\n})\nexport class DateFormFieldClickDirective implements OnInit, OnDestroy {\n @ContentChildren(MatInput) inputs: QueryList<MatInput>;\n readonly stoDateFormFieldClick = input.required<MatDatepicker<Date>>();\n private destroy$ = new Subject();\n\n @HostListener('click')\n clickEvent() {\n this.stoDateFormFieldClick().open();\n }\n\n ngOnInit() {\n this.stoDateFormFieldClick()\n .closedStream.pipe(takeUntil(this.destroy$))\n .subscribe(() => this.inputs.first.focus());\n }\n\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\nimport { fromEvent } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\n\n@Directive({\n selector: '[stoMenuOverlay]',\n exportAs: 'stoMenuOverlay',\n standalone: true\n})\nexport class MenuOverlayDirective {\n private trigger = inject(MatMenuTrigger, { host: true });\n\n @HostBinding('style.left.px')\n left = 0;\n @HostBinding('style.top.px')\n top = 0;\n private readonly menu: MatMenuPanel;\n\n constructor() {\n const trigger = this.trigger;\n const el = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n this.menu = trigger.menu as MatMenuPanel;\n this.trigger.menuOpened.pipe(\n switchMap(() =>\n fromEvent<MouseEvent>(document, 'click')\n .pipe(take(1))\n ),\n ).subscribe(() => {\n this.trigger.closeMenu();\n });\n this.setStyle(el.nativeElement);\n }\n\n public updatePosition(event: MouseEvent) {\n this.left = event.x;\n this.top = event.y;\n }\n\n private setStyle(element: HTMLButtonElement) {\n element.style.overflow = 'hidden';\n element.style.position = 'fixed';\n element.style.height = '1px';\n element.style.width = '1px';\n }\n}\n","import { Directive, HostListener, input, output } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { Key } from '../abstract-and-interfaces/keyPress.enum';\n\n/**\n * QuickKeysDirective is used to implement shortcut keys on DOM elements, e.g to submit or reset a form on enter/escape\n * <form quickKeys (quickSubmit)=\"save()\" (quickCancel)=\"reset()\">\n */\n\n@Directive({\n selector: '[stoQuickKeys]',\n})\nexport class QuickKeysDirective {\n readonly quickKeys = input<unknown>();\n /**\n * Optional formGroup input, when used in combination with a reactive form\n */\n readonly formGroup = input<UntypedFormGroup>();\n /**\n * Emits when ctrl + enter is clicked in combination\n * <form (quickSubmit)=\"save()\">\n */\n readonly quickSubmit = output<void>();\n /**\n * Emits when escape is clicked\n * <form (quickCancel)=\"cancel()\">\n */\n readonly quickCancel = output<void>();\n\n /**\n * Listens on the host element for any keyup events\n * @param e\n */\n @HostListener('keyup', ['$event'])\n onKeyUp(e: KeyboardEvent) {\n if (this.formGroup()) {\n this.handleFormKeys(e);\n }\n this.handleGenericKeydown(e);\n }\n\n /**\n * Handler for generic keydowns, such as cancel events to close drawers\n * @param e\n * void\n */\n private handleGenericKeydown(e: KeyboardEvent) {\n // Shortcuts that are useful outside of forms\n if (e.keyCode === Key.Escape) {\n // TODO: The 'emit' function requires a mandatory void argument\n this.quickCancel.emit();\n }\n if (!this.formGroup() && e.keyCode === Key.Enter && e.ctrlKey) {\n // TODO: The 'emit' function requires a mandatory void argument\n this.quickSubmit.emit();\n }\n }\n\n /**\n * Handler for form specific shortcuts, such as saving the form\n * @param e\n */\n private handleFormKeys(e: KeyboardEvent) {\n if (this.formGroup()?.pristine) {\n return;\n }\n if (e.keyCode === Key.Enter && e.ctrlKey) {\n // TODO: The 'emit' function requires a mandatory void argument\n this.quickSubmit.emit();\n }\n }\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[stoGridSpacer]',\n host: {\n class: 'sto-grid__col sto-grid__col--spacer',\n },\n})\nexport class StoGridSpacerDirective {}\n\n@Directive({\n selector: '[stoGridColumn]',\n host: {\n class: 'sto-grid__col',\n '[class.sto-grid__col--2]': 'stoGridColumnDouble()',\n },\n})\nexport class StoGridColumnDirective {\n readonly stoGridColumnDouble = input(false);\n}\n\n@Directive({\n selector: '[stoGrid]',\n exportAs: 'stoGrid',\n host: {\n class: 'sto-grid',\n '[style.max-width.px]': 'maxWidth()',\n '[style.min-width.px]': 'minWidth()',\n },\n})\nexport class StoGridDirective {\n readonly maxWidth = input(1000);\n readonly minWidth = input(250);\n}\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\n\n/**\n * stoSelectTextOnFocus listens for input focus events, and selects the contents of the input\n * A user service is established in {@link StoUserPreferenceService} that allows a user to toggle this feature\n */\n@Directive({\n selector: '[stoSelectTextOnFocus]',\n standalone: true\n})\nexport class StoSelectTextOnFocusDirective {\n private elementRef = inject(ElementRef);\n\n\n private _el: HTMLInputElement;\n\n constructor() {\n this._el = this.elementRef.nativeElement;\n }\n\n /**\n * Listens for focus events on the host (input) element, and focuses if applicable\n */\n @HostListener('focus')\n @HostListener('dblclick')\n onFocus() {\n if ( !this._el.readOnly ) {\n this._el.select();\n }\n\n }\n\n}\n","import { ContextMenuDirective } from './context-menu.directive';\nimport { DateFormFieldClickDirective } from './date-form-field-click.directive';\nimport { MenuOverlayDirective } from './menu-overlay.directive';\nimport { QuickKeysDirective } from './quick-keys.directive';\nimport {\n StoGridColumnDirective,\n StoGridDirective,\n StoGridSpacerDirective,\n} from './sto-grid.directive';\nimport { StoSelectTextOnFocusDirective } from './sto-select-text-on-focus.directive';\n\n/**\n * Directives have been made standalone, import them directly:\n * QuickKeysDirective\n * DateFormFieldClickDirective\n * StoSelectTextOnFocusDirective\n * StoGridDirective\n * StoGridColumnDirective\n * StoGridSpacerDirective\n * MenuOverlayDirective\n * ContextMenuDirective\n *\n */\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [\n QuickKeysDirective,\n DateFormFieldClickDirective,\n StoSelectTextOnFocusDirective,\n StoGridDirective,\n StoGridColumnDirective,\n StoGridSpacerDirective,\n MenuOverlayDirective,\n ContextMenuDirective,\n ],\n exports: [\n QuickKeysDirective,\n DateFormFieldClickDirective,\n StoSelectTextOnFocusDirective,\n StoGridDirective,\n StoGridColumnDirective,\n StoGridSpacerDirective,\n MenuOverlayDirective,\n ContextMenuDirective,\n ],\n})\nexport class StoDirectivesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Pipe used to transform numbers to a currency format\n *\n * @example\n *\n * <span>{{ 5000.5824 | currentFormat:'$':3 }}</span>\n * Results in\n * <span>5 000,582 $</span>\n */\n@Pipe({\n name: 'currencyFormat',\n standalone: true\n})\nexport class CurrencyFormatPipe implements PipeTransform {\n transform(value: number, unit = '', maximumFractionDigits = 3): string | null {\n if ( !value ) {\n return null;\n }\n if ( typeof value === 'string' ) {\n value = parseFloat(value);\n if ( isNaN(value) ) {\n return '';\n }\n }\n\n const intl = new Intl.NumberFormat('en-US', { maximumFractionDigits }).format(value);\n return intl.replace(/,/g, ' ').replace('.', ',') + ` ${unit}`;\n }\n}\n\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { format as formatDate, isValid, parseISO } from 'date-fns';\n\n/**\n * Pipe used to transform dates, based on our default formats.\n *\n * @example\n *\n * public date = \"2018-08-27 14:00:30\"\n * <span>{{ date | dateFormat }}</span> -> Aug 27, 2018\n * <span>{{ date | dateFormat:'long' }}</span> -> Monday Aug 27, 2018\n */\n\n@Pipe({\n name: 'formatDate',\n standalone: true\n})\nexport class DateFormatPipe implements PipeTransform {\n\n transform(value: string | number | Date | null, format?: string): string | null {\n if ( !value ) {\n return null;\n }\n if ( typeof value === 'string' ) {\n const originalValue = value;\n value = parseISO(value);\n if ( !isValid(value) ) {\n // If invalid ISO date (e.g single-digit day), fall back to new Date()\n console.warn(`${originalValue} is not a valid ISO date string, falling back to native date`);\n value = new Date(originalValue);\n }\n }\n switch ( format ) {\n case 'long':\n return formatDate(value, 'EEEE MMM d, yyyy');\n case 'short':\n return formatDate(value, 'yyyy-MM-dd');\n case 'datetime':\n return formatDate(value, 'MMM d, yyyy, HH:mm');\n case 'datetimezone':\n return formatDate(value, `MMM d, yyyy, HH:mm:ss ('UTC'xxx)`);\n case 'datetime-long':\n return formatDate(value, 'EEEE MMM dd, yyyy, HH:mm');\n case 'datetime-short':\n return formatDate(value, 'yyyy-MM-dd, HH:mm');\n default:\n return formatDate(value, 'MMM d, yyyy');\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Transforms an Object to an Array.\n *\n * @example\n *\n * public obj = {a: 1, b: 2, c: 3};\n * <span *ngFor=\"let key of obj | keys \"> {{ obj[key] }}, </span> -> 1, 2, 3,\n */\n\n@Pipe({\n name: 'keys',\n standalone: true\n})\nexport class KeysPipe implements PipeTransform {\n\n transform(value: Record<string, unknown>): Array<string> {\n if ( value ) {\n return Object.keys(value);\n }\n return [];\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Formats numbers to use our standard formatting (d ddd,ddd)\n *\n * @example\n *\n * {{ 1234,32 | numberFormat }} -> 1 234,320\n * {{ 1234,32 | numberFormat:'M3' }} -> 1 234,320 M3\n * {{ -1234,32 | numberFormat:'M3':true }} -> 1 234,320 M3\n * {{ 1234,32 | numberFormat:'M3':false:false }} -> 1 234 M3\n * {{ 1234,32 | numberFormat:'M3':false:true:5 }} -> 1 234,32000 M3\n */\n@Pipe({\n name: 'numberFormat',\n standalone: true,\n})\nexport class NumberFormatPipe implements PipeTransform {\n transform(\n value: number | string,\n unit = '',\n abs?: boolean,\n appendDecimals = true,\n numberOfDecimals = 3,\n ): string | null {\n if (value !== 0 && !value) {\n return '';\n }\n if (typeof value === 'string') {\n const newValue = parseFloat(value);\n if (isNaN(newValue)) {\n return null;\n }\n value = newValue;\n }\n if (abs) {\n value = Math.abs(value);\n }\n // We absolute the value to ensure that the rounding rules is always away from zero.\n // 1.5 => 2 and -1.5 => -2\n const isNegativeNumber = value < 0;\n value = Math.abs(value);\n\n if (!appendDecimals) {\n value = Math.round(value);\n }\n if (!isNaN(value) && appendDecimals) {\n value = parseFloat(this.toFixed(value, numberOfDecimals));\n }\n // Turn negative numbers back, but only if value is not -0\n if (isNegativeNumber && value !== 0) {\n value = value * -1;\n }\n const localized = this.prettyPrintValue(\n value,\n appendDecimals,\n numberOfDecimals,\n );\n return (\n localized.replace(/,/g, ' ').replace('.', ',') +\n `${unit ? ' ' + unit : ''}`\n );\n }\n\n private prettyPrintValue(\n value: number,\n appendDecimals: boolean,\n numberOfDecimals: number,\n ) {\n const intlOptions = {\n minimumFractionDigits: numberOfDecimals,\n maximumFractionDigits: numberOfDecimals,\n };\n const intl = new Intl.NumberFormat('en-US', intlOptions).format(value);\n const split = intl.split('.');\n let localized = split[0];\n\n if (appendDecimals) {\n const decimals = split.length === 2 ? split[1] : '';\n split[1] = decimals.padEnd(numberOfDecimals, '0');\n localized = split.join('.');\n }\n return localized;\n }\n\n // Normal toFixed has some issues: https://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding\n private toFixed(num: number, precision: number) {\n // This method also has some issues - namely, it's unable to parse negative numbers with huge floating points\n // -8.185452315956354e-12 becomes NaN\n let returnValue = +(\n Math.round(+(num + 'e' + precision)) +\n 'e' +\n -precision\n );\n if (isNaN(returnValue)) {\n returnValue = parseFloat(num.toFixed(precision));\n }\n return returnValue.toFixed(precision);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'getUnit', standalone: true })\nexport class GetUnit implements PipeTransform {\n transform(value: string, withParens?: boolean): string {\n if ( value ) {\n const arr = value.split('(');\n if ( arr.length > 0 ) {\n if ( withParens ) {\n value = '(' + arr[ 1 ];\n } else {\n arr[ 1 ].slice(0, -1);\n value = arr[ 1 ].slice(0, -1);\n }\n }\n }\n return value;\n }\n}\n\n@Pipe({ name: 'excludeUnit', standalone: true })\nexport class ExcludeUnit implements PipeTransform {\n transform(value: string): string {\n if ( value ) {\n const arr = value.split('(');\n if ( arr.length > 0 ) {\n value = arr[ 0 ];\n }\n }\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'yesNo', standalone: true })\nexport class YesNoPipe implements PipeTransform {\n transform(value: boolean, ignoreNulls = false): string {\n let valueStr = '';\n if ( ignoreNulls ) {\n valueStr = value ? 'Yes' : value === false ? 'No' : '';\n } else {\n valueStr = value ? 'Yes' : 'No';\n }\n return valueStr;\n\n }\n}\n","import { NumberFormatPipe } from './number-format.pipe';\nimport { CurrencyFormatPipe } from './currency-format.pipe';\nimport { KeysPipe } from './keys.pipe';\nimport { DateFormatPipe } from './date-format.pipe';\nimport { ExcludeUnit, GetUnit } from './with-unit';\nimport { YesNoPipe } from './yes-no';\n\n\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [\n DateFormatPipe,\n KeysPipe,\n NumberFormatPipe,\n CurrencyFormatPipe,\n GetUnit,\n ExcludeUnit,\n YesNoPipe\n ],\n exports: [\n DateFormatPipe,\n KeysPipe,\n NumberFormatPipe,\n CurrencyFormatPipe,\n GetUnit,\n ExcludeUnit,\n YesNoPipe\n ]\n})\nexport class StoPipesModule {\n}\n","/*\n * Public API Surface of @ngx-stoui/core\n */\n\nexport * from './lib/abstract-and-interfaces/keyPress.enum';\nexport * from './lib/sto-directives';\n\nexport * from './lib/sto-pipes/currency-format.pipe';\nexport * from './lib/sto-pipes/date-format.pipe';\nexport * from './lib/sto-pipes/keys.pipe';\nexport * from './lib/sto-pipes/number-format.pipe';\nexport * from './lib/sto-pipes/sto-pipes.module';\n\nexport * from './lib/sto-pipes/with-unit';\nexport * from './lib/sto-pipes/yes-no';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["format","formatDate"],"mappings":"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"}
|
package/ngx-stoui.css
CHANGED
|
@@ -152,10 +152,11 @@ span.spacer {
|
|
|
152
152
|
|
|
153
153
|
html,
|
|
154
154
|
body {
|
|
155
|
-
font:
|
|
155
|
+
font-family: var(--application-font);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
body {
|
|
159
|
+
font: 400 13px/20px var(--application-font);
|
|
159
160
|
margin-left: 0;
|
|
160
161
|
margin-right: 0;
|
|
161
162
|
}
|
|
@@ -2385,6 +2386,7 @@ span.sortable {
|
|
|
2385
2386
|
--mat-progress-bar-active-indicator-height: 4px;
|
|
2386
2387
|
--mat-progress-bar-track-color: var(--bg-app);
|
|
2387
2388
|
--mat-progress-bar-track-height: 4px;
|
|
2389
|
+
--mat-slider-label-label-text-size: 0.6rem;
|
|
2388
2390
|
}
|
|
2389
2391
|
|
|
2390
2392
|
.sto-sm-typography {
|
|
@@ -2393,7 +2395,7 @@ span.sortable {
|
|
|
2393
2395
|
}
|
|
2394
2396
|
|
|
2395
2397
|
.sto-m-typography {
|
|
2396
|
-
font: 400 13px/
|
|
2398
|
+
font: 400 13px/20px var(--application-font);
|
|
2397
2399
|
}
|
|
2398
2400
|
|
|
2399
2401
|
.sto-l-typography {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngx-stoui/core",
|
|
3
|
-
"version": "21.0.
|
|
3
|
+
"version": "21.0.6",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Ronnie Laugen",
|
|
6
6
|
"email": "rhenri@equinor.com"
|
|
@@ -39,6 +39,9 @@
|
|
|
39
39
|
"./ngx-datatable.css": {
|
|
40
40
|
"default": "./ngx-datatable.css"
|
|
41
41
|
},
|
|
42
|
+
"./toolbox-grid.css": {
|
|
43
|
+
"default": "./toolbox-grid.css"
|
|
44
|
+
},
|
|
42
45
|
"./package.json": {
|
|
43
46
|
"default": "./package.json"
|
|
44
47
|
}
|