@guajiritos/theme-picker 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,372 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, EventEmitter, Component, Input, Output, forwardRef } from '@angular/core';
3
+ import * as i2 from '@angular/material/icon';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import * as i1 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import * as i3 from '@angular/material/menu';
8
+ import { MatMenuModule } from '@angular/material/menu';
9
+ import * as i4 from '@angular/material/button';
10
+ import { MatButtonModule } from '@angular/material/button';
11
+ import * as i5 from '@angular/material/form-field';
12
+ import { MatFormFieldModule } from '@angular/material/form-field';
13
+ import * as i6 from '@angular/material/autocomplete';
14
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
15
+ import * as i8 from '@angular/forms';
16
+ import { UntypedFormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
17
+ import * as i9 from '@angular/material/input';
18
+ import { MatInputModule } from '@angular/material/input';
19
+ import * as i10 from '@ngx-translate/core';
20
+ import { TranslateModule } from '@ngx-translate/core';
21
+ import * as i7 from '@angular/material/core';
22
+
23
+ var GUAJIRITOS_PALETTE;
24
+ (function (GUAJIRITOS_PALETTE) {
25
+ GUAJIRITOS_PALETTE["OCEAN_GREEN"] = "ocean-green";
26
+ GUAJIRITOS_PALETTE["BRIGHT_YELLOW"] = "bright-yellow";
27
+ GUAJIRITOS_PALETTE["APPLE"] = "apple";
28
+ GUAJIRITOS_PALETTE["GREEN"] = "green";
29
+ GUAJIRITOS_PALETTE["DOUBAN_BLUE"] = "douban-blue";
30
+ GUAJIRITOS_PALETTE["BLIZZARD_BLUE"] = "blizzard-blue";
31
+ GUAJIRITOS_PALETTE["SASQUATCH_SOCKS"] = "sasquatch-socks";
32
+ GUAJIRITOS_PALETTE["SAPPHIRE"] = "sapphire";
33
+ GUAJIRITOS_PALETTE["ATENEO_BLUE"] = "ateneo-blue";
34
+ GUAJIRITOS_PALETTE["BRILLIANT_AZURE"] = "brilliant-azure";
35
+ GUAJIRITOS_PALETTE["DEEP_CARMINE_PINK"] = "deep-carmine-pink";
36
+ GUAJIRITOS_PALETTE["MUSTARD_YELLOW"] = "mustard-yellow";
37
+ GUAJIRITOS_PALETTE["BLUE_BOLT"] = "blue-bolt";
38
+ GUAJIRITOS_PALETTE["DARK_TURQUOISE"] = "dark-turquoise";
39
+ GUAJIRITOS_PALETTE["JELLY_BEAN_BLUE"] = "jelly-bean-blue";
40
+ GUAJIRITOS_PALETTE["DARK"] = "dark";
41
+ })(GUAJIRITOS_PALETTE || (GUAJIRITOS_PALETTE = {}));
42
+ const PALETTES = [
43
+ {
44
+ name: 'Ocean Green',
45
+ palette: GUAJIRITOS_PALETTE.OCEAN_GREEN,
46
+ show: true
47
+ },
48
+ {
49
+ name: 'Bright Yellow',
50
+ palette: GUAJIRITOS_PALETTE.BRIGHT_YELLOW,
51
+ show: true
52
+ },
53
+ {
54
+ name: 'Apple',
55
+ palette: GUAJIRITOS_PALETTE.APPLE,
56
+ show: true
57
+ },
58
+ {
59
+ name: 'Green',
60
+ palette: GUAJIRITOS_PALETTE.GREEN,
61
+ show: true
62
+ },
63
+ {
64
+ name: 'Douban Blue',
65
+ palette: GUAJIRITOS_PALETTE.DOUBAN_BLUE,
66
+ show: true
67
+ },
68
+ {
69
+ name: 'Blizzard Blue',
70
+ palette: GUAJIRITOS_PALETTE.BLIZZARD_BLUE,
71
+ show: true
72
+ },
73
+ {
74
+ name: 'Sasquatch Socks',
75
+ palette: GUAJIRITOS_PALETTE.SASQUATCH_SOCKS,
76
+ show: true
77
+ },
78
+ {
79
+ name: 'Sapphire',
80
+ palette: GUAJIRITOS_PALETTE.SAPPHIRE,
81
+ show: true
82
+ },
83
+ {
84
+ name: 'Ateneo Blue',
85
+ palette: GUAJIRITOS_PALETTE.ATENEO_BLUE,
86
+ show: true
87
+ },
88
+ {
89
+ name: 'Brilliant Azure',
90
+ palette: GUAJIRITOS_PALETTE.BRILLIANT_AZURE,
91
+ show: true
92
+ },
93
+ {
94
+ name: 'Deep Carmine Pink',
95
+ palette: GUAJIRITOS_PALETTE.DEEP_CARMINE_PINK,
96
+ show: true
97
+ },
98
+ {
99
+ name: 'Mustard Yellow',
100
+ palette: GUAJIRITOS_PALETTE.MUSTARD_YELLOW,
101
+ show: true
102
+ },
103
+ {
104
+ name: 'Blue Bolt',
105
+ palette: GUAJIRITOS_PALETTE.BLUE_BOLT,
106
+ show: true
107
+ },
108
+ {
109
+ name: 'Dark Turquoise',
110
+ palette: GUAJIRITOS_PALETTE.DARK_TURQUOISE,
111
+ show: true
112
+ },
113
+ {
114
+ name: 'Jelly Bean Blue',
115
+ palette: GUAJIRITOS_PALETTE.JELLY_BEAN_BLUE,
116
+ show: true
117
+ }
118
+ ];
119
+
120
+ class GuajiritosThemePickerMenu {
121
+ constructor() {
122
+ this.menuPalettes = signal((PALETTES));
123
+ this.paletteChanged = new EventEmitter();
124
+ }
125
+ set activePalettes(palettes) {
126
+ if (palettes?.length) {
127
+ this.menuPalettes.update((patts) => {
128
+ patts.forEach((palette) => {
129
+ palette.show = palettes.includes(palette.palette);
130
+ });
131
+ return patts;
132
+ });
133
+ }
134
+ }
135
+ selectPalette(palette) {
136
+ this.paletteChanged.emit(palette);
137
+ }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GuajiritosThemePickerMenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GuajiritosThemePickerMenu, isStandalone: true, selector: "guajiritos-theme-picker-menu", inputs: { color: "color", activePalettes: "activePalettes" }, outputs: { paletteChanged: "paletteChanged" }, ngImport: i0, template: `
140
+ <button mat-icon-button [matMenuTriggerFor]="menu" aria-label="theme picker" [color]="color">
141
+ <mat-icon>format_color_fill</mat-icon>
142
+ </button>
143
+ <mat-menu #menu="matMenu">
144
+ <ng-container *ngFor="let palette of menuPalettes()">
145
+ <button mat-menu-item (click)="selectPalette(palette)" *ngIf="palette.show">
146
+ <div class="guajiritos-theme-item">
147
+ <span>{{ palette.name }}</span>
148
+ <svg width="80" height="80" viewBox="0 0 80 80" [class]="palette.palette">
149
+ <path
150
+ d="M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z"
151
+ fill="#fffbff"></path>
152
+ <path
153
+ d="M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z"
154
+ fill="" class="svg-color"></path>
155
+ <path d="M0 0h80v17.24H0V0z" class="svg-color" fill=""></path>
156
+ </svg>
157
+ </div>
158
+ </button>
159
+ </ng-container>
160
+ </mat-menu>
161
+ `, isInline: true, styles: [".guajiritos-theme-item{display:flex;justify-content:space-between;align-items:center;gap:1rem}.guajiritos-theme-item svg{width:24px;height:24px}::ng-deep .mat-mdc-menu-item-text{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] }); }
162
+ }
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GuajiritosThemePickerMenu, decorators: [{
164
+ type: Component,
165
+ args: [{ selector: 'guajiritos-theme-picker-menu', standalone: true, imports: [
166
+ CommonModule,
167
+ MatIconModule,
168
+ MatMenuModule,
169
+ MatButtonModule
170
+ ], template: `
171
+ <button mat-icon-button [matMenuTriggerFor]="menu" aria-label="theme picker" [color]="color">
172
+ <mat-icon>format_color_fill</mat-icon>
173
+ </button>
174
+ <mat-menu #menu="matMenu">
175
+ <ng-container *ngFor="let palette of menuPalettes()">
176
+ <button mat-menu-item (click)="selectPalette(palette)" *ngIf="palette.show">
177
+ <div class="guajiritos-theme-item">
178
+ <span>{{ palette.name }}</span>
179
+ <svg width="80" height="80" viewBox="0 0 80 80" [class]="palette.palette">
180
+ <path
181
+ d="M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z"
182
+ fill="#fffbff"></path>
183
+ <path
184
+ d="M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z"
185
+ fill="" class="svg-color"></path>
186
+ <path d="M0 0h80v17.24H0V0z" class="svg-color" fill=""></path>
187
+ </svg>
188
+ </div>
189
+ </button>
190
+ </ng-container>
191
+ </mat-menu>
192
+ `, styles: [".guajiritos-theme-item{display:flex;justify-content:space-between;align-items:center;gap:1rem}.guajiritos-theme-item svg{width:24px;height:24px}::ng-deep .mat-mdc-menu-item-text{width:100%}\n"] }]
193
+ }], propDecorators: { color: [{
194
+ type: Input
195
+ }], activePalettes: [{
196
+ type: Input
197
+ }], paletteChanged: [{
198
+ type: Output
199
+ }] } });
200
+ class GuajiritosThemePicker {
201
+ constructor() {
202
+ this.PALETTES = PALETTES;
203
+ this.form = new UntypedFormControl({ value: null, disabled: false });
204
+ this.appearance = "outline";
205
+ this.color = "accent";
206
+ this.subscriptSizing = "dynamic";
207
+ this.floatLabelType = "always";
208
+ this.requireSelection = true;
209
+ this.label = 'Seleccione su tema';
210
+ this.height = '44px';
211
+ this.width = '44px';
212
+ this.emitOnlyPalette = false;
213
+ this.propagateChange = (_) => {
214
+ };
215
+ }
216
+ displayFn(palette) {
217
+ return palette?.name ?? '';
218
+ }
219
+ registerOnChange(fn) {
220
+ this.propagateChange = fn;
221
+ }
222
+ registerOnTouched() {
223
+ }
224
+ writeValue(palette) {
225
+ if (palette) {
226
+ this.form.setValue(palette, { emitEvent: false });
227
+ }
228
+ }
229
+ setDisabledState(isDisabled) {
230
+ if (isDisabled) {
231
+ this.form.disable();
232
+ }
233
+ else {
234
+ this.form.enable();
235
+ }
236
+ }
237
+ optionSelected($event) {
238
+ if ($event?.option?.value) {
239
+ this.propagateChange(this.emitOnlyPalette ? $event.option.value?.palette : $event.option.value);
240
+ }
241
+ }
242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GuajiritosThemePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
243
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GuajiritosThemePicker, isStandalone: true, selector: "guajiritos-theme-picker", inputs: { appearance: "appearance", color: "color", subscriptSizing: "subscriptSizing", floatLabelType: "floatLabelType", requireSelection: "requireSelection", label: "label", height: "height", width: "width", emitOnlyPalette: "emitOnlyPalette" }, providers: [
244
+ {
245
+ provide: NG_VALUE_ACCESSOR,
246
+ useExisting: forwardRef(() => GuajiritosThemePicker),
247
+ multi: true
248
+ }
249
+ ], ngImport: i0, template: `
250
+ <div class="guajiritos-theme-picker">
251
+ <mat-form-field class="w-100" [appearance]="appearance" [color]="color" [floatLabel]="floatLabelType"
252
+ [subscriptSizing]="subscriptSizing">
253
+ <mat-label>{{ label | translate }}</mat-label>
254
+ <input type="text" matInput [formControl]="form" [matAutocomplete]="auto">
255
+ <mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn" (optionSelected)="optionSelected($event)"
256
+ [requireSelection]="requireSelection">
257
+ <ng-container *ngFor="let palette of PALETTES">
258
+ <mat-option [value]="palette">
259
+ <div class="guajiritos-theme-item w-100">
260
+ <svg width="80" height="80" viewBox="0 0 80 80" [class]="palette.palette">
261
+ <path
262
+ d="M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z"
263
+ fill="#fffbff"></path>
264
+ <path
265
+ d="M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z"
266
+ fill="" class="svg-color"></path>
267
+ <path d="M0 0h80v17.24H0V0z" class="svg-color" fill=""></path>
268
+ </svg>
269
+ <span>{{ palette.name }}</span>
270
+ </div>
271
+ </mat-option>
272
+ </ng-container>
273
+ </mat-autocomplete>
274
+ </mat-form-field>
275
+
276
+ <svg width="80" height="80" viewBox="0 0 80 80" [class]="form.value.palette" *ngIf="form.value?.palette"
277
+ [ngStyle]="{'width': width, 'height': height}" id="activePalette">
278
+ <path
279
+ d="M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z"
280
+ fill="#fffbff"></path>
281
+ <path
282
+ d="M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z"
283
+ fill="" class="svg-color"></path>
284
+ <path d="M0 0h80v17.24H0V0z" class="svg-color" fill=""></path>
285
+ </svg>
286
+ </div>
287
+ `, isInline: true, styles: [".w-100{width:100%}.guajiritos-theme-picker{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.guajiritos-theme-item{display:flex;justify-content:space-between;align-items:center;gap:1rem}.guajiritos-theme-item svg{width:24px;height:24px}#activePalette{border-radius:4px;margin-bottom:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
288
+ }
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GuajiritosThemePicker, decorators: [{
290
+ type: Component,
291
+ args: [{ selector: 'guajiritos-theme-picker', standalone: true, imports: [
292
+ CommonModule,
293
+ MatFormFieldModule,
294
+ MatAutocompleteModule,
295
+ ReactiveFormsModule,
296
+ MatInputModule,
297
+ TranslateModule
298
+ ], template: `
299
+ <div class="guajiritos-theme-picker">
300
+ <mat-form-field class="w-100" [appearance]="appearance" [color]="color" [floatLabel]="floatLabelType"
301
+ [subscriptSizing]="subscriptSizing">
302
+ <mat-label>{{ label | translate }}</mat-label>
303
+ <input type="text" matInput [formControl]="form" [matAutocomplete]="auto">
304
+ <mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn" (optionSelected)="optionSelected($event)"
305
+ [requireSelection]="requireSelection">
306
+ <ng-container *ngFor="let palette of PALETTES">
307
+ <mat-option [value]="palette">
308
+ <div class="guajiritos-theme-item w-100">
309
+ <svg width="80" height="80" viewBox="0 0 80 80" [class]="palette.palette">
310
+ <path
311
+ d="M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z"
312
+ fill="#fffbff"></path>
313
+ <path
314
+ d="M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z"
315
+ fill="" class="svg-color"></path>
316
+ <path d="M0 0h80v17.24H0V0z" class="svg-color" fill=""></path>
317
+ </svg>
318
+ <span>{{ palette.name }}</span>
319
+ </div>
320
+ </mat-option>
321
+ </ng-container>
322
+ </mat-autocomplete>
323
+ </mat-form-field>
324
+
325
+ <svg width="80" height="80" viewBox="0 0 80 80" [class]="form.value.palette" *ngIf="form.value?.palette"
326
+ [ngStyle]="{'width': width, 'height': height}" id="activePalette">
327
+ <path
328
+ d="M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z"
329
+ fill="#fffbff"></path>
330
+ <path
331
+ d="M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z"
332
+ fill="" class="svg-color"></path>
333
+ <path d="M0 0h80v17.24H0V0z" class="svg-color" fill=""></path>
334
+ </svg>
335
+ </div>
336
+ `, providers: [
337
+ {
338
+ provide: NG_VALUE_ACCESSOR,
339
+ useExisting: forwardRef(() => GuajiritosThemePicker),
340
+ multi: true
341
+ }
342
+ ], styles: [".w-100{width:100%}.guajiritos-theme-picker{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.guajiritos-theme-item{display:flex;justify-content:space-between;align-items:center;gap:1rem}.guajiritos-theme-item svg{width:24px;height:24px}#activePalette{border-radius:4px;margin-bottom:2px}\n"] }]
343
+ }], propDecorators: { appearance: [{
344
+ type: Input
345
+ }], color: [{
346
+ type: Input
347
+ }], subscriptSizing: [{
348
+ type: Input
349
+ }], floatLabelType: [{
350
+ type: Input
351
+ }], requireSelection: [{
352
+ type: Input
353
+ }], label: [{
354
+ type: Input
355
+ }], height: [{
356
+ type: Input
357
+ }], width: [{
358
+ type: Input
359
+ }], emitOnlyPalette: [{
360
+ type: Input
361
+ }] } });
362
+
363
+ /*
364
+ * Public API Surface of material-themes-picker
365
+ */
366
+
367
+ /**
368
+ * Generated bundle index. Do not edit.
369
+ */
370
+
371
+ export { GUAJIRITOS_PALETTE, GuajiritosThemePicker, GuajiritosThemePickerMenu, PALETTES };
372
+ //# sourceMappingURL=guajiritos-theme-picker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guajiritos-theme-picker.mjs","sources":["../../../projects/material-theme-picker/src/lib/models/models.ts","../../../projects/material-theme-picker/src/lib/material-theme-picker.component.ts","../../../projects/material-theme-picker/src/public-api.ts","../../../projects/material-theme-picker/src/guajiritos-theme-picker.ts"],"sourcesContent":["export enum GUAJIRITOS_PALETTE {\r\n OCEAN_GREEN = 'ocean-green',\r\n BRIGHT_YELLOW = 'bright-yellow',\r\n APPLE = 'apple',\r\n GREEN = 'green',\r\n DOUBAN_BLUE = 'douban-blue',\r\n BLIZZARD_BLUE = 'blizzard-blue',\r\n SASQUATCH_SOCKS = 'sasquatch-socks',\r\n SAPPHIRE = 'sapphire',\r\n ATENEO_BLUE = 'ateneo-blue',\r\n BRILLIANT_AZURE = 'brilliant-azure',\r\n DEEP_CARMINE_PINK = 'deep-carmine-pink',\r\n MUSTARD_YELLOW = 'mustard-yellow',\r\n BLUE_BOLT = 'blue-bolt',\r\n DARK_TURQUOISE = 'dark-turquoise',\r\n JELLY_BEAN_BLUE = 'jelly-bean-blue',\r\n DARK = 'dark',\r\n}\r\n\r\nexport interface GuajiritosPalette {\r\n name: string;\r\n palette: GUAJIRITOS_PALETTE;\r\n show?: boolean;\r\n}\r\n\r\nexport const PALETTES: GuajiritosPalette[] = [\r\n {\r\n name: 'Ocean Green',\r\n palette: GUAJIRITOS_PALETTE.OCEAN_GREEN,\r\n show: true\r\n },\r\n {\r\n name: 'Bright Yellow',\r\n palette: GUAJIRITOS_PALETTE.BRIGHT_YELLOW,\r\n show: true\r\n },\r\n {\r\n name: 'Apple',\r\n palette: GUAJIRITOS_PALETTE.APPLE,\r\n show: true\r\n },\r\n {\r\n name: 'Green',\r\n palette: GUAJIRITOS_PALETTE.GREEN,\r\n show: true\r\n },\r\n {\r\n name: 'Douban Blue',\r\n palette: GUAJIRITOS_PALETTE.DOUBAN_BLUE,\r\n show: true\r\n },\r\n {\r\n name: 'Blizzard Blue',\r\n palette: GUAJIRITOS_PALETTE.BLIZZARD_BLUE,\r\n show: true\r\n },\r\n {\r\n name: 'Sasquatch Socks',\r\n palette: GUAJIRITOS_PALETTE.SASQUATCH_SOCKS,\r\n show: true\r\n },\r\n {\r\n name: 'Sapphire',\r\n palette: GUAJIRITOS_PALETTE.SAPPHIRE,\r\n show: true\r\n },\r\n {\r\n name: 'Ateneo Blue',\r\n palette: GUAJIRITOS_PALETTE.ATENEO_BLUE,\r\n show: true\r\n },\r\n {\r\n name: 'Brilliant Azure',\r\n palette: GUAJIRITOS_PALETTE.BRILLIANT_AZURE,\r\n show: true\r\n },\r\n {\r\n name: 'Deep Carmine Pink',\r\n palette: GUAJIRITOS_PALETTE.DEEP_CARMINE_PINK,\r\n show: true\r\n },\r\n {\r\n name: 'Mustard Yellow',\r\n palette: GUAJIRITOS_PALETTE.MUSTARD_YELLOW,\r\n show: true\r\n },\r\n {\r\n name: 'Blue Bolt',\r\n palette: GUAJIRITOS_PALETTE.BLUE_BOLT,\r\n show: true\r\n },\r\n {\r\n name: 'Dark Turquoise',\r\n palette: GUAJIRITOS_PALETTE.DARK_TURQUOISE,\r\n show: true\r\n },\r\n {\r\n name: 'Jelly Bean Blue',\r\n palette: GUAJIRITOS_PALETTE.JELLY_BEAN_BLUE,\r\n show: true\r\n }\r\n];\r\n","import {Component, EventEmitter, forwardRef, Input, Output, signal, WritableSignal} from '@angular/core';\r\nimport {MatIconModule} from \"@angular/material/icon\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {MatButtonModule} from \"@angular/material/button\";\r\nimport {ThemePalette} from \"@angular/material/core\";\r\nimport {\r\n FloatLabelType,\r\n MatFormFieldAppearance,\r\n MatFormFieldModule,\r\n SubscriptSizing\r\n} from \"@angular/material/form-field\";\r\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormControl} from \"@angular/forms\";\r\nimport {MatInputModule} from \"@angular/material/input\";\r\nimport {TranslateModule} from \"@ngx-translate/core\";\r\n\r\nimport {GUAJIRITOS_PALETTE, GuajiritosPalette, PALETTES} from './models/models';\r\n\r\n@Component({\r\n selector: 'guajiritos-theme-picker-menu',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatButtonModule\r\n ],\r\n template: `\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"theme picker\" [color]=\"color\">\r\n <mat-icon>format_color_fill</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <ng-container *ngFor=\"let palette of menuPalettes()\">\r\n <button mat-menu-item (click)=\"selectPalette(palette)\" *ngIf=\"palette.show\">\r\n <div class=\"guajiritos-theme-item\">\r\n <span>{{ palette.name }}</span>\r\n <svg width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" [class]=\"palette.palette\">\r\n <path\r\n d=\"M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z\"\r\n fill=\"#fffbff\"></path>\r\n <path\r\n d=\"M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z\"\r\n fill=\"\" class=\"svg-color\"></path>\r\n <path d=\"M0 0h80v17.24H0V0z\" class=\"svg-color\" fill=\"\"></path>\r\n </svg>\r\n </div>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n `,\r\n styles: [`\r\n .guajiritos-theme-item {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 1rem;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n }\r\n\r\n ::ng-deep .mat-mdc-menu-item-text {\r\n width: 100%;\r\n }\r\n `]\r\n})\r\nexport class GuajiritosThemePickerMenu {\r\n public menuPalettes: WritableSignal<GuajiritosPalette[]> = signal((PALETTES));\r\n\r\n @Input() color: ThemePalette;\r\n\r\n @Input() set activePalettes(palettes: GUAJIRITOS_PALETTE[]) {\r\n if (palettes?.length) {\r\n this.menuPalettes.update((patts: GuajiritosPalette[]) => {\r\n patts.forEach((palette: GuajiritosPalette): void => {\r\n palette.show = palettes.includes(palette.palette);\r\n })\r\n return patts;\r\n })\r\n }\r\n }\r\n\r\n @Output() paletteChanged = new EventEmitter<GuajiritosPalette>();\r\n\r\n public selectPalette(palette: GuajiritosPalette): void {\r\n this.paletteChanged.emit(palette);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'guajiritos-theme-picker',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n TranslateModule\r\n ],\r\n template: `\r\n <div class=\"guajiritos-theme-picker\">\r\n <mat-form-field class=\"w-100\" [appearance]=\"appearance\" [color]=\"color\" [floatLabel]=\"floatLabelType\"\r\n [subscriptSizing]=\"subscriptSizing\">\r\n <mat-label>{{ label | translate }}</mat-label>\r\n <input type=\"text\" matInput [formControl]=\"form\" [matAutocomplete]=\"auto\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"optionSelected($event)\"\r\n [requireSelection]=\"requireSelection\">\r\n <ng-container *ngFor=\"let palette of PALETTES\">\r\n <mat-option [value]=\"palette\">\r\n <div class=\"guajiritos-theme-item w-100\">\r\n <svg width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" [class]=\"palette.palette\">\r\n <path\r\n d=\"M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z\"\r\n fill=\"#fffbff\"></path>\r\n <path\r\n d=\"M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z\"\r\n fill=\"\" class=\"svg-color\"></path>\r\n <path d=\"M0 0h80v17.24H0V0z\" class=\"svg-color\" fill=\"\"></path>\r\n </svg>\r\n <span>{{ palette.name }}</span>\r\n </div>\r\n </mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n\r\n <svg width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" [class]=\"form.value.palette\" *ngIf=\"form.value?.palette\"\r\n [ngStyle]=\"{'width': width, 'height': height}\" id=\"activePalette\">\r\n <path\r\n d=\"M77.87 0C79.05 0 80 .95 80 2.13v75.74c0 1.17-.95 2.13-2.13 2.13H2.13C.96 80 0 79.04 0 77.87V2.13C0 .95.96 0 2.13 0h75.74z\"\r\n fill=\"#fffbff\"></path>\r\n <path\r\n d=\"M54 40c3.32 0 6 2.69 6 6 0 1.2 0-1.2 0 0 0 3.31-2.68 6-6 6H26c-3.31 0-6-2.69-6-6 0-1.2 0 1.2 0 0 0-3.31 2.69-6 6-6h28z\"\r\n fill=\"\" class=\"svg-color\"></path>\r\n <path d=\"M0 0h80v17.24H0V0z\" class=\"svg-color\" fill=\"\"></path>\r\n </svg>\r\n </div>\r\n `,\r\n styles: [\r\n `\r\n .w-100 {\r\n width: 100%;\r\n }\r\n\r\n .guajiritos-theme-picker {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-end;\r\n gap: 1rem;\r\n }\r\n\r\n .guajiritos-theme-item {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 1rem;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n }\r\n\r\n #activePalette {\r\n border-radius: 4px;\r\n margin-bottom: 2px;\r\n }\r\n `\r\n ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => GuajiritosThemePicker),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class GuajiritosThemePicker implements ControlValueAccessor {\r\n protected readonly PALETTES: GuajiritosPalette[] = PALETTES;\r\n\r\n public form: UntypedFormControl = new UntypedFormControl({value: null, disabled: false});\r\n\r\n @Input() appearance: MatFormFieldAppearance = \"outline\";\r\n @Input() color: ThemePalette = \"accent\";\r\n @Input() subscriptSizing: SubscriptSizing = \"dynamic\";\r\n @Input() floatLabelType: FloatLabelType = \"always\";\r\n @Input() requireSelection: boolean = true;\r\n\r\n @Input() label: string = 'Seleccione su tema';\r\n @Input() height: string = '44px';\r\n @Input() width: string = '44px';\r\n @Input() emitOnlyPalette: boolean = false;\r\n\r\n displayFn(palette: GuajiritosPalette): string {\r\n return palette?.name ?? '';\r\n }\r\n\r\n propagateChange = (_: any): void => {\r\n };\r\n\r\n registerOnChange(fn: (_: any) => void): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(): void {\r\n }\r\n\r\n writeValue(palette: GuajiritosPalette): void {\r\n if (palette) {\r\n this.form.setValue(palette, {emitEvent: false});\r\n }\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n if (isDisabled) {\r\n this.form.disable();\r\n } else {\r\n this.form.enable();\r\n }\r\n }\r\n\r\n public optionSelected($event: any): void {\r\n if ($event?.option?.value) {\r\n this.propagateChange(this.emitOnlyPalette ? $event.option.value?.palette : $event.option.value);\r\n }\r\n }\r\n}\r\n","/*\r\n * Public API Surface of material-themes-picker\r\n */\r\n\r\nexport * from './lib/material-theme-picker.component';\r\nexport * from './lib/models/models';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@guajiritos/theme-picker" />
5
+ export * from './public-api';
@@ -0,0 +1,37 @@
1
+ import { EventEmitter, WritableSignal } from '@angular/core';
2
+ import { ThemePalette } from "@angular/material/core";
3
+ import { FloatLabelType, MatFormFieldAppearance, SubscriptSizing } from "@angular/material/form-field";
4
+ import { ControlValueAccessor, UntypedFormControl } from "@angular/forms";
5
+ import { GUAJIRITOS_PALETTE, GuajiritosPalette } from './models/models';
6
+ import * as i0 from "@angular/core";
7
+ export declare class GuajiritosThemePickerMenu {
8
+ menuPalettes: WritableSignal<GuajiritosPalette[]>;
9
+ color: ThemePalette;
10
+ set activePalettes(palettes: GUAJIRITOS_PALETTE[]);
11
+ paletteChanged: EventEmitter<GuajiritosPalette>;
12
+ selectPalette(palette: GuajiritosPalette): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<GuajiritosThemePickerMenu, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<GuajiritosThemePickerMenu, "guajiritos-theme-picker-menu", never, { "color": { "alias": "color"; "required": false; }; "activePalettes": { "alias": "activePalettes"; "required": false; }; }, { "paletteChanged": "paletteChanged"; }, never, never, true, never>;
15
+ }
16
+ export declare class GuajiritosThemePicker implements ControlValueAccessor {
17
+ protected readonly PALETTES: GuajiritosPalette[];
18
+ form: UntypedFormControl;
19
+ appearance: MatFormFieldAppearance;
20
+ color: ThemePalette;
21
+ subscriptSizing: SubscriptSizing;
22
+ floatLabelType: FloatLabelType;
23
+ requireSelection: boolean;
24
+ label: string;
25
+ height: string;
26
+ width: string;
27
+ emitOnlyPalette: boolean;
28
+ displayFn(palette: GuajiritosPalette): string;
29
+ propagateChange: (_: any) => void;
30
+ registerOnChange(fn: (_: any) => void): void;
31
+ registerOnTouched(): void;
32
+ writeValue(palette: GuajiritosPalette): void;
33
+ setDisabledState(isDisabled: boolean): void;
34
+ optionSelected($event: any): void;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<GuajiritosThemePicker, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<GuajiritosThemePicker, "guajiritos-theme-picker", never, { "appearance": { "alias": "appearance"; "required": false; }; "color": { "alias": "color"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "floatLabelType": { "alias": "floatLabelType"; "required": false; }; "requireSelection": { "alias": "requireSelection"; "required": false; }; "label": { "alias": "label"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "emitOnlyPalette": { "alias": "emitOnlyPalette"; "required": false; }; }, {}, never, never, true, never>;
37
+ }
@@ -0,0 +1,24 @@
1
+ export declare enum GUAJIRITOS_PALETTE {
2
+ OCEAN_GREEN = "ocean-green",
3
+ BRIGHT_YELLOW = "bright-yellow",
4
+ APPLE = "apple",
5
+ GREEN = "green",
6
+ DOUBAN_BLUE = "douban-blue",
7
+ BLIZZARD_BLUE = "blizzard-blue",
8
+ SASQUATCH_SOCKS = "sasquatch-socks",
9
+ SAPPHIRE = "sapphire",
10
+ ATENEO_BLUE = "ateneo-blue",
11
+ BRILLIANT_AZURE = "brilliant-azure",
12
+ DEEP_CARMINE_PINK = "deep-carmine-pink",
13
+ MUSTARD_YELLOW = "mustard-yellow",
14
+ BLUE_BOLT = "blue-bolt",
15
+ DARK_TURQUOISE = "dark-turquoise",
16
+ JELLY_BEAN_BLUE = "jelly-bean-blue",
17
+ DARK = "dark"
18
+ }
19
+ export interface GuajiritosPalette {
20
+ name: string;
21
+ palette: GUAJIRITOS_PALETTE;
22
+ show?: boolean;
23
+ }
24
+ export declare const PALETTES: GuajiritosPalette[];
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@guajiritos/theme-picker",
3
+ "version": "16.0.0",
4
+ "peerDependencies": {
5
+ "@angular/common": "^16.0.0",
6
+ "@angular/core": "^16.0.0",
7
+ "@angular/material": "^16.0.0"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "sideEffects": false,
13
+ "exports": {
14
+ "./palettes": {
15
+ "sass": "./palettes.scss"
16
+ },
17
+ "./theme": {
18
+ "sass": "./theme.scss"
19
+ },
20
+ "./package.json": {
21
+ "default": "./package.json"
22
+ },
23
+ ".": {
24
+ "types": "./index.d.ts",
25
+ "esm2022": "./esm2022/guajiritos-theme-picker.mjs",
26
+ "esm": "./esm2022/guajiritos-theme-picker.mjs",
27
+ "default": "./fesm2022/guajiritos-theme-picker.mjs"
28
+ }
29
+ },
30
+ "module": "fesm2022/guajiritos-theme-picker.mjs",
31
+ "typings": "index.d.ts"
32
+ }