@natec/mef-dev-ui-kit 20.1.4 → 20.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/natec-mef-dev-ui-kit.mjs +117 -8
- package/fesm2022/natec-mef-dev-ui-kit.mjs.map +1 -1
- package/index.d.ts +84 -2
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -14265,31 +14265,140 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
14265
14265
|
}]
|
|
14266
14266
|
}] });
|
|
14267
14267
|
|
|
14268
|
+
/**
|
|
14269
|
+
* Individual header card component for use within md-header-card-set.
|
|
14270
|
+
*
|
|
14271
|
+
* @remarks
|
|
14272
|
+
* Simple container component that accepts any content via ng-content projection.
|
|
14273
|
+
* Styled with border, background, and padding. Use within md-header-card-set
|
|
14274
|
+
* for responsive grid layout.
|
|
14275
|
+
*
|
|
14276
|
+
* @example
|
|
14277
|
+
* ```html
|
|
14278
|
+
* <md-header-card>
|
|
14279
|
+
* <div class="title">Card Title</div>
|
|
14280
|
+
* <div class="content">Card content here</div>
|
|
14281
|
+
* </md-header-card>
|
|
14282
|
+
* ```
|
|
14283
|
+
*/
|
|
14268
14284
|
class MDHeaderCardComponent {
|
|
14269
14285
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDHeaderCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14270
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MDHeaderCardComponent, isStandalone: true, selector: "md-header-card", ngImport: i0, template: "<div class=\"md-header-card\">\n <ng-content></ng-content>\n</div>\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.md-header-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:1px;background-color:#eaeaea;border-color:#f3f3f3;border-radius:5px;padding:16px;height:100%;font-family:Montserrat}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
14286
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MDHeaderCardComponent, isStandalone: true, selector: "md-header-card", ngImport: i0, template: "<div class=\"md-header-card\">\n <ng-content></ng-content>\n</div>\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.md-header-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:1px;background-color:#eaeaea;border-color:#f3f3f3;border-radius:5px;padding:16px;height:100%;font-family:Montserrat}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
14271
14287
|
}
|
|
14272
14288
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDHeaderCardComponent, decorators: [{
|
|
14273
14289
|
type: Component,
|
|
14274
|
-
args: [{ selector: 'md-header-card', standalone: true, imports: [CommonModule], template: "<div class=\"md-header-card\">\n <ng-content></ng-content>\n</div>\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.md-header-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:1px;background-color:#eaeaea;border-color:#f3f3f3;border-radius:5px;padding:16px;height:100%;font-family:Montserrat}\n"] }]
|
|
14290
|
+
args: [{ selector: 'md-header-card', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"md-header-card\">\n <ng-content></ng-content>\n</div>\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.md-header-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:1px;background-color:#eaeaea;border-color:#f3f3f3;border-radius:5px;padding:16px;height:100%;font-family:Montserrat}\n"] }]
|
|
14275
14291
|
}] });
|
|
14276
14292
|
|
|
14293
|
+
/**
|
|
14294
|
+
* Container for multiple header cards with responsive CSS Grid layout.
|
|
14295
|
+
*
|
|
14296
|
+
* @remarks
|
|
14297
|
+
* Uses CSS Grid with auto-fit to automatically determine optimal column count.
|
|
14298
|
+
* Cards flex between minCardWidth and maxCardWidth to minimize empty space.
|
|
14299
|
+
* Card count is automatically tracked via ContentChildren.
|
|
14300
|
+
*
|
|
14301
|
+
* Layout behavior:
|
|
14302
|
+
* - Mobile (<768px): horizontal scroll, single row
|
|
14303
|
+
* - Tablet+ (≥768px): CSS Grid with auto-fit, cards sized between min/max
|
|
14304
|
+
*
|
|
14305
|
+
* Features:
|
|
14306
|
+
* - Automatic card count tracking (--md-header-card-count CSS variable)
|
|
14307
|
+
* - Automatic column count based on available space
|
|
14308
|
+
* - Configurable min/max card widths
|
|
14309
|
+
* - Full-width layout with responsive padding
|
|
14310
|
+
*
|
|
14311
|
+
* @example
|
|
14312
|
+
* ```html
|
|
14313
|
+
* <md-header-card-set [gap]="8" [minCardWidth]="300" [maxCardWidth]="600">
|
|
14314
|
+
* <md-header-card>
|
|
14315
|
+
* <div class="service-name">Service Title</div>
|
|
14316
|
+
* </md-header-card>
|
|
14317
|
+
* <md-header-card>
|
|
14318
|
+
* <div class="data-item">Type: <span>Canvas</span></div>
|
|
14319
|
+
* </md-header-card>
|
|
14320
|
+
* </md-header-card-set>
|
|
14321
|
+
* ```
|
|
14322
|
+
*/
|
|
14277
14323
|
class MDHeaderCardSetComponent {
|
|
14278
|
-
|
|
14279
|
-
|
|
14280
|
-
|
|
14324
|
+
cards;
|
|
14325
|
+
_cdr = inject(ChangeDetectorRef);
|
|
14326
|
+
_cardCount = 0;
|
|
14327
|
+
/**
|
|
14328
|
+
* Gap between cards in pixels.
|
|
14329
|
+
* @default 8
|
|
14330
|
+
*/
|
|
14331
|
+
gap = 8;
|
|
14332
|
+
/**
|
|
14333
|
+
* Horizontal padding for the container in pixels.
|
|
14334
|
+
* Responsive: 16px mobile, 24px tablet, 32px desktop.
|
|
14335
|
+
* @default 'responsive'
|
|
14336
|
+
*/
|
|
14337
|
+
padding = 'responsive';
|
|
14338
|
+
/**
|
|
14339
|
+
* Minimum card width in pixels.
|
|
14340
|
+
* Cards won't shrink below this value.
|
|
14341
|
+
* @default 300
|
|
14342
|
+
*/
|
|
14343
|
+
minCardWidth = 300;
|
|
14344
|
+
/**
|
|
14345
|
+
* Maximum card width in pixels.
|
|
14346
|
+
* Cards won't grow beyond this value.
|
|
14347
|
+
* @default 570
|
|
14348
|
+
*/
|
|
14349
|
+
maxCardWidth = 570;
|
|
14350
|
+
/**
|
|
14351
|
+
* Disable wrapping (force single row with horizontal scroll).
|
|
14352
|
+
* Useful for mobile or specific layouts.
|
|
14353
|
+
* @default false
|
|
14354
|
+
*/
|
|
14355
|
+
noWrap = false;
|
|
14356
|
+
ngAfterContentInit() {
|
|
14357
|
+
this._cardCount = this.cards.length;
|
|
14358
|
+
this.cards.changes.subscribe(() => {
|
|
14359
|
+
this._cardCount = this.cards.length;
|
|
14360
|
+
this._cdr.markForCheck();
|
|
14361
|
+
});
|
|
14362
|
+
}
|
|
14363
|
+
/**
|
|
14364
|
+
* Get CSS custom properties for the container.
|
|
14365
|
+
* @internal
|
|
14366
|
+
*/
|
|
14367
|
+
get _containerStyles() {
|
|
14368
|
+
const styles = {
|
|
14369
|
+
'--md-header-card-set-gap': `${this.gap}px`,
|
|
14370
|
+
'--md-header-card-min-width': `${this.minCardWidth}px`,
|
|
14371
|
+
'--md-header-card-max-width': `${this.maxCardWidth}px`,
|
|
14372
|
+
'--md-header-card-count': `${this._cardCount}`
|
|
14373
|
+
};
|
|
14374
|
+
if (typeof this.padding === 'number') {
|
|
14375
|
+
styles['--md-header-card-set-padding'] = `${this.padding}px`;
|
|
14376
|
+
}
|
|
14377
|
+
return styles;
|
|
14378
|
+
}
|
|
14281
14379
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDHeaderCardSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14282
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
14380
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.6", type: MDHeaderCardSetComponent, isStandalone: true, selector: "md-header-card-set", inputs: { gap: "gap", padding: "padding", minCardWidth: "minCardWidth", maxCardWidth: "maxCardWidth", noWrap: ["noWrap", "noWrap", booleanAttribute] }, host: { properties: { "class.md-header-card-set-nowrap": "noWrap" }, classAttribute: "md-header-card-set" }, queries: [{ propertyName: "cards", predicate: MDHeaderCardComponent }], exportAs: ["mdHeaderCardSet"], ngImport: i0, template: "<div class=\"md-header-card-set-container\" [ngStyle]=\"_containerStyles\">\n <div class=\"md-header-card-set-wrapper\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".md-header-card-set{display:block;width:100%;position:relative;box-sizing:border-box}.md-header-card-set-container{position:relative;width:100%;box-sizing:border-box}.md-header-card-set-wrapper{--_card-min: var(--md-header-card-min-width, 300px);--_card-max: var(--md-header-card-max-width, 570px);--_gap: var(--md-header-card-set-gap, 16px);display:grid;min-width:0;max-width:calc(var(--md-header-card-count, 1) * var(--md-header-card-max-width, 570px));box-sizing:border-box}@media (max-width: 767px){.md-header-card-set-wrapper{display:flex;gap:var(--_gap);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.md-header-card-set-wrapper::-webkit-scrollbar{height:6px}.md-header-card-set-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.md-header-card-set-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.md-header-card-set-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.md-header-card-set-wrapper md-header-card{flex:0 0 auto;scroll-snap-align:start;min-width:240px;max-width:280px}}@media (min-width: 768px){.md-header-card-set-wrapper{display:grid;gap:var(--_gap);grid-template-columns:repeat(auto-fit,minmax(var(--_card-min),1fr))}.md-header-card-set-wrapper md-header-card{max-width:var(--_card-max);justify-self:stretch}}.md-header-card-set-nowrap .md-header-card-set-wrapper{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;grid-template-columns:unset}.md-header-card-set-nowrap .md-header-card-set-wrapper md-header-card{flex:0 0 auto;scroll-snap-align:start;min-width:var(--_card-min);max-width:var(--_card-max)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
14283
14381
|
}
|
|
14284
14382
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDHeaderCardSetComponent, decorators: [{
|
|
14285
14383
|
type: Component,
|
|
14286
|
-
args: [{ selector: 'md-header-card-set',
|
|
14287
|
-
|
|
14384
|
+
args: [{ selector: 'md-header-card-set', host: {
|
|
14385
|
+
class: 'md-header-card-set',
|
|
14386
|
+
'[class.md-header-card-set-nowrap]': 'noWrap',
|
|
14387
|
+
}, exportAs: 'mdHeaderCardSet', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], standalone: true, template: "<div class=\"md-header-card-set-container\" [ngStyle]=\"_containerStyles\">\n <div class=\"md-header-card-set-wrapper\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".md-header-card-set{display:block;width:100%;position:relative;box-sizing:border-box}.md-header-card-set-container{position:relative;width:100%;box-sizing:border-box}.md-header-card-set-wrapper{--_card-min: var(--md-header-card-min-width, 300px);--_card-max: var(--md-header-card-max-width, 570px);--_gap: var(--md-header-card-set-gap, 16px);display:grid;min-width:0;max-width:calc(var(--md-header-card-count, 1) * var(--md-header-card-max-width, 570px));box-sizing:border-box}@media (max-width: 767px){.md-header-card-set-wrapper{display:flex;gap:var(--_gap);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.md-header-card-set-wrapper::-webkit-scrollbar{height:6px}.md-header-card-set-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.md-header-card-set-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.md-header-card-set-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.md-header-card-set-wrapper md-header-card{flex:0 0 auto;scroll-snap-align:start;min-width:240px;max-width:280px}}@media (min-width: 768px){.md-header-card-set-wrapper{display:grid;gap:var(--_gap);grid-template-columns:repeat(auto-fit,minmax(var(--_card-min),1fr))}.md-header-card-set-wrapper md-header-card{max-width:var(--_card-max);justify-self:stretch}}.md-header-card-set-nowrap .md-header-card-set-wrapper{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;grid-template-columns:unset}.md-header-card-set-nowrap .md-header-card-set-wrapper md-header-card{flex:0 0 auto;scroll-snap-align:start;min-width:var(--_card-min);max-width:var(--_card-max)}\n"] }]
|
|
14388
|
+
}], propDecorators: { cards: [{
|
|
14389
|
+
type: ContentChildren,
|
|
14390
|
+
args: [MDHeaderCardComponent]
|
|
14391
|
+
}], gap: [{
|
|
14392
|
+
type: Input
|
|
14393
|
+
}], padding: [{
|
|
14288
14394
|
type: Input
|
|
14289
14395
|
}], minCardWidth: [{
|
|
14290
14396
|
type: Input
|
|
14291
14397
|
}], maxCardWidth: [{
|
|
14292
14398
|
type: Input
|
|
14399
|
+
}], noWrap: [{
|
|
14400
|
+
type: Input,
|
|
14401
|
+
args: [{ transform: booleanAttribute }]
|
|
14293
14402
|
}] } });
|
|
14294
14403
|
|
|
14295
14404
|
class MDHeaderCardModule {
|