@seniorsistemas/angular-components 16.2.2 → 16.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-angular-components.umd.js +237 -9
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/dynamic-form/components/lookup/lookup.component.d.ts +1 -0
- package/components/dynamic-form/configurations/fields/lookup-field.d.ts +2 -0
- package/components/dynamic-form/configurations/form-field.d.ts +1 -0
- package/components/profile-picture-picker/index.d.ts +3 -0
- package/components/profile-picture-picker/models/cropper-labels-config.d.ts +9 -0
- package/components/profile-picture-picker/models/file-validation-errors.d.ts +10 -0
- package/components/profile-picture-picker/models/index.d.ts +2 -0
- package/components/profile-picture-picker/profile-picture-picker.component.d.ts +38 -0
- package/components/profile-picture-picker/profile-picture-picker.module.d.ts +2 -0
- package/components/thumbnail/thumbnail.service.d.ts +0 -1
- package/esm2015/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
- package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +6 -2
- package/esm2015/components/dynamic-form/configurations/fields/lookup-field.js +2 -1
- package/esm2015/components/dynamic-form/configurations/form-field.js +1 -1
- package/esm2015/components/image-cropper/image-cropper.component.js +8 -6
- package/esm2015/components/profile-picture-picker/index.js +4 -0
- package/esm2015/components/profile-picture-picker/models/cropper-labels-config.js +1 -0
- package/esm2015/components/profile-picture-picker/models/file-validation-errors.js +8 -0
- package/esm2015/components/profile-picture-picker/models/index.js +2 -0
- package/esm2015/components/profile-picture-picker/profile-picture-picker.component.js +194 -0
- package/esm2015/components/profile-picture-picker/profile-picture-picker.module.js +25 -0
- package/esm2015/components/thumbnail/thumbnail.component.js +5 -4
- package/esm2015/components/thumbnail/thumbnail.service.js +1 -2
- package/esm2015/public-api.js +2 -1
- package/esm5/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
- package/esm5/components/dynamic-form/components/lookup/lookup.component.js +6 -2
- package/esm5/components/dynamic-form/configurations/fields/lookup-field.js +2 -1
- package/esm5/components/dynamic-form/configurations/form-field.js +1 -1
- package/esm5/components/image-cropper/image-cropper.component.js +8 -6
- package/esm5/components/profile-picture-picker/index.js +4 -0
- package/esm5/components/profile-picture-picker/models/cropper-labels-config.js +1 -0
- package/esm5/components/profile-picture-picker/models/file-validation-errors.js +8 -0
- package/esm5/components/profile-picture-picker/models/index.js +2 -0
- package/esm5/components/profile-picture-picker/profile-picture-picker.component.js +196 -0
- package/esm5/components/profile-picture-picker/profile-picture-picker.module.js +28 -0
- package/esm5/components/thumbnail/thumbnail.component.js +5 -4
- package/esm5/components/thumbnail/thumbnail.service.js +1 -1
- package/esm5/public-api.js +2 -1
- package/fesm2015/seniorsistemas-angular-components.js +231 -11
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +236 -10
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -1985,6 +1985,7 @@
|
|
|
1985
1985
|
_this.selectLabel = "Selecionar";
|
|
1986
1986
|
_this.recordLabel = " registro";
|
|
1987
1987
|
_this.recordsLabel = " registros";
|
|
1988
|
+
_this.autocompleteForceSelection = true;
|
|
1988
1989
|
_this.onSelect = function (event) { };
|
|
1989
1990
|
_this.onUnselect = function (event) { };
|
|
1990
1991
|
Object.assign(_this, config);
|
|
@@ -2159,6 +2160,7 @@
|
|
|
2159
2160
|
function LookupComponent(hotkeysService) {
|
|
2160
2161
|
this.hotkeysService = hotkeysService;
|
|
2161
2162
|
this.id = "s-lookup-" + LookupComponent_1.nextId++;
|
|
2163
|
+
this.autocompleteForceSelection = true;
|
|
2162
2164
|
this.disabled = false;
|
|
2163
2165
|
this.showSearch = true;
|
|
2164
2166
|
this.lookupAppendTo = "body";
|
|
@@ -2456,6 +2458,9 @@
|
|
|
2456
2458
|
__decorate([
|
|
2457
2459
|
core.Input()
|
|
2458
2460
|
], LookupComponent.prototype, "id", void 0);
|
|
2461
|
+
__decorate([
|
|
2462
|
+
core.Input()
|
|
2463
|
+
], LookupComponent.prototype, "autocompleteForceSelection", void 0);
|
|
2459
2464
|
__decorate([
|
|
2460
2465
|
core.Input()
|
|
2461
2466
|
], LookupComponent.prototype, "multiple", void 0);
|
|
@@ -2582,7 +2587,7 @@
|
|
|
2582
2587
|
LookupComponent = LookupComponent_1 = __decorate([
|
|
2583
2588
|
core.Component({
|
|
2584
2589
|
selector: "s-lookup",
|
|
2585
|
-
template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\">\n <ng-template let-item pTemplate=\"selectedItem\">\n <span\n class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [sTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\">\n </button>\n</div>\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog>\n <div\n *ngIf=\"dialogVisible\"\n class=\"s-lookup-modal-container\">\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter\"\n [@collapseContent]=\"collapsed \n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\">\n <div\n *ngIf=\"!collapsed\"\n class=\"form-content\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [fields]=\"searchFields\"\n [form]=\"formGroupDialog\">\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\">\n <span\n class=\"fa\"\n [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\">\n </span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div\n class=\"content\"\n [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\">\n </s-empty-state>\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngIf=\"multiple\"\n style=\"width: 50px\" />\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th\n *ngIf=\"multiple\"\n style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps ? false : true\"\n [rowProps]=\"lookupRowProps\">\n </s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon\n [field]=\"col.name\"\n *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\">\n </p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\">\n <td\n *ngIf=\"multiple\"\n style=\"width: 50px\"\n tabindex=\"0\">\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\">\n </p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\">\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'LocalDateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\">\n </s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </p-footer>\n</p-dialog>\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
|
|
2590
|
+
template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\">\n <ng-template let-item pTemplate=\"selectedItem\">\n <span\n class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [sTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\">\n </button>\n</div>\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog>\n <div\n *ngIf=\"dialogVisible\"\n class=\"s-lookup-modal-container\">\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter\"\n [@collapseContent]=\"collapsed \n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\">\n <div\n *ngIf=\"!collapsed\"\n class=\"form-content\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [fields]=\"searchFields\"\n [form]=\"formGroupDialog\">\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\">\n <span\n class=\"fa\"\n [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\">\n </span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div\n class=\"content\"\n [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\">\n </s-empty-state>\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngIf=\"multiple\"\n style=\"width: 50px\" />\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th\n *ngIf=\"multiple\"\n style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps ? false : true\"\n [rowProps]=\"lookupRowProps\">\n </s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon\n [field]=\"col.name\"\n *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\">\n </p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\">\n <td\n *ngIf=\"multiple\"\n style=\"width: 50px\"\n tabindex=\"0\">\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\">\n </p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\">\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'LocalDateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\">\n </s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </p-footer>\n</p-dialog>\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
|
|
2586
2591
|
providers: [
|
|
2587
2592
|
{
|
|
2588
2593
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
@@ -5358,7 +5363,7 @@
|
|
|
5358
5363
|
], LookupFieldComponent.prototype, "formControl", void 0);
|
|
5359
5364
|
LookupFieldComponent = __decorate([
|
|
5360
5365
|
core.Component({
|
|
5361
|
-
template: "<div\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\">\n <s-lookup\n [id]=\"(field.id || field.name)\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest($event)\"\n (onSearchRequest)=\"field.onSearchRequest($event)\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [searchTotalRecordsLabel]=\"field.searchTotalRecordsLabel\"\n [searchTitle]=\"field.searchTitle\"\n [selectLabel]=\"field.selectLabel\"\n [searchEmptyTitle]=\"field.searchEmptyTitle\"\n [filterLabel]=\"field.filterLabel\"\n [filterTitle]=\"field.filterTitle\"\n [clearLabel]=\"field.clearLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [recordLabel]=\"field.recordLabel\"\n [recordsLabel]=\"field.recordsLabel\">\n </s-lookup>\n</div>\n"
|
|
5366
|
+
template: "<div\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\">\n <s-lookup\n [id]=\"(field.id || field.name)\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest($event)\"\n (onSearchRequest)=\"field.onSearchRequest($event)\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [searchTotalRecordsLabel]=\"field.searchTotalRecordsLabel\"\n [searchTitle]=\"field.searchTitle\"\n [selectLabel]=\"field.selectLabel\"\n [searchEmptyTitle]=\"field.searchEmptyTitle\"\n [filterLabel]=\"field.filterLabel\"\n [filterTitle]=\"field.filterTitle\"\n [clearLabel]=\"field.clearLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [recordLabel]=\"field.recordLabel\"\n [recordsLabel]=\"field.recordsLabel\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\">\n </s-lookup>\n</div>\n"
|
|
5362
5367
|
})
|
|
5363
5368
|
], LookupFieldComponent);
|
|
5364
5369
|
return LookupFieldComponent;
|
|
@@ -6968,9 +6973,11 @@
|
|
|
6968
6973
|
this.croppedCanvas.emit();
|
|
6969
6974
|
}
|
|
6970
6975
|
else {
|
|
6971
|
-
var
|
|
6972
|
-
|
|
6973
|
-
|
|
6976
|
+
var _croppedCanvas = this.rounded
|
|
6977
|
+
? this.getRoundedCanvas(this.cropper.getCroppedCanvas())
|
|
6978
|
+
: this.cropper.getCroppedCanvas();
|
|
6979
|
+
this.croppedCanvas.emit(_croppedCanvas);
|
|
6980
|
+
this.croppedImage.emit(_croppedCanvas.toDataURL());
|
|
6974
6981
|
}
|
|
6975
6982
|
this.visibleChange.emit(false);
|
|
6976
6983
|
};
|
|
@@ -7070,9 +7077,9 @@
|
|
|
7070
7077
|
ImageCropperComponent = ImageCropperComponent_1 = __decorate([
|
|
7071
7078
|
core.Component({
|
|
7072
7079
|
selector: "s-image-cropper",
|
|
7073
|
-
template: "<div [id]=\"id\">\n <p-dialog
|
|
7080
|
+
template: "<div [id]=\"id\">\n <p-dialog\n styleClass=\"s-image-cropper {{rounded ? 's-image-cropper--rounded' : ''}}\"\n [header]=\"headerSection ? '' : header\"\n [visible]=\"visible\"\n (visibleChange)=\"onModalVisibleChange($event)\"\n [modal]=\"true\"\n [blockScroll]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [closeOnEscape]=\"allowCancel\"\n [closable]=\"allowCancel\"\n appendTo=\"body\">\n\n <p-header *ngIf=\"headerSection\">\n <ng-content select=\"s-header\"></ng-content>\n </p-header>\n\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!imageSource\"\n [title]=\"emptyStateTitle\"\n [iconClass]=\"emptyStateIconClass\"\n [primaryActionLabel]=\"emptyStateActionLabel\"\n (primaryAction)=\"onChangeImage()\">\n </s-empty-state>\n\n <div [attr.data-hidden]=\"!imageSource\" class=\"image-container\">\n <img\n [id]=\"id + '-cropper'\"\n #image\n [src]=\"imageSource || ''\"\n alt=\"cropped image\"/>\n </div>\n\n <p-footer>\n <div class=\"ui-fluid\" *ngIf=\"!footerSection\">\n <div class=\"ui-g button-container\">\n\n <div *ngIf=\"allowCancel\" class=\"ui-sm-12 ui-md-3 ui-lg-2 ui-xl-2\">\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"onCancel()\">\n </s-button>\n </div>\n\n <div *ngIf=\"imageSource && allowRemove\" class=\"ui-sm-12 ui-md-3 ui-lg-2 ui-xl-2\">\n <s-button\n [id]=\"id + '-remove-button'\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"removeLabel\"\n (onClick)=\"onRemoveImage()\">\n </s-button>\n </div>\n\n <div *ngIf=\"imageSource && allowSelectAnother\" class=\"ui-sm-12 ui-md-3 ui-lg-2 ui-xl-2\">\n <s-button\n [id]=\"id + '-select-another-button'\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"selectAnotherLabel\"\n (onClick)=\"onChangeImage()\">\n </s-button>\n </div>\n\n <div class=\"ui-sm-12 ui-md-3 ui-lg-2 ui-xl-2\">\n <s-button\n [id]=\"id + '-crop-button'\"\n type=\"button\"\n [label]=\"cropLabel\"\n (onClick)=\"onCropImage()\">\n </s-button>\n </div>\n </div>\n </div>\n\n <ng-content select=\"s-footer\" *ngIf=\"footerSection\"></ng-content>\n </p-footer>\n </p-dialog>\n</div>",
|
|
7074
7081
|
encapsulation: core.ViewEncapsulation.None,
|
|
7075
|
-
styles: ["/*!\n * Cropper.js v1.4.1\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-07-15T09:54:43.167Z\n */.cropper-container{-moz-user-select:none;-ms-touch-action:none;-ms-user-select:none;-webkit-user-select:none;direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;user-select:none}.cropper-container img{display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:rgba(51,153,255,.75) solid 1px;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:\" \";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:\" \";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}", ".s-image-cropper{border-radius:0!important;
|
|
7082
|
+
styles: ["/*!\n * Cropper.js v1.4.1\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-07-15T09:54:43.167Z\n */.cropper-container{-moz-user-select:none;-ms-touch-action:none;-ms-user-select:none;-webkit-user-select:none;direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;user-select:none}.cropper-container img{display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:rgba(51,153,255,.75) solid 1px;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:\" \";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:\" \";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}", ".s-image-cropper{border-radius:0!important;height:80%!important;max-width:100%!important;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.s-image-cropper .ui-dialog-content{overflow:hidden;height:auto!important;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.s-image-cropper .ui-dialog-footer,.s-image-cropper .ui-dialog-header{-ms-flex-negative:0;flex-shrink:0;direction:ltr}.s-image-cropper .image-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%}.s-image-cropper img{max-width:100%;max-height:100%}.s-image-cropper .button-container{-ms-flex-flow:wrap-reverse;flex-flow:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}.s-image-cropper .cropper-view-box{outline:#fff dashed 2px}.s-image-cropper .cropper-line{opacity:0}.s-image-cropper .cropper-point{background-color:#fff;opacity:1;height:15px;width:15px;border-radius:50%}.s-image-cropper .cropper-point.point-e{right:-8.5px;top:calc(50% - 4.5px)}.s-image-cropper .cropper-point.point-n{top:-8.5px;left:calc(50% - 4.5px)}.s-image-cropper .cropper-point.point-w{left:-8.5px;top:calc(50% - 4.5px)}.s-image-cropper .cropper-point.point-s{bottom:-8.5px;left:calc(50% - 4.5px)}.s-image-cropper .cropper-point.point-ne{right:-8.5px;top:-8.5px}.s-image-cropper .cropper-point.point-nw{left:-8.5px;top:-8.5px}.s-image-cropper .cropper-point.point-sw{left:-8.5px;bottom:-8.5px}.s-image-cropper .cropper-point.point-se{right:-8.5px;bottom:-8.5px}.s-image-cropper--rounded .cropper-face,.s-image-cropper--rounded .cropper-view-box{border-radius:50%}.s-image-cropper--rounded .cropper-view-box{outline:rgba(255,255,255,.3) dashed 1px}.s-image-cropper--rounded .cropper-view-box:after{border:2px dashed #fff;border-radius:50%;content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}@media (max-width:767px){.s-image-cropper{border:none!important;top:0!important;left:0!important;width:100%!important;height:100%!important}}@media (min-width:768px){.s-image-cropper{width:80%!important}}@media (min-width:1200px){.s-image-cropper{width:60%!important}}"]
|
|
7076
7083
|
})
|
|
7077
7084
|
], ImageCropperComponent);
|
|
7078
7085
|
return ImageCropperComponent;
|
|
@@ -7245,12 +7252,13 @@
|
|
|
7245
7252
|
};
|
|
7246
7253
|
ThumbnailComponent.prototype.ngAfterViewInit = function () {
|
|
7247
7254
|
var _this = this;
|
|
7248
|
-
if (this.imgEl)
|
|
7255
|
+
if (this.imgEl) {
|
|
7249
7256
|
this.imgEl.nativeElement.addEventListener("load", function () {
|
|
7250
7257
|
rxjs.from(_this.thumbnailService.getBinaryFile(_this.imgEl.nativeElement))
|
|
7251
7258
|
.pipe(operators.takeUntil(_this.ngUnsubscribe))
|
|
7252
7259
|
.subscribe(function (orientation) { return (_this.orientation = orientation); });
|
|
7253
7260
|
});
|
|
7261
|
+
}
|
|
7254
7262
|
};
|
|
7255
7263
|
var ThumbnailComponent_1;
|
|
7256
7264
|
ThumbnailComponent.nextId = 0;
|
|
@@ -7293,7 +7301,7 @@
|
|
|
7293
7301
|
ThumbnailComponent = ThumbnailComponent_1 = __decorate([
|
|
7294
7302
|
core.Component({
|
|
7295
7303
|
selector: "s-thumbnail",
|
|
7296
|
-
template: "<div
|
|
7304
|
+
template: "<div\n [id]=\"id\"\n class=\"thumbnail-container thumbnail-container--{{size}}\"\n [ngClass]=\"{\n 'thumbnail-container--with-action': hasAction,\n 'thumbnail-container--brand': isBrand\n }\">\n <div\n [id]=\"id + '-image-container'\"\n *ngIf=\"imageSource || imageFallback\"\n class=\"image-container\"\n [ngClass]=\"{\n 'image-container--rounded': !isBrand\n }\">\n <img\n #img\n [id]=\"id + '-image'\"\n (error)=\"fallback = true\"\n [src]=\"imageSource\"\n [alt]=\"imageAlt\"\n *ngIf=\"!fallback\"\n [ngClass]=\"{\n 'smallThumbnail': isTile,\n 'exif-orientation-2': orientation == 2,\n 'exif-orientation-3': orientation == 3,\n 'exif-orientation-4': orientation == 4,\n 'exif-orientation-5': orientation == 5,\n 'exif-orientation-6': orientation == 6,\n 'exif-orientation-7': orientation == 7,\n 'exif-orientation-8': orientation == 8\n }\"/>\n\n <img\n #img\n [id]=\"id + '-image-fallback'\"\n (error)=\"imageFallback = undefined\"\n [src]=\"imageFallback\"\n [alt]=\"imageAlt\"\n *ngIf=\"fallback && imageFallback\"\n [ngClass]=\"{\n 'smallThumbnail': isTile,\n 'exif-orientation-2': orientation == 2,\n 'exif-orientation-3': orientation == 3,\n 'exif-orientation-4': orientation == 4,\n 'exif-orientation-5': orientation == 5,\n 'exif-orientation-6': orientation == 6,\n 'exif-orientation-7': orientation == 7,\n 'exif-orientation-8': orientation == 8\n }\"/>\n\n <i\n *ngIf=\"fallback && !imageFallback\"\n ngClass=\"far fa-image\"\n class=\"fallback-img-color\">\n </i>\n </div>\n <div\n [id]=\"id + '-action-icon-container'\"\n *ngIf=\"hasAction\"\n class=\"action-icon-container action-icon-container--{{size}}\">\n <span\n [id]=\"id + '-action-icon'\"\n [class]=\"actionIconClass\"\n aria-hidden=\"true\">\n </span>\n </div>\n <div\n [id]=\"id + '-icon-container'\"\n *ngIf=\"!imageSource && !imageFallback\"\n class=\"icon-container icon-container--{{size}}\"\n [ngClass]=\"{'image-container--rounded': !isBrand}\">\n <span\n [id]=\"id + '-icon'\"\n [class]=\"iconClass\"\n aria-hidden=\"true\">\n </span>\n </div>\n\n <ng-content></ng-content>\n</div>\n",
|
|
7297
7305
|
styles: [":host{display:inline-block}.thumbnail-container{color:#fff;position:relative;text-align:center}.thumbnail-container--large{font-size:50px;height:100px;width:100px}.thumbnail-container--large.thumbnail-container--brand{width:200px}.thumbnail-container--medium{font-size:40px;height:70px;width:70px}.thumbnail-container--medium.thumbnail-container--brand{width:140px}.thumbnail-container--small{font-size:22px;height:40px;width:40px}.thumbnail-container--small.thumbnail-container--brand{width:80px}.thumbnail-container--with-action{cursor:pointer}.action-icon-container{background-color:#428bca;border-radius:50%;bottom:0;position:absolute;right:0}.action-icon-container--large,.action-icon-container--medium{font-size:10pt;height:25px;padding:3px;width:25px}.action-icon-container--small{font-size:6pt;height:16px;padding:2px;width:16px}.icon-container,.image-container{-ms-flex-align:center;align-items:center;height:100%;overflow:hidden;width:100%}.icon-container--rounded,.image-container--rounded{border-radius:50%}.smallThumbnail{height:40px!important}.icon-container{background-color:#ccc;color:#fff}.icon-container--large{line-height:98px}.icon-container--medium{line-height:68px}.icon-container--small{line-height:38px}.image-container{-ms-flex-align:center;align-items:center;background-color:#ccc;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.image-container img{width:100%}.image-container img.exif-orientation-2{transform:rotateY(180deg)}.image-container img.exif-orientation-3{transform:rotate(180deg)}.image-container img.exif-orientation-4{transform:rotate(180deg) rotateY(180deg)}.image-container img.exif-orientation-5{transform:rotate(270deg) rotateY(180deg)}.image-container img.exif-orientation-6{transform:rotate(90deg)}.image-container img.exif-orientation-7{transform:rotate(90deg) rotateY(180deg)}.image-container img.exif-orientation-8{transform:rotate(270deg)}.fallback-img-color{color:#fff}"]
|
|
7298
7306
|
})
|
|
7299
7307
|
], ThumbnailComponent);
|
|
@@ -8458,6 +8466,224 @@
|
|
|
8458
8466
|
}());
|
|
8459
8467
|
|
|
8460
8468
|
|
|
8469
|
+
(function (FileValidation) {
|
|
8470
|
+
FileValidation["MaxFileSize"] = "maxFileSize";
|
|
8471
|
+
FileValidation["MaxFileLimit"] = "maxFileLimit";
|
|
8472
|
+
FileValidation["TypeInvalid"] = "typeInvalid";
|
|
8473
|
+
FileValidation["UnsupportedExtension"] = "unsupportedExtension";
|
|
8474
|
+
})(exports.FileValidation || (exports.FileValidation = {}));
|
|
8475
|
+
|
|
8476
|
+
var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
8477
|
+
function ProfilePicturePickerComponent(imageCropperService) {
|
|
8478
|
+
this.imageCropperService = imageCropperService;
|
|
8479
|
+
this.aspectRatio = 1;
|
|
8480
|
+
this.removeButtonLabel = "Remover";
|
|
8481
|
+
this.changeButtonLabel = "Alterar foto";
|
|
8482
|
+
this.supportedExtensions = [];
|
|
8483
|
+
this.changedImage = new core.EventEmitter();
|
|
8484
|
+
this.invalidFile = new core.EventEmitter();
|
|
8485
|
+
}
|
|
8486
|
+
ProfilePicturePickerComponent.prototype.ngOnInit = function () {
|
|
8487
|
+
this._normalizeSuportedExtensions();
|
|
8488
|
+
};
|
|
8489
|
+
ProfilePicturePickerComponent.prototype.onDragOver = function (event) {
|
|
8490
|
+
event.preventDefault();
|
|
8491
|
+
event.stopPropagation();
|
|
8492
|
+
};
|
|
8493
|
+
ProfilePicturePickerComponent.prototype.onDragLeave = function (event) {
|
|
8494
|
+
event.preventDefault();
|
|
8495
|
+
event.stopPropagation();
|
|
8496
|
+
};
|
|
8497
|
+
ProfilePicturePickerComponent.prototype.onDrop = function (event) {
|
|
8498
|
+
event.preventDefault();
|
|
8499
|
+
event.stopPropagation();
|
|
8500
|
+
var files = [];
|
|
8501
|
+
var dataTransferFiles = event.dataTransfer.files;
|
|
8502
|
+
for (var i = 0; i < dataTransferFiles.length; i++) {
|
|
8503
|
+
files.push(dataTransferFiles.item(i));
|
|
8504
|
+
}
|
|
8505
|
+
this._showImageCropper(files);
|
|
8506
|
+
};
|
|
8507
|
+
// Verificando o redimensionamento para ajustar o design para ficar responsivo.
|
|
8508
|
+
ProfilePicturePickerComponent.prototype.onResize = function () {
|
|
8509
|
+
if (this.uploadPicture && this.info && this.thumbnail) {
|
|
8510
|
+
var uploadPictureWidth = this._getWidthElement(this.uploadPicture);
|
|
8511
|
+
var infoWidth = this._getWidthElement(this.info);
|
|
8512
|
+
var thumbnailWidth = this._getWidthElement(this.thumbnail);
|
|
8513
|
+
if (thumbnailWidth + infoWidth > uploadPictureWidth) {
|
|
8514
|
+
this.uploadPicture.nativeElement.classList.add("upload-picture--small");
|
|
8515
|
+
}
|
|
8516
|
+
else {
|
|
8517
|
+
this.uploadPicture.nativeElement.classList.remove("upload-picture--small");
|
|
8518
|
+
}
|
|
8519
|
+
}
|
|
8520
|
+
};
|
|
8521
|
+
ProfilePicturePickerComponent.prototype.selectPhoto = function () {
|
|
8522
|
+
var fileInputElement = this.fileInput.nativeElement;
|
|
8523
|
+
fileInputElement.value = "";
|
|
8524
|
+
fileInputElement.click();
|
|
8525
|
+
};
|
|
8526
|
+
ProfilePicturePickerComponent.prototype.removePhoto = function () {
|
|
8527
|
+
var fileInputElement = this.fileInput.nativeElement;
|
|
8528
|
+
fileInputElement.value = "";
|
|
8529
|
+
this.image = "";
|
|
8530
|
+
};
|
|
8531
|
+
ProfilePicturePickerComponent.prototype.photoSelected = function (event) {
|
|
8532
|
+
this._showImageCropper(event.srcElement.files);
|
|
8533
|
+
};
|
|
8534
|
+
ProfilePicturePickerComponent.prototype._showImageCropper = function (files) {
|
|
8535
|
+
var _this = this;
|
|
8536
|
+
if (!this._validateData(files)) {
|
|
8537
|
+
return;
|
|
8538
|
+
}
|
|
8539
|
+
var file = files[0];
|
|
8540
|
+
var fileReader = new FileReader();
|
|
8541
|
+
fileReader.readAsDataURL(file);
|
|
8542
|
+
fileReader.onloadend = function (fileEvent) {
|
|
8543
|
+
_this.imageCropperService.show(__assign({ imageSource: fileEvent.target.result, croppedImage: function (image) {
|
|
8544
|
+
_this.image = image;
|
|
8545
|
+
_this.changedImage.emit(image);
|
|
8546
|
+
}, changeImage: function () { return _this.selectPhoto(); }, allowSelectAnother: false, aspectRatio: _this.aspectRatio }, _this.cropperLabelsConfig));
|
|
8547
|
+
};
|
|
8548
|
+
};
|
|
8549
|
+
ProfilePicturePickerComponent.prototype._normalizeSuportedExtensions = function () {
|
|
8550
|
+
this.supportedExtensions = this.supportedExtensions
|
|
8551
|
+
.map(function (extension) { return extension.replace(".", "").toLocaleLowerCase(); });
|
|
8552
|
+
};
|
|
8553
|
+
ProfilePicturePickerComponent.prototype._validateData = function (files) {
|
|
8554
|
+
if (!files.length) {
|
|
8555
|
+
return false;
|
|
8556
|
+
}
|
|
8557
|
+
if (files.length > 1) {
|
|
8558
|
+
this.invalidFile.emit({ file: null, validation: exports.FileValidation.MaxFileLimit });
|
|
8559
|
+
return false;
|
|
8560
|
+
}
|
|
8561
|
+
var file = files[0];
|
|
8562
|
+
if (!file.type.includes("image")) {
|
|
8563
|
+
this.invalidFile.emit({ file: file, validation: exports.FileValidation.TypeInvalid });
|
|
8564
|
+
return false;
|
|
8565
|
+
}
|
|
8566
|
+
if (!this._validateFileExtension(file)) {
|
|
8567
|
+
this.invalidFile.emit({ file: file, validation: exports.FileValidation.UnsupportedExtension });
|
|
8568
|
+
return false;
|
|
8569
|
+
}
|
|
8570
|
+
if (!this._validateFileSize(file)) {
|
|
8571
|
+
this.invalidFile.emit({ file: file, validation: exports.FileValidation.MaxFileSize });
|
|
8572
|
+
return false;
|
|
8573
|
+
}
|
|
8574
|
+
return true;
|
|
8575
|
+
};
|
|
8576
|
+
ProfilePicturePickerComponent.prototype._validateFileExtension = function (file) {
|
|
8577
|
+
var _a;
|
|
8578
|
+
if ((_a = this.supportedExtensions) === null || _a === void 0 ? void 0 : _a.length) {
|
|
8579
|
+
var extension = file.name.split(".").pop().toLowerCase();
|
|
8580
|
+
return this.supportedExtensions.includes(extension);
|
|
8581
|
+
}
|
|
8582
|
+
return true;
|
|
8583
|
+
};
|
|
8584
|
+
ProfilePicturePickerComponent.prototype._validateFileSize = function (file) {
|
|
8585
|
+
if (this.maxFileSize) {
|
|
8586
|
+
return file.size > this.maxFileSize;
|
|
8587
|
+
}
|
|
8588
|
+
return true;
|
|
8589
|
+
};
|
|
8590
|
+
ProfilePicturePickerComponent.prototype._getWidthElement = function (element) {
|
|
8591
|
+
var _a = element.nativeElement.getBoundingClientRect(), left = _a.left, right = _a.right;
|
|
8592
|
+
return right - left;
|
|
8593
|
+
};
|
|
8594
|
+
ProfilePicturePickerComponent.ctorParameters = function () { return [
|
|
8595
|
+
{ type: ImageCropperService }
|
|
8596
|
+
]; };
|
|
8597
|
+
__decorate([
|
|
8598
|
+
core.Input()
|
|
8599
|
+
], ProfilePicturePickerComponent.prototype, "simpleTitle", void 0);
|
|
8600
|
+
__decorate([
|
|
8601
|
+
core.Input()
|
|
8602
|
+
], ProfilePicturePickerComponent.prototype, "actionTitle", void 0);
|
|
8603
|
+
__decorate([
|
|
8604
|
+
core.Input()
|
|
8605
|
+
], ProfilePicturePickerComponent.prototype, "subtitle", void 0);
|
|
8606
|
+
__decorate([
|
|
8607
|
+
core.Input()
|
|
8608
|
+
], ProfilePicturePickerComponent.prototype, "aspectRatio", void 0);
|
|
8609
|
+
__decorate([
|
|
8610
|
+
core.Input()
|
|
8611
|
+
], ProfilePicturePickerComponent.prototype, "cropperLabelsConfig", void 0);
|
|
8612
|
+
__decorate([
|
|
8613
|
+
core.Input()
|
|
8614
|
+
], ProfilePicturePickerComponent.prototype, "removeButtonLabel", void 0);
|
|
8615
|
+
__decorate([
|
|
8616
|
+
core.Input()
|
|
8617
|
+
], ProfilePicturePickerComponent.prototype, "changeButtonLabel", void 0);
|
|
8618
|
+
__decorate([
|
|
8619
|
+
core.Input()
|
|
8620
|
+
], ProfilePicturePickerComponent.prototype, "maxFileSize", void 0);
|
|
8621
|
+
__decorate([
|
|
8622
|
+
core.Input()
|
|
8623
|
+
], ProfilePicturePickerComponent.prototype, "accept", void 0);
|
|
8624
|
+
__decorate([
|
|
8625
|
+
core.Input()
|
|
8626
|
+
], ProfilePicturePickerComponent.prototype, "supportedExtensions", void 0);
|
|
8627
|
+
__decorate([
|
|
8628
|
+
core.ViewChild("uploadPicture")
|
|
8629
|
+
], ProfilePicturePickerComponent.prototype, "uploadPicture", void 0);
|
|
8630
|
+
__decorate([
|
|
8631
|
+
core.ViewChild("info")
|
|
8632
|
+
], ProfilePicturePickerComponent.prototype, "info", void 0);
|
|
8633
|
+
__decorate([
|
|
8634
|
+
core.ViewChild("thumbnail", { read: core.ElementRef })
|
|
8635
|
+
], ProfilePicturePickerComponent.prototype, "thumbnail", void 0);
|
|
8636
|
+
__decorate([
|
|
8637
|
+
core.ViewChild("fileInput", { read: core.ElementRef })
|
|
8638
|
+
], ProfilePicturePickerComponent.prototype, "fileInput", void 0);
|
|
8639
|
+
__decorate([
|
|
8640
|
+
core.Output()
|
|
8641
|
+
], ProfilePicturePickerComponent.prototype, "changedImage", void 0);
|
|
8642
|
+
__decorate([
|
|
8643
|
+
core.Output()
|
|
8644
|
+
], ProfilePicturePickerComponent.prototype, "invalidFile", void 0);
|
|
8645
|
+
__decorate([
|
|
8646
|
+
core.HostListener("dragover", ["$event"])
|
|
8647
|
+
], ProfilePicturePickerComponent.prototype, "onDragOver", null);
|
|
8648
|
+
__decorate([
|
|
8649
|
+
core.HostListener("dragleave", ["$event"])
|
|
8650
|
+
], ProfilePicturePickerComponent.prototype, "onDragLeave", null);
|
|
8651
|
+
__decorate([
|
|
8652
|
+
core.HostListener("drop", ["$event"])
|
|
8653
|
+
], ProfilePicturePickerComponent.prototype, "onDrop", null);
|
|
8654
|
+
__decorate([
|
|
8655
|
+
core.HostListener("window:resize")
|
|
8656
|
+
], ProfilePicturePickerComponent.prototype, "onResize", null);
|
|
8657
|
+
ProfilePicturePickerComponent = __decorate([
|
|
8658
|
+
core.Component({
|
|
8659
|
+
selector: "s-profile-picture-picker",
|
|
8660
|
+
template: "<input #fileInput [accept]=\"accept\" class=\"file-input\" type=\"file\" (change)=\"photoSelected($event)\">\n<div #uploadPicture class=\"upload-picture\">\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"image\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\">\n </s-thumbnail>\n <div #info class=\"info\">\n <ng-container *ngIf=\"image; then withImage; else noImage\"></ng-container>\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n\n<ng-template #withImage>\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel\"\n priority=\"primary\"\n (onClick)=\"selectPhoto()\">\n </s-button>\n <s-button\n [label]=\"removeButtonLabel\"\n priority=\"secondary\"\n (onClick)=\"removePhoto()\">\n </s-button>\n </div>\n</ng-template>\n\n<ng-template #noImage>\n <p class=\"title\">\n {{ simpleTitle }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\">\n {{ actionTitle }}\n </span>\n </p>\n</ng-template>",
|
|
8661
|
+
styles: [".file-input{display:none}.upload-picture{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.upload-picture .info{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:12px 20px;-ms-flex-align:start;align-items:flex-start}.upload-picture .info .title{font-family:\"Open Sans\",sans-serif;font-weight:700;font-size:.875rem;line-height:150%;color:#333}.upload-picture .info .title .action-title{cursor:pointer;color:#428bca}.upload-picture .info .buttons{display:-ms-flexbox;display:flex;gap:8px}.upload-picture .info .buttons s-button{margin:0}.upload-picture .info .subtitle{padding:6px 0;font-family:\"Open Sans\",sans-serif;font-weight:400;font-size:.75rem;line-height:150%;color:#697882;text-align:center}.upload-picture--small .info{-ms-flex-align:center;align-items:center}.upload-picture--small .info .subtitle,.upload-picture--small .info .title{text-align:center}.upload-picture--small .info .buttons{-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}"]
|
|
8662
|
+
})
|
|
8663
|
+
], ProfilePicturePickerComponent);
|
|
8664
|
+
return ProfilePicturePickerComponent;
|
|
8665
|
+
}());
|
|
8666
|
+
|
|
8667
|
+
var ProfilePicturePickerModule = /** @class */ (function () {
|
|
8668
|
+
function ProfilePicturePickerModule() {
|
|
8669
|
+
}
|
|
8670
|
+
ProfilePicturePickerModule = __decorate([
|
|
8671
|
+
core.NgModule({
|
|
8672
|
+
imports: [
|
|
8673
|
+
common.CommonModule,
|
|
8674
|
+
ButtonModule,
|
|
8675
|
+
ThumbnailModule,
|
|
8676
|
+
ImageCropperModule,
|
|
8677
|
+
],
|
|
8678
|
+
declarations: [ProfilePicturePickerComponent],
|
|
8679
|
+
exports: [ProfilePicturePickerComponent],
|
|
8680
|
+
providers: [ImageCropperService],
|
|
8681
|
+
})
|
|
8682
|
+
], ProfilePicturePickerModule);
|
|
8683
|
+
return ProfilePicturePickerModule;
|
|
8684
|
+
}());
|
|
8685
|
+
|
|
8686
|
+
|
|
8461
8687
|
(function (GlobalSearchSizeEnum) {
|
|
8462
8688
|
GlobalSearchSizeEnum["STANDARD"] = "STANDARD";
|
|
8463
8689
|
GlobalSearchSizeEnum["MEDIUM"] = "MEDIUM";
|
|
@@ -10326,6 +10552,8 @@
|
|
|
10326
10552
|
exports.Option = Option;
|
|
10327
10553
|
exports.ProductHeaderComponent = ProductHeaderComponent;
|
|
10328
10554
|
exports.ProductHeaderModule = ProductHeaderModule;
|
|
10555
|
+
exports.ProfilePicturePickerComponent = ProfilePicturePickerComponent;
|
|
10556
|
+
exports.ProfilePicturePickerModule = ProfilePicturePickerModule;
|
|
10329
10557
|
exports.RadioButtonField = RadioButtonField;
|
|
10330
10558
|
exports.RationButtonOption = RationButtonOption;
|
|
10331
10559
|
exports.RowTogllerDirective = RowTogllerDirective;
|