@ajf/material 18.4.1 → 18.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +167 -2
- package/audio/src/audio-module.d.ts +7 -6
- package/esm2022/audio/src/audio-module.mjs +22 -4
- package/esm2022/audio/src/audio.mjs +6 -6
- package/esm2022/barcode/barcode.mjs +3 -3
- package/esm2022/calendar/calendar.mjs +2 -2
- package/esm2022/checkbox-group/checkbox-group-item.mjs +3 -3
- package/esm2022/form-builder/form-builder-service.mjs +121 -32
- package/esm2022/form-builder/form-builder-utils.mjs +25 -1
- package/esm2022/form-builder/node-entry.mjs +18 -4
- package/esm2022/form-builder/node-properties.mjs +11 -17
- package/esm2022/forms/boolean-field.mjs +6 -5
- package/esm2022/forms/current-slide.mjs +92 -0
- package/esm2022/forms/date-input-field.mjs +7 -9
- package/esm2022/forms/display-field.mjs +2 -2
- package/esm2022/forms/empty-field.mjs +3 -3
- package/esm2022/forms/field-row.mjs +117 -0
- package/esm2022/forms/field.mjs +2 -2
- package/esm2022/forms/form.mjs +107 -13
- package/esm2022/forms/forms-module.mjs +26 -3
- package/esm2022/forms/input-field.mjs +6 -8
- package/esm2022/forms/multiple-choice-field.mjs +45 -10
- package/esm2022/forms/public_api.mjs +6 -1
- package/esm2022/forms/range-field.mjs +5 -6
- package/esm2022/forms/rep-strip.mjs +61 -0
- package/esm2022/forms/single-choice-field.mjs +26 -11
- package/esm2022/forms/slide-header.mjs +68 -0
- package/esm2022/forms/slide-stats.mjs +148 -0
- package/esm2022/forms/table-field.mjs +2 -2
- package/esm2022/forms/text-field.mjs +2 -2
- package/esm2022/forms/video-url-field.mjs +6 -8
- package/esm2022/geolocation/geolocation.mjs +4 -6
- package/esm2022/node-icon/node-icon.mjs +4 -1
- package/esm2022/page-slider/page-slider.mjs +3 -3
- package/esm2022/signature/signature.mjs +5 -6
- package/esm2022/time/time-module.mjs +22 -4
- package/esm2022/time/time.mjs +4 -4
- package/fesm2022/ajf-material-audio.mjs +27 -9
- package/fesm2022/ajf-material-audio.mjs.map +1 -1
- package/fesm2022/ajf-material-barcode.mjs +2 -2
- package/fesm2022/ajf-material-barcode.mjs.map +1 -1
- package/fesm2022/ajf-material-calendar.mjs +2 -2
- package/fesm2022/ajf-material-calendar.mjs.map +1 -1
- package/fesm2022/ajf-material-checkbox-group.mjs +2 -2
- package/fesm2022/ajf-material-checkbox-group.mjs.map +1 -1
- package/fesm2022/ajf-material-form-builder.mjs +168 -49
- package/fesm2022/ajf-material-form-builder.mjs.map +1 -1
- package/fesm2022/ajf-material-forms.mjs +712 -99
- package/fesm2022/ajf-material-forms.mjs.map +1 -1
- package/fesm2022/ajf-material-geolocation.mjs +5 -7
- package/fesm2022/ajf-material-geolocation.mjs.map +1 -1
- package/fesm2022/ajf-material-node-icon.mjs +3 -0
- package/fesm2022/ajf-material-node-icon.mjs.map +1 -1
- package/fesm2022/ajf-material-page-slider.mjs +2 -2
- package/fesm2022/ajf-material-page-slider.mjs.map +1 -1
- package/fesm2022/ajf-material-signature.mjs +7 -8
- package/fesm2022/ajf-material-signature.mjs.map +1 -1
- package/fesm2022/ajf-material-time.mjs +24 -6
- package/fesm2022/ajf-material-time.mjs.map +1 -1
- package/form-builder/form-builder-service.d.ts +23 -0
- package/form-builder/form-builder-utils.d.ts +8 -0
- package/form-builder/node-entry.d.ts +10 -0
- package/form-builder/node-properties.d.ts +5 -1
- package/forms/_theming.scss +142 -0
- package/forms/current-slide.d.ts +61 -0
- package/forms/field-row.d.ts +63 -0
- package/forms/form.d.ts +40 -3
- package/forms/forms-module.d.ts +57 -51
- package/forms/multiple-choice-field.d.ts +15 -1
- package/forms/public_api.d.ts +5 -0
- package/forms/rep-strip.d.ts +52 -0
- package/forms/single-choice-field.d.ts +7 -0
- package/forms/slide-header.d.ts +61 -0
- package/forms/slide-stats.d.ts +76 -0
- package/package.json +2 -2
- package/time/time-module.d.ts +4 -3
package/README.md
CHANGED
|
@@ -1,4 +1,169 @@
|
|
|
1
|
-
# Advanced JSON
|
|
1
|
+
# Advanced JSON Forms (AJF)
|
|
2
2
|
|
|
3
|
+
Define a form as JSON, render it with Angular.
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
AJF is Gnucoop's framework for data collection: a form is a JSON schema — slides, fields,
|
|
6
|
+
validation rules, visibility conditions and formulas — and AJF turns that schema into a working
|
|
7
|
+
Angular form, a read-only view of the collected data, a visual form builder, and reports over the
|
|
8
|
+
results.
|
|
9
|
+
|
|
10
|
+
Built for and with Angular 18 and Angular Material 18.
|
|
11
|
+
|
|
12
|
+
## Packages
|
|
13
|
+
|
|
14
|
+
| Package | Contains |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `@ajf/core` | The framework-agnostic half: schema and interfaces (`AjfForm`, `AjfNode`, `AjfField`), serialization, validation, the renderer service, reports, PDF/DOCX export. No UI. |
|
|
17
|
+
| `@ajf/material` | The Angular Material half: the components that render what core defines, plus the visual form builder. |
|
|
18
|
+
| `@ajf/calendars` | Ethiopian calendar support. |
|
|
19
|
+
| `ajf-examples` | Canonical usage examples. |
|
|
20
|
+
|
|
21
|
+
Both libraries are split into secondary entry points, imported individually:
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import {AjfFormSerializer} from '@ajf/core/forms';
|
|
25
|
+
import {AjfFormsModule} from '@ajf/material/forms';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`@ajf/core` ships `forms`, `models`, `reports`, `transloco`, `common`, `utils`, `page-slider`,
|
|
29
|
+
`page-break`, `node-icon`, `table`, `text`, `chart`, `echarts`, `graph`, `map`, `heat-map`, `image`,
|
|
30
|
+
`pdfmake`, and one entry point per complex field (`audio`, `barcode`, `calendar`, `checkbox-group`,
|
|
31
|
+
`file-input`, `geolocation`, `range`, `signature`, `time`). `@ajf/material` mirrors the ones that
|
|
32
|
+
have a UI and adds `form-builder`.
|
|
33
|
+
|
|
34
|
+
## Install
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
yarn add @ajf/core @ajf/material
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Angular 18.2 and Angular Material 18.2 are peer dependencies.
|
|
41
|
+
|
|
42
|
+
## Quick start
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
import {AjfTranslocoModule} from '@ajf/core/transloco';
|
|
46
|
+
import {AjfFormsModule} from '@ajf/material/forms';
|
|
47
|
+
|
|
48
|
+
@NgModule({
|
|
49
|
+
imports: [AjfFormsModule, AjfTranslocoModule.forRoot()],
|
|
50
|
+
})
|
|
51
|
+
export class AppModule {}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
import {AjfForm, AjfFormActionEvent, AjfFormSerializer} from '@ajf/core/forms';
|
|
56
|
+
|
|
57
|
+
@Component({
|
|
58
|
+
template: '<ajf-form [form]="form" (formAction)="onAction($event)"></ajf-form>',
|
|
59
|
+
})
|
|
60
|
+
export class MyFormComponent {
|
|
61
|
+
form: AjfForm = AjfFormSerializer.fromJson(schema, context);
|
|
62
|
+
|
|
63
|
+
onAction({action, value}: AjfFormActionEvent): void {
|
|
64
|
+
// action is 'save' for the built-in button, or whatever you passed to
|
|
65
|
+
// onFormAction(); value is the collected data.
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`schema` is the JSON definition; `context` is the initial values. The renderer needs a height to
|
|
71
|
+
lay its slides out — give the host element one, or a positioned container.
|
|
72
|
+
|
|
73
|
+
For view mode, pass the same form with `[readonly]="true"`: the renderer swaps every field for its
|
|
74
|
+
read-only counterpart and renders the values as flat text.
|
|
75
|
+
|
|
76
|
+
## Fields
|
|
77
|
+
|
|
78
|
+
`AjfFieldType`: `String`, `Text`, `Number`, `Boolean`, `SingleChoice`, `MultipleChoice`, `Formula`,
|
|
79
|
+
`Empty`, `DateRange`, `DateInput`, `Time`, `Table`, `Geolocation`, `Barcode`, `File`, `Image`,
|
|
80
|
+
`VideoUrl`, `Range`, `Signature`, `Audio`.
|
|
81
|
+
|
|
82
|
+
Custom field types are registered on `AjfFieldService.registerCustomField()`.
|
|
83
|
+
|
|
84
|
+
Conditions (`AjfCondition`) and formulas (`AjfFormula`) are plain JavaScript strings evaluated at
|
|
85
|
+
runtime, with the current form's field names in scope: `pet_type === 'cat'`, `amount * 0.05`.
|
|
86
|
+
Register your own functions for those expressions with `AjfValidationService`.
|
|
87
|
+
|
|
88
|
+
## Rendering
|
|
89
|
+
|
|
90
|
+
Every field is laid out as a row — `label + type name | control | hint or error` — by a single
|
|
91
|
+
component, `AjfFieldRow`. Above the slides sits one header bar carrying the slide number and title,
|
|
92
|
+
a completion counter, a jump menu, paging, the form's outstanding issues, and a slot for your own
|
|
93
|
+
action buttons:
|
|
94
|
+
|
|
95
|
+
```html
|
|
96
|
+
<ajf-form [form]="form">
|
|
97
|
+
<button ajfFormTopToolbarButtons mat-button>Save draft</button>
|
|
98
|
+
<button ajfFormSaveButton mat-flat-button>Save</button>
|
|
99
|
+
</ajf-form>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Theming
|
|
103
|
+
|
|
104
|
+
The renderer paints itself from `--ajf-*` CSS custom properties, and each colour token falls through
|
|
105
|
+
Angular Material's system variables before landing on AJF's own default. There are four levels,
|
|
106
|
+
cheapest first:
|
|
107
|
+
|
|
108
|
+
1. **Nothing.** The built-in palette, light and dark.
|
|
109
|
+
2. **An M3 Material theme.** Build it with `use-system-variables: true` and the whole renderer
|
|
110
|
+
follows, with no other wiring.
|
|
111
|
+
3. **Any Material theme, M2 or M3.** One include:
|
|
112
|
+
|
|
113
|
+
```scss
|
|
114
|
+
@use '@angular/material' as mat;
|
|
115
|
+
@use '@ajf/material/forms/theming' as ajf-forms;
|
|
116
|
+
|
|
117
|
+
:root {
|
|
118
|
+
@include mat.all-component-themes($theme);
|
|
119
|
+
@include ajf-forms.theme($theme);
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
4. **Setting the tokens yourself**, e.g. `--ajf-accent`, `--ajf-surface`, `--ajf-control-h`.
|
|
124
|
+
|
|
125
|
+
Dark mode follows `prefers-color-scheme`, and an `.ajf-dark` or `.ajf-light` class on any ancestor
|
|
126
|
+
overrides it.
|
|
127
|
+
|
|
128
|
+
## Internationalisation
|
|
129
|
+
|
|
130
|
+
`@ajf/core/transloco` wraps [`@ngneat/transloco`](https://ngneat.github.io/transloco/) and ships
|
|
131
|
+
translations for Arabic, English, Ethiopian, French, Italian, Portuguese, Spanish and Ukrainian.
|
|
132
|
+
Import `AjfTranslocoModule.forRoot()` once in your app root.
|
|
133
|
+
|
|
134
|
+
## Development
|
|
135
|
+
|
|
136
|
+
Requires Node >= 18.17 and **yarn** (enforced through `.npmrc`).
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
yarn install
|
|
140
|
+
yarn dev-app # the demo playground at http://localhost:4200
|
|
141
|
+
yarn build # build every library into dist/
|
|
142
|
+
yarn lint
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Tests:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
yarn test # unit tests, watch mode
|
|
149
|
+
yarn test:ci # unit tests, once
|
|
150
|
+
ng test core # one project at a time
|
|
151
|
+
yarn e2e-material # Cypress, starts the e2e host app
|
|
152
|
+
yarn e2e-core
|
|
153
|
+
yarn e2e-calendars
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`projects/dev-app` is the playground — one lazy-loaded module per feature, including a full form
|
|
157
|
+
demo with `readonly` and dark-mode switches. `projects/e2e-app` hosts the Cypress suites.
|
|
158
|
+
|
|
159
|
+
`CLAUDE.md` documents the internals: the core/material split, the two patterns for field
|
|
160
|
+
components, the token layer, and a checklist for adding a field type.
|
|
161
|
+
|
|
162
|
+
## Links
|
|
163
|
+
|
|
164
|
+
- Repository: https://github.com/gnucoop/ajf
|
|
165
|
+
- Changelog: [CHANGELOG.md](CHANGELOG.md)
|
|
166
|
+
|
|
167
|
+
## License
|
|
168
|
+
|
|
169
|
+
AGPL-3.0-or-later. See the license headers in each source file.
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./audio";
|
|
3
|
-
import * as i2 from "@
|
|
4
|
-
import * as i3 from "@angular/
|
|
5
|
-
import * as i4 from "@angular/
|
|
6
|
-
import * as i5 from "@angular/material/
|
|
7
|
-
import * as i6 from "@angular/material/
|
|
3
|
+
import * as i2 from "@ajf/core/transloco";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
import * as i4 from "@angular/forms";
|
|
6
|
+
import * as i5 from "@angular/material/button";
|
|
7
|
+
import * as i6 from "@angular/material/icon";
|
|
8
|
+
import * as i7 from "@angular/material/tooltip";
|
|
8
9
|
export declare class AjfAudioModule {
|
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<AjfAudioModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AjfAudioModule, [typeof i1.AjfAudioComponent], [typeof i2.
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AjfAudioModule, [typeof i1.AjfAudioComponent], [typeof i2.AjfTranslocoModule, typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.MatButtonModule, typeof i6.MatIconModule, typeof i7.MatTooltipModule], [typeof i1.AjfAudioComponent]>;
|
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<AjfAudioModule>;
|
|
12
13
|
}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* If not, see http://www.gnu.org/licenses/.
|
|
20
20
|
*
|
|
21
21
|
*/
|
|
22
|
+
import { AjfTranslocoModule } from '@ajf/core/transloco';
|
|
22
23
|
import { CommonModule } from '@angular/common';
|
|
23
24
|
import { NgModule } from '@angular/core';
|
|
24
25
|
import { MatButtonModule } from '@angular/material/button';
|
|
@@ -29,15 +30,32 @@ import { FormsModule } from '@angular/forms';
|
|
|
29
30
|
import * as i0 from "@angular/core";
|
|
30
31
|
export class AjfAudioModule {
|
|
31
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfAudioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
32
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AjfAudioModule, declarations: [AjfAudioComponent], imports: [
|
|
33
|
-
|
|
33
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AjfAudioModule, declarations: [AjfAudioComponent], imports: [AjfTranslocoModule,
|
|
34
|
+
CommonModule,
|
|
35
|
+
FormsModule,
|
|
36
|
+
MatButtonModule,
|
|
37
|
+
MatIconModule,
|
|
38
|
+
MatTooltipModule], exports: [AjfAudioComponent] }); }
|
|
39
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfAudioModule, imports: [AjfTranslocoModule,
|
|
40
|
+
CommonModule,
|
|
41
|
+
FormsModule,
|
|
42
|
+
MatButtonModule,
|
|
43
|
+
MatIconModule,
|
|
44
|
+
MatTooltipModule] }); }
|
|
34
45
|
}
|
|
35
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfAudioModule, decorators: [{
|
|
36
47
|
type: NgModule,
|
|
37
48
|
args: [{
|
|
38
|
-
imports: [
|
|
49
|
+
imports: [
|
|
50
|
+
AjfTranslocoModule,
|
|
51
|
+
CommonModule,
|
|
52
|
+
FormsModule,
|
|
53
|
+
MatButtonModule,
|
|
54
|
+
MatIconModule,
|
|
55
|
+
MatTooltipModule,
|
|
56
|
+
],
|
|
39
57
|
declarations: [AjfAudioComponent],
|
|
40
58
|
exports: [AjfAudioComponent],
|
|
41
59
|
}]
|
|
42
60
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8tbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwvYXVkaW8vc3JjL2F1ZGlvLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBYzNDLE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxpQkFIVixpQkFBaUIsYUFQOUIsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7WUFDYixnQkFBZ0IsYUFHUixpQkFBaUI7Z0hBRWhCLGNBQWMsWUFWdkIsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7WUFDYixnQkFBZ0I7OzRGQUtQLGNBQWM7a0JBWjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCO29CQUNELFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmltcG9ydCB7QWpmVHJhbnNsb2NvTW9kdWxlfSBmcm9tICdAYWpmL2NvcmUvdHJhbnNsb2NvJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQge0FqZkF1ZGlvQ29tcG9uZW50fSBmcm9tICcuL2F1ZGlvJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEFqZlRyYW5zbG9jb01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbQWpmQXVkaW9Db21wb25lbnRdLFxuICBleHBvcnRzOiBbQWpmQXVkaW9Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBamZBdWRpb01vZHVsZSB7fVxuIl19
|
|
@@ -25,9 +25,9 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
25
25
|
import * as i0 from "@angular/core";
|
|
26
26
|
import * as i1 from "@angular/platform-browser";
|
|
27
27
|
import * as i2 from "@angular/common";
|
|
28
|
-
import * as i3 from "@angular/material/
|
|
29
|
-
import * as i4 from "@angular/material/
|
|
30
|
-
import * as i5 from "@
|
|
28
|
+
import * as i3 from "@angular/material/icon";
|
|
29
|
+
import * as i4 from "@angular/material/tooltip";
|
|
30
|
+
import * as i5 from "@ngneat/transloco";
|
|
31
31
|
export class AjfAudioComponent extends AjfAudio {
|
|
32
32
|
constructor(cdr, _sanitizer) {
|
|
33
33
|
super(cdr);
|
|
@@ -120,7 +120,7 @@ export class AjfAudioComponent extends AjfAudio {
|
|
|
120
120
|
useExisting: AjfAudioComponent,
|
|
121
121
|
multi: true,
|
|
122
122
|
},
|
|
123
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"ajf-field-wrapper\">\n <div class=\"ajf-audio
|
|
123
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"ajf-field-wrapper\">\n <div class=\"ajf-audio\">\n <!-- Nothing recorded yet -->\n <div class=\"ajf-audio-row\" *ngIf=\"!isRecording && !safeAudioSrc\">\n <span class=\"ajf-audio-state\">{{ 'empty' | transloco }}</span>\n <div class=\"ajf-audio-box\">\n <button\n type=\"button\"\n class=\"ajf-audio-action ajf-audio-rec\"\n (click)=\"startRecording()\"\n [disabled]=\"readonly\"\n [matTooltip]=\"'Start Recording' | transloco\"\n >\n <mat-icon>fiber_manual_record</mat-icon>\n <span>{{ 'Record' | transloco }}</span>\n </button>\n </div>\n </div>\n\n <!-- Recording in progress -->\n <div class=\"ajf-audio-row ajf-audio-recording\" *ngIf=\"isRecording\">\n <span class=\"ajf-audio-state\">{{ 'recording' | transloco }}</span>\n <div class=\"ajf-audio-box\">\n <button\n type=\"button\"\n class=\"ajf-audio-action ajf-audio-stop\"\n (click)=\"stopRecording()\"\n [matTooltip]=\"'Stop Recording' | transloco\"\n >\n <mat-icon>stop</mat-icon>\n </button>\n <span class=\"ajf-audio-wave\" aria-hidden=\"true\">\n <i></i><i></i><i></i><i></i><i></i><i></i>\n </span>\n </div>\n </div>\n\n <!-- A recording is held -->\n <div class=\"ajf-audio-row\" *ngIf=\"!isRecording && safeAudioSrc\">\n <span class=\"ajf-audio-state\">{{ 'recorded' | transloco }}</span>\n <div class=\"ajf-audio-box\">\n <audio [src]=\"safeAudioSrc\" controls></audio>\n </div>\n <button\n type=\"button\"\n class=\"ajf-audio-delete\"\n (click)=\"clearRecording()\"\n [disabled]=\"readonly\"\n [matTooltip]=\"'Delete Audio' | transloco\"\n >\n {{ 'Delete' | transloco }}\n </button>\n </div>\n </div>\n</div>\n", styles: ["ajf-audio{display:block;width:100%}ajf-audio .ajf-audio{display:flex;flex-direction:column;gap:8px}ajf-audio .ajf-audio-row{display:flex;align-items:center;gap:12px}ajf-audio .ajf-audio-state{flex:0 0 84px;color:var(--ajf-text-muted, #7a736a);font-family:var(--ajf-font-mono, monospace);font-size:11px;letter-spacing:.09em;text-align:right;text-transform:uppercase}ajf-audio .ajf-audio-box{display:flex;flex:1 1 auto;align-items:center;gap:12px;min-width:0;max-width:400px;box-sizing:border-box;min-height:var(--ajf-control-h, 44px);padding:0 12px;border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff)}ajf-audio .ajf-audio-action{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--ajf-text, #1c1a17);font-family:inherit;font-size:14px;cursor:pointer}ajf-audio .ajf-audio-action:disabled{color:var(--ajf-text-faint, #a49c92);cursor:default}ajf-audio .ajf-audio-action .mat-icon{color:var(--ajf-danger, #b8362b)}ajf-audio .ajf-audio-recording .ajf-audio-box{border-color:var(--ajf-danger, #b8362b);background:var(--ajf-danger-bg, #fdf1ef)}ajf-audio .ajf-audio-recording .ajf-audio-state{color:var(--ajf-danger, #b8362b)}ajf-audio .ajf-audio-wave{display:inline-flex;align-items:flex-end;gap:2px;height:18px}ajf-audio .ajf-audio-wave i{width:3px;background:var(--ajf-danger, #b8362b);animation:ajf-audio-pulse 1s ease-in-out infinite}ajf-audio .ajf-audio-wave i:nth-child(1){height:40%;animation-delay:0s}ajf-audio .ajf-audio-wave i:nth-child(2){height:80%;animation-delay:.1s}ajf-audio .ajf-audio-wave i:nth-child(3){height:55%;animation-delay:.2s}ajf-audio .ajf-audio-wave i:nth-child(4){height:100%;animation-delay:.3s}ajf-audio .ajf-audio-wave i:nth-child(5){height:65%;animation-delay:.4s}ajf-audio .ajf-audio-wave i:nth-child(6){height:35%;animation-delay:.5s}ajf-audio .ajf-audio-delete{padding:0 4px;border:0;background:none;color:var(--ajf-danger, #b8362b);font-family:inherit;font-size:14px;cursor:pointer}ajf-audio .ajf-audio-delete:hover:not(:disabled){text-decoration:underline}ajf-audio .ajf-audio-delete:disabled{color:var(--ajf-text-faint, #a49c92);cursor:default}ajf-audio audio{width:100%;min-width:0;height:36px;outline:none}@keyframes ajf-audio-pulse{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1)}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
124
124
|
}
|
|
125
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfAudioComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
@@ -130,8 +130,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
130
130
|
useExisting: AjfAudioComponent,
|
|
131
131
|
multi: true,
|
|
132
132
|
},
|
|
133
|
-
], template: "<div class=\"ajf-field-wrapper\">\n <div class=\"ajf-audio
|
|
133
|
+
], template: "<div class=\"ajf-field-wrapper\">\n <div class=\"ajf-audio\">\n <!-- Nothing recorded yet -->\n <div class=\"ajf-audio-row\" *ngIf=\"!isRecording && !safeAudioSrc\">\n <span class=\"ajf-audio-state\">{{ 'empty' | transloco }}</span>\n <div class=\"ajf-audio-box\">\n <button\n type=\"button\"\n class=\"ajf-audio-action ajf-audio-rec\"\n (click)=\"startRecording()\"\n [disabled]=\"readonly\"\n [matTooltip]=\"'Start Recording' | transloco\"\n >\n <mat-icon>fiber_manual_record</mat-icon>\n <span>{{ 'Record' | transloco }}</span>\n </button>\n </div>\n </div>\n\n <!-- Recording in progress -->\n <div class=\"ajf-audio-row ajf-audio-recording\" *ngIf=\"isRecording\">\n <span class=\"ajf-audio-state\">{{ 'recording' | transloco }}</span>\n <div class=\"ajf-audio-box\">\n <button\n type=\"button\"\n class=\"ajf-audio-action ajf-audio-stop\"\n (click)=\"stopRecording()\"\n [matTooltip]=\"'Stop Recording' | transloco\"\n >\n <mat-icon>stop</mat-icon>\n </button>\n <span class=\"ajf-audio-wave\" aria-hidden=\"true\">\n <i></i><i></i><i></i><i></i><i></i><i></i>\n </span>\n </div>\n </div>\n\n <!-- A recording is held -->\n <div class=\"ajf-audio-row\" *ngIf=\"!isRecording && safeAudioSrc\">\n <span class=\"ajf-audio-state\">{{ 'recorded' | transloco }}</span>\n <div class=\"ajf-audio-box\">\n <audio [src]=\"safeAudioSrc\" controls></audio>\n </div>\n <button\n type=\"button\"\n class=\"ajf-audio-delete\"\n (click)=\"clearRecording()\"\n [disabled]=\"readonly\"\n [matTooltip]=\"'Delete Audio' | transloco\"\n >\n {{ 'Delete' | transloco }}\n </button>\n </div>\n </div>\n</div>\n", styles: ["ajf-audio{display:block;width:100%}ajf-audio .ajf-audio{display:flex;flex-direction:column;gap:8px}ajf-audio .ajf-audio-row{display:flex;align-items:center;gap:12px}ajf-audio .ajf-audio-state{flex:0 0 84px;color:var(--ajf-text-muted, #7a736a);font-family:var(--ajf-font-mono, monospace);font-size:11px;letter-spacing:.09em;text-align:right;text-transform:uppercase}ajf-audio .ajf-audio-box{display:flex;flex:1 1 auto;align-items:center;gap:12px;min-width:0;max-width:400px;box-sizing:border-box;min-height:var(--ajf-control-h, 44px);padding:0 12px;border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff)}ajf-audio .ajf-audio-action{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--ajf-text, #1c1a17);font-family:inherit;font-size:14px;cursor:pointer}ajf-audio .ajf-audio-action:disabled{color:var(--ajf-text-faint, #a49c92);cursor:default}ajf-audio .ajf-audio-action .mat-icon{color:var(--ajf-danger, #b8362b)}ajf-audio .ajf-audio-recording .ajf-audio-box{border-color:var(--ajf-danger, #b8362b);background:var(--ajf-danger-bg, #fdf1ef)}ajf-audio .ajf-audio-recording .ajf-audio-state{color:var(--ajf-danger, #b8362b)}ajf-audio .ajf-audio-wave{display:inline-flex;align-items:flex-end;gap:2px;height:18px}ajf-audio .ajf-audio-wave i{width:3px;background:var(--ajf-danger, #b8362b);animation:ajf-audio-pulse 1s ease-in-out infinite}ajf-audio .ajf-audio-wave i:nth-child(1){height:40%;animation-delay:0s}ajf-audio .ajf-audio-wave i:nth-child(2){height:80%;animation-delay:.1s}ajf-audio .ajf-audio-wave i:nth-child(3){height:55%;animation-delay:.2s}ajf-audio .ajf-audio-wave i:nth-child(4){height:100%;animation-delay:.3s}ajf-audio .ajf-audio-wave i:nth-child(5){height:65%;animation-delay:.4s}ajf-audio .ajf-audio-wave i:nth-child(6){height:35%;animation-delay:.5s}ajf-audio .ajf-audio-delete{padding:0 4px;border:0;background:none;color:var(--ajf-danger, #b8362b);font-family:inherit;font-size:14px;cursor:pointer}ajf-audio .ajf-audio-delete:hover:not(:disabled){text-decoration:underline}ajf-audio .ajf-audio-delete:disabled{color:var(--ajf-text-faint, #a49c92);cursor:default}ajf-audio audio{width:100%;min-width:0;height:36px;outline:none}@keyframes ajf-audio-pulse{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1)}}\n"] }]
|
|
134
134
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }], propDecorators: { readonly: [{
|
|
135
135
|
type: Input
|
|
136
136
|
}] } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9hdWRpby9zcmMvYXVkaW8udHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9hdWRpby9zcmMvYXVkaW8uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWlCakQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFFBQVE7SUFPN0MsWUFBWSxHQUFzQixFQUFVLFVBQXdCO1FBQ2xFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUQrQixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBTjNELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFMUIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDWixrQkFBYSxHQUF5QixJQUFJLENBQUM7UUFDM0MsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFJaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU3RCxNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJ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QUFDO1lBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsU0FBUztZQUNsQixHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksU0FBUztZQUNqQyxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQTdGVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixzRUFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsaUJBQWlCO2dCQUM5QixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDOUNILHNyQ0ErQ0E7OzRGRENhLGlCQUFpQjtrQkFkN0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxtQkFBbUI7NEJBQzlCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lIQUdRLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmltcG9ydCB7QWpmQXVkaW99IGZyb20gJ0BhamYvY29yZS9hdWRpbyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhamYtYXVkaW8nLFxuICB0ZW1wbGF0ZVVybDogJ2F1ZGlvLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnYXVkaW8uc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogQWpmQXVkaW9Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBamZBdWRpb0NvbXBvbmVudCBleHRlbmRzIEFqZkF1ZGlvIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcblxuICBpc1JlY29yZGluZyA9IGZhbHNlO1xuICBwcml2YXRlIG1lZGlhUmVjb3JkZXI6IE1lZGlhUmVjb3JkZXIgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhdWRpb0NodW5rczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIHN1cGVyKGNkcik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3BSZWNvcmRpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYW5pdGl6ZXMgdGhlIGF1ZGlvIHNvdXJjZSBmb3IgcGxheWJhY2ssIGVpdGhlciBmcm9tIHRoZSBiYXNlNjQgY29udGVudFxuICAgKiBvciwgYXMgYSBmYWxsYmFjaywgZnJvbSB0aGUgc3RvcmVkIHVybC5cbiAgICovXG4gIGdldCBzYWZlQXVkaW9TcmMoKTogU2FmZVVybCB8IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghdGhpcy52YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKCF0aGlzLnZhbHVlLmNvbnRlbnQgJiYgdGhpcy52YWx1ZS5kZWxldGVVcmwpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgcmF3VXJsID1cbiAgICAgIHRoaXMudmFsdWUuY29udGVudCAmJiB0aGlzLnZhbHVlLmNvbnRlbnQubGVuZ3RoID8gdGhpcy52YWx1ZS5jb250ZW50IDogdGhpcy52YWx1ZS51cmw7XG4gICAgaWYgKCFyYXdVcmwpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHJhd1VybCk7XG4gIH1cblxuICBhc3luYyBzdGFydFJlY29yZGluZygpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVlfSk7XG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0pO1xuICAgICAgdGhpcy5hdWRpb0NodW5rcyA9IFtdO1xuXG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIub25kYXRhYXZhaWxhYmxlID0gZXZlbnQgPT4ge1xuICAgICAgICB0aGlzLmF1ZGlvQ2h1bmtzLnB1c2goZXZlbnQuZGF0YSk7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIub25zdG9wID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBhdWRpb0Jsb2IgPSBuZXcgQmxvYih0aGlzLmF1ZGlvQ2h1bmtzLCB7dHlwZTogJ2F1ZGlvL3dlYm0nfSk7XG5cbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYXVkaW9CbG9iKTtcbiAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBiYXNlNjRkYXRhID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG4gICAgICAgICAgY29uc3QgaGVhZCA9ICdkYXRhOmF1ZGlvL3dlYm07YmFzZTY0LCc7XG4gICAgICAgICAgY29uc3QgYXVkaW9GaWxlU2l6ZSA9IE1hdGgucm91bmQoKChiYXNlNjRkYXRhLmxlbmd0aCAtIGhlYWQubGVuZ3RoKSAqIDMpIC8gNCk7XG4gICAgICAgICAgLy8gS2VlcHMgdGhlIG9sZCB1cmwgdG8gZGVsZXRlIG9sZCBhdWRpbyBmcm9tIHN0b3JhZ2VcbiAgICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgICAgbmFtZTogJ2F1ZGlvLndlYm0nLFxuICAgICAgICAgICAgdHlwZTogJ2F1ZGlvL3dlYm0nLFxuICAgICAgICAgICAgc2l6ZTogYXVkaW9GaWxlU2l6ZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGJhc2U2NGRhdGEsXG4gICAgICAgICAgICB1cmw6IHRoaXMudmFsdWU/LnVybCA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICBkZWxldGVVcmw6IGZhbHNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgdGhpcy5tZWRpYVJlY29yZGVyLnN0YXJ0KCk7XG4gICAgICB0aGlzLmlzUmVjb3JkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFjY2Vzc2luZyBtaWNyb3Bob25lOicsIGVycik7XG4gICAgfVxuICB9XG5cbiAgc3RvcFJlY29yZGluZygpIHtcbiAgICBpZiAodGhpcy5tZWRpYVJlY29yZGVyICYmIHRoaXMuaXNSZWNvcmRpbmcpIHtcbiAgICAgIHRoaXMubWVkaWFSZWNvcmRlci5zdG9wKCk7XG4gICAgICB0aGlzLmlzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIuc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3RvcCgpKTtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSByZWNvcmRpbmcgdmFsdWUgYW5kIHByZXZpZXcgKGtlZXBzIHRoZSBvbGQgdXJsIHRvIGRlbGV0ZSBvbGQgYXVkaW8gZnJvbSBzdG9yYWdlKVxuICAgKi9cbiAgY2xlYXJSZWNvcmRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpb0NodW5rcyA9IFtdO1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBuYW1lOiAnYXVkaW8ud2VibScsXG4gICAgICB0eXBlOiAnYXVkaW8vd2VibScsXG4gICAgICBzaXplOiB1bmRlZmluZWQsXG4gICAgICBjb250ZW50OiB1bmRlZmluZWQsXG4gICAgICB1cmw6IHRoaXMudmFsdWU/LnVybCA/PyB1bmRlZmluZWQsXG4gICAgICBkZWxldGVVcmw6IHRydWUsXG4gICAgfTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhamYtZmllbGQtd3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwiYWpmLWF1ZGlvLWNvbnRyb2xzXCI+XG4gICAgPCEtLSBTdGFydCBSZWNvcmRpbmcgQnV0dG9uIC0tPlxuICAgIDxidXR0b25cbiAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIChjbGljayk9XCJzdGFydFJlY29yZGluZygpXCJcbiAgICAgICpuZ0lmPVwiIWlzUmVjb3JkaW5nICYmICFzYWZlQXVkaW9TcmNcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgIG1hdFRvb2x0aXA9XCJTdGFydCBSZWNvcmRpbmdcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5taWM8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPCEtLSBTdG9wIFJlY29yZGluZyBCdXR0b24gLS0+XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LW1pbmktZmFiXG4gICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgKGNsaWNrKT1cInN0b3BSZWNvcmRpbmcoKVwiXG4gICAgICAqbmdJZj1cImlzUmVjb3JkaW5nXCJcbiAgICAgIG1hdFRvb2x0aXA9XCJTdG9wIFJlY29yZGluZ1wiXG4gICAgPlxuICAgICAgPG1hdC1pY29uPnN0b3A8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPCEtLSBSZWNvcmRpbmcgSW5kaWNhdG9yIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJpc1JlY29yZGluZ1wiIGNsYXNzPVwicmVjb3JkaW5nLWluZGljYXRvclwiPlxuICAgICAgPG1hdC1pY29uPmZpYmVyX21hbnVhbF9yZWNvcmQ8L21hdC1pY29uPlxuICAgICAgUmVjb3JkaW5nLi4uXG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFBsYXliYWNrIC0tPlxuICAgIDxhdWRpbyAqbmdJZj1cInNhZmVBdWRpb1NyY1wiIFtzcmNdPVwic2FmZUF1ZGlvU3JjXCIgY29udHJvbHM+PC9hdWRpbz5cblxuICAgIDwhLS0gRGVsZXRlL1Jlc2V0IEJ1dHRvbiAtLT5cbiAgICA8YnV0dG9uXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJSZWNvcmRpbmcoKVwiXG4gICAgICAqbmdJZj1cInNhZmVBdWRpb1NyY1wiXG4gICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIlxuICAgICAgbWF0VG9vbHRpcD1cIkRlbGV0ZSBBdWRpb1wiXG4gICAgPlxuICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9hdWRpby9zcmMvYXVkaW8udHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9hdWRpby9zcmMvYXVkaW8uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWlCakQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFFBQVE7SUFPN0MsWUFBWSxHQUFzQixFQUFVLFVBQXdCO1FBQ2xFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUQrQixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBTjNELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFMUIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDWixrQkFBYSxHQUF5QixJQUFJLENBQUM7UUFDM0MsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFJaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU3RCxNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJ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QUFDO1lBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsU0FBUztZQUNsQixHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksU0FBUztZQUNqQyxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQTdGVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixzRUFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsaUJBQWlCO2dCQUM5QixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDOUNILGkzREF1REE7OzRGRFBhLGlCQUFpQjtrQkFkN0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxtQkFBbUI7NEJBQzlCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lIQUdRLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmltcG9ydCB7QWpmQXVkaW99IGZyb20gJ0BhamYvY29yZS9hdWRpbyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhamYtYXVkaW8nLFxuICB0ZW1wbGF0ZVVybDogJ2F1ZGlvLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnYXVkaW8uc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogQWpmQXVkaW9Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBamZBdWRpb0NvbXBvbmVudCBleHRlbmRzIEFqZkF1ZGlvIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcblxuICBpc1JlY29yZGluZyA9IGZhbHNlO1xuICBwcml2YXRlIG1lZGlhUmVjb3JkZXI6IE1lZGlhUmVjb3JkZXIgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhdWRpb0NodW5rczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIHN1cGVyKGNkcik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3BSZWNvcmRpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYW5pdGl6ZXMgdGhlIGF1ZGlvIHNvdXJjZSBmb3IgcGxheWJhY2ssIGVpdGhlciBmcm9tIHRoZSBiYXNlNjQgY29udGVudFxuICAgKiBvciwgYXMgYSBmYWxsYmFjaywgZnJvbSB0aGUgc3RvcmVkIHVybC5cbiAgICovXG4gIGdldCBzYWZlQXVkaW9TcmMoKTogU2FmZVVybCB8IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghdGhpcy52YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKCF0aGlzLnZhbHVlLmNvbnRlbnQgJiYgdGhpcy52YWx1ZS5kZWxldGVVcmwpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgcmF3VXJsID1cbiAgICAgIHRoaXMudmFsdWUuY29udGVudCAmJiB0aGlzLnZhbHVlLmNvbnRlbnQubGVuZ3RoID8gdGhpcy52YWx1ZS5jb250ZW50IDogdGhpcy52YWx1ZS51cmw7XG4gICAgaWYgKCFyYXdVcmwpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHJhd1VybCk7XG4gIH1cblxuICBhc3luYyBzdGFydFJlY29yZGluZygpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVlfSk7XG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0pO1xuICAgICAgdGhpcy5hdWRpb0NodW5rcyA9IFtdO1xuXG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIub25kYXRhYXZhaWxhYmxlID0gZXZlbnQgPT4ge1xuICAgICAgICB0aGlzLmF1ZGlvQ2h1bmtzLnB1c2goZXZlbnQuZGF0YSk7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIub25zdG9wID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBhdWRpb0Jsb2IgPSBuZXcgQmxvYih0aGlzLmF1ZGlvQ2h1bmtzLCB7dHlwZTogJ2F1ZGlvL3dlYm0nfSk7XG5cbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYXVkaW9CbG9iKTtcbiAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBiYXNlNjRkYXRhID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG4gICAgICAgICAgY29uc3QgaGVhZCA9ICdkYXRhOmF1ZGlvL3dlYm07YmFzZTY0LCc7XG4gICAgICAgICAgY29uc3QgYXVkaW9GaWxlU2l6ZSA9IE1hdGgucm91bmQoKChiYXNlNjRkYXRhLmxlbmd0aCAtIGhlYWQubGVuZ3RoKSAqIDMpIC8gNCk7XG4gICAgICAgICAgLy8gS2VlcHMgdGhlIG9sZCB1cmwgdG8gZGVsZXRlIG9sZCBhdWRpbyBmcm9tIHN0b3JhZ2VcbiAgICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgICAgbmFtZTogJ2F1ZGlvLndlYm0nLFxuICAgICAgICAgICAgdHlwZTogJ2F1ZGlvL3dlYm0nLFxuICAgICAgICAgICAgc2l6ZTogYXVkaW9GaWxlU2l6ZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGJhc2U2NGRhdGEsXG4gICAgICAgICAgICB1cmw6IHRoaXMudmFsdWU/LnVybCA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICBkZWxldGVVcmw6IGZhbHNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgdGhpcy5tZWRpYVJlY29yZGVyLnN0YXJ0KCk7XG4gICAgICB0aGlzLmlzUmVjb3JkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFjY2Vzc2luZyBtaWNyb3Bob25lOicsIGVycik7XG4gICAgfVxuICB9XG5cbiAgc3RvcFJlY29yZGluZygpIHtcbiAgICBpZiAodGhpcy5tZWRpYVJlY29yZGVyICYmIHRoaXMuaXNSZWNvcmRpbmcpIHtcbiAgICAgIHRoaXMubWVkaWFSZWNvcmRlci5zdG9wKCk7XG4gICAgICB0aGlzLmlzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLm1lZGlhUmVjb3JkZXIuc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3RvcCgpKTtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSByZWNvcmRpbmcgdmFsdWUgYW5kIHByZXZpZXcgKGtlZXBzIHRoZSBvbGQgdXJsIHRvIGRlbGV0ZSBvbGQgYXVkaW8gZnJvbSBzdG9yYWdlKVxuICAgKi9cbiAgY2xlYXJSZWNvcmRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpb0NodW5rcyA9IFtdO1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBuYW1lOiAnYXVkaW8ud2VibScsXG4gICAgICB0eXBlOiAnYXVkaW8vd2VibScsXG4gICAgICBzaXplOiB1bmRlZmluZWQsXG4gICAgICBjb250ZW50OiB1bmRlZmluZWQsXG4gICAgICB1cmw6IHRoaXMudmFsdWU/LnVybCA/PyB1bmRlZmluZWQsXG4gICAgICBkZWxldGVVcmw6IHRydWUsXG4gICAgfTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhamYtZmllbGQtd3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwiYWpmLWF1ZGlvXCI+XG4gICAgPCEtLSBOb3RoaW5nIHJlY29yZGVkIHlldCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYWpmLWF1ZGlvLXJvd1wiICpuZ0lmPVwiIWlzUmVjb3JkaW5nICYmICFzYWZlQXVkaW9TcmNcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWpmLWF1ZGlvLXN0YXRlXCI+e3sgJ2VtcHR5JyB8IHRyYW5zbG9jbyB9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhamYtYXVkaW8tYm94XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImFqZi1hdWRpby1hY3Rpb24gYWpmLWF1ZGlvLXJlY1wiXG4gICAgICAgICAgKGNsaWNrKT1cInN0YXJ0UmVjb3JkaW5nKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ1N0YXJ0IFJlY29yZGluZycgfCB0cmFuc2xvY29cIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uPmZpYmVyX21hbnVhbF9yZWNvcmQ8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7ICdSZWNvcmQnIHwgdHJhbnNsb2NvIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBSZWNvcmRpbmcgaW4gcHJvZ3Jlc3MgLS0+XG4gICAgPGRpdiBjbGFzcz1cImFqZi1hdWRpby1yb3cgYWpmLWF1ZGlvLXJlY29yZGluZ1wiICpuZ0lmPVwiaXNSZWNvcmRpbmdcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWpmLWF1ZGlvLXN0YXRlXCI+e3sgJ3JlY29yZGluZycgfCB0cmFuc2xvY28gfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWpmLWF1ZGlvLWJveFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJhamYtYXVkaW8tYWN0aW9uIGFqZi1hdWRpby1zdG9wXCJcbiAgICAgICAgICAoY2xpY2spPVwic3RvcFJlY29yZGluZygpXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCInU3RvcCBSZWNvcmRpbmcnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbj5zdG9wPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWpmLWF1ZGlvLXdhdmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8aT48L2k+PGk+PC9pPjxpPjwvaT48aT48L2k+PGk+PC9pPjxpPjwvaT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEEgcmVjb3JkaW5nIGlzIGhlbGQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImFqZi1hdWRpby1yb3dcIiAqbmdJZj1cIiFpc1JlY29yZGluZyAmJiBzYWZlQXVkaW9TcmNcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWpmLWF1ZGlvLXN0YXRlXCI+e3sgJ3JlY29yZGVkJyB8IHRyYW5zbG9jbyB9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhamYtYXVkaW8tYm94XCI+XG4gICAgICAgIDxhdWRpbyBbc3JjXT1cInNhZmVBdWRpb1NyY1wiIGNvbnRyb2xzPjwvYXVkaW8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYWpmLWF1ZGlvLWRlbGV0ZVwiXG4gICAgICAgIChjbGljayk9XCJjbGVhclJlY29yZGluZygpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ0RlbGV0ZSBBdWRpbycgfCB0cmFuc2xvY29cIlxuICAgICAgPlxuICAgICAgICB7eyAnRGVsZXRlJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -68,10 +68,10 @@ export class AjfBarcodeComponent extends AjfBarcode {
|
|
|
68
68
|
this.resetSub.unsubscribe();
|
|
69
69
|
}
|
|
70
70
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfBarcodeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfBarcodeComponent, selector: "ajf-barcode", providers: [BARCODE_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"value; else barcode\">\n <div class=\"ajf-code-container\">\n <span>{{ value }}</span>\n <button
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfBarcodeComponent, selector: "ajf-barcode", providers: [BARCODE_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"value; else barcode\">\n <div class=\"ajf-code-container\">\n <span class=\"ajf-code-value\">{{ value }}</span>\n <button type=\"button\" class=\"ajf-code-scan\" (click)=\"reset()\">\n <mat-icon>qr_code_scanner</mat-icon>\n <span>{{ 'Scan' | transloco }}</span>\n </button>\n </div>\n</ng-container>\n<ng-template #barcode>\n <mat-tab-group (selectedIndexChange)=\"onTabChange($event)\">\n <mat-tab [label]=\"'Image'| transloco\">\n <div class=\"ajf-drop-container\">\n <div class=\"ajf-dropzone\" ajfDnd (file)=\"onSelectDrop($event)\">\n <div class=\"ajf-text-wrapper\">\n <div class=\"ajf-centered\">\n <a mat-button (click)=\"fileInput.click()\"\n >{{'Drop your image here or click to select'|transloco}}</a\n >\n </div>\n </div>\n </div>\n <div #barcodeImagePreview class=\"ajf-barcode-image-preview\"></div>\n </div>\n <input\n #fileInput\n type=\"file\"\n (change)=\"onSelectFile($event)\"\n multiple\n style=\"display: none\"\n />\n </mat-tab>\n <mat-tab [label]=\"'Camera'|transloco\">\n <mat-form-field\n appearance=\"fill\"\n class=\"ajf-video-device-select\"\n >\n <mat-label>Choose Video source</mat-label>\n <mat-select #videoSourceSelect\n ><mat-option *ngFor=\"let device of videoDevices|async\" [value]=\"device.deviceId\">\n {{device.label}}\n </mat-option></mat-select\n ></mat-form-field\n >\n <div class=\"ajf-barcode-video\">\n <ng-container *ngIf=\"supportsVideoStream; else noVideo\">\n <div #barcodeVideoPreview class=\"ajf-video-preview ajf-video-preview-hidden\">\n <div *ngIf=\"value && value.length > 0\">{{ value }}</div>\n </div>\n <video #barcodeVideo autoplay playsinline muted></video>\n </ng-container>\n <ng-template #noVideo>\n <div>NO VIDEO</div>\n </ng-template>\n </div>\n </mat-tab>\n </mat-tab-group>\n</ng-template>\n", styles: ["ajf-barcode{display:block;max-width:380px}ajf-barcode .mat-mdc-tab-header{--mat-tab-header-active-label-text-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-active-focus-label-text-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-active-hover-label-text-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-active-focus-indicator-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-active-hover-indicator-color: var(--ajf-accent, #0f4c5c);--mdc-tab-indicator-active-indicator-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-inactive-label-text-color: var(--ajf-text-muted, #7a736a);--mat-tab-header-label-text-size: 13px;border-bottom:1px solid var(--ajf-border, #e6e2dc)}ajf-barcode .ajf-code-container{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}ajf-barcode .ajf-code-value{box-sizing:border-box;min-width:180px;min-height:var(--ajf-control-h, 44px);padding:0 12px;border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff);color:var(--ajf-text, #1c1a17);font-family:var(--ajf-font-mono, monospace);font-size:13px;line-height:calc(var(--ajf-control-h, 44px) - 2px)}ajf-barcode .ajf-code-scan{display:inline-flex;align-items:center;gap:8px;min-height:var(--ajf-control-h, 44px);padding:0 14px;border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff);color:var(--ajf-text, #1c1a17);font-family:inherit;font-size:14px;cursor:pointer}ajf-barcode .ajf-code-scan:hover{border-color:var(--ajf-accent, #0f4c5c)}ajf-barcode .ajf-code-scan .mat-icon{width:18px;height:18px;font-size:18px}ajf-barcode .ajf-drop-container{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:stretch;align-items:stretch;position:relative}ajf-barcode .ajf-drop-container .ajf-barcode-image-preview{position:absolute;inset:0;z-index:1;background-size:contain;background-repeat:no-repeat;background-position:center}ajf-barcode .ajf-drop-container .ajf-dropzone{z-index:2;order:0;flex:1 1 auto;align-self:auto;height:120px;display:table;background-color:var(--ajf-band, #faf8f5);border:dashed 1px var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);overflow:hidden}ajf-barcode .ajf-drop-container .ajf-dropzone .ajf-text-wrapper{display:table-cell;vertical-align:middle}ajf-barcode .ajf-drop-container .ajf-dropzone .ajf-centered{color:var(--ajf-text-muted, #7a736a);font-family:inherit;font-size:14px;text-align:center}ajf-barcode .ajf-video-device-select{width:100%}ajf-barcode .ajf-barcode-video{height:180px;position:relative}ajf-barcode .ajf-barcode-video>video{width:100%;height:100%}ajf-barcode .ajf-barcode-video>.ajf-video-preview{position:absolute;inset:0;width:100%;height:100%;z-index:5;border:3px solid #000000}ajf-barcode .ajf-barcode-video>.ajf-video-preview.ajf-video-preview-hidden{display:none;position:relative}ajf-barcode .ajf-barcode-video>.ajf-video-preview.ajf-video-preview-hidden>div{position:absolute;right:0;left:0;bottom:-1em;height:2em;box-sizing:border-box;padding:.5em;background-color:#fff;border-radius:.5em}ajf-barcode .ajf-barcode-video>.ajf-barcode-switch-camera{position:absolute;top:1em;right:1em;z-index:10;padding:.5em;border-radius:.5em;background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.AjfDndDirective, selector: "[ajfDnd]", outputs: ["file"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "pipe", type: i9.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
72
72
|
}
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfBarcodeComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
|
-
args: [{ selector: 'ajf-barcode', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [BARCODE_CONTROL_VALUE_ACCESSOR], template: "<ng-container *ngIf=\"value; else barcode\">\n <div class=\"ajf-code-container\">\n <span>{{ value }}</span>\n <button
|
|
75
|
+
args: [{ selector: 'ajf-barcode', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [BARCODE_CONTROL_VALUE_ACCESSOR], template: "<ng-container *ngIf=\"value; else barcode\">\n <div class=\"ajf-code-container\">\n <span class=\"ajf-code-value\">{{ value }}</span>\n <button type=\"button\" class=\"ajf-code-scan\" (click)=\"reset()\">\n <mat-icon>qr_code_scanner</mat-icon>\n <span>{{ 'Scan' | transloco }}</span>\n </button>\n </div>\n</ng-container>\n<ng-template #barcode>\n <mat-tab-group (selectedIndexChange)=\"onTabChange($event)\">\n <mat-tab [label]=\"'Image'| transloco\">\n <div class=\"ajf-drop-container\">\n <div class=\"ajf-dropzone\" ajfDnd (file)=\"onSelectDrop($event)\">\n <div class=\"ajf-text-wrapper\">\n <div class=\"ajf-centered\">\n <a mat-button (click)=\"fileInput.click()\"\n >{{'Drop your image here or click to select'|transloco}}</a\n >\n </div>\n </div>\n </div>\n <div #barcodeImagePreview class=\"ajf-barcode-image-preview\"></div>\n </div>\n <input\n #fileInput\n type=\"file\"\n (change)=\"onSelectFile($event)\"\n multiple\n style=\"display: none\"\n />\n </mat-tab>\n <mat-tab [label]=\"'Camera'|transloco\">\n <mat-form-field\n appearance=\"fill\"\n class=\"ajf-video-device-select\"\n >\n <mat-label>Choose Video source</mat-label>\n <mat-select #videoSourceSelect\n ><mat-option *ngFor=\"let device of videoDevices|async\" [value]=\"device.deviceId\">\n {{device.label}}\n </mat-option></mat-select\n ></mat-form-field\n >\n <div class=\"ajf-barcode-video\">\n <ng-container *ngIf=\"supportsVideoStream; else noVideo\">\n <div #barcodeVideoPreview class=\"ajf-video-preview ajf-video-preview-hidden\">\n <div *ngIf=\"value && value.length > 0\">{{ value }}</div>\n </div>\n <video #barcodeVideo autoplay playsinline muted></video>\n </ng-container>\n <ng-template #noVideo>\n <div>NO VIDEO</div>\n </ng-template>\n </div>\n </mat-tab>\n </mat-tab-group>\n</ng-template>\n", styles: ["ajf-barcode{display:block;max-width:380px}ajf-barcode .mat-mdc-tab-header{--mat-tab-header-active-label-text-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-active-focus-label-text-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-active-hover-label-text-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-active-focus-indicator-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-active-hover-indicator-color: var(--ajf-accent, #0f4c5c);--mdc-tab-indicator-active-indicator-color: var(--ajf-accent, #0f4c5c);--mat-tab-header-inactive-label-text-color: var(--ajf-text-muted, #7a736a);--mat-tab-header-label-text-size: 13px;border-bottom:1px solid var(--ajf-border, #e6e2dc)}ajf-barcode .ajf-code-container{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}ajf-barcode .ajf-code-value{box-sizing:border-box;min-width:180px;min-height:var(--ajf-control-h, 44px);padding:0 12px;border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff);color:var(--ajf-text, #1c1a17);font-family:var(--ajf-font-mono, monospace);font-size:13px;line-height:calc(var(--ajf-control-h, 44px) - 2px)}ajf-barcode .ajf-code-scan{display:inline-flex;align-items:center;gap:8px;min-height:var(--ajf-control-h, 44px);padding:0 14px;border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff);color:var(--ajf-text, #1c1a17);font-family:inherit;font-size:14px;cursor:pointer}ajf-barcode .ajf-code-scan:hover{border-color:var(--ajf-accent, #0f4c5c)}ajf-barcode .ajf-code-scan .mat-icon{width:18px;height:18px;font-size:18px}ajf-barcode .ajf-drop-container{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:stretch;align-items:stretch;position:relative}ajf-barcode .ajf-drop-container .ajf-barcode-image-preview{position:absolute;inset:0;z-index:1;background-size:contain;background-repeat:no-repeat;background-position:center}ajf-barcode .ajf-drop-container .ajf-dropzone{z-index:2;order:0;flex:1 1 auto;align-self:auto;height:120px;display:table;background-color:var(--ajf-band, #faf8f5);border:dashed 1px var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);overflow:hidden}ajf-barcode .ajf-drop-container .ajf-dropzone .ajf-text-wrapper{display:table-cell;vertical-align:middle}ajf-barcode .ajf-drop-container .ajf-dropzone .ajf-centered{color:var(--ajf-text-muted, #7a736a);font-family:inherit;font-size:14px;text-align:center}ajf-barcode .ajf-video-device-select{width:100%}ajf-barcode .ajf-barcode-video{height:180px;position:relative}ajf-barcode .ajf-barcode-video>video{width:100%;height:100%}ajf-barcode .ajf-barcode-video>.ajf-video-preview{position:absolute;inset:0;width:100%;height:100%;z-index:5;border:3px solid #000000}ajf-barcode .ajf-barcode-video>.ajf-video-preview.ajf-video-preview-hidden{display:none;position:relative}ajf-barcode .ajf-barcode-video>.ajf-video-preview.ajf-video-preview-hidden>div{position:absolute;right:0;left:0;bottom:-1em;height:2em;box-sizing:border-box;padding:.5em;background-color:#fff;border-radius:.5em}ajf-barcode .ajf-barcode-video>.ajf-barcode-switch-camera{position:absolute;top:1em;right:1em;z-index:10;padding:.5em;border-radius:.5em;background-color:#fff}\n"] }]
|
|
76
76
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }] });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsL2JhcmNvZGUvc3JjL2JhcmNvZGUudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9iYXJjb2RlL3NyYy9iYXJjb2RlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFHVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBRXpDLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFRO0lBQ2pELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjs7R0FFRztBQVNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO0lBR2pELFlBQVksR0FBc0IsRUFBRSxRQUFtQjtRQUNyRCxLQUFLLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSHZCLG9CQUFlLEdBQWlCLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbkQsYUFBUSxHQUFpQixZQUFZLENBQUMsS0FBSyxDQUFDO1FBRzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLFNBQVM7WUFBRSxPQUFPO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVzthQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0ExQlUsbUJBQW1CO21HQUFuQixtQkFBbUIsc0NBRm5CLENBQUMsOEJBQThCLENBQUMsaURDcEQ3Qyw0bEVBMERBOzs0RkRKYSxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmltcG9ydCB7QWpmQmFyY29kZX0gZnJvbSAnQGFqZi9jb3JlL2JhcmNvZGUnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIE9uRGVzdHJveSxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgQkFSQ09ERV9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBamZCYXJjb2RlQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG4vKipcbiAqIEFqZiBiYXJjb2RlIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWpmLWJhcmNvZGUnLFxuICB0ZW1wbGF0ZVVybDogJ2JhcmNvZGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWydiYXJjb2RlLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0JBUkNPREVfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl0sXG59KVxuZXhwb3J0IGNsYXNzIEFqZkJhcmNvZGVDb21wb25lbnQgZXh0ZW5kcyBBamZCYXJjb2RlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgc291cmNlU2VsZWN0U3ViOiBTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gIHJlc2V0U3ViOiBTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICBzdXBlcihjZHIsIHJlbmRlcmVyKTtcbiAgICB0aGlzLnJlc2V0U3ViID0gdGhpcy5yZXNldEV2dC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXR1cFZpZGVvU291cmNlU3ViKCkpO1xuICB9XG5cbiAgc2V0dXBWaWRlb1NvdXJjZVN1YigpIHtcbiAgICBpZiAodGhpcy52aWRlb1NvdXJjZVNlbGVjdCA9PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICB0aGlzLnNvdXJjZVNlbGVjdFN1Yi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc291cmNlU2VsZWN0U3ViID0gdGhpcy52aWRlb1NvdXJjZVNlbGVjdC52YWx1ZUNoYW5nZVxuICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0U3RyZWFtKCkpKVxuICAgICAgLnN1YnNjcmliZShjID0+IGNvbnNvbGUubG9nKGMpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRWaWRlb1N0cmVhbXMoKTtcbiAgICB0aGlzLnNldHVwVmlkZW9Tb3VyY2VTdWIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdhJyk7XG4gICAgdGhpcy5zdG9wQ3VycmVudFN0cmVhbSgpO1xuICAgIHRoaXMuc291cmNlU2VsZWN0U3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5yZXNldFN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWU7IGVsc2UgYmFyY29kZVwiPlxuICA8ZGl2IGNsYXNzPVwiYWpmLWNvZGUtY29udGFpbmVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhamYtY29kZS12YWx1ZVwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYWpmLWNvZGUtc2NhblwiIChjbGljayk9XCJyZXNldCgpXCI+XG4gICAgICA8bWF0LWljb24+cXJfY29kZV9zY2FubmVyPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7ICdTY2FuJyB8IHRyYW5zbG9jbyB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjYmFyY29kZT5cbiAgPG1hdC10YWItZ3JvdXAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDxtYXQtdGFiIFtsYWJlbF09XCInSW1hZ2UnfCB0cmFuc2xvY29cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhamYtZHJvcC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFqZi1kcm9wem9uZVwiIGFqZkRuZCAoZmlsZSk9XCJvblNlbGVjdERyb3AoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhamYtdGV4dC13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWpmLWNlbnRlcmVkXCI+XG4gICAgICAgICAgICAgIDxhIG1hdC1idXR0b24gKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCJcbiAgICAgICAgICAgICAgICA+e3snRHJvcCB5b3VyIGltYWdlIGhlcmUgb3IgY2xpY2sgdG8gc2VsZWN0J3x0cmFuc2xvY299fTwvYVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgI2JhcmNvZGVJbWFnZVByZXZpZXcgY2xhc3M9XCJhamYtYmFyY29kZS1pbWFnZS1wcmV2aWV3XCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjZmlsZUlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdEZpbGUoJGV2ZW50KVwiXG4gICAgICAgIG11bHRpcGxlXG4gICAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgICAvPlxuICAgIDwvbWF0LXRhYj5cbiAgICA8bWF0LXRhYiBbbGFiZWxdPVwiJ0NhbWVyYSd8dHJhbnNsb2NvXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgYXBwZWFyYW5jZT1cImZpbGxcIlxuICAgICAgICBjbGFzcz1cImFqZi12aWRlby1kZXZpY2Utc2VsZWN0XCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1sYWJlbD5DaG9vc2UgVmlkZW8gc291cmNlPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0ICN2aWRlb1NvdXJjZVNlbGVjdFxuICAgICAgICAgID48bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZGV2aWNlIG9mIHZpZGVvRGV2aWNlc3xhc3luY1wiIFt2YWx1ZV09XCJkZXZpY2UuZGV2aWNlSWRcIj5cbiAgICAgICAgICAgIHt7ZGV2aWNlLmxhYmVsfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+PC9tYXQtc2VsZWN0XG4gICAgICAgID48L21hdC1mb3JtLWZpZWxkXG4gICAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWpmLWJhcmNvZGUtdmlkZW9cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1cHBvcnRzVmlkZW9TdHJlYW07IGVsc2Ugbm9WaWRlb1wiPlxuICAgICAgICAgIDxkaXYgI2JhcmNvZGVWaWRlb1ByZXZpZXcgY2xhc3M9XCJhamYtdmlkZW8tcHJldmlldyBhamYtdmlkZW8tcHJldmlldy1oaWRkZW5cIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwXCI+e3sgdmFsdWUgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dmlkZW8gI2JhcmNvZGVWaWRlbyBhdXRvcGxheSBwbGF5c2lubGluZSBtdXRlZD48L3ZpZGVvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub1ZpZGVvPlxuICAgICAgICAgIDxkaXY+Tk8gVklERU88L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRhYj5cbiAgPC9tYXQtdGFiLWdyb3VwPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -40,10 +40,10 @@ export class AjfCalendarComponent extends AjfCalendar {
|
|
|
40
40
|
super(cdr, service);
|
|
41
41
|
}
|
|
42
42
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfCalendarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfCalendarComponent, selector: "ajf-calendar", providers: [CALENDAR_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<div class=\"ajf-calendar-header\">\n <button (click)=\"prevPage()\" mat-mini-fab>←</button>\n <button (click)=\"previousViewMode()\" mat-button class=\"ajf-calendar-header-title\">\n {{ viewHeader | transloco }}\n </button>\n <button (click)=\"nextPage()\" mat-mini-fab>→</button>\n</div>\n<div class=\"ajf-calendar-row\" *ngIf=\"calendarHeaders.length > 0\">\n <div *ngFor=\"let calendarHeader of calendarHeaders\">\n {{ calendarHeader | transloco }}\n </div>\n</div>\n<div class=\"ajf-calendar-row\" *ngFor=\"let row of calendarRows\">\n <button\n *ngFor=\"let entry of row\"\n mat-raised-button\n [class.ajf-calendar-partial-selection]=\"entry.selected === 'partial'\"\n [disabled]=\"disabled || (entry.disabled || false)\"\n [color]=\"entry.selected !== 'none' ? 'warn' : undefined\"\n (click)=\"selectEntry(entry)\"\n >{{ entry|ajfCalendarEntryLabel }}</button>\n</div>\n", styles: ["ajf-calendar{display:flex;box-sizing:border-box;width:100%;height:320px;flex-direction:column}ajf-calendar .ajf-calendar-header,ajf-calendar .ajf-calendar-row{display:flex;box-sizing:border-box;width:100%;flex-direction:row}ajf-calendar .ajf-calendar-header{height:40px}ajf-calendar .ajf-calendar-header .ajf-calendar-header-title{flex:1;margin:0 10px}ajf-calendar .ajf-calendar-row{flex:1}ajf-calendar .ajf-calendar-row button,ajf-calendar .ajf-calendar-row div{flex:1;margin:3px}ajf-calendar .ajf-calendar-row div{line-height:40px;text-align:center}ajf-calendar .ajf-calendar-row .ajf-calendar-partial-selection :before{content:\"\";position:absolute;inset:0;background-color
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AjfCalendarComponent, selector: "ajf-calendar", providers: [CALENDAR_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<div class=\"ajf-calendar-header\">\n <button (click)=\"prevPage()\" mat-mini-fab>←</button>\n <button (click)=\"previousViewMode()\" mat-button class=\"ajf-calendar-header-title\">\n {{ viewHeader | transloco }}\n </button>\n <button (click)=\"nextPage()\" mat-mini-fab>→</button>\n</div>\n<div class=\"ajf-calendar-row\" *ngIf=\"calendarHeaders.length > 0\">\n <div *ngFor=\"let calendarHeader of calendarHeaders\">\n {{ calendarHeader | transloco }}\n </div>\n</div>\n<div class=\"ajf-calendar-row\" *ngFor=\"let row of calendarRows\">\n <button\n *ngFor=\"let entry of row\"\n mat-raised-button\n [class.ajf-calendar-partial-selection]=\"entry.selected === 'partial'\"\n [disabled]=\"disabled || (entry.disabled || false)\"\n [color]=\"entry.selected !== 'none' ? 'warn' : undefined\"\n (click)=\"selectEntry(entry)\"\n >{{ entry|ajfCalendarEntryLabel }}</button>\n</div>\n", styles: ["ajf-calendar{display:flex;box-sizing:border-box;width:100%;max-width:420px;height:320px;flex-direction:column;padding:8px;border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff);font-family:var(--ajf-font-sans, sans-serif)}ajf-calendar .ajf-calendar-header,ajf-calendar .ajf-calendar-row{display:flex;box-sizing:border-box;width:100%;flex-direction:row}ajf-calendar .ajf-calendar-header{height:40px;align-items:center}ajf-calendar .ajf-calendar-header .ajf-calendar-header-title{flex:1;margin:0 10px;color:var(--ajf-text, #1c1a17);font-weight:600}ajf-calendar .ajf-calendar-header .mat-mdc-mini-fab{width:32px;height:32px;box-shadow:none;background:var(--ajf-band, #faf8f5);color:var(--ajf-text-muted, #7a736a)}ajf-calendar .ajf-calendar-row{flex:1}ajf-calendar .ajf-calendar-row button,ajf-calendar .ajf-calendar-row div{flex:1;margin:3px}ajf-calendar .ajf-calendar-row div{line-height:40px;text-align:center}ajf-calendar .ajf-calendar-row:first-of-type div{color:var(--ajf-text-muted, #7a736a);font-family:var(--ajf-font-mono, monospace);font-size:11px;letter-spacing:.06em;text-transform:uppercase}ajf-calendar .ajf-calendar-row .mat-mdc-raised-button{min-width:0;padding:0;border:1px solid transparent;border-radius:var(--ajf-radius, 4px);box-shadow:none;background:var(--ajf-surface, #fff);color:var(--ajf-text, #1c1a17);font-family:var(--ajf-font-mono, monospace);font-size:13px}ajf-calendar .ajf-calendar-row .mat-mdc-raised-button:hover:not([disabled]){background:var(--ajf-band, #faf8f5)}ajf-calendar .ajf-calendar-row .mat-mdc-raised-button[disabled]{color:var(--ajf-text-faint, #a49c92)}ajf-calendar .ajf-calendar-row .mat-mdc-raised-button.mat-warn{background:var(--ajf-accent, #0f4c5c);color:var(--ajf-accent-fg, #fff)}ajf-calendar .ajf-calendar-row .ajf-calendar-partial-selection :before{content:\"\";position:absolute;inset:0;background-color:color-mix(in srgb,var(--ajf-surface, #fff) 50%,transparent)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "pipe", type: i1.AjfCalendarEntryLabelPipe, name: "ajfCalendarEntryLabel" }, { kind: "pipe", type: i4.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
44
44
|
}
|
|
45
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AjfCalendarComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
|
-
args: [{ selector: 'ajf-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CALENDAR_CONTROL_VALUE_ACCESSOR], template: "<div class=\"ajf-calendar-header\">\n <button (click)=\"prevPage()\" mat-mini-fab>←</button>\n <button (click)=\"previousViewMode()\" mat-button class=\"ajf-calendar-header-title\">\n {{ viewHeader | transloco }}\n </button>\n <button (click)=\"nextPage()\" mat-mini-fab>→</button>\n</div>\n<div class=\"ajf-calendar-row\" *ngIf=\"calendarHeaders.length > 0\">\n <div *ngFor=\"let calendarHeader of calendarHeaders\">\n {{ calendarHeader | transloco }}\n </div>\n</div>\n<div class=\"ajf-calendar-row\" *ngFor=\"let row of calendarRows\">\n <button\n *ngFor=\"let entry of row\"\n mat-raised-button\n [class.ajf-calendar-partial-selection]=\"entry.selected === 'partial'\"\n [disabled]=\"disabled || (entry.disabled || false)\"\n [color]=\"entry.selected !== 'none' ? 'warn' : undefined\"\n (click)=\"selectEntry(entry)\"\n >{{ entry|ajfCalendarEntryLabel }}</button>\n</div>\n", styles: ["ajf-calendar{display:flex;box-sizing:border-box;width:100%;height:320px;flex-direction:column}ajf-calendar .ajf-calendar-header,ajf-calendar .ajf-calendar-row{display:flex;box-sizing:border-box;width:100%;flex-direction:row}ajf-calendar .ajf-calendar-header{height:40px}ajf-calendar .ajf-calendar-header .ajf-calendar-header-title{flex:1;margin:0 10px}ajf-calendar .ajf-calendar-row{flex:1}ajf-calendar .ajf-calendar-row button,ajf-calendar .ajf-calendar-row div{flex:1;margin:3px}ajf-calendar .ajf-calendar-row div{line-height:40px;text-align:center}ajf-calendar .ajf-calendar-row .ajf-calendar-partial-selection :before{content:\"\";position:absolute;inset:0;background-color
|
|
47
|
+
args: [{ selector: 'ajf-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CALENDAR_CONTROL_VALUE_ACCESSOR], template: "<div class=\"ajf-calendar-header\">\n <button (click)=\"prevPage()\" mat-mini-fab>←</button>\n <button (click)=\"previousViewMode()\" mat-button class=\"ajf-calendar-header-title\">\n {{ viewHeader | transloco }}\n </button>\n <button (click)=\"nextPage()\" mat-mini-fab>→</button>\n</div>\n<div class=\"ajf-calendar-row\" *ngIf=\"calendarHeaders.length > 0\">\n <div *ngFor=\"let calendarHeader of calendarHeaders\">\n {{ calendarHeader | transloco }}\n </div>\n</div>\n<div class=\"ajf-calendar-row\" *ngFor=\"let row of calendarRows\">\n <button\n *ngFor=\"let entry of row\"\n mat-raised-button\n [class.ajf-calendar-partial-selection]=\"entry.selected === 'partial'\"\n [disabled]=\"disabled || (entry.disabled || false)\"\n [color]=\"entry.selected !== 'none' ? 'warn' : undefined\"\n (click)=\"selectEntry(entry)\"\n >{{ entry|ajfCalendarEntryLabel }}</button>\n</div>\n", styles: ["ajf-calendar{display:flex;box-sizing:border-box;width:100%;max-width:420px;height:320px;flex-direction:column;padding:8px;border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff);font-family:var(--ajf-font-sans, sans-serif)}ajf-calendar .ajf-calendar-header,ajf-calendar .ajf-calendar-row{display:flex;box-sizing:border-box;width:100%;flex-direction:row}ajf-calendar .ajf-calendar-header{height:40px;align-items:center}ajf-calendar .ajf-calendar-header .ajf-calendar-header-title{flex:1;margin:0 10px;color:var(--ajf-text, #1c1a17);font-weight:600}ajf-calendar .ajf-calendar-header .mat-mdc-mini-fab{width:32px;height:32px;box-shadow:none;background:var(--ajf-band, #faf8f5);color:var(--ajf-text-muted, #7a736a)}ajf-calendar .ajf-calendar-row{flex:1}ajf-calendar .ajf-calendar-row button,ajf-calendar .ajf-calendar-row div{flex:1;margin:3px}ajf-calendar .ajf-calendar-row div{line-height:40px;text-align:center}ajf-calendar .ajf-calendar-row:first-of-type div{color:var(--ajf-text-muted, #7a736a);font-family:var(--ajf-font-mono, monospace);font-size:11px;letter-spacing:.06em;text-transform:uppercase}ajf-calendar .ajf-calendar-row .mat-mdc-raised-button{min-width:0;padding:0;border:1px solid transparent;border-radius:var(--ajf-radius, 4px);box-shadow:none;background:var(--ajf-surface, #fff);color:var(--ajf-text, #1c1a17);font-family:var(--ajf-font-mono, monospace);font-size:13px}ajf-calendar .ajf-calendar-row .mat-mdc-raised-button:hover:not([disabled]){background:var(--ajf-band, #faf8f5)}ajf-calendar .ajf-calendar-row .mat-mdc-raised-button[disabled]{color:var(--ajf-text-faint, #a49c92)}ajf-calendar .ajf-calendar-row .mat-mdc-raised-button.mat-warn{background:var(--ajf-accent, #0f4c5c);color:var(--ajf-accent-fg, #fff)}ajf-calendar .ajf-calendar-row .ajf-calendar-partial-selection :before{content:\"\";position:absolute;inset:0;background-color:color-mix(in srgb,var(--ajf-surface, #fff) 50%,transparent)}\n"] }]
|
|
48
48
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AjfCalendarService }] });
|
|
49
49
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9jYWxlbmRhci9zcmMvY2FsZW5kYXIudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsV0FBVyxFQUFxQixNQUFNLG9CQUFvQixDQUFDO0FBQ25FLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUVqRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBUTtJQUNsRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDbkQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7O0dBRUc7QUFTSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQUNuRCxZQUFZLEdBQXNCLEVBQUUsT0FBMkI7UUFDN0QsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0QixDQUFDOytHQUhVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHVDQUZwQixDQUFDLCtCQUErQixDQUFDLGlEQy9DOUMsdTZCQXNCQTs7NEZEMkJhLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtBamZDYWxlbmRhciwgQWpmQ2FsZW5kYXJTZXJ2aWNlfSBmcm9tICdAYWpmL2NvcmUvY2FsZW5kYXInO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IENBTEVOREFSX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFqZkNhbGVuZGFyQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG4vKipcbiAqIEFqZiBjYWxlbmRhciBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FqZi1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnY2FsZW5kYXIuaHRtbCcsXG4gIHN0eWxlVXJsczogWydjYWxlbmRhci5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtDQUxFTkRBUl9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcbn0pXG5leHBvcnQgY2xhc3MgQWpmQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBamZDYWxlbmRhciB7XG4gIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHNlcnZpY2U6IEFqZkNhbGVuZGFyU2VydmljZSkge1xuICAgIHN1cGVyKGNkciwgc2VydmljZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhamYtY2FsZW5kYXItaGVhZGVyXCI+XG4gIDxidXR0b24gKGNsaWNrKT1cInByZXZQYWdlKClcIiBtYXQtbWluaS1mYWI+JiM4NTkyOzwvYnV0dG9uPlxuICA8YnV0dG9uIChjbGljayk9XCJwcmV2aW91c1ZpZXdNb2RlKClcIiBtYXQtYnV0dG9uIGNsYXNzPVwiYWpmLWNhbGVuZGFyLWhlYWRlci10aXRsZVwiPlxuICAgIHt7IHZpZXdIZWFkZXIgfCB0cmFuc2xvY28gfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gKGNsaWNrKT1cIm5leHRQYWdlKClcIiBtYXQtbWluaS1mYWI+JiM4NTk0OzwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYWpmLWNhbGVuZGFyLXJvd1wiICpuZ0lmPVwiY2FsZW5kYXJIZWFkZXJzLmxlbmd0aCA+IDBcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgY2FsZW5kYXJIZWFkZXIgb2YgY2FsZW5kYXJIZWFkZXJzXCI+XG4gICAge3sgY2FsZW5kYXJIZWFkZXIgfCB0cmFuc2xvY28gfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhamYtY2FsZW5kYXItcm93XCIgKm5nRm9yPVwibGV0IHJvdyBvZiBjYWxlbmRhclJvd3NcIj5cbiAgPGJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IGVudHJ5IG9mIHJvd1wiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgW2NsYXNzLmFqZi1jYWxlbmRhci1wYXJ0aWFsLXNlbGVjdGlvbl09XCJlbnRyeS5zZWxlY3RlZCA9PT0gJ3BhcnRpYWwnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCAoZW50cnkuZGlzYWJsZWQgfHwgZmFsc2UpXCJcbiAgICAgIFtjb2xvcl09XCJlbnRyeS5zZWxlY3RlZCAhPT0gJ25vbmUnID8gJ3dhcm4nIDogdW5kZWZpbmVkXCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RFbnRyeShlbnRyeSlcIlxuICA+e3sgZW50cnl8YWpmQ2FsZW5kYXJFbnRyeUxhYmVsIH19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -36,7 +36,7 @@ export class CheckboxGroupItem extends CoreCheckboxGroupItem {
|
|
|
36
36
|
this.notCheckedIcon = 'check_box_outline_blank';
|
|
37
37
|
}
|
|
38
38
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxGroupItem, deps: [{ token: i1.AjfCheckboxGroup, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxGroupItem, selector: "ajf-checkbox-group-item", host: { properties: { "attr.id": "id", "class.ajf-checkbox-group-checked": "checked", "class.ajf-checkbox-group-disable": "disabled" } }, usesInheritance: true, ngImport: i0, template: "<button
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxGroupItem, selector: "ajf-checkbox-group-item", host: { properties: { "attr.id": "id", "class.ajf-checkbox-group-checked": "checked", "class.ajf-checkbox-group-disable": "disabled" } }, usesInheritance: true, ngImport: i0, template: "<button\n mat-button\n (click)=\"onInputChange($event)\"\n type=\"button\"\n [id]=\"checkboxId | async\"\n [class.ajf-checked]=\"checkedState | async\"\n [attr.aria-checked]=\"checkedState | async\"\n [attr.aria-disabled]=\"disabledState | async\"\n>\n <mat-icon>{{ icon | async }}</mat-icon>\n <span class=\"ajf-checkbox-group-content\">\n <ng-content></ng-content>\n </span>\n</button>\n", styles: ["ajf-checkbox-group-item{display:inline-flex;min-width:0}ajf-checkbox-group-item .mat-mdc-button{--mdc-text-button-label-text-weight: 400;--mat-text-button-horizontal-padding: 14px;--mat-text-button-with-icon-horizontal-padding: 14px;font-weight:400;height:auto;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;box-sizing:border-box;min-width:0;min-height:var(--ajf-control-h, 44px);border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff);color:var(--ajf-text, #1c1a17);font-size:14px;letter-spacing:normal}ajf-checkbox-group-item .mat-mdc-button:hover{border-color:var(--ajf-accent, #0f4c5c)}ajf-checkbox-group-item .mat-mdc-button .mat-icon{flex:0 0 auto;width:18px;height:18px;margin:0;color:var(--ajf-text-faint, #a49c92);font-size:18px}ajf-checkbox-group-item .mat-mdc-button .mdc-button__label{min-width:0;overflow-wrap:anywhere;text-align:left}ajf-checkbox-group-item .mat-mdc-button.ajf-checked{border-color:var(--ajf-accent, #0f4c5c);background:var(--ajf-accent-soft, #e8f1f5);color:var(--ajf-accent, #0f4c5c)}ajf-checkbox-group-item .mat-mdc-button.ajf-checked .mat-icon{color:var(--ajf-accent, #0f4c5c)}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
40
40
|
}
|
|
41
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxGroupItem, decorators: [{
|
|
42
42
|
type: Component,
|
|
@@ -44,8 +44,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44
44
|
'[attr.id]': 'id',
|
|
45
45
|
'[class.ajf-checkbox-group-checked]': 'checked',
|
|
46
46
|
'[class.ajf-checkbox-group-disable]': 'disabled',
|
|
47
|
-
}, template: "<button
|
|
47
|
+
}, template: "<button\n mat-button\n (click)=\"onInputChange($event)\"\n type=\"button\"\n [id]=\"checkboxId | async\"\n [class.ajf-checked]=\"checkedState | async\"\n [attr.aria-checked]=\"checkedState | async\"\n [attr.aria-disabled]=\"disabledState | async\"\n>\n <mat-icon>{{ icon | async }}</mat-icon>\n <span class=\"ajf-checkbox-group-content\">\n <ng-content></ng-content>\n </span>\n</button>\n", styles: ["ajf-checkbox-group-item{display:inline-flex;min-width:0}ajf-checkbox-group-item .mat-mdc-button{--mdc-text-button-label-text-weight: 400;--mat-text-button-horizontal-padding: 14px;--mat-text-button-with-icon-horizontal-padding: 14px;font-weight:400;height:auto;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;box-sizing:border-box;min-width:0;min-height:var(--ajf-control-h, 44px);border:1px solid var(--ajf-border-strong, #d5cfc6);border-radius:var(--ajf-radius, 4px);background:var(--ajf-surface, #fff);color:var(--ajf-text, #1c1a17);font-size:14px;letter-spacing:normal}ajf-checkbox-group-item .mat-mdc-button:hover{border-color:var(--ajf-accent, #0f4c5c)}ajf-checkbox-group-item .mat-mdc-button .mat-icon{flex:0 0 auto;width:18px;height:18px;margin:0;color:var(--ajf-text-faint, #a49c92);font-size:18px}ajf-checkbox-group-item .mat-mdc-button .mdc-button__label{min-width:0;overflow-wrap:anywhere;text-align:left}ajf-checkbox-group-item .mat-mdc-button.ajf-checked{border-color:var(--ajf-accent, #0f4c5c);background:var(--ajf-accent-soft, #e8f1f5);color:var(--ajf-accent, #0f4c5c)}ajf-checkbox-group-item .mat-mdc-button.ajf-checked .mat-icon{color:var(--ajf-accent, #0f4c5c)}\n"] }]
|
|
48
48
|
}], ctorParameters: () => [{ type: i1.AjfCheckboxGroup, decorators: [{
|
|
49
49
|
type: Optional
|
|
50
50
|
}] }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsL2NoZWNrYm94LWdyb3VwL3NyYy9jaGVja2JveC1ncm91cC1pdGVtLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwvY2hlY2tib3gtZ3JvdXAvc3JjL2NoZWNrYm94LWdyb3VwLWl0ZW0uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBRUwsb0JBQW9CLElBQUkscUJBQXFCLEdBQzlDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWM5RixNQUFNLE9BQU8saUJBQXFCLFNBQVEscUJBQXdCO0lBQ2hFO0lBQ0Usb0ZBQW9GO0lBQ3BGLCtDQUErQztJQUNuQyxhQUFrQztRQUU5QyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyx5QkFBeUIsQ0FBQztJQUNsRCxDQUFDOytHQVRVLGlCQUFpQjttR0FBakIsaUJBQWlCLGdPQ3hDOUIsb1pBY0E7OzRGRDBCYSxpQkFBaUI7a0JBWjdCLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixvQ0FBb0MsRUFBRSxTQUFTO3dCQUMvQyxvQ0FBb0MsRUFBRSxVQUFVO3FCQUNqRDs7MEJBTUUsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtcbiAgQWpmQ2hlY2tib3hHcm91cCxcbiAgQWpmQ2hlY2tib3hHcm91cEl0ZW0gYXMgQ29yZUNoZWNrYm94R3JvdXBJdGVtLFxufSBmcm9tICdAYWpmL2NvcmUvY2hlY2tib3gtZ3JvdXAnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhamYtY2hlY2tib3gtZ3JvdXAtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnY2hlY2tib3gtZ3JvdXAtaXRlbS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2NoZWNrYm94LWdyb3VwLWl0ZW0uc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbY2xhc3MuYWpmLWNoZWNrYm94LWdyb3VwLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxuICAgICdbY2xhc3MuYWpmLWNoZWNrYm94LWdyb3VwLWRpc2FibGVdJzogJ2Rpc2FibGVkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cEl0ZW08VD4gZXh0ZW5kcyBDb3JlQ2hlY2tib3hHcm91cEl0ZW08VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICAvLyBgQWpmQ2hlY2tib3hHcm91cEl0ZW1gIGlzIGNvbW1vbmx5IHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhIGBBamZDaGVja2JveEdyb3VwYC5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGxpZ2h0d2VpZ2h0LXRva2Vuc1xuICAgIEBPcHRpb25hbCgpIGNoZWNrYm94R3JvdXA6IEFqZkNoZWNrYm94R3JvdXA8VD4sXG4gICkge1xuICAgIHN1cGVyKGNoZWNrYm94R3JvdXApO1xuICAgIHRoaXMuY2hlY2tlZEljb24gPSAnY2hlY2tfYm94JztcbiAgICB0aGlzLm5vdENoZWNrZWRJY29uID0gJ2NoZWNrX2JveF9vdXRsaW5lX2JsYW5rJztcbiAgfVxufVxuIiwiPGJ1dHRvblxuICBtYXQtYnV0dG9uXG4gIChjbGljayk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgW2lkXT1cImNoZWNrYm94SWQgfCBhc3luY1wiXG4gIFtjbGFzcy5hamYtY2hlY2tlZF09XCJjaGVja2VkU3RhdGUgfCBhc3luY1wiXG4gIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkU3RhdGUgfCBhc3luY1wiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRTdGF0ZSB8IGFzeW5jXCJcbj5cbiAgPG1hdC1pY29uPnt7IGljb24gfCBhc3luYyB9fTwvbWF0LWljb24+XG4gIDxzcGFuIGNsYXNzPVwiYWpmLWNoZWNrYm94LWdyb3VwLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
|