@bnsights/bbsf-controls 1.0.193 → 1.0.194-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +331 -0
- package/esm2022/lib/Shared/Components/app-base-component.mjs +3 -3
- package/esm2022/lib/Shared/Components/ng-tag-input.mjs +12 -7
- package/esm2022/lib/Shared/Directives/appPreventDoubleClick.directive.mjs +3 -2
- package/esm2022/lib/Shared/Directives/template-name.directive.mjs +4 -3
- package/esm2022/lib/Shared/Models/DatePickerOptions.mjs +4 -4
- package/esm2022/lib/Shared/Pipes/bbsf-date-time.pipe.mjs +4 -3
- package/esm2022/lib/Shared/Pipes/bbsf-date.pipe.mjs +4 -3
- package/esm2022/lib/Shared/default_intl.mjs +2 -2
- package/esm2022/lib/Shared/services/ControlUtility.mjs +2 -2
- package/esm2022/lib/Shared/services/file-upload.service.mjs +3 -3
- package/esm2022/lib/Shared/services/validationErrorMassage.service.mjs +2 -2
- package/esm2022/lib/Shared/utils/date-formatter.mjs +48 -0
- package/esm2022/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.mjs +24 -16
- package/esm2022/lib/controls/Calendar/Calendar.component.mjs +19 -12
- package/esm2022/lib/controls/CheckBox/CheckBox.component.mjs +14 -10
- package/esm2022/lib/controls/ConfirmationModal/ConfirmationModal.component.mjs +8 -5
- package/esm2022/lib/controls/DateTimePicker/DateTimePicker.component.mjs +21 -14
- package/esm2022/lib/controls/DropdownList/DropdownList.component.mjs +12 -6
- package/esm2022/lib/controls/FileUpload/FileUpload.component.mjs +15 -7
- package/esm2022/lib/controls/Form/Form.component.mjs +22 -6
- package/esm2022/lib/controls/HtmlEditor/HtmlEditor.component.mjs +14 -9
- package/esm2022/lib/controls/ImageUpload/ImageUpload.component.mjs +17 -9
- package/esm2022/lib/controls/MapAutoComplete/MapAutoComplete.component.mjs +22 -13
- package/esm2022/lib/controls/MarkdownEditor/markdown-editor.component.mjs +16 -8
- package/esm2022/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.mjs +14 -9
- package/esm2022/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.mjs +12 -7
- package/esm2022/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.mjs +18 -12
- package/esm2022/lib/controls/Paging/JwPagination.component.mjs +8 -4
- package/esm2022/lib/controls/Paging/Paging.component.mjs +25 -12
- package/esm2022/lib/controls/Phone/Phone.component.mjs +14 -9
- package/esm2022/lib/controls/ProfileImageUploader/ProfileImageUploader.component.mjs +17 -9
- package/esm2022/lib/controls/RadioButton/RadioButton.component.mjs +10 -6
- package/esm2022/lib/controls/Recaptcha/Recaptcha.component.mjs +13 -14
- package/esm2022/lib/controls/Repeater/repeater/repeater.component.mjs +13 -7
- package/esm2022/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.mjs +6 -4
- package/esm2022/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.mjs +5 -4
- package/esm2022/lib/controls/Repeater/repeater-table/repeater-table.component.mjs +13 -7
- package/esm2022/lib/controls/TagsInput/TagsInput.component.mjs +19 -14
- package/esm2022/lib/controls/TextArea/TextArea.component.mjs +20 -12
- package/esm2022/lib/controls/TextBox/TextBox.component.mjs +16 -10
- package/esm2022/lib/controls/Toggleslide/Toggleslide.component.mjs +13 -7
- package/esm2022/lib/controls/bbsf-controls.module.mjs +70 -333
- package/esm2022/lib/controls/page-header-component/page-header-component.component.mjs +15 -11
- package/esm2022/lib/modules/bbsf-core.module.mjs +210 -0
- package/esm2022/lib/modules/bbsf-datetime.module.mjs +90 -0
- package/esm2022/lib/modules/bbsf-dropdown.module.mjs +57 -0
- package/esm2022/lib/modules/bbsf-editors.module.mjs +97 -0
- package/esm2022/lib/modules/bbsf-forms-basic.module.mjs +79 -0
- package/esm2022/lib/modules/bbsf-multilingual.module.mjs +60 -0
- package/esm2022/lib/modules/bbsf-phone.module.mjs +57 -0
- package/esm2022/lib/modules/bbsf-specialized.module.mjs +160 -0
- package/esm2022/lib/modules/bbsf-uploads.module.mjs +106 -0
- package/esm2022/lib/modules/bbsf-utility.module.mjs +103 -0
- package/esm2022/public-api.mjs +38 -2
- package/fesm2022/bnsights-bbsf-controls.mjs +8673 -7750
- package/fesm2022/bnsights-bbsf-controls.mjs.map +1 -1
- package/lib/Shared/Components/app-base-component.d.ts +2 -2
- package/lib/Shared/Components/ng-tag-input.d.ts +2 -3
- package/lib/Shared/Directives/appPreventDoubleClick.directive.d.ts +1 -1
- package/lib/Shared/Directives/template-name.directive.d.ts +1 -1
- package/lib/Shared/Pipes/bbsf-date-time.pipe.d.ts +1 -1
- package/lib/Shared/Pipes/bbsf-date.pipe.d.ts +1 -1
- package/lib/Shared/default_intl.d.ts +1 -1
- package/lib/Shared/services/ControlUtility.d.ts +1 -1
- package/lib/Shared/services/file-upload.service.d.ts +1 -1
- package/lib/Shared/services/validationErrorMassage.service.d.ts +1 -1
- package/lib/Shared/utils/date-formatter.d.ts +23 -0
- package/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.d.ts +5 -4
- package/lib/controls/Calendar/Calendar.component.d.ts +5 -4
- package/lib/controls/CheckBox/CheckBox.component.d.ts +3 -2
- package/lib/controls/ConfirmationModal/ConfirmationModal.component.d.ts +2 -2
- package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +3 -3
- package/lib/controls/DropdownList/DropdownList.component.d.ts +2 -2
- package/lib/controls/FileUpload/FileUpload.component.d.ts +3 -4
- package/lib/controls/Form/Form.component.d.ts +2 -2
- package/lib/controls/HtmlEditor/HtmlEditor.component.d.ts +3 -3
- package/lib/controls/ImageUpload/ImageUpload.component.d.ts +4 -4
- package/lib/controls/MapAutoComplete/MapAutoComplete.component.d.ts +5 -4
- package/lib/controls/MarkdownEditor/markdown-editor.component.d.ts +2 -2
- package/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.d.ts +3 -3
- package/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.d.ts +2 -2
- package/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.d.ts +3 -2
- package/lib/controls/Paging/JwPagination.component.d.ts +1 -1
- package/lib/controls/Paging/Paging.component.d.ts +5 -4
- package/lib/controls/Phone/Phone.component.d.ts +2 -2
- package/lib/controls/ProfileImageUploader/ProfileImageUploader.component.d.ts +3 -3
- package/lib/controls/RadioButton/RadioButton.component.d.ts +2 -2
- package/lib/controls/Recaptcha/Recaptcha.component.d.ts +3 -2
- package/lib/controls/Repeater/repeater/repeater.component.d.ts +1 -1
- package/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.d.ts +1 -1
- package/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.d.ts +1 -1
- package/lib/controls/Repeater/repeater-table/repeater-table.component.d.ts +2 -2
- package/lib/controls/TagsInput/TagsInput.component.d.ts +5 -4
- package/lib/controls/TextArea/TextArea.component.d.ts +3 -2
- package/lib/controls/TextBox/TextBox.component.d.ts +2 -2
- package/lib/controls/Toggleslide/Toggleslide.component.d.ts +2 -2
- package/lib/controls/bbsf-controls.module.d.ts +35 -66
- package/lib/controls/page-header-component/page-header-component.component.d.ts +2 -2
- package/lib/modules/bbsf-core.module.d.ts +90 -0
- package/lib/modules/bbsf-datetime.module.d.ts +41 -0
- package/lib/modules/bbsf-dropdown.module.d.ts +33 -0
- package/lib/modules/bbsf-editors.module.d.ts +47 -0
- package/lib/modules/bbsf-forms-basic.module.d.ts +35 -0
- package/lib/modules/bbsf-multilingual.module.d.ts +31 -0
- package/lib/modules/bbsf-phone.module.d.ts +33 -0
- package/lib/modules/bbsf-specialized.module.d.ts +63 -0
- package/lib/modules/bbsf-uploads.module.d.ts +50 -0
- package/lib/modules/bbsf-utility.module.d.ts +45 -0
- package/package.json +2 -13
- package/public-api.d.ts +12 -0
- package/src/lib/assets/Style.scss +0 -2
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Input, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
+
import { InlineSVGModule } from 'ng-inline-svg-2';
|
|
2
6
|
import { DataType } from '../../Shared/Enums/Enums';
|
|
3
7
|
import * as i0 from "@angular/core";
|
|
4
8
|
import * as i1 from "@angular/router";
|
|
5
|
-
import * as i2 from "@bnsights/bbsf-utilities";
|
|
9
|
+
import * as i2 from "@bnsights/bbsf-utilities/ui";
|
|
6
10
|
import * as i3 from "@angular/common";
|
|
7
11
|
import * as i4 from "@ng-bootstrap/ng-bootstrap";
|
|
8
12
|
import * as i5 from "ng-inline-svg-2";
|
|
9
|
-
import * as i6 from "../DateTimePicker/DateTimePicker.component";
|
|
10
|
-
import * as i7 from "../TextBox/TextBox.component";
|
|
11
|
-
import * as i8 from "../DropdownList/DropdownList.component";
|
|
12
|
-
import * as i9 from "../Toggleslide/Toggleslide.component";
|
|
13
|
-
import * as i10 from "../TagsInput/TagsInput.component";
|
|
14
|
-
import * as i11 from "../../Shared/Directives/appPreventDoubleClick.directive";
|
|
15
13
|
export class PageHeaderComponentComponent {
|
|
16
14
|
constructor(router, utilityService) {
|
|
17
15
|
this.router = router;
|
|
@@ -25,14 +23,20 @@ export class PageHeaderComponentComponent {
|
|
|
25
23
|
this.EN = this.utilityService.isCurrentLanguageEnglish();
|
|
26
24
|
}
|
|
27
25
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageHeaderComponentComponent, deps: [{ token: i1.Router }, { token: i2.UtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageHeaderComponentComponent, selector: "bbsf-page-header-component", inputs: { group: "group", options: "options" }, ngImport: i0, template: "<!--toolbar-->\r\n<div class=\"toolbar\" style=\"overflow:hidden;position:relative;\">\r\n <img class=\"pattern\" src=\"./src/assets/images/Bg-pattern.png\" />\r\n <div class=\"container-xxl\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"page-title w-100\" [ngClass]=\"!options.listing? 'mb-0' : ''\">\r\n <h3 *ngIf=\"options.titleKey||options.titleValue\">{{options.titleValue == null ? translate(options.titleKey) :\r\n options.titleValue }}</h3>\r\n <p class=\"sub-title\" *ngIf=\"options.listing\">\r\n {{translate(options.subTitleKey)}}\r\n </p>\r\n <div class=\"d-flex justify-content-between align-items-end\">\r\n <ul class=\"breadcrumb breadcrumb-dot\" *ngIf=\"options.breadCrumb.active\">\r\n <ng-container *ngFor=\"let item of options.breadCrumb.breadCrumbItems\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"!item.active\">\r\n <a *ngIf=\"item.route\" [routerLink]=\"item.route\">{{ item.label }}</a>\r\n <a *ngIf=\"!item.route\" href=\"javascript: void(0);\">{{ item.label }}</a>\r\n </li>\r\n <li class=\"breadcrumb-item active\" *ngIf=\"item.active\">\r\n <span>{{ item.label }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"page-subheader\" *ngIf=\"options.dropDownActions.active\">\r\n <button [routerLink]=\"item.routerLink\" (click)='item.function?item.function():\"\"'\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\"\r\n *ngFor=\"let item of options.dropDownActions.dropdownActionItems\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"item.svg\"></span>\r\n {{item.text}}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"page-subheader\">\r\n <BBSF-TextBox *ngIf=\"options.searchTextBox.active\" [options]=\"options.searchTextBox.textSearchBoxOptions\"\r\n [group]=\"group\">\r\n </BBSF-TextBox>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"subheader-btn list-grid\" *ngIf=\"options.gridView.active\">\r\n <div class=\"list-grid-item\" [ngClass]=\"options.gridView.showGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.gridView.toggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Listing.svg'\">\r\n </span>\r\n </div>\r\n <div class=\"list-grid-item\" [ngClass]=\"!options.gridView.showGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.gridView.toggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Grid.svg'\">\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" *ngIf=\"options.exportButton.active\" (click)=\"options.exportButton.function()\"\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/export.svg'\"></span>\r\n {{translate(options.exportButton.buttonTextKey)}}\r\n </button>\r\n\r\n\r\n <div *ngIf=\"options.filtersButton.active\" ngbDropdown container=\"body\"\r\n [placement]=\"EN ? 'bottom-right' : 'bottom-left'\" #dropdown=\"ngbDropdown\" class=\"subheader-btn\">\r\n <button href=\"javascript:;\" (click)=\"options.filtersButton.function()\" ngbDropdownToggle\r\n class=\"btn btn-light btn-sm filters-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/arrowdropdown.svg'\"></span>\r\n {{translate(options.filtersButton.buttonTextKey)}}\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom filters-dropdown\">\r\n\r\n <div [hidden]=\"options.filters.showLoadingInFiltersBox\">\r\n <div class=\"filter-select\">\r\n <span *ngFor=\"let control of options.filters.controlsOptions\">\r\n <span [ngSwitch]=\"control.key\">\r\n <span *ngSwitchCase=\"DataTypeEnum.SingleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.MulipleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Date\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.DateTime\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Time\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Boolean\">\r\n <BBSF-Toggleslide [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-Toggleslide>\r\n </span>\r\n <span *ngSwitchDefault>\r\n <BBSF-TagsInput [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-TagsInput>\r\n </span>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"dropdown-menu-buttons\">\r\n <button class=\"btn btn-sm btn-light\" (click)=\"options.filters.restFunction(dropdown)\">\r\n {{translate(\"Reset\")}}\r\n </button>\r\n <button class=\"btn btn-brand btn-sm\" (click)=\"options.filters.applyFunction(dropdown)\">\r\n {{translate(\"Apply\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.addButton.active\"\r\n (click)=\"options.addButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.addButton.buttonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.editButton.active\"\r\n (click)=\"options.editButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.editButton.buttonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.deleteButton.active\"\r\n (click)=\"options.deleteButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.deleteButton.buttonTextKey)}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--End toolbar-->", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["inlineSVG", "resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "setSVGAttributes", "removeSVGAttributes", "forceEvalStyles", "evalScripts", "fallbackImgUrl", "fallbackSVG", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { kind: "component", type: i6.DateInputComponent, selector: "BBSF-DateTimePicker", inputs: ["group", "options", "DropdownTemplateVariable"], outputs: ["onChange"] }, { kind: "component", type: i7.TextboxComponent, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["onChange", "onBlur"] }, { kind: "component", type: i8.DropdownListComponent, selector: "BBSF-DropdownList", inputs: ["group", "options", "DropdownTemplateVariable"], outputs: ["onChange", "onClear"] }, { kind: "component", type: i9.ToggleslideComponent, selector: "BBSF-Toggleslide", inputs: ["group", "options"], outputs: ["onChange"] }, { kind: "component", type: i10.TagsInputComponent, selector: "BBSF-TagsInput", inputs: ["group", "name", "options", "DropdownTemplateVariable"], outputs: ["onChange"] }, { kind: "directive", type: i11.PreventDoubleClickDirective, selector: "[appPreventDoubleClick]", inputs: ["debounceTime"] }] }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageHeaderComponentComponent, isStandalone: true, selector: "bbsf-page-header-component", inputs: { group: "group", options: "options" }, ngImport: i0, template: "<!--toolbar-->\r\n<div class=\"toolbar\" style=\"overflow:hidden;position:relative;\">\r\n <img class=\"pattern\" src=\"./src/assets/images/Bg-pattern.png\" />\r\n <div class=\"container-xxl\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"page-title w-100\" [ngClass]=\"!options.listing? 'mb-0' : ''\">\r\n <h3 *ngIf=\"options.titleKey||options.titleValue\">{{options.titleValue == null ? translate(options.titleKey) :\r\n options.titleValue }}</h3>\r\n <p class=\"sub-title\" *ngIf=\"options.listing\">\r\n {{translate(options.subTitleKey)}}\r\n </p>\r\n <div class=\"d-flex justify-content-between align-items-end\">\r\n <ul class=\"breadcrumb breadcrumb-dot\" *ngIf=\"options.breadCrumb.active\">\r\n <ng-container *ngFor=\"let item of options.breadCrumb.breadCrumbItems\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"!item.active\">\r\n <a *ngIf=\"item.route\" [routerLink]=\"item.route\">{{ item.label }}</a>\r\n <a *ngIf=\"!item.route\" href=\"javascript: void(0);\">{{ item.label }}</a>\r\n </li>\r\n <li class=\"breadcrumb-item active\" *ngIf=\"item.active\">\r\n <span>{{ item.label }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"page-subheader\" *ngIf=\"options.dropDownActions.active\">\r\n <button [routerLink]=\"item.routerLink\" (click)='item.function?item.function():\"\"'\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\"\r\n *ngFor=\"let item of options.dropDownActions.dropdownActionItems\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"item.svg\"></span>\r\n {{item.text}}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"page-subheader\">\r\n <BBSF-TextBox *ngIf=\"options.searchTextBox.active\" [options]=\"options.searchTextBox.textSearchBoxOptions\"\r\n [group]=\"group\">\r\n </BBSF-TextBox>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"subheader-btn list-grid\" *ngIf=\"options.gridView.active\">\r\n <div class=\"list-grid-item\" [ngClass]=\"options.gridView.showGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.gridView.toggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Listing.svg'\">\r\n </span>\r\n </div>\r\n <div class=\"list-grid-item\" [ngClass]=\"!options.gridView.showGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.gridView.toggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Grid.svg'\">\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" *ngIf=\"options.exportButton.active\" (click)=\"options.exportButton.function()\"\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/export.svg'\"></span>\r\n {{translate(options.exportButton.buttonTextKey)}}\r\n </button>\r\n\r\n\r\n <div *ngIf=\"options.filtersButton.active\" ngbDropdown container=\"body\"\r\n [placement]=\"EN ? 'bottom-right' : 'bottom-left'\" #dropdown=\"ngbDropdown\" class=\"subheader-btn\">\r\n <button href=\"javascript:;\" (click)=\"options.filtersButton.function()\" ngbDropdownToggle\r\n class=\"btn btn-light btn-sm filters-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/arrowdropdown.svg'\"></span>\r\n {{translate(options.filtersButton.buttonTextKey)}}\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom filters-dropdown\">\r\n\r\n <div [hidden]=\"options.filters.showLoadingInFiltersBox\">\r\n <div class=\"filter-select\">\r\n <span *ngFor=\"let control of options.filters.controlsOptions\">\r\n <span [ngSwitch]=\"control.key\">\r\n <span *ngSwitchCase=\"DataTypeEnum.SingleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.MulipleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Date\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.DateTime\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Time\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Boolean\">\r\n <BBSF-Toggleslide [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-Toggleslide>\r\n </span>\r\n <span *ngSwitchDefault>\r\n <BBSF-TagsInput [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-TagsInput>\r\n </span>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"dropdown-menu-buttons\">\r\n <button class=\"btn btn-sm btn-light\" (click)=\"options.filters.restFunction(dropdown)\">\r\n {{translate(\"Reset\")}}\r\n </button>\r\n <button class=\"btn btn-brand btn-sm\" (click)=\"options.filters.applyFunction(dropdown)\">\r\n {{translate(\"Apply\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.addButton.active\"\r\n (click)=\"options.addButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.addButton.buttonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.editButton.active\"\r\n (click)=\"options.editButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.editButton.buttonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.deleteButton.active\"\r\n (click)=\"options.deleteButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.deleteButton.buttonTextKey)}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--End toolbar-->", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: NgbModule }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "ngmodule", type: InlineSVGModule }, { kind: "directive", type: i5.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["inlineSVG", "resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "setSVGAttributes", "removeSVGAttributes", "forceEvalStyles", "evalScripts", "fallbackImgUrl", "fallbackSVG", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }] }); }
|
|
29
27
|
}
|
|
30
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageHeaderComponentComponent, decorators: [{
|
|
31
29
|
type: Component,
|
|
32
|
-
args: [{ selector: 'bbsf-page-header-component',
|
|
30
|
+
args: [{ selector: 'bbsf-page-header-component', standalone: true, imports: [
|
|
31
|
+
CommonModule,
|
|
32
|
+
FormsModule,
|
|
33
|
+
ReactiveFormsModule,
|
|
34
|
+
NgbModule,
|
|
35
|
+
InlineSVGModule
|
|
36
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], template: "<!--toolbar-->\r\n<div class=\"toolbar\" style=\"overflow:hidden;position:relative;\">\r\n <img class=\"pattern\" src=\"./src/assets/images/Bg-pattern.png\" />\r\n <div class=\"container-xxl\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"page-title w-100\" [ngClass]=\"!options.listing? 'mb-0' : ''\">\r\n <h3 *ngIf=\"options.titleKey||options.titleValue\">{{options.titleValue == null ? translate(options.titleKey) :\r\n options.titleValue }}</h3>\r\n <p class=\"sub-title\" *ngIf=\"options.listing\">\r\n {{translate(options.subTitleKey)}}\r\n </p>\r\n <div class=\"d-flex justify-content-between align-items-end\">\r\n <ul class=\"breadcrumb breadcrumb-dot\" *ngIf=\"options.breadCrumb.active\">\r\n <ng-container *ngFor=\"let item of options.breadCrumb.breadCrumbItems\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"!item.active\">\r\n <a *ngIf=\"item.route\" [routerLink]=\"item.route\">{{ item.label }}</a>\r\n <a *ngIf=\"!item.route\" href=\"javascript: void(0);\">{{ item.label }}</a>\r\n </li>\r\n <li class=\"breadcrumb-item active\" *ngIf=\"item.active\">\r\n <span>{{ item.label }}</span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"page-subheader\" *ngIf=\"options.dropDownActions.active\">\r\n <button [routerLink]=\"item.routerLink\" (click)='item.function?item.function():\"\"'\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\"\r\n *ngFor=\"let item of options.dropDownActions.dropdownActionItems\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"item.svg\"></span>\r\n {{item.text}}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"page-subheader\">\r\n <BBSF-TextBox *ngIf=\"options.searchTextBox.active\" [options]=\"options.searchTextBox.textSearchBoxOptions\"\r\n [group]=\"group\">\r\n </BBSF-TextBox>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"subheader-btn list-grid\" *ngIf=\"options.gridView.active\">\r\n <div class=\"list-grid-item\" [ngClass]=\"options.gridView.showGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.gridView.toggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Listing.svg'\">\r\n </span>\r\n </div>\r\n <div class=\"list-grid-item\" [ngClass]=\"!options.gridView.showGridViewByDefault? 'list-grid-item-active' : ''\"\r\n (click)=\"options.gridView.toggleFunction()\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/Grid.svg'\">\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" *ngIf=\"options.exportButton.active\" (click)=\"options.exportButton.function()\"\r\n class=\"btn btn-light btn-sm subheader-btn export-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/export.svg'\"></span>\r\n {{translate(options.exportButton.buttonTextKey)}}\r\n </button>\r\n\r\n\r\n <div *ngIf=\"options.filtersButton.active\" ngbDropdown container=\"body\"\r\n [placement]=\"EN ? 'bottom-right' : 'bottom-left'\" #dropdown=\"ngbDropdown\" class=\"subheader-btn\">\r\n <button href=\"javascript:;\" (click)=\"options.filtersButton.function()\" ngbDropdownToggle\r\n class=\"btn btn-light btn-sm filters-btn\">\r\n <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/arrowdropdown.svg'\"></span>\r\n {{translate(options.filtersButton.buttonTextKey)}}\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom filters-dropdown\">\r\n\r\n <div [hidden]=\"options.filters.showLoadingInFiltersBox\">\r\n <div class=\"filter-select\">\r\n <span *ngFor=\"let control of options.filters.controlsOptions\">\r\n <span [ngSwitch]=\"control.key\">\r\n <span *ngSwitchCase=\"DataTypeEnum.SingleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.MulipleSelect\">\r\n <BBSF-DropdownList [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DropdownList>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Date\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.DateTime\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Time\">\r\n <BBSF-DateTimePicker [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-DateTimePicker>\r\n </span>\r\n <span *ngSwitchCase=\"DataTypeEnum.Boolean\">\r\n <BBSF-Toggleslide [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-Toggleslide>\r\n </span>\r\n <span *ngSwitchDefault>\r\n <BBSF-TagsInput [options]=\"control.value\" [group]=\"group\">\r\n </BBSF-TagsInput>\r\n </span>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"dropdown-menu-buttons\">\r\n <button class=\"btn btn-sm btn-light\" (click)=\"options.filters.restFunction(dropdown)\">\r\n {{translate(\"Reset\")}}\r\n </button>\r\n <button class=\"btn btn-brand btn-sm\" (click)=\"options.filters.applyFunction(dropdown)\">\r\n {{translate(\"Apply\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.addButton.active\"\r\n (click)=\"options.addButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.addButton.buttonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.editButton.active\"\r\n (click)=\"options.editButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.editButton.buttonTextKey)}}\r\n </button>\r\n <button appPreventDoubleClick type=\"button\" *ngIf=\"options.deleteButton.active\"\r\n (click)=\"options.deleteButton.function()\" class=\"btn btn-brand btn-sm subheader-btn\">\r\n {{translate(options.deleteButton.buttonTextKey)}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--End toolbar-->" }]
|
|
33
37
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.UtilityService }], propDecorators: { group: [{
|
|
34
38
|
type: Input
|
|
35
39
|
}], options: [{
|
|
36
40
|
type: Input
|
|
37
41
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXItY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9wYWdlLWhlYWRlci1jb21wb25lbnQvcGFnZS1oZWFkZXItY29tcG9uZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9wYWdlLWhlYWRlci1jb21wb25lbnQvcGFnZS1oZWFkZXItY29tcG9uZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSW5FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU1wRCxNQUFNLE9BQU8sNEJBQTRCO0lBT3ZDLFlBQW9CLE1BQWMsRUFBUyxjQUE4QjtRQUFyRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRmxFLGlCQUFZLEdBQUcsUUFBUSxDQUFDO0lBSS9CLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBVztRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUMzRCxDQUFDOytHQWpCVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixrSENWekMseXVPQXFJa0I7OzRGRDNITCw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UsNEJBQTRCO3dHQUs3QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9TaGFyZWQvRW51bXMvRW51bXMnO1xyXG5pbXBvcnQgeyBQYWdlSGVhZGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL1NoYXJlZC9Nb2RlbHMvcGFnZS1oZWFkZXItb3B0aW9ucyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYmJzZi1wYWdlLWhlYWRlci1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLWhlYWRlci1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlSGVhZGVyQ29tcG9uZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBFTjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBncm91cDogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFBhZ2VIZWFkZXJPcHRpb25zO1xyXG5cclxuICBwdWJsaWMgRGF0YVR5cGVFbnVtID0gRGF0YVR5cGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGUoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShrZXkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkVOID0gdGhpcy51dGlsaXR5U2VydmljZS5pc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS10b29sYmFyLS0+XHJcbjxkaXYgY2xhc3M9XCJ0b29sYmFyXCIgc3R5bGU9XCJvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7XCI+XHJcbiAgPGltZyBjbGFzcz1cInBhdHRlcm5cIiBzcmM9XCIuL3NyYy9hc3NldHMvaW1hZ2VzL0JnLXBhdHRlcm4ucG5nXCIgLz5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXh4bFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2UtdGl0bGUgdy0xMDBcIiBbbmdDbGFzc109XCIhb3B0aW9ucy5saXN0aW5nPyAnbWItMCcgOiAnJ1wiPlxyXG4gICAgICAgIDxoMyAqbmdJZj1cIm9wdGlvbnMudGl0bGVLZXl8fG9wdGlvbnMudGl0bGVWYWx1ZVwiPnt7b3B0aW9ucy50aXRsZVZhbHVlID09IG51bGwgPyB0cmFuc2xhdGUob3B0aW9ucy50aXRsZUtleSkgOlxyXG4gICAgICAgICAgb3B0aW9ucy50aXRsZVZhbHVlIH19PC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cInN1Yi10aXRsZVwiICpuZ0lmPVwib3B0aW9ucy5saXN0aW5nXCI+XHJcbiAgICAgICAgICB7e3RyYW5zbGF0ZShvcHRpb25zLnN1YlRpdGxlS2V5KX19XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICAgICAgICA8dWwgY2xhc3M9XCJicmVhZGNydW1iIGJyZWFkY3J1bWItZG90XCIgKm5nSWY9XCJvcHRpb25zLmJyZWFkQ3J1bWIuYWN0aXZlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9ucy5icmVhZENydW1iLmJyZWFkQ3J1bWJJdGVtc1wiPlxyXG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbVwiICpuZ0lmPVwiIWl0ZW0uYWN0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIml0ZW0ucm91dGVcIiBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlXCI+e3sgaXRlbS5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiIWl0ZW0ucm91dGVcIiBocmVmPVwiamF2YXNjcmlwdDogdm9pZCgwKTtcIj57eyBpdGVtLmxhYmVsIH19PC9hPlxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtIGFjdGl2ZVwiICpuZ0lmPVwiaXRlbS5hY3RpdmVcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2Utc3ViaGVhZGVyXCIgKm5nSWY9XCJvcHRpb25zLmRyb3BEb3duQWN0aW9ucy5hY3RpdmVcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIiAoY2xpY2spPSdpdGVtLmZ1bmN0aW9uP2l0ZW0uZnVuY3Rpb24oKTpcIlwiJ1xyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gc3ViaGVhZGVyLWJ0biBleHBvcnQtYnRuXCJcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zLmRyb3BEb3duQWN0aW9ucy5kcm9wZG93bkFjdGlvbkl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0zXCIgW2lubGluZVNWR109XCJpdGVtLnN2Z1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICB7e2l0ZW0udGV4dH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicGFnZS1zdWJoZWFkZXJcIj5cclxuICAgICAgPEJCU0YtVGV4dEJveCAqbmdJZj1cIm9wdGlvbnMuc2VhcmNoVGV4dEJveC5hY3RpdmVcIiBbb3B0aW9uc109XCJvcHRpb25zLnNlYXJjaFRleHRCb3gudGV4dFNlYXJjaEJveE9wdGlvbnNcIlxyXG4gICAgICAgIFtncm91cF09XCJncm91cFwiPlxyXG4gICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVyLWJ0biBsaXN0LWdyaWRcIiAqbmdJZj1cIm9wdGlvbnMuZ3JpZFZpZXcuYWN0aXZlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncmlkLWl0ZW1cIiBbbmdDbGFzc109XCJvcHRpb25zLmdyaWRWaWV3LnNob3dHcmlkVmlld0J5RGVmYXVsdD8gJ2xpc3QtZ3JpZC1pdGVtLWFjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcHRpb25zLmdyaWRWaWV3LnRvZ2dsZUZ1bmN0aW9uKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi00XCIgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvTGlzdGluZy5zdmcnXCI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JpZC1pdGVtXCIgW25nQ2xhc3NdPVwiIW9wdGlvbnMuZ3JpZFZpZXcuc2hvd0dyaWRWaWV3QnlEZWZhdWx0PyAnbGlzdC1ncmlkLWl0ZW0tYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wdGlvbnMuZ3JpZFZpZXcudG9nZ2xlRnVuY3Rpb24oKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTRcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9HcmlkLnN2ZydcIj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJvcHRpb25zLmV4cG9ydEJ1dHRvbi5hY3RpdmVcIiAoY2xpY2spPVwib3B0aW9ucy5leHBvcnRCdXR0b24uZnVuY3Rpb24oKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIHN1YmhlYWRlci1idG4gZXhwb3J0LWJ0blwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi01XCIgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvZXhwb3J0LnN2ZydcIj48L3NwYW4+XHJcbiAgICAgICAgICB7e3RyYW5zbGF0ZShvcHRpb25zLmV4cG9ydEJ1dHRvbi5idXR0b25UZXh0S2V5KX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwib3B0aW9ucy5maWx0ZXJzQnV0dG9uLmFjdGl2ZVwiIG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIlxyXG4gICAgICAgICAgW3BsYWNlbWVudF09XCJFTiA/ICdib3R0b20tcmlnaHQnIDogJ2JvdHRvbS1sZWZ0J1wiICNkcm9wZG93bj1cIm5nYkRyb3Bkb3duXCIgY2xhc3M9XCJzdWJoZWFkZXItYnRuXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAoY2xpY2spPVwib3B0aW9ucy5maWx0ZXJzQnV0dG9uLmZ1bmN0aW9uKClcIiBuZ2JEcm9wZG93blRvZ2dsZVxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIGZpbHRlcnMtYnRuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tNVwiIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL2Fycm93ZHJvcGRvd24uc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAge3t0cmFuc2xhdGUob3B0aW9ucy5maWx0ZXJzQnV0dG9uLmJ1dHRvblRleHRLZXkpfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnUgY2xhc3M9XCJkcm9wZG93bi1tZW51LWN1c3RvbSBmaWx0ZXJzLWRyb3Bkb3duXCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IFtoaWRkZW5dPVwib3B0aW9ucy5maWx0ZXJzLnNob3dMb2FkaW5nSW5GaWx0ZXJzQm94XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1zZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIG9wdGlvbnMuZmlsdGVycy5jb250cm9sc09wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW25nU3dpdGNoXT1cImNvbnRyb2wua2V5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIkRhdGFUeXBlRW51bS5TaW5nbGVTZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJjb250cm9sLnZhbHVlXCIgW2dyb3VwXT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiRGF0YVR5cGVFbnVtLk11bGlwbGVTZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJjb250cm9sLnZhbHVlXCIgW2dyb3VwXT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiRGF0YVR5cGVFbnVtLkRhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURhdGVUaW1lUGlja2VyIFtvcHRpb25zXT1cImNvbnRyb2wudmFsdWVcIiBbZ3JvdXBdPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvQkJTRi1EYXRlVGltZVBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIkRhdGFUeXBlRW51bS5EYXRlVGltZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJCU0YtRGF0ZVRpbWVQaWNrZXIgW29wdGlvbnNdPVwiY29udHJvbC52YWx1ZVwiIFtncm91cF09XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLURhdGVUaW1lUGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiRGF0YVR5cGVFbnVtLlRpbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURhdGVUaW1lUGlja2VyIFtvcHRpb25zXT1cImNvbnRyb2wudmFsdWVcIiBbZ3JvdXBdPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvQkJTRi1EYXRlVGltZVBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIkRhdGFUeXBlRW51bS5Cb29sZWFuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8QkJTRi1Ub2dnbGVzbGlkZSBbb3B0aW9uc109XCJjb250cm9sLnZhbHVlXCIgW2dyb3VwXT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtVG9nZ2xlc2xpZGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8QkJTRi1UYWdzSW5wdXQgW29wdGlvbnNdPVwiY29udHJvbC52YWx1ZVwiIFtncm91cF09XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLVRhZ3NJbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudS1idXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGlnaHRcIiAoY2xpY2spPVwib3B0aW9ucy5maWx0ZXJzLnJlc3RGdW5jdGlvbihkcm9wZG93bilcIj5cclxuICAgICAgICAgICAgICAgICAge3t0cmFuc2xhdGUoXCJSZXNldFwiKX19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJyYW5kIGJ0bi1zbVwiIChjbGljayk9XCJvcHRpb25zLmZpbHRlcnMuYXBwbHlGdW5jdGlvbihkcm9wZG93bilcIj5cclxuICAgICAgICAgICAgICAgICAge3t0cmFuc2xhdGUoXCJBcHBseVwiKX19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIGFwcFByZXZlbnREb3VibGVDbGljayB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJvcHRpb25zLmFkZEJ1dHRvbi5hY3RpdmVcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wdGlvbnMuYWRkQnV0dG9uLmZ1bmN0aW9uKClcIiBjbGFzcz1cImJ0biBidG4tYnJhbmQgYnRuLXNtIHN1YmhlYWRlci1idG5cIj5cclxuICAgICAgICAgIHt7dHJhbnNsYXRlKG9wdGlvbnMuYWRkQnV0dG9uLmJ1dHRvblRleHRLZXkpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGFwcFByZXZlbnREb3VibGVDbGljayB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJvcHRpb25zLmVkaXRCdXR0b24uYWN0aXZlXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcHRpb25zLmVkaXRCdXR0b24uZnVuY3Rpb24oKVwiIGNsYXNzPVwiYnRuIGJ0bi1icmFuZCBidG4tc20gc3ViaGVhZGVyLWJ0blwiPlxyXG4gICAgICAgICAge3t0cmFuc2xhdGUob3B0aW9ucy5lZGl0QnV0dG9uLmJ1dHRvblRleHRLZXkpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGFwcFByZXZlbnREb3VibGVDbGljayB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJvcHRpb25zLmRlbGV0ZUJ1dHRvbi5hY3RpdmVcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wdGlvbnMuZGVsZXRlQnV0dG9uLmZ1bmN0aW9uKClcIiBjbGFzcz1cImJ0biBidG4tYnJhbmQgYnRuLXNtIHN1YmhlYWRlci1idG5cIj5cclxuICAgICAgICAgIHt7dHJhbnNsYXRlKG9wdGlvbnMuZGVsZXRlQnV0dG9uLmJ1dHRvblRleHRLZXkpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tRW5kIHRvb2xiYXItLT4iXX0=
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXItY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9wYWdlLWhlYWRlci1jb21wb25lbnQvcGFnZS1oZWFkZXItY29tcG9uZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9wYWdlLWhlYWRlci1jb21wb25lbnQvcGFnZS1oZWFkZXItY29tcG9uZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksS0FBSyxFQUFVLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFnQnBELE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFBb0IsTUFBYyxFQUFTLGNBQThCO1FBQXJELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFGbEUsaUJBQVksR0FBRyxRQUFRLENBQUM7SUFJL0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQzNELENBQUM7K0dBakJVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHNJQ3ZCekMseXVPQXFJa0IsMkNEdEhkLFlBQVkseW1CQUNaLFdBQVcsOEJBQ1gsbUJBQW1CLDhCQUNuQixTQUFTLG9hQUNULGVBQWU7OzRGQUlOLDRCQUE0QjtrQkFieEMsU0FBUzsrQkFDRSw0QkFBNEIsY0FFMUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFNBQVM7d0JBQ1QsZUFBZTtxQkFDaEIsV0FDUSxDQUFDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDO3dHQUkxQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IElubGluZVNWR01vZHVsZSB9IGZyb20gJ25nLWlubGluZS1zdmctMic7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzL3VpJztcclxuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9TaGFyZWQvRW51bXMvRW51bXMnO1xyXG5pbXBvcnQgeyBQYWdlSGVhZGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL1NoYXJlZC9Nb2RlbHMvcGFnZS1oZWFkZXItb3B0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Jic2YtcGFnZS1oZWFkZXItY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1oZWFkZXItY29tcG9uZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE5nYk1vZHVsZSxcclxuICAgIElubGluZVNWR01vZHVsZVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5PX0VSUk9SU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlSGVhZGVyQ29tcG9uZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBFTjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBncm91cDogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFBhZ2VIZWFkZXJPcHRpb25zO1xyXG5cclxuICBwdWJsaWMgRGF0YVR5cGVFbnVtID0gRGF0YVR5cGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGUoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShrZXkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkVOID0gdGhpcy51dGlsaXR5U2VydmljZS5pc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS10b29sYmFyLS0+XHJcbjxkaXYgY2xhc3M9XCJ0b29sYmFyXCIgc3R5bGU9XCJvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7XCI+XHJcbiAgPGltZyBjbGFzcz1cInBhdHRlcm5cIiBzcmM9XCIuL3NyYy9hc3NldHMvaW1hZ2VzL0JnLXBhdHRlcm4ucG5nXCIgLz5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXh4bFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2UtdGl0bGUgdy0xMDBcIiBbbmdDbGFzc109XCIhb3B0aW9ucy5saXN0aW5nPyAnbWItMCcgOiAnJ1wiPlxyXG4gICAgICAgIDxoMyAqbmdJZj1cIm9wdGlvbnMudGl0bGVLZXl8fG9wdGlvbnMudGl0bGVWYWx1ZVwiPnt7b3B0aW9ucy50aXRsZVZhbHVlID09IG51bGwgPyB0cmFuc2xhdGUob3B0aW9ucy50aXRsZUtleSkgOlxyXG4gICAgICAgICAgb3B0aW9ucy50aXRsZVZhbHVlIH19PC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cInN1Yi10aXRsZVwiICpuZ0lmPVwib3B0aW9ucy5saXN0aW5nXCI+XHJcbiAgICAgICAgICB7e3RyYW5zbGF0ZShvcHRpb25zLnN1YlRpdGxlS2V5KX19XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICAgICAgICA8dWwgY2xhc3M9XCJicmVhZGNydW1iIGJyZWFkY3J1bWItZG90XCIgKm5nSWY9XCJvcHRpb25zLmJyZWFkQ3J1bWIuYWN0aXZlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9ucy5icmVhZENydW1iLmJyZWFkQ3J1bWJJdGVtc1wiPlxyXG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbVwiICpuZ0lmPVwiIWl0ZW0uYWN0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIml0ZW0ucm91dGVcIiBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlXCI+e3sgaXRlbS5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiIWl0ZW0ucm91dGVcIiBocmVmPVwiamF2YXNjcmlwdDogdm9pZCgwKTtcIj57eyBpdGVtLmxhYmVsIH19PC9hPlxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtIGFjdGl2ZVwiICpuZ0lmPVwiaXRlbS5hY3RpdmVcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2Utc3ViaGVhZGVyXCIgKm5nSWY9XCJvcHRpb25zLmRyb3BEb3duQWN0aW9ucy5hY3RpdmVcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIiAoY2xpY2spPSdpdGVtLmZ1bmN0aW9uP2l0ZW0uZnVuY3Rpb24oKTpcIlwiJ1xyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gc3ViaGVhZGVyLWJ0biBleHBvcnQtYnRuXCJcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zLmRyb3BEb3duQWN0aW9ucy5kcm9wZG93bkFjdGlvbkl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0zXCIgW2lubGluZVNWR109XCJpdGVtLnN2Z1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICB7e2l0ZW0udGV4dH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicGFnZS1zdWJoZWFkZXJcIj5cclxuICAgICAgPEJCU0YtVGV4dEJveCAqbmdJZj1cIm9wdGlvbnMuc2VhcmNoVGV4dEJveC5hY3RpdmVcIiBbb3B0aW9uc109XCJvcHRpb25zLnNlYXJjaFRleHRCb3gudGV4dFNlYXJjaEJveE9wdGlvbnNcIlxyXG4gICAgICAgIFtncm91cF09XCJncm91cFwiPlxyXG4gICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVyLWJ0biBsaXN0LWdyaWRcIiAqbmdJZj1cIm9wdGlvbnMuZ3JpZFZpZXcuYWN0aXZlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncmlkLWl0ZW1cIiBbbmdDbGFzc109XCJvcHRpb25zLmdyaWRWaWV3LnNob3dHcmlkVmlld0J5RGVmYXVsdD8gJ2xpc3QtZ3JpZC1pdGVtLWFjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcHRpb25zLmdyaWRWaWV3LnRvZ2dsZUZ1bmN0aW9uKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi00XCIgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvTGlzdGluZy5zdmcnXCI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JpZC1pdGVtXCIgW25nQ2xhc3NdPVwiIW9wdGlvbnMuZ3JpZFZpZXcuc2hvd0dyaWRWaWV3QnlEZWZhdWx0PyAnbGlzdC1ncmlkLWl0ZW0tYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wdGlvbnMuZ3JpZFZpZXcudG9nZ2xlRnVuY3Rpb24oKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTRcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9HcmlkLnN2ZydcIj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJvcHRpb25zLmV4cG9ydEJ1dHRvbi5hY3RpdmVcIiAoY2xpY2spPVwib3B0aW9ucy5leHBvcnRCdXR0b24uZnVuY3Rpb24oKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIHN1YmhlYWRlci1idG4gZXhwb3J0LWJ0blwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi01XCIgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvZXhwb3J0LnN2ZydcIj48L3NwYW4+XHJcbiAgICAgICAgICB7e3RyYW5zbGF0ZShvcHRpb25zLmV4cG9ydEJ1dHRvbi5idXR0b25UZXh0S2V5KX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwib3B0aW9ucy5maWx0ZXJzQnV0dG9uLmFjdGl2ZVwiIG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIlxyXG4gICAgICAgICAgW3BsYWNlbWVudF09XCJFTiA/ICdib3R0b20tcmlnaHQnIDogJ2JvdHRvbS1sZWZ0J1wiICNkcm9wZG93bj1cIm5nYkRyb3Bkb3duXCIgY2xhc3M9XCJzdWJoZWFkZXItYnRuXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAoY2xpY2spPVwib3B0aW9ucy5maWx0ZXJzQnV0dG9uLmZ1bmN0aW9uKClcIiBuZ2JEcm9wZG93blRvZ2dsZVxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIGZpbHRlcnMtYnRuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tNVwiIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL2Fycm93ZHJvcGRvd24uc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAge3t0cmFuc2xhdGUob3B0aW9ucy5maWx0ZXJzQnV0dG9uLmJ1dHRvblRleHRLZXkpfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnUgY2xhc3M9XCJkcm9wZG93bi1tZW51LWN1c3RvbSBmaWx0ZXJzLWRyb3Bkb3duXCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IFtoaWRkZW5dPVwib3B0aW9ucy5maWx0ZXJzLnNob3dMb2FkaW5nSW5GaWx0ZXJzQm94XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1zZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIG9wdGlvbnMuZmlsdGVycy5jb250cm9sc09wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW25nU3dpdGNoXT1cImNvbnRyb2wua2V5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIkRhdGFUeXBlRW51bS5TaW5nbGVTZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJjb250cm9sLnZhbHVlXCIgW2dyb3VwXT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiRGF0YVR5cGVFbnVtLk11bGlwbGVTZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJjb250cm9sLnZhbHVlXCIgW2dyb3VwXT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiRGF0YVR5cGVFbnVtLkRhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURhdGVUaW1lUGlja2VyIFtvcHRpb25zXT1cImNvbnRyb2wudmFsdWVcIiBbZ3JvdXBdPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvQkJTRi1EYXRlVGltZVBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIkRhdGFUeXBlRW51bS5EYXRlVGltZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJCU0YtRGF0ZVRpbWVQaWNrZXIgW29wdGlvbnNdPVwiY29udHJvbC52YWx1ZVwiIFtncm91cF09XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLURhdGVUaW1lUGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiRGF0YVR5cGVFbnVtLlRpbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURhdGVUaW1lUGlja2VyIFtvcHRpb25zXT1cImNvbnRyb2wudmFsdWVcIiBbZ3JvdXBdPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvQkJTRi1EYXRlVGltZVBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIkRhdGFUeXBlRW51bS5Cb29sZWFuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8QkJTRi1Ub2dnbGVzbGlkZSBbb3B0aW9uc109XCJjb250cm9sLnZhbHVlXCIgW2dyb3VwXT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtVG9nZ2xlc2xpZGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8QkJTRi1UYWdzSW5wdXQgW29wdGlvbnNdPVwiY29udHJvbC52YWx1ZVwiIFtncm91cF09XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLVRhZ3NJbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudS1idXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGlnaHRcIiAoY2xpY2spPVwib3B0aW9ucy5maWx0ZXJzLnJlc3RGdW5jdGlvbihkcm9wZG93bilcIj5cclxuICAgICAgICAgICAgICAgICAge3t0cmFuc2xhdGUoXCJSZXNldFwiKX19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJyYW5kIGJ0bi1zbVwiIChjbGljayk9XCJvcHRpb25zLmZpbHRlcnMuYXBwbHlGdW5jdGlvbihkcm9wZG93bilcIj5cclxuICAgICAgICAgICAgICAgICAge3t0cmFuc2xhdGUoXCJBcHBseVwiKX19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIGFwcFByZXZlbnREb3VibGVDbGljayB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJvcHRpb25zLmFkZEJ1dHRvbi5hY3RpdmVcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wdGlvbnMuYWRkQnV0dG9uLmZ1bmN0aW9uKClcIiBjbGFzcz1cImJ0biBidG4tYnJhbmQgYnRuLXNtIHN1YmhlYWRlci1idG5cIj5cclxuICAgICAgICAgIHt7dHJhbnNsYXRlKG9wdGlvbnMuYWRkQnV0dG9uLmJ1dHRvblRleHRLZXkpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGFwcFByZXZlbnREb3VibGVDbGljayB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJvcHRpb25zLmVkaXRCdXR0b24uYWN0aXZlXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcHRpb25zLmVkaXRCdXR0b24uZnVuY3Rpb24oKVwiIGNsYXNzPVwiYnRuIGJ0bi1icmFuZCBidG4tc20gc3ViaGVhZGVyLWJ0blwiPlxyXG4gICAgICAgICAge3t0cmFuc2xhdGUob3B0aW9ucy5lZGl0QnV0dG9uLmJ1dHRvblRleHRLZXkpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGFwcFByZXZlbnREb3VibGVDbGljayB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJvcHRpb25zLmRlbGV0ZUJ1dHRvbi5hY3RpdmVcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wdGlvbnMuZGVsZXRlQnV0dG9uLmZ1bmN0aW9uKClcIiBjbGFzcz1cImJ0biBidG4tYnJhbmQgYnRuLXNtIHN1YmhlYWRlci1idG5cIj5cclxuICAgICAgICAgIHt7dHJhbnNsYXRlKG9wdGlvbnMuZGVsZXRlQnV0dG9uLmJ1dHRvblRleHRLZXkpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tRW5kIHRvb2xiYXItLT4iXX0=
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { CommonModule, DatePipe, KeyValuePipe } from '@angular/common';
|
|
2
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
3
|
+
import { FormGroupDirective, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { RouterModule } from '@angular/router';
|
|
5
|
+
import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
|
6
|
+
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
|
|
7
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
8
|
+
import { provideNgxMask } from 'ngx-mask';
|
|
9
|
+
import { OWL_DATE_TIME_LOCALE } from '@danielmoncada/angular-datetime-picker';
|
|
10
|
+
// Import new granular modules
|
|
11
|
+
import { BBSFFormsBasicModule } from './bbsf-forms-basic.module';
|
|
12
|
+
import { BBSFDropdownModule } from './bbsf-dropdown.module';
|
|
13
|
+
import { BBSFDateTimeModule } from './bbsf-datetime.module';
|
|
14
|
+
import { BBSFPhoneModule } from './bbsf-phone.module';
|
|
15
|
+
import { BBSFUtilityModule } from './bbsf-utility.module';
|
|
16
|
+
import { BBSFMultilingualModule } from './bbsf-multilingual.module';
|
|
17
|
+
// Services
|
|
18
|
+
import { ControlUtility } from '../Shared/services/ControlUtility';
|
|
19
|
+
import { OnPagingFiltersChangeService } from '../Shared/services/OnPagingFiltersChange.service';
|
|
20
|
+
import { RenderComponentService } from '../Shared/services/render-component-service.service';
|
|
21
|
+
import { ErrorMassageValidation } from '../Shared/services/validationErrorMassage.service';
|
|
22
|
+
import { BBSFDateTimePipe } from '../Shared/Pipes/bbsf-date-time.pipe';
|
|
23
|
+
import { BBSFDatePipe } from '../Shared/Pipes/bbsf-date.pipe';
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
import * as i1 from "@ngrx/store-devtools";
|
|
26
|
+
/**
|
|
27
|
+
* BBSF Core Module (Legacy - For Backward Compatibility)
|
|
28
|
+
*
|
|
29
|
+
* ⚠️ **DEPRECATED**: This module imports ALL core controls (~650-800 KB) and should only be used for backward compatibility.
|
|
30
|
+
*
|
|
31
|
+
* **For better bundle optimization, use the new granular modules instead:**
|
|
32
|
+
*
|
|
33
|
+
* | Module | Size | Contains |
|
|
34
|
+
* |--------|------|----------|
|
|
35
|
+
* | **BBSFFormsBasicModule** | ~30 KB | TextBox, TextArea, CheckBox, Radio, Toggle |
|
|
36
|
+
* | **BBSFDropdownModule** | ~130 KB | DropdownList (includes ng-select ~100 KB) |
|
|
37
|
+
* | **BBSFDateTimeModule** | ~220 KB | DateTimePicker (includes Owl DateTime ~200 KB) + Date pipes |
|
|
38
|
+
* | **BBSFPhoneModule** | ~90 KB | Phone input (includes intl-tel-input ~80 KB) |
|
|
39
|
+
* | **BBSFUtilityModule** | ~80 KB | Form, Modals, Paging, PageHeader, Recaptcha |
|
|
40
|
+
* | **BBSFMultilingualModule** | ~15 KB | Multilingual text controls |
|
|
41
|
+
* | **BBSFCoreModule** | **~650-800 KB** | **ALL of the above** |
|
|
42
|
+
*
|
|
43
|
+
* **Bundle Size Comparison:**
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // ❌ Old way (BBSFCoreModule): ~650-800 KB
|
|
46
|
+
* import { BBSFCoreModule } from '@bnsights/bbsf-controls';
|
|
47
|
+
*
|
|
48
|
+
* // ✅ New way (Only what you need): ~160 KB (74% smaller!)
|
|
49
|
+
* import { BBSFFormsBasicModule, BBSFDropdownModule } from '@bnsights/bbsf-controls';
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* **Migration Example:**
|
|
53
|
+
* ```typescript
|
|
54
|
+
* // Before: Import everything (~650 KB)
|
|
55
|
+
* import { BBSFCoreModule } from '@bnsights/bbsf-controls';
|
|
56
|
+
*
|
|
57
|
+
* @NgModule({
|
|
58
|
+
* imports: [BBSFCoreModule]
|
|
59
|
+
* })
|
|
60
|
+
* export class MyModule { }
|
|
61
|
+
*
|
|
62
|
+
* // After: Import only what you need (~160 KB for basic forms + dropdown)
|
|
63
|
+
* import { BBSFFormsBasicModule, BBSFDropdownModule } from '@bnsights/bbsf-controls';
|
|
64
|
+
*
|
|
65
|
+
* @NgModule({
|
|
66
|
+
* imports: [
|
|
67
|
+
* BBSFFormsBasicModule, // ~30 KB - TextBox, CheckBox, etc.
|
|
68
|
+
* BBSFDropdownModule // ~130 KB - Dropdown
|
|
69
|
+
* ]
|
|
70
|
+
* })
|
|
71
|
+
* export class MyModule { }
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* **Common Use Cases:**
|
|
75
|
+
* ```typescript
|
|
76
|
+
* // Use case 1: Basic forms only (~30 KB)
|
|
77
|
+
* import { BBSFFormsBasicModule } from '@bnsights/bbsf-controls';
|
|
78
|
+
*
|
|
79
|
+
* // Use case 2: Forms + Dropdown (~160 KB, 75% smaller than BBSFCoreModule)
|
|
80
|
+
* import { BBSFFormsBasicModule, BBSFDropdownModule } from '@bnsights/bbsf-controls';
|
|
81
|
+
*
|
|
82
|
+
* // Use case 3: Forms + Date picker (~250 KB, 60% smaller)
|
|
83
|
+
* import { BBSFFormsBasicModule, BBSFDateTimeModule } from '@bnsights/bbsf-controls';
|
|
84
|
+
*
|
|
85
|
+
* // Use case 4: Full set (~565 KB - still excludes unused modules)
|
|
86
|
+
* import {
|
|
87
|
+
* BBSFFormsBasicModule,
|
|
88
|
+
* BBSFDropdownModule,
|
|
89
|
+
* BBSFDateTimeModule,
|
|
90
|
+
* BBSFPhoneModule,
|
|
91
|
+
* BBSFUtilityModule,
|
|
92
|
+
* BBSFMultilingualModule
|
|
93
|
+
* } from '@bnsights/bbsf-controls';
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* This module will be removed in v3.0
|
|
97
|
+
*
|
|
98
|
+
* @deprecated Use granular modules (BBSFFormsBasicModule, BBSFDropdownModule, etc.) for better tree-shaking
|
|
99
|
+
*/
|
|
100
|
+
export class BBSFCoreModule {
|
|
101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
102
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BBSFCoreModule, imports: [
|
|
103
|
+
// Common Angular modules
|
|
104
|
+
CommonModule,
|
|
105
|
+
FormsModule,
|
|
106
|
+
ReactiveFormsModule,
|
|
107
|
+
RouterModule,
|
|
108
|
+
// Granular control modules
|
|
109
|
+
BBSFFormsBasicModule,
|
|
110
|
+
BBSFDropdownModule,
|
|
111
|
+
BBSFDateTimeModule,
|
|
112
|
+
BBSFPhoneModule,
|
|
113
|
+
BBSFUtilityModule,
|
|
114
|
+
BBSFMultilingualModule, i1.StoreDevtoolsModule], exports: [
|
|
115
|
+
// Re-export granular modules so all their components are available
|
|
116
|
+
BBSFFormsBasicModule,
|
|
117
|
+
BBSFDropdownModule,
|
|
118
|
+
BBSFDateTimeModule,
|
|
119
|
+
BBSFPhoneModule,
|
|
120
|
+
BBSFUtilityModule,
|
|
121
|
+
BBSFMultilingualModule] }); }
|
|
122
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFCoreModule, providers: [
|
|
123
|
+
// Services
|
|
124
|
+
ErrorMassageValidation,
|
|
125
|
+
ControlUtility,
|
|
126
|
+
OnPagingFiltersChangeService,
|
|
127
|
+
TranslateService,
|
|
128
|
+
FormGroupDirective,
|
|
129
|
+
NgbModal,
|
|
130
|
+
NgbActiveModal,
|
|
131
|
+
DatePipe,
|
|
132
|
+
KeyValuePipe,
|
|
133
|
+
BBSFDateTimePipe,
|
|
134
|
+
BBSFDatePipe,
|
|
135
|
+
RenderComponentService,
|
|
136
|
+
{ provide: OWL_DATE_TIME_LOCALE, useValue: ControlUtility.getLocal() },
|
|
137
|
+
provideNgxMask()
|
|
138
|
+
], imports: [
|
|
139
|
+
// Common Angular modules
|
|
140
|
+
CommonModule,
|
|
141
|
+
FormsModule,
|
|
142
|
+
ReactiveFormsModule,
|
|
143
|
+
RouterModule,
|
|
144
|
+
// Granular control modules
|
|
145
|
+
BBSFFormsBasicModule,
|
|
146
|
+
BBSFDropdownModule,
|
|
147
|
+
BBSFDateTimeModule,
|
|
148
|
+
BBSFPhoneModule,
|
|
149
|
+
BBSFUtilityModule,
|
|
150
|
+
BBSFMultilingualModule,
|
|
151
|
+
// DevTools (still here for backward compatibility, but should be in app module)
|
|
152
|
+
StoreDevtoolsModule.instrument({ connectInZone: true }),
|
|
153
|
+
// Re-export granular modules so all their components are available
|
|
154
|
+
BBSFFormsBasicModule,
|
|
155
|
+
BBSFDropdownModule,
|
|
156
|
+
BBSFDateTimeModule,
|
|
157
|
+
BBSFPhoneModule,
|
|
158
|
+
BBSFUtilityModule,
|
|
159
|
+
BBSFMultilingualModule] }); }
|
|
160
|
+
}
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFCoreModule, decorators: [{
|
|
162
|
+
type: NgModule,
|
|
163
|
+
args: [{
|
|
164
|
+
declarations: [],
|
|
165
|
+
imports: [
|
|
166
|
+
// Common Angular modules
|
|
167
|
+
CommonModule,
|
|
168
|
+
FormsModule,
|
|
169
|
+
ReactiveFormsModule,
|
|
170
|
+
RouterModule,
|
|
171
|
+
// Granular control modules
|
|
172
|
+
BBSFFormsBasicModule,
|
|
173
|
+
BBSFDropdownModule,
|
|
174
|
+
BBSFDateTimeModule,
|
|
175
|
+
BBSFPhoneModule,
|
|
176
|
+
BBSFUtilityModule,
|
|
177
|
+
BBSFMultilingualModule,
|
|
178
|
+
// DevTools (still here for backward compatibility, but should be in app module)
|
|
179
|
+
StoreDevtoolsModule.instrument({ connectInZone: true })
|
|
180
|
+
],
|
|
181
|
+
providers: [
|
|
182
|
+
// Services
|
|
183
|
+
ErrorMassageValidation,
|
|
184
|
+
ControlUtility,
|
|
185
|
+
OnPagingFiltersChangeService,
|
|
186
|
+
TranslateService,
|
|
187
|
+
FormGroupDirective,
|
|
188
|
+
NgbModal,
|
|
189
|
+
NgbActiveModal,
|
|
190
|
+
DatePipe,
|
|
191
|
+
KeyValuePipe,
|
|
192
|
+
BBSFDateTimePipe,
|
|
193
|
+
BBSFDatePipe,
|
|
194
|
+
RenderComponentService,
|
|
195
|
+
{ provide: OWL_DATE_TIME_LOCALE, useValue: ControlUtility.getLocal() },
|
|
196
|
+
provideNgxMask()
|
|
197
|
+
],
|
|
198
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
|
|
199
|
+
exports: [
|
|
200
|
+
// Re-export granular modules so all their components are available
|
|
201
|
+
BBSFFormsBasicModule,
|
|
202
|
+
BBSFDropdownModule,
|
|
203
|
+
BBSFDateTimeModule,
|
|
204
|
+
BBSFPhoneModule,
|
|
205
|
+
BBSFUtilityModule,
|
|
206
|
+
BBSFMultilingualModule
|
|
207
|
+
]
|
|
208
|
+
}]
|
|
209
|
+
}] });
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJzZi1jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9tb2R1bGVzL2Jic2YtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBFLFdBQVc7QUFDWCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDaEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFOUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RUc7QUFpREgsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjO1lBN0NuQix5QkFBeUI7WUFDekIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUVaLDJCQUEyQjtZQUMzQixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLHNCQUFzQjtZQXdCdEIsbUVBQW1FO1lBQ25FLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsc0JBQXNCO2dIQUdqQixjQUFjLGFBNUJaO1lBQ1AsV0FBVztZQUNYLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsNEJBQTRCO1lBQzVCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsUUFBUTtZQUNSLGNBQWM7WUFDZCxRQUFRO1lBQ1IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osc0JBQXNCO1lBQ3RCLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdEUsY0FBYyxFQUFFO1NBQ25CO1lBakNHLHlCQUF5QjtZQUN6QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZO1lBRVosMkJBQTJCO1lBQzNCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsc0JBQXNCO1lBRXRCLGdGQUFnRjtZQUNoRixtQkFBbUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFxQnZELG1FQUFtRTtZQUNuRSxvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLHNCQUFzQjs7NEZBR2pCLGNBQWM7a0JBaEQxQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wseUJBQXlCO3dCQUN6QixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUVaLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFFdEIsZ0ZBQWdGO3dCQUNoRixtQkFBbUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7cUJBQzFEO29CQUNELFNBQVMsRUFBRTt3QkFDUCxXQUFXO3dCQUNYLHNCQUFzQjt3QkFDdEIsY0FBYzt3QkFDZCw0QkFBNEI7d0JBQzVCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixRQUFRO3dCQUNSLGNBQWM7d0JBQ2QsUUFBUTt3QkFDUixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUU7d0JBQ3RFLGNBQWMsRUFBRTtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ25ELE9BQU8sRUFBRTt3QkFDTCxtRUFBbUU7d0JBQ25FLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixzQkFBc0I7cUJBQ3pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSwgS2V5VmFsdWVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwRGlyZWN0aXZlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwsIE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBTdG9yZURldnRvb2xzTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUtZGV2dG9vbHMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IHByb3ZpZGVOZ3hNYXNrIH0gZnJvbSAnbmd4LW1hc2snO1xyXG5pbXBvcnQgeyBPV0xfREFURV9USU1FX0xPQ0FMRSB9IGZyb20gJ0BkYW5pZWxtb25jYWRhL2FuZ3VsYXItZGF0ZXRpbWUtcGlja2VyJztcclxuXHJcbi8vIEltcG9ydCBuZXcgZ3JhbnVsYXIgbW9kdWxlc1xyXG5pbXBvcnQgeyBCQlNGRm9ybXNCYXNpY01vZHVsZSB9IGZyb20gJy4vYmJzZi1mb3Jtcy1iYXNpYy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCQlNGRHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuL2Jic2YtZHJvcGRvd24ubW9kdWxlJztcclxuaW1wb3J0IHsgQkJTRkRhdGVUaW1lTW9kdWxlIH0gZnJvbSAnLi9iYnNmLWRhdGV0aW1lLm1vZHVsZSc7XHJcbmltcG9ydCB7IEJCU0ZQaG9uZU1vZHVsZSB9IGZyb20gJy4vYmJzZi1waG9uZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCQlNGVXRpbGl0eU1vZHVsZSB9IGZyb20gJy4vYmJzZi11dGlsaXR5Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEJCU0ZNdWx0aWxpbmd1YWxNb2R1bGUgfSBmcm9tICcuL2Jic2YtbXVsdGlsaW5ndWFsLm1vZHVsZSc7XHJcblxyXG4vLyBTZXJ2aWNlc1xyXG5pbXBvcnQgeyBDb250cm9sVXRpbGl0eSB9IGZyb20gJy4uL1NoYXJlZC9zZXJ2aWNlcy9Db250cm9sVXRpbGl0eSc7XHJcbmltcG9ydCB7IE9uUGFnaW5nRmlsdGVyc0NoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi9TaGFyZWQvc2VydmljZXMvT25QYWdpbmdGaWx0ZXJzQ2hhbmdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZW5kZXJDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vU2hhcmVkL3NlcnZpY2VzL3JlbmRlci1jb21wb25lbnQtc2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXJyb3JNYXNzYWdlVmFsaWRhdGlvbiB9IGZyb20gJy4uL1NoYXJlZC9zZXJ2aWNlcy92YWxpZGF0aW9uRXJyb3JNYXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCQlNGRGF0ZVRpbWVQaXBlIH0gZnJvbSAnLi4vU2hhcmVkL1BpcGVzL2Jic2YtZGF0ZS10aW1lLnBpcGUnO1xyXG5pbXBvcnQgeyBCQlNGRGF0ZVBpcGUgfSBmcm9tICcuLi9TaGFyZWQvUGlwZXMvYmJzZi1kYXRlLnBpcGUnO1xyXG5cclxuLyoqXHJcbiAqIEJCU0YgQ29yZSBNb2R1bGUgKExlZ2FjeSAtIEZvciBCYWNrd2FyZCBDb21wYXRpYmlsaXR5KVxyXG4gKiBcclxuICog4pqg77iPICoqREVQUkVDQVRFRCoqOiBUaGlzIG1vZHVsZSBpbXBvcnRzIEFMTCBjb3JlIGNvbnRyb2xzICh+NjUwLTgwMCBLQikgYW5kIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXHJcbiAqIFxyXG4gKiAqKkZvciBiZXR0ZXIgYnVuZGxlIG9wdGltaXphdGlvbiwgdXNlIHRoZSBuZXcgZ3JhbnVsYXIgbW9kdWxlcyBpbnN0ZWFkOioqXHJcbiAqIFxyXG4gKiB8IE1vZHVsZSB8IFNpemUgfCBDb250YWlucyB8XHJcbiAqIHwtLS0tLS0tLXwtLS0tLS18LS0tLS0tLS0tLXxcclxuICogfCAqKkJCU0ZGb3Jtc0Jhc2ljTW9kdWxlKiogfCB+MzAgS0IgfCBUZXh0Qm94LCBUZXh0QXJlYSwgQ2hlY2tCb3gsIFJhZGlvLCBUb2dnbGUgfFxyXG4gKiB8ICoqQkJTRkRyb3Bkb3duTW9kdWxlKiogfCB+MTMwIEtCIHwgRHJvcGRvd25MaXN0IChpbmNsdWRlcyBuZy1zZWxlY3QgfjEwMCBLQikgfFxyXG4gKiB8ICoqQkJTRkRhdGVUaW1lTW9kdWxlKiogfCB+MjIwIEtCIHwgRGF0ZVRpbWVQaWNrZXIgKGluY2x1ZGVzIE93bCBEYXRlVGltZSB+MjAwIEtCKSArIERhdGUgcGlwZXMgfFxyXG4gKiB8ICoqQkJTRlBob25lTW9kdWxlKiogfCB+OTAgS0IgfCBQaG9uZSBpbnB1dCAoaW5jbHVkZXMgaW50bC10ZWwtaW5wdXQgfjgwIEtCKSB8XHJcbiAqIHwgKipCQlNGVXRpbGl0eU1vZHVsZSoqIHwgfjgwIEtCIHwgRm9ybSwgTW9kYWxzLCBQYWdpbmcsIFBhZ2VIZWFkZXIsIFJlY2FwdGNoYSB8XHJcbiAqIHwgKipCQlNGTXVsdGlsaW5ndWFsTW9kdWxlKiogfCB+MTUgS0IgfCBNdWx0aWxpbmd1YWwgdGV4dCBjb250cm9scyB8XHJcbiAqIHwgKipCQlNGQ29yZU1vZHVsZSoqIHwgKip+NjUwLTgwMCBLQioqIHwgKipBTEwgb2YgdGhlIGFib3ZlKiogfFxyXG4gKiBcclxuICogKipCdW5kbGUgU2l6ZSBDb21wYXJpc29uOioqXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogLy8g4p2MIE9sZCB3YXkgKEJCU0ZDb3JlTW9kdWxlKTogfjY1MC04MDAgS0JcclxuICogaW1wb3J0IHsgQkJTRkNvcmVNb2R1bGUgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbiAqIFxyXG4gKiAvLyDinIUgTmV3IHdheSAoT25seSB3aGF0IHlvdSBuZWVkKTogfjE2MCBLQiAoNzQlIHNtYWxsZXIhKVxyXG4gKiBpbXBvcnQgeyBCQlNGRm9ybXNCYXNpY01vZHVsZSwgQkJTRkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG4gKiBgYGBcclxuICogXHJcbiAqICoqTWlncmF0aW9uIEV4YW1wbGU6KipcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiAvLyBCZWZvcmU6IEltcG9ydCBldmVyeXRoaW5nICh+NjUwIEtCKVxyXG4gKiBpbXBvcnQgeyBCQlNGQ29yZU1vZHVsZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuICogXHJcbiAqIEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW0JCU0ZDb3JlTW9kdWxlXVxyXG4gKiB9KVxyXG4gKiBleHBvcnQgY2xhc3MgTXlNb2R1bGUgeyB9XHJcbiAqIFxyXG4gKiAvLyBBZnRlcjogSW1wb3J0IG9ubHkgd2hhdCB5b3UgbmVlZCAofjE2MCBLQiBmb3IgYmFzaWMgZm9ybXMgKyBkcm9wZG93bilcclxuICogaW1wb3J0IHsgQkJTRkZvcm1zQmFzaWNNb2R1bGUsIEJCU0ZEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuICogXHJcbiAqIEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW1xyXG4gKiAgICAgQkJTRkZvcm1zQmFzaWNNb2R1bGUsICAvLyB+MzAgS0IgLSBUZXh0Qm94LCBDaGVja0JveCwgZXRjLlxyXG4gKiAgICAgQkJTRkRyb3Bkb3duTW9kdWxlICAgICAvLyB+MTMwIEtCIC0gRHJvcGRvd25cclxuICogICBdXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBNeU1vZHVsZSB7IH1cclxuICogYGBgXHJcbiAqIFxyXG4gKiAqKkNvbW1vbiBVc2UgQ2FzZXM6KipcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiAvLyBVc2UgY2FzZSAxOiBCYXNpYyBmb3JtcyBvbmx5ICh+MzAgS0IpXHJcbiAqIGltcG9ydCB7IEJCU0ZGb3Jtc0Jhc2ljTW9kdWxlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG4gKiBcclxuICogLy8gVXNlIGNhc2UgMjogRm9ybXMgKyBEcm9wZG93biAofjE2MCBLQiwgNzUlIHNtYWxsZXIgdGhhbiBCQlNGQ29yZU1vZHVsZSlcclxuICogaW1wb3J0IHsgQkJTRkZvcm1zQmFzaWNNb2R1bGUsIEJCU0ZEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuICogXHJcbiAqIC8vIFVzZSBjYXNlIDM6IEZvcm1zICsgRGF0ZSBwaWNrZXIgKH4yNTAgS0IsIDYwJSBzbWFsbGVyKVxyXG4gKiBpbXBvcnQgeyBCQlNGRm9ybXNCYXNpY01vZHVsZSwgQkJTRkRhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG4gKiBcclxuICogLy8gVXNlIGNhc2UgNDogRnVsbCBzZXQgKH41NjUgS0IgLSBzdGlsbCBleGNsdWRlcyB1bnVzZWQgbW9kdWxlcylcclxuICogaW1wb3J0IHsgXHJcbiAqICAgQkJTRkZvcm1zQmFzaWNNb2R1bGUsXHJcbiAqICAgQkJTRkRyb3Bkb3duTW9kdWxlLFxyXG4gKiAgIEJCU0ZEYXRlVGltZU1vZHVsZSxcclxuICogICBCQlNGUGhvbmVNb2R1bGUsXHJcbiAqICAgQkJTRlV0aWxpdHlNb2R1bGUsXHJcbiAqICAgQkJTRk11bHRpbGluZ3VhbE1vZHVsZVxyXG4gKiB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuICogYGBgXHJcbiAqIFxyXG4gKiBUaGlzIG1vZHVsZSB3aWxsIGJlIHJlbW92ZWQgaW4gdjMuMFxyXG4gKiBcclxuICogQGRlcHJlY2F0ZWQgVXNlIGdyYW51bGFyIG1vZHVsZXMgKEJCU0ZGb3Jtc0Jhc2ljTW9kdWxlLCBCQlNGRHJvcGRvd25Nb2R1bGUsIGV0Yy4pIGZvciBiZXR0ZXIgdHJlZS1zaGFraW5nXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICAvLyBDb21tb24gQW5ndWxhciBtb2R1bGVzXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG5cclxuICAgICAgICAvLyBHcmFudWxhciBjb250cm9sIG1vZHVsZXNcclxuICAgICAgICBCQlNGRm9ybXNCYXNpY01vZHVsZSxcclxuICAgICAgICBCQlNGRHJvcGRvd25Nb2R1bGUsXHJcbiAgICAgICAgQkJTRkRhdGVUaW1lTW9kdWxlLFxyXG4gICAgICAgIEJCU0ZQaG9uZU1vZHVsZSxcclxuICAgICAgICBCQlNGVXRpbGl0eU1vZHVsZSxcclxuICAgICAgICBCQlNGTXVsdGlsaW5ndWFsTW9kdWxlLFxyXG5cclxuICAgICAgICAvLyBEZXZUb29scyAoc3RpbGwgaGVyZSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgYnV0IHNob3VsZCBiZSBpbiBhcHAgbW9kdWxlKVxyXG4gICAgICAgIFN0b3JlRGV2dG9vbHNNb2R1bGUuaW5zdHJ1bWVudCh7IGNvbm5lY3RJblpvbmU6IHRydWUgfSlcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAvLyBTZXJ2aWNlc1xyXG4gICAgICAgIEVycm9yTWFzc2FnZVZhbGlkYXRpb24sXHJcbiAgICAgICAgQ29udHJvbFV0aWxpdHksXHJcbiAgICAgICAgT25QYWdpbmdGaWx0ZXJzQ2hhbmdlU2VydmljZSxcclxuICAgICAgICBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICAgICAgICBOZ2JNb2RhbCxcclxuICAgICAgICBOZ2JBY3RpdmVNb2RhbCxcclxuICAgICAgICBEYXRlUGlwZSxcclxuICAgICAgICBLZXlWYWx1ZVBpcGUsXHJcbiAgICAgICAgQkJTRkRhdGVUaW1lUGlwZSxcclxuICAgICAgICBCQlNGRGF0ZVBpcGUsXHJcbiAgICAgICAgUmVuZGVyQ29tcG9uZW50U2VydmljZSxcclxuICAgICAgICB7IHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfTE9DQUxFLCB1c2VWYWx1ZTogQ29udHJvbFV0aWxpdHkuZ2V0TG9jYWwoKSB9LFxyXG4gICAgICAgIHByb3ZpZGVOZ3hNYXNrKClcclxuICAgIF0sXHJcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgLy8gUmUtZXhwb3J0IGdyYW51bGFyIG1vZHVsZXMgc28gYWxsIHRoZWlyIGNvbXBvbmVudHMgYXJlIGF2YWlsYWJsZVxyXG4gICAgICAgIEJCU0ZGb3Jtc0Jhc2ljTW9kdWxlLFxyXG4gICAgICAgIEJCU0ZEcm9wZG93bk1vZHVsZSxcclxuICAgICAgICBCQlNGRGF0ZVRpbWVNb2R1bGUsXHJcbiAgICAgICAgQkJTRlBob25lTW9kdWxlLFxyXG4gICAgICAgIEJCU0ZVdGlsaXR5TW9kdWxlLFxyXG4gICAgICAgIEJCU0ZNdWx0aWxpbmd1YWxNb2R1bGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJCU0ZDb3JlTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule, DatePipe } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';
|
|
5
|
+
import { DateInputComponent } from '../controls/DateTimePicker/DateTimePicker.component';
|
|
6
|
+
import { BBSFDateTimePipe } from '../Shared/Pipes/bbsf-date-time.pipe';
|
|
7
|
+
import { BBSFDatePipe } from '../Shared/Pipes/bbsf-date.pipe';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* BBSF DateTime Module
|
|
11
|
+
*
|
|
12
|
+
* Contains date/time picker control (~200 KB gzipped):
|
|
13
|
+
* - DateTimePicker (powered by Owl DateTime)
|
|
14
|
+
* - BBSFDateTimePipe
|
|
15
|
+
* - BBSFDatePipe
|
|
16
|
+
*
|
|
17
|
+
* Dependencies:
|
|
18
|
+
* - @danielmoncada/angular-datetime-picker (~200 KB)
|
|
19
|
+
*
|
|
20
|
+
* Features:
|
|
21
|
+
* - Date picker
|
|
22
|
+
* - Time picker
|
|
23
|
+
* - DateTime picker
|
|
24
|
+
* - Range selection
|
|
25
|
+
* - Custom formats
|
|
26
|
+
* - Localization support
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* import { BBSFDateTimeModule } from '@bnsights/bbsf-controls';
|
|
31
|
+
*
|
|
32
|
+
* @NgModule({
|
|
33
|
+
* imports: [BBSFDateTimeModule]
|
|
34
|
+
* })
|
|
35
|
+
* export class MyModule { }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export class BBSFDateTimeModule {
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
40
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BBSFDateTimeModule, imports: [CommonModule,
|
|
41
|
+
FormsModule,
|
|
42
|
+
ReactiveFormsModule,
|
|
43
|
+
OwlDateTimeModule,
|
|
44
|
+
OwlNativeDateTimeModule,
|
|
45
|
+
// Import standalone component
|
|
46
|
+
DateInputComponent,
|
|
47
|
+
// Import standalone pipes
|
|
48
|
+
BBSFDateTimePipe,
|
|
49
|
+
BBSFDatePipe], exports: [
|
|
50
|
+
// Re-export standalone component
|
|
51
|
+
DateInputComponent,
|
|
52
|
+
// Re-export standalone pipes
|
|
53
|
+
BBSFDateTimePipe,
|
|
54
|
+
BBSFDatePipe] }); }
|
|
55
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFDateTimeModule, providers: [DatePipe], imports: [CommonModule,
|
|
56
|
+
FormsModule,
|
|
57
|
+
ReactiveFormsModule,
|
|
58
|
+
OwlDateTimeModule,
|
|
59
|
+
OwlNativeDateTimeModule,
|
|
60
|
+
// Import standalone component
|
|
61
|
+
DateInputComponent] }); }
|
|
62
|
+
}
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFDateTimeModule, decorators: [{
|
|
64
|
+
type: NgModule,
|
|
65
|
+
args: [{
|
|
66
|
+
declarations: [],
|
|
67
|
+
imports: [
|
|
68
|
+
CommonModule,
|
|
69
|
+
FormsModule,
|
|
70
|
+
ReactiveFormsModule,
|
|
71
|
+
OwlDateTimeModule,
|
|
72
|
+
OwlNativeDateTimeModule,
|
|
73
|
+
// Import standalone component
|
|
74
|
+
DateInputComponent,
|
|
75
|
+
// Import standalone pipes
|
|
76
|
+
BBSFDateTimePipe,
|
|
77
|
+
BBSFDatePipe
|
|
78
|
+
],
|
|
79
|
+
providers: [DatePipe],
|
|
80
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
|
|
81
|
+
exports: [
|
|
82
|
+
// Re-export standalone component
|
|
83
|
+
DateInputComponent,
|
|
84
|
+
// Re-export standalone pipes
|
|
85
|
+
BBSFDateTimePipe,
|
|
86
|
+
BBSFDatePipe
|
|
87
|
+
]
|
|
88
|
+
}]
|
|
89
|
+
}] });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJzZi1kYXRldGltZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvbW9kdWxlcy9iYnNmLWRhdGV0aW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXBHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFOUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUF5QkgsTUFBTSxPQUFPLGtCQUFrQjsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsWUFyQnZCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsOEJBQThCO1lBQzlCLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFLWixpQ0FBaUM7WUFDakMsa0JBQWtCO1lBQ2xCLDZCQUE2QjtZQUM3QixnQkFBZ0I7WUFDaEIsWUFBWTtnSEFHUCxrQkFBa0IsYUFWaEIsQ0FBQyxRQUFRLENBQUMsWUFYakIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsa0JBQWtCOzs0RkFlYixrQkFBa0I7a0JBeEI5QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLDhCQUE4Qjt3QkFDOUIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsWUFBWTtxQkFDZjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDO29CQUNuRCxPQUFPLEVBQUU7d0JBQ0wsaUNBQWlDO3dCQUNqQyxrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0IsZ0JBQWdCO3dCQUNoQixZQUFZO3FCQUNmO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPd2xEYXRlVGltZU1vZHVsZSwgT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAZGFuaWVsbW9uY2FkYS9hbmd1bGFyLWRhdGV0aW1lLXBpY2tlcic7XHJcblxyXG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9jb250cm9scy9EYXRlVGltZVBpY2tlci9EYXRlVGltZVBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCQlNGRGF0ZVRpbWVQaXBlIH0gZnJvbSAnLi4vU2hhcmVkL1BpcGVzL2Jic2YtZGF0ZS10aW1lLnBpcGUnO1xyXG5pbXBvcnQgeyBCQlNGRGF0ZVBpcGUgfSBmcm9tICcuLi9TaGFyZWQvUGlwZXMvYmJzZi1kYXRlLnBpcGUnO1xyXG5cclxuLyoqXHJcbiAqIEJCU0YgRGF0ZVRpbWUgTW9kdWxlXHJcbiAqIFxyXG4gKiBDb250YWlucyBkYXRlL3RpbWUgcGlja2VyIGNvbnRyb2wgKH4yMDAgS0IgZ3ppcHBlZCk6XHJcbiAqIC0gRGF0ZVRpbWVQaWNrZXIgKHBvd2VyZWQgYnkgT3dsIERhdGVUaW1lKVxyXG4gKiAtIEJCU0ZEYXRlVGltZVBpcGVcclxuICogLSBCQlNGRGF0ZVBpcGVcclxuICogXHJcbiAqIERlcGVuZGVuY2llczpcclxuICogLSBAZGFuaWVsbW9uY2FkYS9hbmd1bGFyLWRhdGV0aW1lLXBpY2tlciAofjIwMCBLQilcclxuICogXHJcbiAqIEZlYXR1cmVzOlxyXG4gKiAtIERhdGUgcGlja2VyXHJcbiAqIC0gVGltZSBwaWNrZXJcclxuICogLSBEYXRlVGltZSBwaWNrZXJcclxuICogLSBSYW5nZSBzZWxlY3Rpb25cclxuICogLSBDdXN0b20gZm9ybWF0c1xyXG4gKiAtIExvY2FsaXphdGlvbiBzdXBwb3J0XHJcbiAqIFxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGltcG9ydCB7IEJCU0ZEYXRlVGltZU1vZHVsZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuICogXHJcbiAqIEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW0JCU0ZEYXRlVGltZU1vZHVsZV1cclxuICogfSlcclxuICogZXhwb3J0IGNsYXNzIE15TW9kdWxlIHsgfVxyXG4gKiBgYGBcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtdLCAvLyBObyBkZWNsYXJhdGlvbnMgLSBjb21wb25lbnQgYW5kIHBpcGVzIGFyZSBzdGFuZGFsb25lXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgT3dsRGF0ZVRpbWVNb2R1bGUsXHJcbiAgICAgICAgT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUsXHJcbiAgICAgICAgLy8gSW1wb3J0IHN0YW5kYWxvbmUgY29tcG9uZW50XHJcbiAgICAgICAgRGF0ZUlucHV0Q29tcG9uZW50LFxyXG4gICAgICAgIC8vIEltcG9ydCBzdGFuZGFsb25lIHBpcGVzXHJcbiAgICAgICAgQkJTRkRhdGVUaW1lUGlwZSxcclxuICAgICAgICBCQlNGRGF0ZVBpcGVcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtEYXRlUGlwZV0sXHJcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgLy8gUmUtZXhwb3J0IHN0YW5kYWxvbmUgY29tcG9uZW50XHJcbiAgICAgICAgRGF0ZUlucHV0Q29tcG9uZW50LFxyXG4gICAgICAgIC8vIFJlLWV4cG9ydCBzdGFuZGFsb25lIHBpcGVzXHJcbiAgICAgICAgQkJTRkRhdGVUaW1lUGlwZSxcclxuICAgICAgICBCQlNGRGF0ZVBpcGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJCU0ZEYXRlVGltZU1vZHVsZSB7IH1cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { DropdownListComponent } from '../controls/DropdownList/DropdownList.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* BBSF Dropdown Module
|
|
6
|
+
*
|
|
7
|
+
* Contains dropdown control (~130 KB gzipped):
|
|
8
|
+
* - DropdownList (powered by ng-select)
|
|
9
|
+
*
|
|
10
|
+
* Dependencies:
|
|
11
|
+
* - @ng-select/ng-select (~100 KB)
|
|
12
|
+
*
|
|
13
|
+
* Features:
|
|
14
|
+
* - Single/Multiple selection
|
|
15
|
+
* - Search/Filter
|
|
16
|
+
* - Custom templates
|
|
17
|
+
* - Lazy loading
|
|
18
|
+
* - Virtual scrolling
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { BBSFDropdownModule } from '@bnsights/bbsf-controls';
|
|
23
|
+
*
|
|
24
|
+
* @NgModule({
|
|
25
|
+
* imports: [BBSFDropdownModule]
|
|
26
|
+
* })
|
|
27
|
+
* export class MyModule { }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export class BBSFDropdownModule {
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
32
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BBSFDropdownModule, imports: [
|
|
33
|
+
// Import standalone component
|
|
34
|
+
DropdownListComponent], exports: [
|
|
35
|
+
// Re-export standalone component
|
|
36
|
+
DropdownListComponent] }); }
|
|
37
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFDropdownModule, imports: [
|
|
38
|
+
// Import standalone component
|
|
39
|
+
DropdownListComponent] }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BBSFDropdownModule, decorators: [{
|
|
42
|
+
type: NgModule,
|
|
43
|
+
args: [{
|
|
44
|
+
declarations: [],
|
|
45
|
+
imports: [
|
|
46
|
+
// Import standalone component
|
|
47
|
+
DropdownListComponent
|
|
48
|
+
],
|
|
49
|
+
providers: [],
|
|
50
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
|
|
51
|
+
exports: [
|
|
52
|
+
// Re-export standalone component
|
|
53
|
+
DropdownListComponent
|
|
54
|
+
]
|
|
55
|
+
}]
|
|
56
|
+
}] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJzZi1kcm9wZG93bi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvbW9kdWxlcy9iYnNmLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQUV4Rjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQWNILE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCO1lBVnZCLDhCQUE4QjtZQUM5QixxQkFBcUI7WUFLckIsaUNBQWlDO1lBQ2pDLHFCQUFxQjtnSEFHaEIsa0JBQWtCO1lBVnZCLDhCQUE4QjtZQUM5QixxQkFBcUI7OzRGQVNoQixrQkFBa0I7a0JBYjlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDTCw4QkFBOEI7d0JBQzlCLHFCQUFxQjtxQkFDeEI7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ25ELE9BQU8sRUFBRTt3QkFDTCxpQ0FBaUM7d0JBQ2pDLHFCQUFxQjtxQkFDeEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBEcm9wZG93bkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9jb250cm9scy9Ecm9wZG93bkxpc3QvRHJvcGRvd25MaXN0LmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQkJTRiBEcm9wZG93biBNb2R1bGVcclxuICogXHJcbiAqIENvbnRhaW5zIGRyb3Bkb3duIGNvbnRyb2wgKH4xMzAgS0IgZ3ppcHBlZCk6XHJcbiAqIC0gRHJvcGRvd25MaXN0IChwb3dlcmVkIGJ5IG5nLXNlbGVjdClcclxuICogXHJcbiAqIERlcGVuZGVuY2llczpcclxuICogLSBAbmctc2VsZWN0L25nLXNlbGVjdCAofjEwMCBLQilcclxuICogXHJcbiAqIEZlYXR1cmVzOlxyXG4gKiAtIFNpbmdsZS9NdWx0aXBsZSBzZWxlY3Rpb25cclxuICogLSBTZWFyY2gvRmlsdGVyXHJcbiAqIC0gQ3VzdG9tIHRlbXBsYXRlc1xyXG4gKiAtIExhenkgbG9hZGluZ1xyXG4gKiAtIFZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAqIFxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGltcG9ydCB7IEJCU0ZEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuICogXHJcbiAqIEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW0JCU0ZEcm9wZG93bk1vZHVsZV1cclxuICogfSlcclxuICogZXhwb3J0IGNsYXNzIE15TW9kdWxlIHsgfVxyXG4gKiBgYGBcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIC8vIEltcG9ydCBzdGFuZGFsb25lIGNvbXBvbmVudFxyXG4gICAgICAgIERyb3Bkb3duTGlzdENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW10sXHJcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgLy8gUmUtZXhwb3J0IHN0YW5kYWxvbmUgY29tcG9uZW50XHJcbiAgICAgICAgRHJvcGRvd25MaXN0Q29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCQlNGRHJvcGRvd25Nb2R1bGUgeyB9XHJcblxyXG4iXX0=
|