mis-crystal-design-system 18.0.22 → 18.0.23
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/datepicker_v2/datepicker-constants.d.ts +6 -0
- package/datepicker_v2/datepicker.module.d.ts +6 -5
- package/datepicker_v2/models/dp-config.model.d.ts +3 -0
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +12 -1
- package/daterangepicker_v2/daterangepicker.module.d.ts +6 -5
- package/daterangepicker_v2/models/drp-config.model.d.ts +2 -0
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +20 -0
- package/esm2022/action-list/action-list.component.mjs +2 -2
- package/esm2022/action-list/action-list.module.mjs +2 -2
- package/esm2022/analytics/analytics.module.mjs +2 -2
- package/esm2022/analytics/analytics.service.mjs +2 -2
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +2 -2
- package/esm2022/async-search-dropdown/async-dropdown.module.mjs +2 -2
- package/esm2022/button/button.component.mjs +2 -2
- package/esm2022/button/button.directive.mjs +2 -2
- package/esm2022/button/button.module.mjs +2 -2
- package/esm2022/checkbox/checkbox.component.mjs +2 -2
- package/esm2022/checkbox/checkbox.module.mjs +2 -2
- package/esm2022/chip/chip.component.mjs +2 -2
- package/esm2022/chip/chip.module.mjs +2 -2
- package/esm2022/datepicker_v2/datepicker-constants.mjs +7 -1
- package/esm2022/datepicker_v2/datepicker.module.mjs +6 -5
- package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +2 -2
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +500 -95
- package/esm2022/datepicker_v2/utils/index.mjs +1 -1
- package/esm2022/daterangepicker_v2/daterangepicker.module.mjs +6 -5
- package/esm2022/daterangepicker_v2/models/drp-config.model.mjs +1 -1
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +2 -2
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +481 -54
- package/esm2022/daterangepicker_v2/utils/index.mjs +1 -1
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +2 -2
- package/esm2022/drawer/drawer.module.mjs +2 -2
- package/esm2022/drawer/drawer.service.mjs +2 -2
- package/esm2022/dropdown/calculate-container-height.directive.mjs +2 -2
- package/esm2022/dropdown/dropdown.component.mjs +2 -2
- package/esm2022/dropdown/dropdown.module.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form.module.mjs +2 -2
- package/esm2022/fab/fab.component.mjs +2 -2
- package/esm2022/fab/fab.module.mjs +2 -2
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +2 -2
- package/esm2022/filter/filters.module.mjs +2 -2
- package/esm2022/filter/has-value.pipe.mjs +2 -2
- package/esm2022/input/directives/input/input.directive.mjs +2 -2
- package/esm2022/input/mis-input.component.mjs +2 -2
- package/esm2022/input/mis-input.module.mjs +2 -2
- package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +2 -2
- package/esm2022/input-stepper/input-stepper.module.mjs +2 -2
- package/esm2022/loader/loader.component.mjs +2 -2
- package/esm2022/loader/loader.module.mjs +2 -2
- package/esm2022/menu/menu-close.directive.mjs +3 -3
- package/esm2022/menu/menu.directive.mjs +3 -3
- package/esm2022/menu/menu.module.mjs +2 -2
- package/esm2022/mobile-filter/mobile-filter.component.mjs +2 -2
- package/esm2022/mobile-filter/mobile-filter.module.mjs +2 -2
- package/esm2022/modal/modal.module.mjs +2 -2
- package/esm2022/modal/modal.service.mjs +2 -2
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +2 -2
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +2 -2
- package/esm2022/multi-select-dropdown/multi-select-dropdown.module.mjs +2 -2
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +2 -2
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +2 -2
- package/esm2022/phone-input/phone-input.component.mjs +2 -2
- package/esm2022/phone-input/phone-input.module.mjs +2 -2
- package/esm2022/radio-button/radio-button.component.mjs +2 -2
- package/esm2022/radio-button/radio-button.module.mjs +2 -2
- package/esm2022/ske-loader/ske-loader.component.mjs +2 -2
- package/esm2022/ske-loader/ske-loader.module.mjs +2 -2
- package/esm2022/slider/slider.component.mjs +2 -2
- package/esm2022/slider/slider.module.mjs +2 -2
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +2 -2
- package/esm2022/snackbar/snackbar.module.mjs +2 -2
- package/esm2022/snackbar/snackbar.service.mjs +2 -2
- package/esm2022/specificdatepicker/specificdatepicker.module.mjs +2 -2
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +2 -2
- package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +2 -2
- package/esm2022/specificdatepicker/utils/index.mjs +1 -1
- package/esm2022/star-rating/star-rating.component.mjs +2 -2
- package/esm2022/star-rating/star-rating.module.mjs +2 -2
- package/esm2022/switch/switch.component.mjs +2 -2
- package/esm2022/switch/switch.module.mjs +2 -2
- package/esm2022/table/actions-cell/actions-cell.component.mjs +4 -4
- package/esm2022/table/custom-table-cell.directive.mjs +2 -2
- package/esm2022/table/filter/filter.component.mjs +2 -2
- package/esm2022/table/sort-icons.directive.mjs +3 -3
- package/esm2022/table/sub-table/sub-table.component.mjs +2 -2
- package/esm2022/table/table.component.mjs +98 -81
- package/esm2022/table/table.module.mjs +2 -2
- package/esm2022/timepicker/timepicker.component.mjs +2 -2
- package/esm2022/timepicker/timepicker.directive.mjs +3 -3
- package/esm2022/timepicker/timepicker.module.mjs +2 -2
- package/esm2022/timerangepicker/timerangepicker.component.mjs +2 -2
- package/esm2022/timerangepicker/timerangepicker.module.mjs +2 -2
- package/esm2022/toast/toast.component.mjs +2 -2
- package/esm2022/toast/toast.data.service.mjs +2 -2
- package/esm2022/toast/toast.module.mjs +2 -2
- package/esm2022/toast/toast.service.mjs +2 -2
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +2 -2
- package/esm2022/tooltip/tooltip.directive.mjs +2 -2
- package/esm2022/tooltip/tooltip.module.mjs +2 -2
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +2 -2
- package/esm2022/virtual-scroll/virtual-scroll.module.mjs +2 -2
- package/esm2022/widgets/classes/async-widget.mjs +1 -1
- package/esm2022/widgets/classes/base-widget.mjs +1 -1
- package/esm2022/widgets/classes/sync-widget.mjs +1 -1
- package/esm2022/widgets/services/widget.service.mjs +2 -2
- package/esm2022/widgets/widgets.module.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-action-list.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-analytics.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-analytics.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-button.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +513 -102
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +488 -61
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-menu.mjs +6 -6
- package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-snackbar.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +107 -90
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +5 -5
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-utils.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-widgets.mjs +1 -1
- package/fesm2022/mis-crystal-design-system-widgets.mjs.map +1 -1
- package/package.json +7 -7
- package/table/table.component.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-utils.mjs","sources":["../../../projects/mis-components/utils/index.ts","../../../projects/mis-components/utils/mis-crystal-design-system-utils.ts"],"sourcesContent":["import { ConnectionPositionPair } from \"@angular/cdk/overlay\";\n\nexport const genPositionPairs = ({ positionX, positionY, offsetX = 0, offsetY = 0 }, isResponsive: boolean): ConnectionPositionPair[] => {\n const positions = [\n new ConnectionPositionPair(\n { originX: positionX, originY: positionY },\n {\n overlayX: positionX,\n overlayY: positionY\n },\n offsetX,\n offsetY\n ),\n new ConnectionPositionPair({ originX: \"center\", originY: \"bottom\" }, { overlayX: \"center\", overlayY: \"top\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"center\", originY: \"top\" }, { overlayX: \"center\", overlayY: \"bottom\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }, offsetX, offsetY)\n ];\n return isResponsive ? positions : positions.slice(0, 1);\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;MAEa,gBAAgB,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,YAAqB,KAA8B;AACtI,IAAA,MAAM,SAAS,GAAG;QAChB,IAAI,sBAAsB,CACxB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAC1C;AACE,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-utils.mjs","sources":["../../../projects/mis-components/utils/index.ts","../../../projects/mis-components/utils/mis-crystal-design-system-utils.ts"],"sourcesContent":["import { ConnectionPositionPair } from \"@angular/cdk/overlay\";\n\nexport const genPositionPairs = ({ positionX, positionY, offsetX = 0, offsetY = 0 }, isResponsive: boolean): ConnectionPositionPair[] => {\n const positions = [\n new ConnectionPositionPair(\n { originX: positionX, originY: positionY },\n {\n overlayX: positionX,\n overlayY: positionY\n },\n offsetX,\n offsetY\n ),\n new ConnectionPositionPair({ originX: \"center\", originY: \"bottom\" }, { overlayX: \"center\", overlayY: \"top\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"center\", originY: \"top\" }, { overlayX: \"center\", overlayY: \"bottom\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, offsetX, offsetY),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }, offsetX, offsetY)\n ];\n return isResponsive ? positions : positions.slice(0, 1);\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;MAEa,gBAAgB,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,YAAqB,KAA8B;AACtI,IAAA,MAAM,SAAS,GAAG;QAChB,IAAI,sBAAsB,CACxB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAC1C;AACE,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,QAAQ,EAAE;SACX,EACD,OAAO,EACP,OAAO,CACR;QACD,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/H,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/H,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;QAC7H,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;QAC7H,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;QACzH,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO;KACzH;AACD,IAAA,OAAO,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACzD;;ACrBA;;AAEG;;;;"}
|
|
@@ -3,7 +3,7 @@ import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrollin
|
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { EventEmitter, Component,
|
|
6
|
+
import { EventEmitter, Component, Output, ContentChild, ViewChild, Input, NgModule } from '@angular/core';
|
|
7
7
|
import * as i3 from 'mis-crystal-design-system/loader';
|
|
8
8
|
import { LoaderModule } from 'mis-crystal-design-system/loader';
|
|
9
9
|
import { BehaviorSubject, of } from 'rxjs';
|
|
@@ -150,7 +150,7 @@ class VirtualScrollComponent {
|
|
|
150
150
|
return [];
|
|
151
151
|
}));
|
|
152
152
|
}
|
|
153
|
-
static { this.ɵfac = function VirtualScrollComponent_Factory(
|
|
153
|
+
static { this.ɵfac = function VirtualScrollComponent_Factory(t) { return new (t || VirtualScrollComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
154
154
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VirtualScrollComponent, selectors: [["mis-virtual-scroll"]], contentQueries: function VirtualScrollComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
155
155
|
i0.ɵɵcontentQuery(dirIndex, _c0, 5);
|
|
156
156
|
} if (rf & 2) {
|
|
@@ -193,7 +193,7 @@ class VirtualScrollModule {
|
|
|
193
193
|
static forRoot() {
|
|
194
194
|
return { ngModule: VirtualScrollModule, providers: [] };
|
|
195
195
|
}
|
|
196
|
-
static { this.ɵfac = function VirtualScrollModule_Factory(
|
|
196
|
+
static { this.ɵfac = function VirtualScrollModule_Factory(t) { return new (t || VirtualScrollModule)(); }; }
|
|
197
197
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: VirtualScrollModule }); }
|
|
198
198
|
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
199
199
|
ScrollingModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-virtual-scroll.mjs","sources":["../../../projects/mis-components/virtual-scroll/virtual-scroll.component.html","../../../projects/mis-components/virtual-scroll/virtual-scroll.component.ts","../../../projects/mis-components/virtual-scroll/virtual-scroll.module.ts","../../../projects/mis-components/virtual-scroll/public_api.ts","../../../projects/mis-components/virtual-scroll/mis-crystal-design-system-virtual-scroll.ts"],"sourcesContent":["<div class=\"state-container\" *ngIf=\"loading\">\n <mis-loader></mis-loader>\n</div>\n<div class=\"state-container\" *ngIf=\"!loading && error\">\n <span>Unknown error has occurred.</span>\n</div>\n<ng-container *ngIf=\"data$ | async as data\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"!loading && !error\"\n #viewport\n [minBufferPx]=\"config.minBufferPx\"\n [maxBufferPx]=\"config.maxBufferPx\"\n [itemSize]=\"this.config.rowHeight\"\n (scrolledIndexChange)=\"nextBatch(data.length)\"\n >\n <ng-container *cdkVirtualFor=\"let item of data; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n ></ng-container>\n </ng-container>\n <div id=\"loader-container\" *ngIf=\"rowsLoading\">\n <mis-loader></mis-loader>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>","import { ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from \"@angular/core\";\nimport { CdkVirtualScrollViewport } from \"@angular/cdk/scrolling\";\n\nimport { BehaviorSubject, Observable, of } from \"rxjs\";\nimport { catchError, mergeMap, scan, tap, throttleTime } from \"rxjs/operators\";\nimport { IVirtualScrollConfig } from \"./virtual-scroll.constants\";\n\n@Component({\n selector: \"mis-virtual-scroll\",\n templateUrl: \"./virtual-scroll.component.html\",\n styleUrls: [\"./virtual-scroll.component.scss\"],\n })\nexport class VirtualScrollComponent implements OnInit {\n\n // Infinite scroll related variables\n offset = new BehaviorSubject(null);\n endOfInfiniteData: boolean = false;\n rowsLoading: boolean = false;\n \n // Main state managing variables\n loading: boolean = false\n error: boolean = false\n \n // Scroll data related variables\n data$: Observable<any>\n @Input(\"config\") config: IVirtualScrollConfig = {\n minBufferPx: 2400,\n maxBufferPx: 2400,\n rowHeight: 128,\n pageSize: 5,\n infiniteScrollDataFunction: (offset, pageSize) => of([1,2,3,4,5])\n };\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n @ContentChild(\"virtualScrollItem\", { static: false })\n customItem: TemplateRef<Element>;\n @Output() intialized = new EventEmitter<any>();\n\n virtualScrollApi: any\n\n\n constructor(private changeDetectorRef: ChangeDetectorRef){}\n ngOnInit(): void {\n this.switchOnInfiniteScroll()\n this.virtualScrollApi = {\n toggleLoader: () => this.loading = !this.loading,\n toggleError: () => this.error = !this.error,\n switchOnInfiniteScroll: this.switchOnInfiniteScroll,\n switchOffInfiniteScroll: this.switchOffInfiniteScroll\n }\n this.changeDetectorRef.detectChanges();\n this.intialized.emit(this.virtualScrollApi)\n }\n switchOffInfiniteScroll = (): void => {\n this.error = false\n this.loading = true\n this.data$ = this.config.data$.pipe(\n tap(() => {\n this.loading = false\n this.changeDetectorRef.detectChanges()\n }),\n catchError(err => {\n console.error(\"Error: Unknown error occurred while fetching calendar data\", err);\n this.loading = false;\n this.error = true;\n return [];\n })\n )\n }\n switchOnInfiniteScroll = (): void => {\n this.error = false\n this.loading = true\n this.endOfInfiniteData = false;\n this.offset.next(0)\n this.setupInfiniteScroll()\n }\n setupInfiniteScroll(): void {\n const batchMap = this.offset.pipe(\n throttleTime(500),\n mergeMap(offset => this.getBatch(offset)),\n scan((acc: Array<any>, batch: Array<any>) => {\n return [...acc, ...batch];\n }, [])\n );\n this.data$ = batchMap.pipe(\n tap(data => {\n this.rowsLoading = false;\n this.loading = false;\n setTimeout(() => {\n this.changeDetectorRef.detectChanges();\n }, 50)\n })\n );\n }\n nextBatch(offset): void {\n if (this.endOfInfiniteData) {\n return;\n }\n const end = this.viewPort.getRenderedRange().end;\n const total = this.viewPort.getDataLength();\n offset = Math.ceil(offset / this.config.pageSize)\n if (end === total && !this.rowsLoading) {\n this.offset.next(offset);\n }\n }\n getBatch(offset): Observable<any> {\n this.rowsLoading = true;\n if (offset == null) offset = 0;\n return this.config\n .infiniteScrollDataFunction(offset, this.config.pageSize)\n .pipe(\n tap((arr: Array<any>) => {\n arr.length < this.config.pageSize ? (this.endOfInfiniteData = true) : null;\n }),\n catchError(err => {\n console.error(\"Error: Unknown error occurred while fetching calendar data\", err);\n this.rowsLoading = false;\n this.loading = false;\n this.error = true;\n return [];\n })\n );\n }\n \n}","import { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\"\n\nimport { LoaderModule} from \"mis-crystal-design-system/loader\"\n\nimport { VirtualScrollComponent } from \"./virtual-scroll.component\";\n\n@NgModule({\n declarations:[\n VirtualScrollComponent\n ],\n imports: [\n CommonModule,\n ScrollingModule,\n LoaderModule\n ],\n exports:[VirtualScrollComponent, ScrollingModule],\n})\nexport class VirtualScrollModule{ \n static forRoot() : ModuleWithProviders<VirtualScrollModule> {\n return { ngModule: VirtualScrollModule, providers: []}\n }\n}","// import { VirtualScrollModule } from \"./virtual-scroll.module\";\n\nexport { VirtualScrollModule } from \"./virtual-scroll.module\";\nexport { VirtualScrollComponent } from \"./virtual-scroll.component\";\nexport { IVirtualScrollApi, IVirtualScrollConfig } from \"./virtual-scroll.constants\"\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-virtual-scroll.mjs","sources":["../../../projects/mis-components/virtual-scroll/virtual-scroll.component.html","../../../projects/mis-components/virtual-scroll/virtual-scroll.component.ts","../../../projects/mis-components/virtual-scroll/virtual-scroll.module.ts","../../../projects/mis-components/virtual-scroll/public_api.ts","../../../projects/mis-components/virtual-scroll/mis-crystal-design-system-virtual-scroll.ts"],"sourcesContent":["<div class=\"state-container\" *ngIf=\"loading\">\n <mis-loader></mis-loader>\n</div>\n<div class=\"state-container\" *ngIf=\"!loading && error\">\n <span>Unknown error has occurred.</span>\n</div>\n<ng-container *ngIf=\"data$ | async as data\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"!loading && !error\"\n #viewport\n [minBufferPx]=\"config.minBufferPx\"\n [maxBufferPx]=\"config.maxBufferPx\"\n [itemSize]=\"this.config.rowHeight\"\n (scrolledIndexChange)=\"nextBatch(data.length)\"\n >\n <ng-container *cdkVirtualFor=\"let item of data; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n ></ng-container>\n </ng-container>\n <div id=\"loader-container\" *ngIf=\"rowsLoading\">\n <mis-loader></mis-loader>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>","import { ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from \"@angular/core\";\nimport { CdkVirtualScrollViewport } from \"@angular/cdk/scrolling\";\n\nimport { BehaviorSubject, Observable, of } from \"rxjs\";\nimport { catchError, mergeMap, scan, tap, throttleTime } from \"rxjs/operators\";\nimport { IVirtualScrollConfig } from \"./virtual-scroll.constants\";\n\n@Component({\n selector: \"mis-virtual-scroll\",\n templateUrl: \"./virtual-scroll.component.html\",\n styleUrls: [\"./virtual-scroll.component.scss\"],\n })\nexport class VirtualScrollComponent implements OnInit {\n\n // Infinite scroll related variables\n offset = new BehaviorSubject(null);\n endOfInfiniteData: boolean = false;\n rowsLoading: boolean = false;\n \n // Main state managing variables\n loading: boolean = false\n error: boolean = false\n \n // Scroll data related variables\n data$: Observable<any>\n @Input(\"config\") config: IVirtualScrollConfig = {\n minBufferPx: 2400,\n maxBufferPx: 2400,\n rowHeight: 128,\n pageSize: 5,\n infiniteScrollDataFunction: (offset, pageSize) => of([1,2,3,4,5])\n };\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n @ContentChild(\"virtualScrollItem\", { static: false })\n customItem: TemplateRef<Element>;\n @Output() intialized = new EventEmitter<any>();\n\n virtualScrollApi: any\n\n\n constructor(private changeDetectorRef: ChangeDetectorRef){}\n ngOnInit(): void {\n this.switchOnInfiniteScroll()\n this.virtualScrollApi = {\n toggleLoader: () => this.loading = !this.loading,\n toggleError: () => this.error = !this.error,\n switchOnInfiniteScroll: this.switchOnInfiniteScroll,\n switchOffInfiniteScroll: this.switchOffInfiniteScroll\n }\n this.changeDetectorRef.detectChanges();\n this.intialized.emit(this.virtualScrollApi)\n }\n switchOffInfiniteScroll = (): void => {\n this.error = false\n this.loading = true\n this.data$ = this.config.data$.pipe(\n tap(() => {\n this.loading = false\n this.changeDetectorRef.detectChanges()\n }),\n catchError(err => {\n console.error(\"Error: Unknown error occurred while fetching calendar data\", err);\n this.loading = false;\n this.error = true;\n return [];\n })\n )\n }\n switchOnInfiniteScroll = (): void => {\n this.error = false\n this.loading = true\n this.endOfInfiniteData = false;\n this.offset.next(0)\n this.setupInfiniteScroll()\n }\n setupInfiniteScroll(): void {\n const batchMap = this.offset.pipe(\n throttleTime(500),\n mergeMap(offset => this.getBatch(offset)),\n scan((acc: Array<any>, batch: Array<any>) => {\n return [...acc, ...batch];\n }, [])\n );\n this.data$ = batchMap.pipe(\n tap(data => {\n this.rowsLoading = false;\n this.loading = false;\n setTimeout(() => {\n this.changeDetectorRef.detectChanges();\n }, 50)\n })\n );\n }\n nextBatch(offset): void {\n if (this.endOfInfiniteData) {\n return;\n }\n const end = this.viewPort.getRenderedRange().end;\n const total = this.viewPort.getDataLength();\n offset = Math.ceil(offset / this.config.pageSize)\n if (end === total && !this.rowsLoading) {\n this.offset.next(offset);\n }\n }\n getBatch(offset): Observable<any> {\n this.rowsLoading = true;\n if (offset == null) offset = 0;\n return this.config\n .infiniteScrollDataFunction(offset, this.config.pageSize)\n .pipe(\n tap((arr: Array<any>) => {\n arr.length < this.config.pageSize ? (this.endOfInfiniteData = true) : null;\n }),\n catchError(err => {\n console.error(\"Error: Unknown error occurred while fetching calendar data\", err);\n this.rowsLoading = false;\n this.loading = false;\n this.error = true;\n return [];\n })\n );\n }\n \n}","import { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\"\n\nimport { LoaderModule} from \"mis-crystal-design-system/loader\"\n\nimport { VirtualScrollComponent } from \"./virtual-scroll.component\";\n\n@NgModule({\n declarations:[\n VirtualScrollComponent\n ],\n imports: [\n CommonModule,\n ScrollingModule,\n LoaderModule\n ],\n exports:[VirtualScrollComponent, ScrollingModule],\n})\nexport class VirtualScrollModule{ \n static forRoot() : ModuleWithProviders<VirtualScrollModule> {\n return { ngModule: VirtualScrollModule, providers: []}\n }\n}","// import { VirtualScrollModule } from \"./virtual-scroll.module\";\n\nexport { VirtualScrollModule } from \"./virtual-scroll.module\";\nexport { VirtualScrollComponent } from \"./virtual-scroll.component\";\nexport { IVirtualScrollApi, IVirtualScrollConfig } from \"./virtual-scroll.constants\"\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -107,7 +107,7 @@ class WidgetGroup extends BaseWidget {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
class WidgetsModule {
|
|
110
|
-
static { this.ɵfac = function WidgetsModule_Factory(
|
|
110
|
+
static { this.ɵfac = function WidgetsModule_Factory(t) { return new (t || WidgetsModule)(); }; }
|
|
111
111
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: WidgetsModule }); }
|
|
112
112
|
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] }); }
|
|
113
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-widgets.mjs","sources":["../../../projects/mis-components/widgets/classes/base-widget.ts","../../../projects/mis-components/widgets/classes/sync-widget.ts","../../../projects/mis-components/widgets/classes/async-widget.ts","../../../projects/mis-components/widgets/classes/widget-group.ts","../../../projects/mis-components/widgets/widgets.module.ts","../../../projects/mis-components/widgets/mis-crystal-design-system-widgets.ts"],"sourcesContent":["import { ReplaySubject, Subject } from \"rxjs\";\nimport { CustomState, WidgetStateMap } from \"../interfaces/widgets.model\";\n\nexport class BaseWidget<D> {\n // Get loader stream\n private loader$ = new ReplaySubject<boolean>(1);\n loader = this.loader$.asObservable();\n protected customStates: Array<CustomState<D>>;\n state: WidgetStateMap = {};\n\n constructor(data?: unknown, customStates: Array<CustomState<D>> = []) {\n this.customStates = customStates;\n }\n\n // Toggle loader with value\n toggleLoader(value: boolean): void {\n this.loader$.next(value);\n }\n // reset data/stream\n protected reset$ = new Subject<void>();\n\n // Trigger widget refresh\n reset(): void {\n this.reset$.next();\n }\n\n updateValue(data: unknown): void {}\n\n protected updateCustomStates(customStates: Array<CustomState<D>>, value: D): void {\n if (customStates.length > 0) {\n customStates.forEach(customState => {\n this.state = { ...this.state, ...customState(value) };\n });\n } else {\n this.state = {};\n }\n }\n}\n","import { CustomState } from \"../interfaces/widgets.model\";\nimport { BaseWidget } from \"./base-widget\";\n\nexport class SyncWidget<D = any> extends BaseWidget<D> {\n // DataObject with widget functionalities\n value: D;\n\n // @param dataStream: Stream to subscribe to when widget refreshed\n constructor(data?: D, customStates: Array<CustomState<D>> = []) {\n super(data, customStates);\n if (data) {\n this.value = data;\n }\n }\n\n // Change data value\n updateValue(value: D): void {\n this.value = value;\n this.updateCustomStates(this.customStates, value);\n }\n\n reset(): void {\n super.reset();\n this.value = null;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { tap, switchMap } from \"rxjs/operators\";\nimport { CustomState, WidgetStateMap } from \"../interfaces/widgets.model\";\nimport { BaseWidget } from \"./base-widget\";\n// Data type that the stream will return\nexport class AsyncWidget<D = any> extends BaseWidget<D> {\n // Stream with widget functionalities\n value: Observable<D>;\n\n // @param dataStream: Stream to subscribe to when widget refreshed\n constructor(dataStream?: Observable<D>, customStates: Array<CustomState<D>> = []) {\n super(dataStream, customStates);\n if (dataStream) {\n this.updateValue(dataStream);\n }\n }\n\n // Change widget data stream\n updateValue(dataStream: Observable<D>): void {\n this.value = this.reset$.pipe(\n switchMap(() => {\n this.toggleLoader(true);\n return dataStream.pipe(\n tap(() => {\n this.toggleLoader(false);\n }),\n tap((value: D) => this.updateCustomStates(this.customStates, value))\n );\n })\n );\n setTimeout(() => this.reset(), 10);\n }\n}\n","import { BaseWidget } from \"./base-widget\";\nimport { WidgetMap } from \"../interfaces/widgets.model\";\nimport { AsyncWidget } from \"./async-widget\";\nimport { SyncWidget } from \"./sync-widget\";\n\nexport class WidgetGroup extends BaseWidget<any> {\n private items = new Map<string, SyncWidget | AsyncWidget | WidgetGroup>();\n\n constructor(widgets: WidgetMap) {\n super();\n Object.keys(widgets).forEach(key => {\n this.addWidget(key, widgets[key]);\n });\n }\n\n get value(): { [key: string]: any } {\n const keys = Array.from(this.items.keys());\n return keys.reduce((acc, key) => {\n return { ...acc, [key]: this.get(key).value };\n }, {});\n }\n\n get widgets() {\n return Array.from(this.items.values());\n }\n\n addWidget(key: string, widget: SyncWidget | AsyncWidget): void {\n this.items.set(key, widget);\n }\n\n get(key: string): SyncWidget | AsyncWidget | WidgetGroup {\n return this.items.get(key);\n }\n\n removeWidget(key: string): void {\n this.items.delete(key);\n }\n\n reset(): void {\n this.widgets.forEach(widget => widget.reset());\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { WidgetService } from \"./services/widget.service\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class WidgetsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAGa,UAAU,CAAA;IAOrB,WAAY,CAAA,IAAc,EAAE,YAAA,GAAsC,EAAE,EAAA;;AAL5D,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,aAAa,CAAU,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-widgets.mjs","sources":["../../../projects/mis-components/widgets/classes/base-widget.ts","../../../projects/mis-components/widgets/classes/sync-widget.ts","../../../projects/mis-components/widgets/classes/async-widget.ts","../../../projects/mis-components/widgets/classes/widget-group.ts","../../../projects/mis-components/widgets/widgets.module.ts","../../../projects/mis-components/widgets/mis-crystal-design-system-widgets.ts"],"sourcesContent":["import { ReplaySubject, Subject } from \"rxjs\";\nimport { CustomState, WidgetStateMap } from \"../interfaces/widgets.model\";\n\nexport class BaseWidget<D> {\n // Get loader stream\n private loader$ = new ReplaySubject<boolean>(1);\n loader = this.loader$.asObservable();\n protected customStates: Array<CustomState<D>>;\n state: WidgetStateMap = {};\n\n constructor(data?: unknown, customStates: Array<CustomState<D>> = []) {\n this.customStates = customStates;\n }\n\n // Toggle loader with value\n toggleLoader(value: boolean): void {\n this.loader$.next(value);\n }\n // reset data/stream\n protected reset$ = new Subject<void>();\n\n // Trigger widget refresh\n reset(): void {\n this.reset$.next();\n }\n\n updateValue(data: unknown): void {}\n\n protected updateCustomStates(customStates: Array<CustomState<D>>, value: D): void {\n if (customStates.length > 0) {\n customStates.forEach(customState => {\n this.state = { ...this.state, ...customState(value) };\n });\n } else {\n this.state = {};\n }\n }\n}\n","import { CustomState } from \"../interfaces/widgets.model\";\nimport { BaseWidget } from \"./base-widget\";\n\nexport class SyncWidget<D = any> extends BaseWidget<D> {\n // DataObject with widget functionalities\n value: D;\n\n // @param dataStream: Stream to subscribe to when widget refreshed\n constructor(data?: D, customStates: Array<CustomState<D>> = []) {\n super(data, customStates);\n if (data) {\n this.value = data;\n }\n }\n\n // Change data value\n updateValue(value: D): void {\n this.value = value;\n this.updateCustomStates(this.customStates, value);\n }\n\n reset(): void {\n super.reset();\n this.value = null;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { tap, switchMap } from \"rxjs/operators\";\nimport { CustomState, WidgetStateMap } from \"../interfaces/widgets.model\";\nimport { BaseWidget } from \"./base-widget\";\n// Data type that the stream will return\nexport class AsyncWidget<D = any> extends BaseWidget<D> {\n // Stream with widget functionalities\n value: Observable<D>;\n\n // @param dataStream: Stream to subscribe to when widget refreshed\n constructor(dataStream?: Observable<D>, customStates: Array<CustomState<D>> = []) {\n super(dataStream, customStates);\n if (dataStream) {\n this.updateValue(dataStream);\n }\n }\n\n // Change widget data stream\n updateValue(dataStream: Observable<D>): void {\n this.value = this.reset$.pipe(\n switchMap(() => {\n this.toggleLoader(true);\n return dataStream.pipe(\n tap(() => {\n this.toggleLoader(false);\n }),\n tap((value: D) => this.updateCustomStates(this.customStates, value))\n );\n })\n );\n setTimeout(() => this.reset(), 10);\n }\n}\n","import { BaseWidget } from \"./base-widget\";\nimport { WidgetMap } from \"../interfaces/widgets.model\";\nimport { AsyncWidget } from \"./async-widget\";\nimport { SyncWidget } from \"./sync-widget\";\n\nexport class WidgetGroup extends BaseWidget<any> {\n private items = new Map<string, SyncWidget | AsyncWidget | WidgetGroup>();\n\n constructor(widgets: WidgetMap) {\n super();\n Object.keys(widgets).forEach(key => {\n this.addWidget(key, widgets[key]);\n });\n }\n\n get value(): { [key: string]: any } {\n const keys = Array.from(this.items.keys());\n return keys.reduce((acc, key) => {\n return { ...acc, [key]: this.get(key).value };\n }, {});\n }\n\n get widgets() {\n return Array.from(this.items.values());\n }\n\n addWidget(key: string, widget: SyncWidget | AsyncWidget): void {\n this.items.set(key, widget);\n }\n\n get(key: string): SyncWidget | AsyncWidget | WidgetGroup {\n return this.items.get(key);\n }\n\n removeWidget(key: string): void {\n this.items.delete(key);\n }\n\n reset(): void {\n this.widgets.forEach(widget => widget.reset());\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { WidgetService } from \"./services/widget.service\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class WidgetsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mis-crystal-design-system",
|
|
3
|
-
"version": "18.0.
|
|
3
|
+
"version": "18.0.23",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "*",
|
|
6
6
|
"@angular/core": "*",
|
|
@@ -178,6 +178,12 @@
|
|
|
178
178
|
"esm": "./esm2022/snackbar/mis-crystal-design-system-snackbar.mjs",
|
|
179
179
|
"default": "./fesm2022/mis-crystal-design-system-snackbar.mjs"
|
|
180
180
|
},
|
|
181
|
+
"./specificdatepicker": {
|
|
182
|
+
"types": "./specificdatepicker/index.d.ts",
|
|
183
|
+
"esm2022": "./esm2022/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs",
|
|
184
|
+
"esm": "./esm2022/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs",
|
|
185
|
+
"default": "./fesm2022/mis-crystal-design-system-specificdatepicker.mjs"
|
|
186
|
+
},
|
|
181
187
|
"./star-rating": {
|
|
182
188
|
"types": "./star-rating/index.d.ts",
|
|
183
189
|
"esm2022": "./esm2022/star-rating/mis-crystal-design-system-star-rating.mjs",
|
|
@@ -196,12 +202,6 @@
|
|
|
196
202
|
"esm": "./esm2022/switch/mis-crystal-design-system-switch.mjs",
|
|
197
203
|
"default": "./fesm2022/mis-crystal-design-system-switch.mjs"
|
|
198
204
|
},
|
|
199
|
-
"./specificdatepicker": {
|
|
200
|
-
"types": "./specificdatepicker/index.d.ts",
|
|
201
|
-
"esm2022": "./esm2022/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs",
|
|
202
|
-
"esm": "./esm2022/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs",
|
|
203
|
-
"default": "./fesm2022/mis-crystal-design-system-specificdatepicker.mjs"
|
|
204
|
-
},
|
|
205
205
|
"./table": {
|
|
206
206
|
"types": "./table/index.d.ts",
|
|
207
207
|
"esm2022": "./esm2022/table/mis-crystal-design-system-table.mjs",
|
|
@@ -121,7 +121,7 @@ export interface ColHeaderConfig {
|
|
|
121
121
|
sortDescIcon?: string;
|
|
122
122
|
}
|
|
123
123
|
export interface ColConfig {
|
|
124
|
-
type: "text" | "number" | "custom" | "actions";
|
|
124
|
+
type: "text" | "number" | "custom" | "actions" | "html";
|
|
125
125
|
componentRef?: any;
|
|
126
126
|
style?: {};
|
|
127
127
|
action?: any;
|