@magmonium/one 0.2.16 → 0.2.17
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/fesm2022/{magmonium-one-magmonium-one-CD8ioDZO.mjs → magmonium-one-magmonium-one-D17PHUaP.mjs} +303 -20
- package/fesm2022/magmonium-one-magmonium-one-D17PHUaP.mjs.map +1 -0
- package/fesm2022/{magmonium-one-otp-BZAX_j5g.mjs → magmonium-one-otp-fpC1c9gw.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-BZAX_j5g.mjs.map → magmonium-one-otp-fpC1c9gw.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-CvTU1Qx-.mjs → magmonium-one-password-DT79TrP9.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-CvTU1Qx-.mjs.map → magmonium-one-password-DT79TrP9.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-toggle-C-FB-Gcs.mjs → magmonium-one-toggle-SgQklgxO.mjs} +2 -2
- package/fesm2022/{magmonium-one-toggle-C-FB-Gcs.mjs.map → magmonium-one-toggle-SgQklgxO.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +151 -17
- package/fesm2022/magmonium-one-magmonium-one-CD8ioDZO.mjs.map +0 -1
|
@@ -6435,7 +6435,7 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
6435
6435
|
break;
|
|
6436
6436
|
}
|
|
6437
6437
|
case InputType.TOGGLE: {
|
|
6438
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
6438
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-SgQklgxO.mjs');
|
|
6439
6439
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
6440
6440
|
break;
|
|
6441
6441
|
}
|
|
@@ -6447,12 +6447,12 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
6447
6447
|
break;
|
|
6448
6448
|
}
|
|
6449
6449
|
case InputType.PASSWORD: {
|
|
6450
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
6450
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-DT79TrP9.mjs');
|
|
6451
6451
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
6452
6452
|
break;
|
|
6453
6453
|
}
|
|
6454
6454
|
case InputType.OTP: {
|
|
6455
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
6455
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-fpC1c9gw.mjs');
|
|
6456
6456
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
6457
6457
|
break;
|
|
6458
6458
|
}
|
|
@@ -10272,17 +10272,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
10272
10272
|
`, imports: [IconComponent, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.section-filter-panel{list-style:none;margin:0;padding:0;min-width:10rem;max-height:15rem;overflow-y:auto;background:var(--m-background);border:1px solid var(--m-mm);border-radius:0;animation:filter-panel-in .2s ease-out}.section-filter-panel__option{display:flex;align-items:center;gap:.5em;padding:calc(.6rem * var(--filter-size, 1)) calc(.9rem * var(--filter-size, 1));cursor:pointer;font-size:calc(.875rem * var(--filter-size, 1));color:var(--m-text);transition:all .3s cubic-bezier(.16,1,.3,1);outline:none}.section-filter-panel__option:hover:not(.is-disabled){background-color:var(--m-backdrop-standard)}.section-filter-panel__option:focus-visible:not(.is-disabled){background-color:var(--m-backdrop-standard)}.section-filter-panel__option.is-selected{color:var(--m-mm);font-weight:500}.section-filter-panel__option.is-disabled{opacity:.4;cursor:not-allowed}.section-filter-panel__check-wrap{width:1em;flex-shrink:0;display:flex;align-items:center;color:var(--m-mm)}@keyframes filter-panel-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"] }]
|
|
10273
10273
|
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], action: [{ type: i0.Output, args: ["action"] }] } });
|
|
10274
10274
|
|
|
10275
|
+
const FILTER_GROUP_CONTEXT = new InjectionToken('FILTER_GROUP_CONTEXT');
|
|
10276
|
+
|
|
10275
10277
|
class SectionFilterComponent {
|
|
10276
10278
|
label = input('', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
10279
|
+
/**
|
|
10280
|
+
* The key this Filter's slice carries in a FilterGroup's `{name, value}[]`.
|
|
10281
|
+
* Falls back to `label`, which is a TranslationAsset key rather than an
|
|
10282
|
+
* identity — good enough alone, wrong to rely on in a group (ADR 0025).
|
|
10283
|
+
*/
|
|
10284
|
+
name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
10277
10285
|
options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
10278
10286
|
optionsAsset = input(...(ngDevMode ? [undefined, { debugName: "optionsAsset" }] : /* istanbul ignore next */ []));
|
|
10279
10287
|
multiple = input(true, ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
|
|
10280
10288
|
value = model([], ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
10281
10289
|
filterChange = output();
|
|
10282
10290
|
isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
10291
|
+
/**
|
|
10292
|
+
* Present only inside a FilterGroup. With one, the group owns the selection
|
|
10293
|
+
* and this Filter reads its slice down and emits nothing of its own — one
|
|
10294
|
+
* click, one emit (ADR 0025). Without one, the `value` model below is the
|
|
10295
|
+
* source of truth and nothing about this component has changed.
|
|
10296
|
+
*/
|
|
10297
|
+
group = inject(FILTER_GROUP_CONTEXT, { optional: true });
|
|
10283
10298
|
sectionContext = inject(SECTION_CONTEXT, { optional: true });
|
|
10284
10299
|
sidepanel = computed(() => this.sectionContext?.sidepanel() ?? false, ...(ngDevMode ? [{ debugName: "sidepanel" }] : /* istanbul ignore next */ []));
|
|
10285
|
-
|
|
10300
|
+
// A group draws one border for its whole row, so a Filter inside one draws
|
|
10301
|
+
// none of its own.
|
|
10302
|
+
noBorder = computed(() => !!this.group || this.sectionContext?.variant() === 'noBorder', ...(ngDevMode ? [{ debugName: "noBorder" }] : /* istanbul ignore next */ []));
|
|
10303
|
+
resolvedName = computed(() => this.name() || this.label(), ...(ngDevMode ? [{ debugName: "resolvedName" }] : /* istanbul ignore next */ []));
|
|
10304
|
+
/** The group's slice when there is one, this Filter's own model otherwise. */
|
|
10305
|
+
selected = computed(() => this.group ? this.group.valueOf(this.resolvedName()) : this.value(), ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
|
|
10286
10306
|
toggleConfig = computed(() => ({
|
|
10287
10307
|
icon: this.isOpen() ? 'x' : 'adjust',
|
|
10288
10308
|
one: true,
|
|
@@ -10291,8 +10311,6 @@ class SectionFilterComponent {
|
|
|
10291
10311
|
}), ...(ngDevMode ? [{ debugName: "toggleConfig" }] : /* istanbul ignore next */ []));
|
|
10292
10312
|
dropdownRef = viewChild(SelectorDirective, ...(ngDevMode ? [{ debugName: "dropdownRef" }] : /* istanbul ignore next */ []));
|
|
10293
10313
|
assetStore = inject(AssetStore);
|
|
10294
|
-
translateService = inject(TranslateService);
|
|
10295
|
-
filterLabel = computed(() => this.translateService.translate('filter-name', { name: this.label() }), ...(ngDevMode ? [{ debugName: "filterLabel" }] : /* istanbul ignore next */ []));
|
|
10296
10314
|
assetOptionsResource = rxResource({
|
|
10297
10315
|
params: () => this.optionsAsset(),
|
|
10298
10316
|
stream: ({ params }) => {
|
|
@@ -10319,14 +10337,14 @@ class SectionFilterComponent {
|
|
|
10319
10337
|
disabled: o.disabled,
|
|
10320
10338
|
}));
|
|
10321
10339
|
}, ...(ngDevMode ? [{ debugName: "resolvedOptions" }] : /* istanbul ignore next */ []));
|
|
10322
|
-
hasSelection = computed(() => this.
|
|
10323
|
-
selectedOptions = computed(() => this.resolvedOptions().filter((o) => this.
|
|
10340
|
+
hasSelection = computed(() => this.selected().length > 0, ...(ngDevMode ? [{ debugName: "hasSelection" }] : /* istanbul ignore next */ []));
|
|
10341
|
+
selectedOptions = computed(() => this.resolvedOptions().filter((o) => this.selected().includes(o.value)), ...(ngDevMode ? [{ debugName: "selectedOptions" }] : /* istanbul ignore next */ []));
|
|
10324
10342
|
selectorConfig = computed(() => ({
|
|
10325
10343
|
component: SectionFilterPanelComponent,
|
|
10326
10344
|
base: 'm-section-filter',
|
|
10327
10345
|
bindings: [
|
|
10328
10346
|
inputBinding('options', this.resolvedOptions),
|
|
10329
|
-
inputBinding('selected', this.
|
|
10347
|
+
inputBinding('selected', this.selected),
|
|
10330
10348
|
inputBinding('multiple', this.multiple),
|
|
10331
10349
|
outputBinding('action', (opt) => this.selectOption(opt)),
|
|
10332
10350
|
],
|
|
@@ -10334,6 +10352,12 @@ class SectionFilterComponent {
|
|
|
10334
10352
|
selectOption = (opt) => {
|
|
10335
10353
|
if (opt.disabled)
|
|
10336
10354
|
return;
|
|
10355
|
+
if (this.group) {
|
|
10356
|
+
this.group.toggle(this.resolvedName(), opt, this.multiple());
|
|
10357
|
+
if (!this.multiple())
|
|
10358
|
+
this.dropdownRef()?.close();
|
|
10359
|
+
return;
|
|
10360
|
+
}
|
|
10337
10361
|
if (this.multiple()) {
|
|
10338
10362
|
const current = this.value();
|
|
10339
10363
|
const next = current.includes(opt.value)
|
|
@@ -10351,12 +10375,33 @@ class SectionFilterComponent {
|
|
|
10351
10375
|
}
|
|
10352
10376
|
};
|
|
10353
10377
|
removeOption = (val) => {
|
|
10378
|
+
if (this.group) {
|
|
10379
|
+
this.group.remove(this.resolvedName(), val);
|
|
10380
|
+
return;
|
|
10381
|
+
}
|
|
10354
10382
|
const next = this.value().filter((v) => v !== val);
|
|
10355
10383
|
this.value.set(next);
|
|
10356
10384
|
this.filterChange.emit(next);
|
|
10357
10385
|
};
|
|
10386
|
+
constructor() {
|
|
10387
|
+
const group = this.group;
|
|
10388
|
+
if (!group)
|
|
10389
|
+
return;
|
|
10390
|
+
// Registered rather than found by a content query: a Col may sit between
|
|
10391
|
+
// this Filter and its group, and squeezed the group renders no bar at all
|
|
10392
|
+
// — the menu it draws instead is built from these registrations, which is
|
|
10393
|
+
// why the row is hidden rather than skipped (ADR 0025).
|
|
10394
|
+
const member = {
|
|
10395
|
+
name: this.resolvedName,
|
|
10396
|
+
label: this.label,
|
|
10397
|
+
options: this.resolvedOptions,
|
|
10398
|
+
multiple: this.multiple,
|
|
10399
|
+
};
|
|
10400
|
+
group.register(member);
|
|
10401
|
+
inject(DestroyRef).onDestroy(() => group.unregister(member));
|
|
10402
|
+
}
|
|
10358
10403
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SectionFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10359
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SectionFilterComponent, isStandalone: true, selector: "m-section-filter", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionsAsset: { classPropertyName: "optionsAsset", publicName: "optionsAsset", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", filterChange: "filterChange" }, host: { properties: { "class.has-sidepanel": "sidepanel()", "class.no-border": "noBorder()" } }, viewQueries: [{ propertyName: "dropdownRef", first: true, predicate: SelectorDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
10404
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SectionFilterComponent, isStandalone: true, selector: "m-section-filter", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionsAsset: { classPropertyName: "optionsAsset", publicName: "optionsAsset", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", filterChange: "filterChange" }, host: { properties: { "class.has-sidepanel": "sidepanel()", "class.no-border": "noBorder()", "class.in-group": "!!group" } }, viewQueries: [{ propertyName: "dropdownRef", first: true, predicate: SelectorDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
10360
10405
|
<div class="section-filter__bar">
|
|
10361
10406
|
@if (hasSelection()) {
|
|
10362
10407
|
<div class="section-filter__badges">
|
|
@@ -10372,7 +10417,7 @@ class SectionFilterComponent {
|
|
|
10372
10417
|
}
|
|
10373
10418
|
</div>
|
|
10374
10419
|
} @else {
|
|
10375
|
-
<m-header [level]="3" [label]="
|
|
10420
|
+
<m-header [level]="3" [label]="label()" />
|
|
10376
10421
|
}
|
|
10377
10422
|
<div
|
|
10378
10423
|
class="section-filter__dropdown"
|
|
@@ -10405,7 +10450,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
10405
10450
|
}
|
|
10406
10451
|
</div>
|
|
10407
10452
|
} @else {
|
|
10408
|
-
<m-header [level]="3" [label]="
|
|
10453
|
+
<m-header [level]="3" [label]="label()" />
|
|
10409
10454
|
}
|
|
10410
10455
|
<div
|
|
10411
10456
|
class="section-filter__dropdown"
|
|
@@ -10427,8 +10472,239 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
10427
10472
|
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
10428
10473
|
'[class.has-sidepanel]': 'sidepanel()',
|
|
10429
10474
|
'[class.no-border]': 'noBorder()',
|
|
10475
|
+
'[class.in-group]': '!!group',
|
|
10430
10476
|
}, styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;border-bottom:1px solid var(--m-section-filter-border, var(--m-backdrop-border))}:host(.no-border){border-bottom:none}.section-filter__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, 1rem) * 2 + 1.375rem));padding:var(--section-header-py, .75rem) var(--section-px, 1rem)}.section-filter__bar m-header{flex:1;min-width:0;font-size:1rem}.section-filter__bar .section-filter__toggle{flex-shrink:0;--m-button-size: 1rem !important}.section-filter__bar .section-filter__toggle.is-active{--m-button-color: var(--m-mm) !important}.section-filter__badges{display:flex;flex-wrap:wrap;gap:.375rem;flex:1;min-width:0;align-items:center}.section-filter__badges m-badge{--m-badge-size: .6rem}.section-filter__badges m-badge m-button{--m-button-size: .6em;--m-button-color: var(--m-mm);opacity:.7}.section-filter__badges m-badge m-button:hover{opacity:1}.section-filter__dropdown{flex-shrink:0}\n"] }]
|
|
10431
|
-
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionsAsset: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsAsset", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], dropdownRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SelectorDirective), { isSignal: true }] }] } });
|
|
10477
|
+
}], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionsAsset: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsAsset", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], dropdownRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SelectorDirective), { isSignal: true }] }] } });
|
|
10478
|
+
|
|
10479
|
+
/**
|
|
10480
|
+
* A Row-like container that owns the selection for every Filter beneath it and
|
|
10481
|
+
* emits one aggregate whenever any of them changes (ADR 0025). Admits Cols, so
|
|
10482
|
+
* a Filter may sit any depth down — DI, not a content query, is what finds it.
|
|
10483
|
+
*
|
|
10484
|
+
* Squeezed, it collapses to one icon whose menu drills into each Filter in
|
|
10485
|
+
* turn. The children are still projected in that mode, only hidden: a Filter
|
|
10486
|
+
* that never instantiates never registers, and the menu is built from
|
|
10487
|
+
* registrations.
|
|
10488
|
+
*/
|
|
10489
|
+
class SectionFilterGroupComponent {
|
|
10490
|
+
squeeze = input(undefined, ...(ngDevMode ? [{ debugName: "squeeze" }] : /* istanbul ignore next */ []));
|
|
10491
|
+
padding = input(undefined, ...(ngDevMode ? [{ debugName: "padding" }] : /* istanbul ignore next */ []));
|
|
10492
|
+
paddingX = input(undefined, ...(ngDevMode ? [{ debugName: "paddingX" }] : /* istanbul ignore next */ []));
|
|
10493
|
+
paddingY = input(undefined, ...(ngDevMode ? [{ debugName: "paddingY" }] : /* istanbul ignore next */ []));
|
|
10494
|
+
maxWidth = input(...(ngDevMode ? [undefined, { debugName: "maxWidth" }] : /* istanbul ignore next */ []));
|
|
10495
|
+
align = input(undefined, ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
10496
|
+
config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
|
|
10497
|
+
/**
|
|
10498
|
+
* The whole group's selection, one entry per Filter that has ever been
|
|
10499
|
+
* touched. A list rather than an object keyed by name — the keys would come
|
|
10500
|
+
* from whichever Filters are dropped in (ADR 0025).
|
|
10501
|
+
*/
|
|
10502
|
+
value = model([], ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
10503
|
+
filterChange = output();
|
|
10504
|
+
isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
10505
|
+
members = signal([], ...(ngDevMode ? [{ debugName: "members" }] : /* istanbul ignore next */ []));
|
|
10506
|
+
isDesignMode = !!inject(IS_DESIGN_MODE, {
|
|
10507
|
+
optional: true,
|
|
10508
|
+
});
|
|
10509
|
+
translateService = inject(TranslateService);
|
|
10510
|
+
sectionContext = inject(SECTION_CONTEXT, { optional: true });
|
|
10511
|
+
selectorDir = viewChild(SelectorDirective, ...(ngDevMode ? [{ debugName: "selectorDir" }] : /* istanbul ignore next */ []));
|
|
10512
|
+
squeezed = computed(() => this.squeeze() ?? this.config()?.squeeze ?? false, ...(ngDevMode ? [{ debugName: "squeezed" }] : /* istanbul ignore next */ []));
|
|
10513
|
+
resolvedPadding = computed(() => this.padding() ?? this.config()?.padding ?? false, ...(ngDevMode ? [{ debugName: "resolvedPadding" }] : /* istanbul ignore next */ []));
|
|
10514
|
+
resolvedPaddingX = computed(() => this.paddingX() ?? this.config()?.paddingX ?? false, ...(ngDevMode ? [{ debugName: "resolvedPaddingX" }] : /* istanbul ignore next */ []));
|
|
10515
|
+
resolvedPaddingY = computed(() => this.paddingY() ?? this.config()?.paddingY ?? false, ...(ngDevMode ? [{ debugName: "resolvedPaddingY" }] : /* istanbul ignore next */ []));
|
|
10516
|
+
resolvedAlign = computed(() => this.align() ?? this.config()?.align ?? 'left', ...(ngDevMode ? [{ debugName: "resolvedAlign" }] : /* istanbul ignore next */ []));
|
|
10517
|
+
resolvedMaxWidth = computed(() => this.maxWidth() ?? this.config()?.maxWidth, ...(ngDevMode ? [{ debugName: "resolvedMaxWidth" }] : /* istanbul ignore next */ []));
|
|
10518
|
+
noBorder = computed(() => this.sectionContext?.variant() === 'noBorder', ...(ngDevMode ? [{ debugName: "noBorder" }] : /* istanbul ignore next */ []));
|
|
10519
|
+
/**
|
|
10520
|
+
* Filters holding any selection — not the sum of selected values. A Filter's
|
|
10521
|
+
* own count is already on its menu row, so a sum would be the same
|
|
10522
|
+
* information twice (ADR 0025).
|
|
10523
|
+
*/
|
|
10524
|
+
activeCount = computed(() => this.value().filter((entry) => entry.value.length > 0).length, ...(ngDevMode ? [{ debugName: "activeCount" }] : /* istanbul ignore next */ []));
|
|
10525
|
+
toggleConfig = computed(() => ({
|
|
10526
|
+
icon: this.isOpen() ? 'x' : 'adjust',
|
|
10527
|
+
one: true,
|
|
10528
|
+
variant: 'ghost',
|
|
10529
|
+
iconOnly: true,
|
|
10530
|
+
}), ...(ngDevMode ? [{ debugName: "toggleConfig" }] : /* istanbul ignore next */ []));
|
|
10531
|
+
countBadgeConfig = computed(() => ({
|
|
10532
|
+
variant: 'primary',
|
|
10533
|
+
position: 'top-right',
|
|
10534
|
+
}), ...(ngDevMode ? [{ debugName: "countBadgeConfig" }] : /* istanbul ignore next */ []));
|
|
10535
|
+
/**
|
|
10536
|
+
* One MenuItem per registered Filter, its own options nested underneath.
|
|
10537
|
+
* MenuComponent drills into `options` with a back button rather than
|
|
10538
|
+
* expanding in place, which is what makes a group of many Filters legible in
|
|
10539
|
+
* one icon's worth of space.
|
|
10540
|
+
*/
|
|
10541
|
+
menuOptions = computed(() => {
|
|
10542
|
+
const rows = this.members().map((member) => {
|
|
10543
|
+
const name = member.name();
|
|
10544
|
+
const selected = this.valueOf(name);
|
|
10545
|
+
const label = selected.length
|
|
10546
|
+
? this.translateService.translate(member.label(), {
|
|
10547
|
+
// Pre-resolved, so the menu's own `| translate` passes it through:
|
|
10548
|
+
// a key with no entry comes back as itself.
|
|
10549
|
+
count: String(selected.length),
|
|
10550
|
+
}) + ` (${selected.length})`
|
|
10551
|
+
: member.label();
|
|
10552
|
+
return {
|
|
10553
|
+
id: name,
|
|
10554
|
+
label,
|
|
10555
|
+
selected: selected.length > 0,
|
|
10556
|
+
options: [
|
|
10557
|
+
member.options().map((opt) => ({
|
|
10558
|
+
id: `${name}:${opt.value}`,
|
|
10559
|
+
label: opt.label,
|
|
10560
|
+
value: opt.value,
|
|
10561
|
+
disabled: opt.disabled,
|
|
10562
|
+
selected: selected.includes(opt.value),
|
|
10563
|
+
})),
|
|
10564
|
+
],
|
|
10565
|
+
};
|
|
10566
|
+
});
|
|
10567
|
+
return rows.length ? [rows] : [];
|
|
10568
|
+
}, ...(ngDevMode ? [{ debugName: "menuOptions" }] : /* istanbul ignore next */ []));
|
|
10569
|
+
selectorConfig = computed(() => ({
|
|
10570
|
+
component: ContextMenuBoxComponent,
|
|
10571
|
+
base: 'm-section-filter-group',
|
|
10572
|
+
width: '260px',
|
|
10573
|
+
bindings: [
|
|
10574
|
+
inputBinding('options', this.menuOptions),
|
|
10575
|
+
// Bound directly rather than through ContextMenuComponent, which closes
|
|
10576
|
+
// its selector on every action — right for a menu of commands, wrong for
|
|
10577
|
+
// one of checkboxes (ADR 0025).
|
|
10578
|
+
outputBinding('action', (item) => this.onMenuAction(item)),
|
|
10579
|
+
],
|
|
10580
|
+
}), ...(ngDevMode ? [{ debugName: "selectorConfig" }] : /* istanbul ignore next */ []));
|
|
10581
|
+
onMenuAction = (item) => {
|
|
10582
|
+
const separator = item.id.indexOf(':');
|
|
10583
|
+
if (separator < 0)
|
|
10584
|
+
return;
|
|
10585
|
+
const name = item.id.slice(0, separator);
|
|
10586
|
+
const member = this.members().find((m) => m.name() === name);
|
|
10587
|
+
if (!member)
|
|
10588
|
+
return;
|
|
10589
|
+
const option = member
|
|
10590
|
+
.options()
|
|
10591
|
+
.find((opt) => opt.value === item.id.slice(separator + 1));
|
|
10592
|
+
if (!option)
|
|
10593
|
+
return;
|
|
10594
|
+
this.toggle(name, option, member.multiple());
|
|
10595
|
+
};
|
|
10596
|
+
valueOf = (name) => this.value().find((entry) => entry.name === name)?.value ?? [];
|
|
10597
|
+
write = (name, next) => {
|
|
10598
|
+
const current = this.value();
|
|
10599
|
+
const index = current.findIndex((entry) => entry.name === name);
|
|
10600
|
+
const updated = index < 0
|
|
10601
|
+
? [...current, { name, value: next }]
|
|
10602
|
+
: current.map((entry, i) => (i === index ? { name, value: next } : entry));
|
|
10603
|
+
this.value.set(updated);
|
|
10604
|
+
this.filterChange.emit(updated);
|
|
10605
|
+
};
|
|
10606
|
+
toggle = (name, option, multiple) => {
|
|
10607
|
+
if (option.disabled)
|
|
10608
|
+
return;
|
|
10609
|
+
const current = this.valueOf(name);
|
|
10610
|
+
if (multiple) {
|
|
10611
|
+
this.write(name, current.includes(option.value)
|
|
10612
|
+
? current.filter((v) => v !== option.value)
|
|
10613
|
+
: [...current, option.value]);
|
|
10614
|
+
return;
|
|
10615
|
+
}
|
|
10616
|
+
this.write(name, current.includes(option.value) ? [] : [option.value]);
|
|
10617
|
+
// Single-select has nothing more to say once it has said it. Multi-select
|
|
10618
|
+
// stays open, which is the reason this menu is not a ContextMenuComponent.
|
|
10619
|
+
if (!this.squeezed())
|
|
10620
|
+
return;
|
|
10621
|
+
this.selectorDir()?.close();
|
|
10622
|
+
};
|
|
10623
|
+
context = {
|
|
10624
|
+
squeeze: this.squeezed,
|
|
10625
|
+
register: (member) => this.members.update((list) => list.includes(member) ? list : [...list, member]),
|
|
10626
|
+
unregister: (member) => this.members.update((list) => list.filter((m) => m !== member)),
|
|
10627
|
+
valueOf: this.valueOf,
|
|
10628
|
+
toggle: this.toggle,
|
|
10629
|
+
remove: (name, val) => this.write(name, this.valueOf(name).filter((v) => v !== val)),
|
|
10630
|
+
};
|
|
10631
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SectionFilterGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10632
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SectionFilterGroupComponent, isStandalone: true, selector: "m-section-filter-group", inputs: { squeeze: { classPropertyName: "squeeze", publicName: "squeeze", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, paddingX: { classPropertyName: "paddingX", publicName: "paddingX", isSignal: true, isRequired: false, transformFunction: null }, paddingY: { classPropertyName: "paddingY", publicName: "paddingY", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", filterChange: "filterChange" }, host: { properties: { "class.is-squeezed": "squeezed()", "class.has-padding": "resolvedPadding()", "class.has-padding-x": "resolvedPaddingX()", "class.has-padding-y": "resolvedPaddingY()", "class.align-left": "resolvedAlign() === \"left\"", "class.align-center": "resolvedAlign() === \"center\"", "class.align-right": "resolvedAlign() === \"right\"", "class.no-border": "noBorder()", "class.is-design-mode": "isDesignMode", "style.--m-filter-group-max-width": "resolvedMaxWidth()" }, classAttribute: "m-section-filter-group" }, providers: [
|
|
10633
|
+
{
|
|
10634
|
+
provide: FILTER_GROUP_CONTEXT,
|
|
10635
|
+
useFactory: () => inject(SectionFilterGroupComponent).context,
|
|
10636
|
+
},
|
|
10637
|
+
], viewQueries: [{ propertyName: "selectorDir", first: true, predicate: SelectorDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
10638
|
+
@if (squeezed()) {
|
|
10639
|
+
<div
|
|
10640
|
+
class="section-filter-group__squeeze"
|
|
10641
|
+
[mSelector]="selectorConfig()"
|
|
10642
|
+
(opened)="isOpen.set(true)"
|
|
10643
|
+
(closed)="isOpen.set(false)"
|
|
10644
|
+
>
|
|
10645
|
+
<div
|
|
10646
|
+
class="section-filter-group__toggle"
|
|
10647
|
+
[class.is-active]="isOpen()"
|
|
10648
|
+
>
|
|
10649
|
+
<m-button [config]="toggleConfig()" />
|
|
10650
|
+
@if (activeCount(); as count) {
|
|
10651
|
+
<m-badge [config]="countBadgeConfig()">{{ count }}</m-badge>
|
|
10652
|
+
}
|
|
10653
|
+
</div>
|
|
10654
|
+
</div>
|
|
10655
|
+
}
|
|
10656
|
+
<div class="section-filter-group__row">
|
|
10657
|
+
<ng-content />
|
|
10658
|
+
</div>
|
|
10659
|
+
`, isInline: true, styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;box-sizing:border-box;border-bottom:1px solid var(--m-section-filter-border, var(--m-backdrop-border))}:host(.no-border){border-bottom:none}:host(.has-padding){padding:var(--m-filter-group-p, var(--section-px, 1rem))}:host(.has-padding-x){padding-inline:var(--m-filter-group-px, var(--section-px, 1rem))}:host(.has-padding-y){padding-block:var(--m-filter-group-py, var(--section-pt, 1rem))}:host(.align-left) .section-filter-group__row{justify-content:flex-start}:host(.align-center) .section-filter-group__row{justify-content:center}:host(.align-right) .section-filter-group__row{justify-content:flex-end}:host(.is-squeezed){display:inline-flex;width:auto;border-bottom:none}:host(.is-squeezed) .section-filter-group__row{display:none}:host(.is-design-mode) .section-filter-group__row{min-width:4em;min-height:4em}.section-filter-group__row{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;max-width:var(--m-filter-group-max-width, none)}.section-filter-group__row m-section-filter{flex:1;min-width:0}.section-filter-group__squeeze{display:inline-flex}.section-filter-group__toggle{position:relative;display:inline-flex;flex-shrink:0;--m-button-size: 1rem}.section-filter-group__toggle.is-active{--m-button-color: var(--m-mm)}.section-filter-group__toggle m-badge{pointer-events:none}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "component", type: BadgeComponent, selector: "m-badge", inputs: ["config"], outputs: ["configChange"] }, { kind: "directive", type: SelectorDirective, selector: "[mSelector]", inputs: ["mSelector", "disabled"], outputs: ["opened", "closed"], exportAs: ["mSelector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10660
|
+
}
|
|
10661
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SectionFilterGroupComponent, decorators: [{
|
|
10662
|
+
type: Component,
|
|
10663
|
+
args: [{ selector: 'm-section-filter-group', template: `
|
|
10664
|
+
@if (squeezed()) {
|
|
10665
|
+
<div
|
|
10666
|
+
class="section-filter-group__squeeze"
|
|
10667
|
+
[mSelector]="selectorConfig()"
|
|
10668
|
+
(opened)="isOpen.set(true)"
|
|
10669
|
+
(closed)="isOpen.set(false)"
|
|
10670
|
+
>
|
|
10671
|
+
<div
|
|
10672
|
+
class="section-filter-group__toggle"
|
|
10673
|
+
[class.is-active]="isOpen()"
|
|
10674
|
+
>
|
|
10675
|
+
<m-button [config]="toggleConfig()" />
|
|
10676
|
+
@if (activeCount(); as count) {
|
|
10677
|
+
<m-badge [config]="countBadgeConfig()">{{ count }}</m-badge>
|
|
10678
|
+
}
|
|
10679
|
+
</div>
|
|
10680
|
+
</div>
|
|
10681
|
+
}
|
|
10682
|
+
<div class="section-filter-group__row">
|
|
10683
|
+
<ng-content />
|
|
10684
|
+
</div>
|
|
10685
|
+
`, imports: [
|
|
10686
|
+
ButtonComponent,
|
|
10687
|
+
BadgeComponent,
|
|
10688
|
+
SelectorDirective,
|
|
10689
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
10690
|
+
class: 'm-section-filter-group',
|
|
10691
|
+
'[class.is-squeezed]': 'squeezed()',
|
|
10692
|
+
'[class.has-padding]': 'resolvedPadding()',
|
|
10693
|
+
'[class.has-padding-x]': 'resolvedPaddingX()',
|
|
10694
|
+
'[class.has-padding-y]': 'resolvedPaddingY()',
|
|
10695
|
+
'[class.align-left]': 'resolvedAlign() === "left"',
|
|
10696
|
+
'[class.align-center]': 'resolvedAlign() === "center"',
|
|
10697
|
+
'[class.align-right]': 'resolvedAlign() === "right"',
|
|
10698
|
+
'[class.no-border]': 'noBorder()',
|
|
10699
|
+
'[class.is-design-mode]': 'isDesignMode',
|
|
10700
|
+
'[style.--m-filter-group-max-width]': 'resolvedMaxWidth()',
|
|
10701
|
+
}, providers: [
|
|
10702
|
+
{
|
|
10703
|
+
provide: FILTER_GROUP_CONTEXT,
|
|
10704
|
+
useFactory: () => inject(SectionFilterGroupComponent).context,
|
|
10705
|
+
},
|
|
10706
|
+
], styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;box-sizing:border-box;border-bottom:1px solid var(--m-section-filter-border, var(--m-backdrop-border))}:host(.no-border){border-bottom:none}:host(.has-padding){padding:var(--m-filter-group-p, var(--section-px, 1rem))}:host(.has-padding-x){padding-inline:var(--m-filter-group-px, var(--section-px, 1rem))}:host(.has-padding-y){padding-block:var(--m-filter-group-py, var(--section-pt, 1rem))}:host(.align-left) .section-filter-group__row{justify-content:flex-start}:host(.align-center) .section-filter-group__row{justify-content:center}:host(.align-right) .section-filter-group__row{justify-content:flex-end}:host(.is-squeezed){display:inline-flex;width:auto;border-bottom:none}:host(.is-squeezed) .section-filter-group__row{display:none}:host(.is-design-mode) .section-filter-group__row{min-width:4em;min-height:4em}.section-filter-group__row{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;max-width:var(--m-filter-group-max-width, none)}.section-filter-group__row m-section-filter{flex:1;min-width:0}.section-filter-group__squeeze{display:inline-flex}.section-filter-group__toggle{position:relative;display:inline-flex;flex-shrink:0;--m-button-size: 1rem}.section-filter-group__toggle.is-active{--m-button-color: var(--m-mm)}.section-filter-group__toggle m-badge{pointer-events:none}\n"] }]
|
|
10707
|
+
}], propDecorators: { squeeze: [{ type: i0.Input, args: [{ isSignal: true, alias: "squeeze", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], paddingX: [{ type: i0.Input, args: [{ isSignal: true, alias: "paddingX", required: false }] }], paddingY: [{ type: i0.Input, args: [{ isSignal: true, alias: "paddingY", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], selectorDir: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SelectorDirective), { isSignal: true }] }] } });
|
|
10432
10708
|
|
|
10433
10709
|
const BREAKPOINTS$1 = [
|
|
10434
10710
|
'xs',
|
|
@@ -12275,6 +12551,7 @@ class SectionComponent extends ConfigComponent {
|
|
|
12275
12551
|
back = contentChild(SectionBackComponent, ...(ngDevMode ? [{ debugName: "back" }] : /* istanbul ignore next */ []));
|
|
12276
12552
|
search = contentChild(SectionSearchComponent, ...(ngDevMode ? [{ debugName: "search" }] : /* istanbul ignore next */ []));
|
|
12277
12553
|
filter = contentChild(SectionFilterComponent, ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
|
|
12554
|
+
filterGroup = contentChild(SectionFilterGroupComponent, ...(ngDevMode ? [{ debugName: "filterGroup" }] : /* istanbul ignore next */ []));
|
|
12278
12555
|
stepper = contentChild(SectionStepperComponent, ...(ngDevMode ? [{ debugName: "stepper" }] : /* istanbul ignore next */ []));
|
|
12279
12556
|
hero = contentChild(SectionHeroComponent, ...(ngDevMode ? [{ debugName: "hero" }] : /* istanbul ignore next */ []));
|
|
12280
12557
|
jumbotron = contentChild(JumbotronComponent, ...(ngDevMode ? [{ debugName: "jumbotron" }] : /* istanbul ignore next */ []));
|
|
@@ -12362,7 +12639,7 @@ class SectionComponent extends ConfigComponent {
|
|
|
12362
12639
|
};
|
|
12363
12640
|
},
|
|
12364
12641
|
},
|
|
12365
|
-
], queries: [{ propertyName: "header", first: true, predicate: SectionHeaderComponent, descendants: true, isSignal: true }, { propertyName: "badges", first: true, predicate: SectionBadgesComponent, descendants: true, isSignal: true }, { propertyName: "toggle", first: true, predicate: SectionToggleComponent, descendants: true, isSignal: true }, { propertyName: "action", first: true, predicate: ActionComponent, descendants: true, isSignal: true }, { propertyName: "back", first: true, predicate: SectionBackComponent, descendants: true, isSignal: true }, { propertyName: "search", first: true, predicate: SectionSearchComponent, descendants: true, isSignal: true }, { propertyName: "filter", first: true, predicate: SectionFilterComponent, descendants: true, isSignal: true }, { propertyName: "stepper", first: true, predicate: SectionStepperComponent, descendants: true, isSignal: true }, { propertyName: "hero", first: true, predicate: SectionHeroComponent, descendants: true, isSignal: true }, { propertyName: "jumbotron", first: true, predicate: JumbotronComponent, descendants: true, isSignal: true }, { propertyName: "carousel", first: true, predicate: CarouselComponent, descendants: true, isSignal: true }, { propertyName: "footer", first: true, predicate: SectionFooterComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
12642
|
+
], queries: [{ propertyName: "header", first: true, predicate: SectionHeaderComponent, descendants: true, isSignal: true }, { propertyName: "badges", first: true, predicate: SectionBadgesComponent, descendants: true, isSignal: true }, { propertyName: "toggle", first: true, predicate: SectionToggleComponent, descendants: true, isSignal: true }, { propertyName: "action", first: true, predicate: ActionComponent, descendants: true, isSignal: true }, { propertyName: "back", first: true, predicate: SectionBackComponent, descendants: true, isSignal: true }, { propertyName: "search", first: true, predicate: SectionSearchComponent, descendants: true, isSignal: true }, { propertyName: "filter", first: true, predicate: SectionFilterComponent, descendants: true, isSignal: true }, { propertyName: "filterGroup", first: true, predicate: SectionFilterGroupComponent, descendants: true, isSignal: true }, { propertyName: "stepper", first: true, predicate: SectionStepperComponent, descendants: true, isSignal: true }, { propertyName: "hero", first: true, predicate: SectionHeroComponent, descendants: true, isSignal: true }, { propertyName: "jumbotron", first: true, predicate: JumbotronComponent, descendants: true, isSignal: true }, { propertyName: "carousel", first: true, predicate: CarouselComponent, descendants: true, isSignal: true }, { propertyName: "footer", first: true, predicate: SectionFooterComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
12366
12643
|
@if (header()) {
|
|
12367
12644
|
<ng-content select="m-section-header" />
|
|
12368
12645
|
}
|
|
@@ -12401,6 +12678,9 @@ class SectionComponent extends ConfigComponent {
|
|
|
12401
12678
|
@if (filter()) {
|
|
12402
12679
|
<ng-content select="m-section-filter" />
|
|
12403
12680
|
}
|
|
12681
|
+
@if (filterGroup()) {
|
|
12682
|
+
<ng-content select="m-section-filter-group" />
|
|
12683
|
+
}
|
|
12404
12684
|
|
|
12405
12685
|
@if (carousel()) {
|
|
12406
12686
|
<ng-content select="m-carousel, m-one-carousel" />
|
|
@@ -12456,6 +12736,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
12456
12736
|
@if (filter()) {
|
|
12457
12737
|
<ng-content select="m-section-filter" />
|
|
12458
12738
|
}
|
|
12739
|
+
@if (filterGroup()) {
|
|
12740
|
+
<ng-content select="m-section-filter-group" />
|
|
12741
|
+
}
|
|
12459
12742
|
|
|
12460
12743
|
@if (carousel()) {
|
|
12461
12744
|
<ng-content select="m-carousel, m-one-carousel" />
|
|
@@ -12505,7 +12788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
12505
12788
|
},
|
|
12506
12789
|
},
|
|
12507
12790
|
], styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;min-height:5em;container-type:inline-size;container-name:mag-grid;--_section-px: 1rem;--_section-pt: 1.5rem;--_section-pb: 0rem;--_section-header-py: 1rem}:host(.has-max-height){height:var(--m-section-max-height);overflow:auto}:host(.is-with-border){border:var(--m-section-border, 1px solid var(--m-backdrop-border));box-sizing:border-box}:host(.is-sandwich-border){border-block:var(--m-section-border, 1px solid var(--m-backdrop-border));box-sizing:border-box}.m-section__collapsible{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);opacity:1}.m-section__collapsible.is-collapsed{grid-template-rows:0fr;opacity:0;pointer-events:none}.m-section__collapsible-content{min-height:0;overflow:hidden}.m-section__body{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:stretch;max-width:var(--m-section-max-width);margin-inline:auto}:host(.align-left) .m-section__body{margin-inline-start:0;margin-inline-end:auto}:host(.align-right) .m-section__body{margin-inline-start:auto;margin-inline-end:0;justify-content:flex-end}:host(.align-center) .m-section__body{margin-inline:auto;justify-content:center}:host(.is-full-height){height:100vh;min-height:100vh;overflow:auto}:host(.is-full-height) .m-section__body{flex:1;height:100%}\n"] }]
|
|
12508
|
-
}], ctorParameters: () => [], propDecorators: { header: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionHeaderComponent), { isSignal: true }] }], badges: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionBadgesComponent), { isSignal: true }] }], toggle: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionToggleComponent), { isSignal: true }] }], action: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ActionComponent), { isSignal: true }] }], back: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionBackComponent), { isSignal: true }] }], search: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionSearchComponent), { isSignal: true }] }], filter: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionFilterComponent), { isSignal: true }] }], stepper: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionStepperComponent), { isSignal: true }] }], hero: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionHeroComponent), { isSignal: true }] }], jumbotron: [{ type: i0.ContentChild, args: [i0.forwardRef(() => JumbotronComponent), { isSignal: true }] }], carousel: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CarouselComponent), { isSignal: true }] }], footer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionFooterComponent), { isSignal: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], heightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "heightMode", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], inView: [{ type: i0.Output, args: ["inView"] }] } });
|
|
12791
|
+
}], ctorParameters: () => [], propDecorators: { header: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionHeaderComponent), { isSignal: true }] }], badges: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionBadgesComponent), { isSignal: true }] }], toggle: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionToggleComponent), { isSignal: true }] }], action: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ActionComponent), { isSignal: true }] }], back: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionBackComponent), { isSignal: true }] }], search: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionSearchComponent), { isSignal: true }] }], filter: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionFilterComponent), { isSignal: true }] }], filterGroup: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionFilterGroupComponent), { isSignal: true }] }], stepper: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionStepperComponent), { isSignal: true }] }], hero: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionHeroComponent), { isSignal: true }] }], jumbotron: [{ type: i0.ContentChild, args: [i0.forwardRef(() => JumbotronComponent), { isSignal: true }] }], carousel: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CarouselComponent), { isSignal: true }] }], footer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SectionFooterComponent), { isSignal: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], heightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "heightMode", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], inView: [{ type: i0.Output, args: ["inView"] }] } });
|
|
12509
12792
|
|
|
12510
12793
|
class UserApiService {
|
|
12511
12794
|
http = inject(HttpService);
|
|
@@ -17933,7 +18216,7 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
17933
18216
|
break;
|
|
17934
18217
|
}
|
|
17935
18218
|
case InputType.TOGGLE: {
|
|
17936
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
18219
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-SgQklgxO.mjs');
|
|
17937
18220
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
17938
18221
|
break;
|
|
17939
18222
|
}
|
|
@@ -17945,12 +18228,12 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
17945
18228
|
break;
|
|
17946
18229
|
}
|
|
17947
18230
|
case InputType.PASSWORD: {
|
|
17948
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
18231
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-DT79TrP9.mjs');
|
|
17949
18232
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
17950
18233
|
break;
|
|
17951
18234
|
}
|
|
17952
18235
|
case InputType.OTP: {
|
|
17953
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
18236
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-fpC1c9gw.mjs');
|
|
17954
18237
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
17955
18238
|
break;
|
|
17956
18239
|
}
|
|
@@ -32296,5 +32579,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
32296
32579
|
* Generated bundle index. Do not edit.
|
|
32297
32580
|
*/
|
|
32298
32581
|
|
|
32299
|
-
export { DateInputComponent as $, ACCESS_DOMAINS as A, BaseInputComponent as B, COMPONENT_INPUT_REGISTRY as C, CardComponent as D, CardWrapperComponent as E, CarouselComponent as F, ChartComponent as G, CheckboxInputComponent as H, IS_DESIGN_MODE as I, ClearableInputComponent as J, ColComponent as K, LabelComponent as L, ColorPickerInputComponent as M, CommentItemComponent as N, CommentsApiService as O, CommentsComponent as P, CommentsStore as Q, ComponentInputComponent as R, ComponentStepperComponent as S, TranslatePipe as T, ConfigComponent as U, ConfirmComponent as V, ContextMenuComponent as W, CustomIconClass as X, CustomIconEditComponent as Y, DEFAULT_SIZE as Z, DashboardCardComponent as _, BaseTextInputComponent as a,
|
|
32300
|
-
//# sourceMappingURL=magmonium-one-magmonium-one-
|
|
32582
|
+
export { DateInputComponent as $, ACCESS_DOMAINS as A, BaseInputComponent as B, COMPONENT_INPUT_REGISTRY as C, CardComponent as D, CardWrapperComponent as E, CarouselComponent as F, ChartComponent as G, CheckboxInputComponent as H, IS_DESIGN_MODE as I, ClearableInputComponent as J, ColComponent as K, LabelComponent as L, ColorPickerInputComponent as M, CommentItemComponent as N, CommentsApiService as O, CommentsComponent as P, CommentsStore as Q, ComponentInputComponent as R, ComponentStepperComponent as S, TranslatePipe as T, ConfigComponent as U, ConfirmComponent as V, ContextMenuComponent as W, CustomIconClass as X, CustomIconEditComponent as Y, DEFAULT_SIZE as Z, DashboardCardComponent as _, BaseTextInputComponent as a, NAV_WIDGET_MAP as a$, DatePickerComponent as a0, DeviceService as a1, DomService as a2, Domain as a3, DotGridComponent as a4, DragListDirective as a5, DragListItemDirective as a6, DraggableDirective as a7, DropdownInputComponent as a8, FILTER_GROUP_CONTEXT as a9, LOGIN_COMPONENT as aA, LOGIN_STORE as aB, LanguageComponent as aC, LogoComponent as aD, MAG_SOCKET_EVENT as aE, MHeroColorDirective as aF, MHeroComponent as aG, MODAL_REF as aH, MODAL_STORE_REF as aI, MRefDirective as aJ, MStepComponent as aK, MURL_PARAM as aL, MURL_SEP as aM, ManifestEnrichmentService as aN, MenuComponent as aO, ModalDirective as aP, ModalRef as aQ, ModalStore as aR, MoneyPipe as aS, MultiRangeInputComponent as aT, MurlUrlSerializer as aU, NAV_DEFAULT_MURL as aV, NAV_ID_SEP as aW, NAV_MAIN_BUTTONS as aX, NAV_SEGMENT_RE as aY, NAV_STORE_REF as aZ, NAV_WC_COMPONENTS as a_, FLEX_VARIANTS as aa, FOLDER_PICK_LISTENER as ab, FORM_ASSET_FOLDER as ac, FileService as ad, FileUploadDirective as ae, FileUploadInputComponent as af, FlexComponent as ag, FlexItemComponent as ah, FormGroupComponent as ai, FrameComponent as aj, FreezeService as ak, GRID_BREAKPOINTS as al, GetNavService as am, HeaderComponent$1 as an, HighlightDirective as ao, HttpService as ap, ICON_SOURCE as aq, IS_SIDE_PANEL as ar, IconComponent as as, ImgComponent as at, InputType as au, InstrumentScoreComponent as av, InterceptorObservables as aw, JumbotronComponent as ax, KeyValueComponent as ay, LAYOUT_ASSET_FOLDER as az, TextOutputComponent as b, SectionFilterComponent as b$, NavComponent as b0, NavDetailsComponent as b1, NavHeaderComponent as b2, NavMenuComponent as b3, NavStore as b4, NavTrailComponent as b5, NothingComponent as b6, NotificationElementComponent as b7, NotificationGroupComponent as b8, NotificationPopupComponent as b9, RatingInputComponent as bA, ReactiveElementComponent as bB, RemoteComponent as bC, RemoteLoaderService as bD, ResizeElementComponent as bE, RouteContainer as bF, RowComponent as bG, SEARCH_QUERY as bH, SEARCH_RESULTS_EVENT as bI, SECTION_ACCORDION_GROUP as bJ, SECTION_FORM_CONTEXT as bK, SHARED_ICONS as bL, SIZE_CONTEXT as bM, ScoreComponent as bN, ScrollComponent as bO, ScrollService as bP, SearchPanelComponent as bQ, SearchStore as bR, SearchUserPanelComponent as bS, SectionAccordionDirective as bT, SectionAccordionGroupDirective as bU, SectionBackComponent as bV, SectionBadgesComponent as bW, SectionButtonGroupComponent as bX, SectionCardComponent as bY, SectionCarouselComponent as bZ, SectionComponent as b_, NotificationService as ba, NotificationStore as bb, NotificationType as bc, NotificationWidgetComponent as bd, ONE_ASSET_BASE_URL as be, OPTIONS_SOURCE as bf, OVERLAY_WIDGETS as bg, OneApp as bh, OptionsSourceDirective as bi, OverlayBodyComponent as bj, OverlayRef as bk, OverlayService as bl, PLATFORM_BUTTON_NAV_IDS as bm, PLATFORM_EXTENSIBLE_NAV_IDS as bn, PLATFORM_NAV_MAP as bo, PLATFORM_ROOT_CHILDREN as bp, PaginationComponent as bq, PanelComponent as br, PercentagePipe as bs, PlaygroundComponent as bt, PositionDirective as bu, PwaInstallComponent as bv, ROOT_NAV$1 as bw, RadioGroupComponent as bx, RadioInputComponent as by, RangeInputComponent as bz, ButtonComponent as c, WC_SEARCH_GROUPS as c$, SectionFilterGroupComponent as c0, SectionFooterComponent as c1, SectionFormComponent as c2, SectionFormItemComponent as c3, SectionHeaderComponent as c4, SectionHeroComponent as c5, SectionSearchComponent as c6, SectionStepperComponent as c7, SectionTabsComponent as c8, SectionToggleComponent as c9, TextInputComponent as cA, TextareaInputComponent as cB, ThemeComponent as cC, ThemeDataService as cD, ThemeService as cE, ThemeStore as cF, TimeAgoPipe as cG, TimelineComponent as cH, ToggleButtonComponent as cI, ToggleInputComponent as cJ, ToggleRadioInputComponent as cK, ToolTipDirective as cL, TooltipComponent as cM, TranslateService as cN, TreeGridComponent as cO, URL_SEP as cP, USER_STORE_REF as cQ, USER_TAB_MAP as cR, UlComponent as cS, UniverseComponent as cT, UserApiService as cU, UserAvatarComponent as cV, UserComponent as cW, UserNavComponent as cX, UserSettingsComponent as cY, UserStore as cZ, WC_ROUTE_CHANGED_EVENT as c_, SectionToggleItemDirective as ca, SelectableCardInputComponent as cb, SelectorDirective as cc, SettingsSearchBarComponent as cd, SettingsSearchService as ce, ShapeComponent as cf, SharedStoreRegistry as cg, SidePanelDirective as ch, Size as ci, SocketStore as cj, SortComponent as ck, StatComponent as cl, StepComponent as cm, StepperComponent as cn, StepsComponent as co, StorageService as cp, StrokeLinecap as cq, StrokeLinejoin as cr, SummaryComponent as cs, SvgGeneratorComponent as ct, SvgGeneratorService as cu, SvgService as cv, TOTAL_COLUMNS as cw, TRANSLATION_SOURCE as cx, TableComponent as cy, TechnicalMeterComponent as cz, APP_CONTEXT_REF as d, isValidNavSegment as d$, WIN_USER_TAB_HOOK as d0, WIN_USER_TAB_KEY as d1, WatermarkComponent as d2, WcRouterStore as d3, WrapperInputComponent as d4, anchorNavId as d5, applyColorsToElement as d6, bootstrapMagApp as d7, bootstrapPwaInstall as d8, buildWcBaseUrl as d9, getScrollParent as dA, getTierFromPreviewPath as dB, getTreeGridRow as dC, getUniqueId as dD, getValue as dE, hasErrorComputed as dF, hexToRgb as dG, hslToRgb$1 as dH, initMagmoniumApp as dI, initialNotificationState as dJ, initialState$2 as dK, initials as dL, injectAuthenticate as dM, injectInstallApp as dN, injectParentSize as dO, injectScrollSticky as dP, isButtonName as dQ, isCancelledComputed as dR, isExtensiblePlatformNavId as dS, isJson as dT, isLoadingComputed as dU, isLocalhost as dV, isPlatformNavId as dW, isSize as dX, isTierPreview as dY, isUrlLocalhost as dZ, isValidNavId as d_, calculateLuminance as da, calculateRanks as db, cellText as dc, checkFilterCondition as dd, childNavId as de, classListSignal as df, coerceSize as dg, cornerEdge as dh, cornerSide as di, createMap as dj, createPlatformNavMap as dk, deriveAvatarGradient as dl, deriveContrastColor as dm, deriveOppositeColor as dn, derivePropertyName as dp, emailValidation as dq, evaluate as dr, evaluateBool as ds, flattenTreeGridRows as dt, formatBadgeCount as du, fullName as dv, generateClipPath as dw, generateTransform as dx, getClassList as dy, getProperty as dz, ASSET_BASE_URL as e, stringToColor as e$, isWebComponent as e0, linkToId as e1, linkToNav as e2, loadingActions as e3, mInterceptor as e4, manualValidation as e5, matchFieldValidation as e6, maxLengthValidation as e7, maxValidation as e8, mergePlatformNav as e9, provideModalComponents as eA, provideMurlUrlSerializer as eB, provideNavWidgets as eC, provideOverlayWidgets as eD, providePlatformNavWidgets as eE, provideSearch as eF, provideSizeContext as eG, provideUserTabs as eH, publicGuard as eI, readFieldPatterns as eJ, renderAddress as eK, requiredValidation as eL, resolveConfigAsset as eM, resolveIconSize as eN, resolvePallet as eO, resolvePatternRules as eP, resolveSize as eQ, rgbToHex as eR, rgbToHsl as eS, rowHasChildren as eT, samePatterns as eU, segmentsToNavId as eV, setProperty as eW, setTreeGridChildren as eX, settingsWidgets as eY, shouldShowBadge as eZ, splitNavId as e_, mergeUnique as ea, mergeUniqueBy as eb, mergeUniqueWith as ec, minAgeValidation as ed, minLengthValidation as ee, minValidation as ef, miniMarkToHtml as eg, navIdChain as eh, navIdFor as ei, navIdSegment as ej, navIdToRoutePath as ek, navIdToSegments as el, navToId as em, parentNavId as en, parseAddress as eo, parseColor as ep, parsePatternNames as eq, patternValidation as er, patternsValidation as es, platformNavWidgets as et, privateGuard as eu, processImageToSvg as ev, provideAppContext as ew, provideMagAppConfig as ex, provideMagWcConfig as ey, provideMagWcRoutes as ez, AccordionBodyDirective as f, toAttrBool as f0, toAttrNumber as f1, toCssLength as f2, toHostNavId as f3, toLength$1 as f4, toLocalNavId as f5, toggleTreeGridRow as f6, unfetchedPlatformNav as f7, urlValidation as f8, AccordionComponent as g, AccordionGroupComponent as h, ActionComponent as i, AnimatedGraphsComponent as j, AppCardComponent as k, AppRelationType as l, AppTileComponent as m, AssetStore as n, AssetUrlPipe as o, Assets as p, AuthActivityPageComponent as q, AuthApiService as r, AuthStore as s, AutosizeDirective as t, BadgeComponent as u, BandingComponent as v, BaseArrayInputComponent as w, BaseRootWebComponent as x, BaseWebComponent as y, ButtonGroupComponent as z };
|
|
32583
|
+
//# sourceMappingURL=magmonium-one-magmonium-one-D17PHUaP.mjs.map
|