@foblex/m-render 2.5.4 → 2.5.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.
Files changed (50) hide show
  1. package/assets/styles/_icons.scss +6 -3
  2. package/assets/styles/_variables.scss +15 -0
  3. package/assets/styles/styles.scss +6 -0
  4. package/esm2022/lib/common-components/f-radio-button/f-radio-button.component.mjs +41 -0
  5. package/esm2022/lib/common-components/index.mjs +2 -1
  6. package/esm2022/lib/domain/i-environment-service.mjs +2 -3
  7. package/esm2022/lib/f-documentation/f-documentation.component.mjs +6 -6
  8. package/esm2022/lib/f-documentation/f-navigation-panel/domain/i-navigation-item.mjs +1 -1
  9. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.handler.mjs +6 -3
  10. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/parse-preview-group.mjs +6 -2
  11. package/esm2022/lib/f-documentation/f-preview/f-preview-base.mjs +3 -0
  12. package/esm2022/lib/f-documentation/f-preview/f-preview.component.mjs +50 -38
  13. package/esm2022/lib/f-documentation/f-preview-group/f-preview-group.service.mjs +73 -0
  14. package/esm2022/lib/f-documentation/f-preview-group-filters/f-preview-group-filters.component.mjs +53 -0
  15. package/esm2022/lib/f-documentation/index.mjs +4 -1
  16. package/esm2022/lib/f-home-page/domain/i-home-page-environment.mjs +1 -1
  17. package/esm2022/lib/f-home-page/domain/i-home-page-hero.mjs +1 -1
  18. package/esm2022/lib/f-home-page/domain/i-home-page-link.mjs +1 -1
  19. package/esm2022/lib/f-home-page/domain/i-home-page-membership.mjs +2 -0
  20. package/esm2022/lib/f-home-page/domain/index.mjs +2 -1
  21. package/esm2022/lib/f-home-page/f-home-page-environment.service.mjs +16 -24
  22. package/esm2022/lib/f-home-page/f-home-page-features/f-home-page-features.component.mjs +5 -3
  23. package/esm2022/lib/f-home-page/f-home-page-header/f-home-page-header.component.mjs +3 -3
  24. package/esm2022/lib/f-home-page/f-home-page-hero/f-home-page-buttons-row/f-home-page-buttons-row.component.mjs +5 -3
  25. package/esm2022/lib/f-home-page/f-home-page-memberships/f-home-page-memberships.component.mjs +15 -0
  26. package/esm2022/lib/f-home-page/f-home-page.component.mjs +9 -13
  27. package/esm2022/lib/f-home-page/index.mjs +2 -1
  28. package/esm2022/lib/index.mjs +1 -1
  29. package/fesm2022/foblex-m-render.mjs +266 -84
  30. package/fesm2022/foblex-m-render.mjs.map +1 -1
  31. package/lib/common-components/f-radio-button/f-radio-button.component.d.ts +16 -0
  32. package/lib/common-components/index.d.ts +1 -0
  33. package/lib/domain/i-environment-service.d.ts +0 -2
  34. package/lib/f-documentation/f-navigation-panel/domain/i-navigation-item.d.ts +1 -0
  35. package/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/parse-preview-group.d.ts +1 -0
  36. package/lib/f-documentation/f-preview/f-preview-base.d.ts +5 -0
  37. package/lib/f-documentation/f-preview/f-preview.component.d.ts +20 -17
  38. package/lib/f-documentation/f-preview-group/f-preview-group.service.d.ts +17 -0
  39. package/lib/f-documentation/f-preview-group-filters/f-preview-group-filters.component.d.ts +17 -0
  40. package/lib/f-documentation/index.d.ts +3 -0
  41. package/lib/f-home-page/domain/i-home-page-environment.d.ts +4 -2
  42. package/lib/f-home-page/domain/i-home-page-hero.d.ts +4 -4
  43. package/lib/f-home-page/domain/i-home-page-link.d.ts +1 -0
  44. package/lib/f-home-page/domain/i-home-page-membership.d.ts +9 -0
  45. package/lib/f-home-page/domain/index.d.ts +1 -0
  46. package/lib/f-home-page/f-home-page-environment.service.d.ts +4 -6
  47. package/lib/f-home-page/f-home-page-memberships/f-home-page-memberships.component.d.ts +6 -0
  48. package/lib/f-home-page/f-home-page.component.d.ts +2 -4
  49. package/lib/f-home-page/index.d.ts +1 -0
  50. package/package.json +1 -1
@@ -0,0 +1,16 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FRadioButtonComponent {
4
+ id: import("@angular/core").InputSignal<string>;
5
+ change: import("@angular/core").OutputEmitterRef<boolean>;
6
+ checked: import("@angular/core").InputSignal<boolean>;
7
+ protected labelElement: import("@angular/core").Signal<ElementRef<any> | undefined>;
8
+ onInputClick(): void;
9
+ onTouchTargetClick(): void;
10
+ private _handleInputClick;
11
+ private _emitChangeEvent;
12
+ protected onInteractionEvent(event: Event): void;
13
+ protected preventBubblingFromLabel(event: MouseEvent): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<FRadioButtonComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<FRadioButtonComponent, "f-radio-button", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*"], true, never>;
16
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './f-checkbox/f-checkbox.component';
2
2
  export * from './f-cookie-popup/f-cookie-popup.component';
3
+ export * from './f-radio-button/f-radio-button.component';
3
4
  export * from './f-theme-button/f-theme-button.component';
@@ -1,5 +1,3 @@
1
- import { InjectionToken } from '@angular/core';
2
- export declare const INTERNAL_ENVIRONMENT_SERVICE: InjectionToken<IEnvironmentService>;
3
1
  export interface IEnvironmentService {
4
2
  getLogo(): string;
5
3
  getTitle(): string;
@@ -10,4 +10,5 @@ export interface INavigationItem {
10
10
  image_height?: number;
11
11
  image_type?: string;
12
12
  badge?: INavigationItemBadge;
13
+ date?: Date;
13
14
  }
@@ -12,6 +12,7 @@ export declare class ParsePreviewGroup {
12
12
  private parseData;
13
13
  private extractFileData;
14
14
  private getGroupsHTML;
15
+ private _getGroupFiltersHTML;
15
16
  private getItemsHTML;
16
17
  }
17
18
  export {};
@@ -0,0 +1,5 @@
1
+ export declare abstract class FPreviewBase {
2
+ abstract date?: Date;
3
+ abstract filterKey?: string;
4
+ abstract hostElement: HTMLElement;
5
+ }
@@ -1,28 +1,31 @@
1
- import { ChangeDetectorRef, OnDestroy } from '@angular/core';
2
- import { FStateService } from '../../domain/f-state.service';
3
- import { Router } from '@angular/router';
1
+ import { OnDestroy, OnInit } from '@angular/core';
4
2
  import { INavigationItem } from '../f-navigation-panel';
5
- import { FDocumentationEnvironmentService } from '../f-documentation-environment.service';
3
+ import { FPreviewBase } from './f-preview-base';
6
4
  import * as i0 from "@angular/core";
7
- export declare class FPreviewComponent implements OnDestroy {
8
- private fEnvironment;
9
- private fState;
10
- private router;
11
- private changeDetectorRef;
12
- private subscriptions$;
5
+ export declare class FPreviewComponent extends FPreviewBase implements OnInit, OnDestroy {
6
+ private _elementReference;
7
+ private _fEnvironment;
8
+ private _fPreviewGroupService;
9
+ private _fState;
10
+ private _router;
11
+ private _destroyRef;
13
12
  item: string | undefined;
14
13
  group: string | undefined;
15
14
  protected viewModel: INavigationItem | undefined;
16
- protected src: string | undefined;
15
+ protected src: import("@angular/core").WritableSignal<string | undefined>;
17
16
  protected url: string | undefined;
18
- constructor(fEnvironment: FDocumentationEnvironmentService, fState: FStateService, router: Router, changeDetectorRef: ChangeDetectorRef);
17
+ get hostElement(): HTMLElement;
18
+ get filterKey(): string | undefined;
19
+ get date(): Date | undefined;
19
20
  initialize(): void;
20
- private getNavigationGroup;
21
- private getNavigationItem;
21
+ private _subscribeToThemeChanges;
22
+ ngOnInit(): void;
23
+ private _getNavigationGroup;
24
+ private _getNavigationItem;
22
25
  private updateTheme;
23
- private normalizeLink;
24
- private getUrlPrefix;
25
- private isExternalLink;
26
+ private _normalizeLink;
27
+ private _getUrlPrefix;
28
+ private _isExternalLink;
26
29
  ngOnDestroy(): void;
27
30
  static ɵfac: i0.ɵɵFactoryDeclaration<FPreviewComponent, never>;
28
31
  static ɵcmp: i0.ɵɵComponentDeclaration<FPreviewComponent, "a[f-preview]", never, {}, {}, never, never, true, never>;
@@ -0,0 +1,17 @@
1
+ import { FPreviewBase } from '../f-preview/f-preview-base';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FPreviewGroupService {
4
+ private _fPreviews;
5
+ private _originalOrder;
6
+ add(fPreview: FPreviewBase): void;
7
+ remove(fPreview: FPreviewBase): void;
8
+ sortByDate(sort: boolean): void;
9
+ private _setOriginalOrder;
10
+ private _getOrderByDate;
11
+ private _applyByDateOrder;
12
+ private _applyOriginalOrder;
13
+ filterBy(filterKey: string, _allKey: string): void;
14
+ private _resetLastActiveFilter;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<FPreviewGroupService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<FPreviewGroupService>;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { AfterViewInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FPreviewGroupFiltersComponent implements AfterViewInit {
4
+ private readonly _allKey;
5
+ private _fEnvironment;
6
+ private _fPreviewGroupService;
7
+ protected filters: import("@angular/core").WritableSignal<string[]>;
8
+ protected activeFilter: import("@angular/core").WritableSignal<string>;
9
+ protected isSortByDateChecked: import("@angular/core").WritableSignal<boolean>;
10
+ initialize(): void;
11
+ ngAfterViewInit(): void;
12
+ private _calculateFiltersMap;
13
+ protected onFilterChange(key: string): void;
14
+ protected onSortByDateChange(event: boolean): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<FPreviewGroupFiltersComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<FPreviewGroupFiltersComponent, "div[f-preview-group-filters]", never, {}, {}, never, never, true, never>;
17
+ }
@@ -9,6 +9,9 @@ export * from './f-scrollable-container';
9
9
  export * from './f-social-links/f-social-links.component';
10
10
  export * from './f-version/f-version.component';
11
11
  export * from './f-preview/f-preview.component';
12
+ export * from './f-preview/f-preview-base';
13
+ export * from './f-preview-group/f-preview-group.service';
14
+ export * from './f-preview-group-filters/f-preview-group-filters.component';
12
15
  export * from './f-documentation.component';
13
16
  export * from './f-documentation-environment.service';
14
17
  export * from './i-documentation-component';
@@ -4,6 +4,7 @@ import { IHomePageLink } from './i-home-page-link';
4
4
  import { IHomePageFeature } from './i-home-page-feature';
5
5
  import { IHomePageFooter } from './i-home-page-footer';
6
6
  import { Type } from '@angular/core';
7
+ import { IHomePageMembership } from './i-home-page-membership';
7
8
  export interface IHomePageEnvironment {
8
9
  logo: string;
9
10
  title: string;
@@ -12,7 +13,8 @@ export interface IHomePageEnvironment {
12
13
  backgroundComponent?: Type<any>;
13
14
  hero: IHomePageHero;
14
15
  heroImageComponent?: Type<any>;
15
- buttons: IHomePageLink[];
16
- features: IHomePageFeature[];
16
+ buttons?: IHomePageLink[];
17
+ features?: IHomePageFeature[];
18
+ memberships?: IHomePageMembership[];
17
19
  footer: IHomePageFooter;
18
20
  }
@@ -1,6 +1,6 @@
1
1
  export interface IHomePageHero {
2
- headline: string;
3
- tagline1: string;
4
- tagline2: string;
5
- subDescription: string;
2
+ headline?: string;
3
+ tagline1?: string;
4
+ tagline2?: string;
5
+ subDescription?: string;
6
6
  }
@@ -3,4 +3,5 @@ export interface IHomePageLink {
3
3
  routerLink?: string;
4
4
  href?: string;
5
5
  text: string;
6
+ icon?: string;
6
7
  }
@@ -0,0 +1,9 @@
1
+ export interface IHomePageMembership {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ benefits: string[];
6
+ period?: string;
7
+ buttonText?: string;
8
+ buttonRef?: string;
9
+ }
@@ -3,3 +3,4 @@ export * from './i-home-page-feature';
3
3
  export * from './i-home-page-footer';
4
4
  export * from './i-home-page-hero';
5
5
  export * from './i-home-page-link';
6
+ export * from './i-home-page-membership';
@@ -1,20 +1,18 @@
1
1
  import { Type } from '@angular/core';
2
- import { HttpClient } from '@angular/common/http';
3
- import { IHomePageEnvironment, IHomePageFeature, IHomePageFooter, IHomePageHero, IHomePageLink } from './domain';
2
+ import { IHomePageFeature, IHomePageFooter, IHomePageHero, IHomePageLink, IHomePageMembership } from './domain';
4
3
  import { IEnvironmentService } from '../domain';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class FHomePageEnvironmentService implements IEnvironmentService {
7
- private environment;
8
- private http;
9
- constructor(environment: IHomePageEnvironment, http: HttpClient);
6
+ private _environment;
10
7
  getLogo(): string;
11
8
  getTitle(): string;
12
9
  getHero(): IHomePageHero;
13
10
  getButtons(): IHomePageLink[];
14
11
  getFeatures(): IHomePageFeature[];
12
+ getMemberships(): IHomePageMembership[];
15
13
  getFooter(): IHomePageFooter;
16
14
  getBackgroundComponent(): Type<any> | undefined;
17
15
  getImageComponent(): Type<any> | undefined;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<FHomePageEnvironmentService, [{ optional: true; }, null]>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<FHomePageEnvironmentService, never>;
19
17
  static ɵprov: i0.ɵɵInjectableDeclaration<FHomePageEnvironmentService>;
20
18
  }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class FHomePageMembershipsComponent {
3
+ protected viewModel: import("@foblex/m-render").IHomePageMembership[];
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<FHomePageMembershipsComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<FHomePageMembershipsComponent, "f-home-page-memberships", never, {}, {}, never, never, true, never>;
6
+ }
@@ -1,9 +1,7 @@
1
- import { AfterViewInit, InjectionToken } from '@angular/core';
2
- import { FHomePageEnvironmentService } from './f-home-page-environment.service';
1
+ import { AfterViewInit } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
- export declare const F_HOME_PAGE_COMPONENT: InjectionToken<FHomePageComponent>;
5
3
  export declare class FHomePageComponent implements AfterViewInit {
6
- protected _environmentService: FHomePageEnvironmentService;
4
+ private _environment;
7
5
  private _backgroundContainer;
8
6
  private _heroImageContainer;
9
7
  ngAfterViewInit(): void;
@@ -1,5 +1,6 @@
1
1
  export * from './domain';
2
2
  export * from './f-home-page-features/f-home-page-features.component';
3
+ export * from './f-home-page-memberships/f-home-page-memberships.component';
3
4
  export * from './f-home-page-header/f-home-page-header.component';
4
5
  export * from './f-home-page-footer/f-home-page-footer.component';
5
6
  export * from './f-home-page.component';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foblex/m-render",
3
- "version": "2.5.4",
3
+ "version": "2.5.6",
4
4
  "description": "MRender is a static site generator designed for creating fast and user-friendly documentation sites based on Markdown files. MarkEngine supports extended Markdown syntax and can render Angular components directly from Markdown files.",
5
5
  "author": "Siarhei Huzarevich",
6
6
  "license": "MIT",