mis-crystal-design-system 18.1.6-signal → 18.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/async-search-dropdown/async-dropdown.component.d.ts +44 -3
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +4 -0
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +14 -5
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +147 -37
- package/esm2022/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/chip/chip.component.mjs +4 -4
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +2 -34
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +87 -32
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +6 -3
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +324 -142
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +4 -4
- package/esm2022/fab/fab.component.mjs +4 -4
- package/esm2022/input/mis-input.component.mjs +3 -11
- package/esm2022/loader/loader.component.mjs +13 -7
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +4 -4
- package/esm2022/phone-input/phone-input.component.mjs +4 -4
- package/esm2022/radio-button/radio-button.component.mjs +4 -4
- package/esm2022/ske-loader/ske-loader.component.mjs +4 -4
- package/esm2022/slider/slider.component.mjs +4 -4
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +4 -4
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +23 -19
- package/esm2022/table/sort-icons.directive.mjs +24 -5
- package/esm2022/table/sub-table/sub-table.component.mjs +18 -5
- package/esm2022/table/table.component.mjs +236 -101
- package/esm2022/table/table.module.mjs +7 -5
- package/esm2022/timepicker/timepicker.component.mjs +41 -14
- package/esm2022/timerangepicker/timerangepicker.component.mjs +29 -21
- package/esm2022/toast/toast.component.mjs +4 -4
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +4 -4
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +146 -36
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.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 +87 -64
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +328 -143
- 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-fab.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +2 -10
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +12 -6
- package/fesm2022/mis-crystal-design-system-loader.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-phone-input.mjs +3 -3
- 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 +3 -3
- 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 +3 -3
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +22 -18
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +279 -111
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +40 -13
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +28 -20
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-tooltip.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/input/mis-input.component.scss +2 -3
- package/loader/loader.component.d.ts +7 -1
- package/package.json +7 -7
- package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +2 -2
- package/table/table.component.d.ts +14 -1
- package/table/table.module.d.ts +2 -1
- package/timepicker/timepicker.component.d.ts +3 -1
- package/timerangepicker/timerangepicker.component.d.ts +3 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, EventEmitter, Component,
|
|
2
|
+
import { input, EventEmitter, Component, Output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
@@ -59,11 +59,11 @@ class ChipComponent {
|
|
|
59
59
|
i0.ɵɵproperty("ngIf", ctx.count() != null || ctx.count() != undefined);
|
|
60
60
|
i0.ɵɵadvance();
|
|
61
61
|
i0.ɵɵproperty("ngIf", ctx.dismissible());
|
|
62
|
-
} }, dependencies: [i1.NgClass, i1.NgIf], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}#chip-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;font-family:Lato,sans-serif!important;background-color:var(--border-primary, #E0E0E0);box-sizing:border-box;cursor:default}#chip-container[_ngcontent-%COMP%]:hover{background:var(--border-secondary, #D6DCE2)}img[_ngcontent-%COMP%]{margin-right:4px}#close-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-left:4px;cursor:pointer}#count-container[_ngcontent-%COMP%]{display:flex;height:100%;justify-content:center;align-items:center}#separator[_ngcontent-%COMP%]{height:100%;width:1px;background-color:var(--text-disabled, #C8CDD3);margin:0 8px}#count-text[_ngcontent-%COMP%]{font-weight:700;letter-spacing:.25px}.small[_ngcontent-%COMP%]{height:24px;padding:4px 8px;border-radius:7px;font-style:normal;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.7px;color:var(--text-primary, #181F33)}.medium[_ngcontent-%COMP%]{height:32px;padding:6px 12px;border-radius:16px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.small-m[_ngcontent-%COMP%]{height:20px;padding:4px 8px;border-radius:10px;font-style:normal;font-weight:400;font-size:11px;line-height:12px;letter-spacing:.1px;color:var(--text-primary, #181F33)}.medium-m[_ngcontent-%COMP%]{height:24px;padding:4px 12px;border-radius:12px;font-style:normal;font-weight:400;font-size:12px;line-height:16px;letter-spacing:.25px;color:var(--text-primary, #181F33)}"]
|
|
62
|
+
} }, dependencies: [i1.NgClass, i1.NgIf], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}#chip-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;font-family:Lato,sans-serif!important;background-color:var(--border-primary, #E0E0E0);box-sizing:border-box;cursor:default}#chip-container[_ngcontent-%COMP%]:hover{background:var(--border-secondary, #D6DCE2)}img[_ngcontent-%COMP%]{margin-right:4px}#close-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-left:4px;cursor:pointer}#count-container[_ngcontent-%COMP%]{display:flex;height:100%;justify-content:center;align-items:center}#separator[_ngcontent-%COMP%]{height:100%;width:1px;background-color:var(--text-disabled, #C8CDD3);margin:0 8px}#count-text[_ngcontent-%COMP%]{font-weight:700;letter-spacing:.25px}.small[_ngcontent-%COMP%]{height:24px;padding:4px 8px;border-radius:7px;font-style:normal;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.7px;color:var(--text-primary, #181F33)}.medium[_ngcontent-%COMP%]{height:32px;padding:6px 12px;border-radius:16px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.small-m[_ngcontent-%COMP%]{height:20px;padding:4px 8px;border-radius:10px;font-style:normal;font-weight:400;font-size:11px;line-height:12px;letter-spacing:.1px;color:var(--text-primary, #181F33)}.medium-m[_ngcontent-%COMP%]{height:24px;padding:4px 12px;border-radius:12px;font-style:normal;font-weight:400;font-size:12px;line-height:16px;letter-spacing:.25px;color:var(--text-primary, #181F33)}"] }); }
|
|
63
63
|
}
|
|
64
64
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChipComponent, [{
|
|
65
65
|
type: Component,
|
|
66
|
-
args: [{ selector: "mis-chip",
|
|
66
|
+
args: [{ selector: "mis-chip", template: "<div\n id=\"chip-container\"\n tabindex=\"0\"\n [ngClass]=\"{\n small: size() === 'Small',\n medium: size() === 'Medium',\n 'small-m': size() === 'Small-M',\n 'medium-m': size() === 'Medium-M'\n }\"\n>\n <img *ngIf=\"iconUrl() && iconUrl().length > 0\" [src]=\"iconUrl()\" alt=\"chip icon\" />\n <span tabindex=\"0\">{{ label() }}</span>\n <div *ngIf=\"count() != null || count() != undefined\" id=\"count-container\">\n <div id=\"separator\"></div>\n <span id=\"count-text\">{{ count() }}</span>\n </div>\n <span *ngIf=\"dismissible()\" tabindex=\"0\" id=\"close-icon\" aria-label=\"remove chip\" (keyup.enter)=\"cancel.emit(value())\" (click)=\"cancel.emit(value())\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.49931 4.25725C5.15643 3.91437 4.60052 3.91437 4.25765 4.25725C3.91477 4.60012 3.91477 5.15604 4.25765 5.49891L6.75868 7.99994L4.25827 10.5004C3.91539 10.8432 3.91539 11.3991 4.25827 11.742C4.60114 12.0849 5.15706 12.0849 5.49993 11.742L8.00034 9.24161L10.5007 11.742C10.8436 12.0849 11.3995 12.0849 11.7424 11.742C12.0853 11.3991 12.0853 10.8432 11.7424 10.5003L9.24201 7.99995L11.743 5.49893C12.0859 5.15606 12.0859 4.60014 11.743 4.25727C11.4001 3.91439 10.8442 3.91439 10.5014 4.25727L8.00034 6.75828L5.49931 4.25725Z\"\n fill=\"#181F33\"\n />\n </svg>\n </span>\n</div>\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}#chip-container{display:flex;justify-content:center;align-items:center;font-family:Lato,sans-serif!important;background-color:var(--border-primary, #E0E0E0);box-sizing:border-box;cursor:default}#chip-container:hover{background:var(--border-secondary, #D6DCE2)}img{margin-right:4px}#close-icon{display:flex;justify-content:center;align-items:center;margin-left:4px;cursor:pointer}#count-container{display:flex;height:100%;justify-content:center;align-items:center}#separator{height:100%;width:1px;background-color:var(--text-disabled, #C8CDD3);margin:0 8px}#count-text{font-weight:700;letter-spacing:.25px}.small{height:24px;padding:4px 8px;border-radius:7px;font-style:normal;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.7px;color:var(--text-primary, #181F33)}.medium{height:32px;padding:6px 12px;border-radius:16px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.small-m{height:20px;padding:4px 8px;border-radius:10px;font-style:normal;font-weight:400;font-size:11px;line-height:12px;letter-spacing:.1px;color:var(--text-primary, #181F33)}.medium-m{height:24px;padding:4px 12px;border-radius:12px;font-style:normal;font-weight:400;font-size:12px;line-height:16px;letter-spacing:.25px;color:var(--text-primary, #181F33)}\n"] }]
|
|
67
67
|
}], null, { cancel: [{
|
|
68
68
|
type: Output
|
|
69
69
|
}] }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-chip.mjs","sources":["../../../projects/mis-components/chip/chip.component.html","../../../projects/mis-components/chip/chip.component.ts","../../../projects/mis-components/chip/chip.module.ts","../../../projects/mis-components/chip/mis-crystal-design-system-chip.ts"],"sourcesContent":["<div\n id=\"chip-container\"\n tabindex=\"0\"\n [ngClass]=\"{\n small: size() === 'Small',\n medium: size() === 'Medium',\n 'small-m': size() === 'Small-M',\n 'medium-m': size() === 'Medium-M'\n }\"\n>\n <img *ngIf=\"iconUrl() && iconUrl().length > 0\" [src]=\"iconUrl()\" alt=\"chip icon\" />\n <span tabindex=\"0\">{{ label() }}</span>\n <div *ngIf=\"count() != null || count() != undefined\" id=\"count-container\">\n <div id=\"separator\"></div>\n <span id=\"count-text\">{{ count() }}</span>\n </div>\n <span *ngIf=\"dismissible()\" tabindex=\"0\" id=\"close-icon\" aria-label=\"remove chip\" (keyup.enter)=\"cancel.emit(value())\" (click)=\"cancel.emit(value())\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.49931 4.25725C5.15643 3.91437 4.60052 3.91437 4.25765 4.25725C3.91477 4.60012 3.91477 5.15604 4.25765 5.49891L6.75868 7.99994L4.25827 10.5004C3.91539 10.8432 3.91539 11.3991 4.25827 11.742C4.60114 12.0849 5.15706 12.0849 5.49993 11.742L8.00034 9.24161L10.5007 11.742C10.8436 12.0849 11.3995 12.0849 11.7424 11.742C12.0853 11.3991 12.0853 10.8432 11.7424 10.5003L9.24201 7.99995L11.743 5.49893C12.0859 5.15606 12.0859 4.60014 11.743 4.25727C11.4001 3.91439 10.8442 3.91439 10.5014 4.25727L8.00034 6.75828L5.49931 4.25725Z\"\n fill=\"#181F33\"\n />\n </svg>\n </span>\n</div>\n","import { Component, Output, EventEmitter, ChangeDetectionStrategy, input } from \"@angular/core\";\n\n@Component({\n selector: \"mis-chip\",\n templateUrl: \"chip.component.html\",\n styleUrls: [\"chip.component.scss\"],\n
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-chip.mjs","sources":["../../../projects/mis-components/chip/chip.component.html","../../../projects/mis-components/chip/chip.component.ts","../../../projects/mis-components/chip/chip.module.ts","../../../projects/mis-components/chip/mis-crystal-design-system-chip.ts"],"sourcesContent":["<div\n id=\"chip-container\"\n tabindex=\"0\"\n [ngClass]=\"{\n small: size() === 'Small',\n medium: size() === 'Medium',\n 'small-m': size() === 'Small-M',\n 'medium-m': size() === 'Medium-M'\n }\"\n>\n <img *ngIf=\"iconUrl() && iconUrl().length > 0\" [src]=\"iconUrl()\" alt=\"chip icon\" />\n <span tabindex=\"0\">{{ label() }}</span>\n <div *ngIf=\"count() != null || count() != undefined\" id=\"count-container\">\n <div id=\"separator\"></div>\n <span id=\"count-text\">{{ count() }}</span>\n </div>\n <span *ngIf=\"dismissible()\" tabindex=\"0\" id=\"close-icon\" aria-label=\"remove chip\" (keyup.enter)=\"cancel.emit(value())\" (click)=\"cancel.emit(value())\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.49931 4.25725C5.15643 3.91437 4.60052 3.91437 4.25765 4.25725C3.91477 4.60012 3.91477 5.15604 4.25765 5.49891L6.75868 7.99994L4.25827 10.5004C3.91539 10.8432 3.91539 11.3991 4.25827 11.742C4.60114 12.0849 5.15706 12.0849 5.49993 11.742L8.00034 9.24161L10.5007 11.742C10.8436 12.0849 11.3995 12.0849 11.7424 11.742C12.0853 11.3991 12.0853 10.8432 11.7424 10.5003L9.24201 7.99995L11.743 5.49893C12.0859 5.15606 12.0859 4.60014 11.743 4.25727C11.4001 3.91439 10.8442 3.91439 10.5014 4.25727L8.00034 6.75828L5.49931 4.25725Z\"\n fill=\"#181F33\"\n />\n </svg>\n </span>\n</div>\n","import { Component, Output, EventEmitter, ChangeDetectionStrategy, input } from \"@angular/core\";\n\n@Component({\n selector: \"mis-chip\",\n templateUrl: \"chip.component.html\",\n styleUrls: [\"chip.component.scss\"],\n})\nexport class ChipComponent {\n label = input<string>(\"\");\n value = input<any>(\"\");\n size = input<\"Small\" | \"Medium\" | \"Small-M\" | \"Medium-M\">(\"Medium\");\n iconUrl = input<string | null>(null);\n count = input<number | null | undefined>(null);\n dismissible = input<boolean>(false);\n\n @Output() cancel = new EventEmitter<any>();\n}\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ChipComponent } from \"./chip.component\";\n\n@NgModule({\n declarations: [ChipComponent],\n imports: [CommonModule],\n exports: [ChipComponent]\n})\nexport class ChipModule {\n static forRoot(): ModuleWithProviders<ChipModule> {\n return { ngModule: ChipModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -276,6 +276,57 @@ dayjs.extend(customParseFormat);
|
|
|
276
276
|
dayjs.extend(isSameOrAfter);
|
|
277
277
|
dayjs.extend(isSameOrBefore);
|
|
278
278
|
class TzDpContainerComponent {
|
|
279
|
+
/**
|
|
280
|
+
* Parse date string using configured format with fallback
|
|
281
|
+
*/
|
|
282
|
+
parseDateWithMultipleFormats(dateString) {
|
|
283
|
+
if (!dateString || dateString === 'Invalid Date' || dateString === 'undefined' || dateString === 'null') {
|
|
284
|
+
return dayjs('invalid');
|
|
285
|
+
}
|
|
286
|
+
// First try the configured format
|
|
287
|
+
const configuredFormat = this.data?.dpConfig?.format;
|
|
288
|
+
if (configuredFormat) {
|
|
289
|
+
try {
|
|
290
|
+
const parsed = this.parseZoneInstance(dateString, configuredFormat);
|
|
291
|
+
if (parsed.isValid()) {
|
|
292
|
+
return parsed;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
// Continue to fallback formats
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// Fallback to common formats if configured format fails
|
|
300
|
+
const fallbackFormats = [
|
|
301
|
+
'DD/MMM/YYYY',
|
|
302
|
+
'DD/MM/YYYY',
|
|
303
|
+
'DD-MMM-YYYY',
|
|
304
|
+
'DD-MM-YYYY',
|
|
305
|
+
'YYYY-MM-DD'
|
|
306
|
+
];
|
|
307
|
+
for (const format of fallbackFormats) {
|
|
308
|
+
try {
|
|
309
|
+
const parsed = this.parseZoneInstance(dateString, format);
|
|
310
|
+
if (parsed.isValid()) {
|
|
311
|
+
return parsed;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
// Continue to next format
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// If all formats fail, try parsing without format (let dayjs guess)
|
|
319
|
+
try {
|
|
320
|
+
const parsed = this.parseZoneInstance(dateString);
|
|
321
|
+
if (parsed.isValid()) {
|
|
322
|
+
return parsed;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
console.warn('Failed to parse date with any format:', dateString, error);
|
|
327
|
+
}
|
|
328
|
+
return dayjs('invalid');
|
|
329
|
+
}
|
|
279
330
|
constructor(data, toast) {
|
|
280
331
|
this.toast = toast;
|
|
281
332
|
this.parseZoneInstance = (...args) => {
|
|
@@ -514,7 +565,7 @@ class TzDpContainerComponent {
|
|
|
514
565
|
currentDateInstance() {
|
|
515
566
|
try {
|
|
516
567
|
if (this.data.date) {
|
|
517
|
-
const selectedDate =
|
|
568
|
+
const selectedDate = this.parseDateWithMultipleFormats(this.data.date);
|
|
518
569
|
if (selectedDate.isValid()) {
|
|
519
570
|
this.selectedYearSignal.set(selectedDate.year());
|
|
520
571
|
this.currentYearNumberSignal.set(selectedDate.year());
|
|
@@ -621,7 +672,7 @@ class TzDpContainerComponent {
|
|
|
621
672
|
let maxDate = null;
|
|
622
673
|
if (this.data.dpConfig.minDate) {
|
|
623
674
|
try {
|
|
624
|
-
minDate = this.
|
|
675
|
+
minDate = this.parseDateWithMultipleFormats(this.data.dpConfig.minDate);
|
|
625
676
|
}
|
|
626
677
|
catch (error) {
|
|
627
678
|
// Silently handle min date parsing error
|
|
@@ -629,7 +680,7 @@ class TzDpContainerComponent {
|
|
|
629
680
|
}
|
|
630
681
|
if (this.data.dpConfig.maxDate) {
|
|
631
682
|
try {
|
|
632
|
-
maxDate = this.
|
|
683
|
+
maxDate = this.parseDateWithMultipleFormats(this.data.dpConfig.maxDate);
|
|
633
684
|
}
|
|
634
685
|
catch (error) {
|
|
635
686
|
// Silently handle max date parsing error
|
|
@@ -647,38 +698,42 @@ class TzDpContainerComponent {
|
|
|
647
698
|
isDisabledDay = maxDate.isBefore(date, "day");
|
|
648
699
|
}
|
|
649
700
|
const currentDateInstance = this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate);
|
|
650
|
-
|
|
701
|
+
// Only mark as current day if it's not disabled
|
|
702
|
+
const isCurrentDay = !isDisabledDay && currentDateInstance.format(this.data.dpConfig.format) === dayjs().format(this.data.dpConfig.format);
|
|
651
703
|
let isSelectedDay = false;
|
|
652
|
-
//
|
|
653
|
-
if (
|
|
654
|
-
|
|
655
|
-
this.localSelectedDateSignal()
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
if
|
|
663
|
-
|
|
664
|
-
if (
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
// For date-only format, compare the date parts only
|
|
670
|
-
const selectedDate = this.parseZoneInstance(this.data.date, this.data.dpConfig.format);
|
|
671
|
-
if (selectedDate.isValid()) {
|
|
672
|
-
isSelectedDay = selectedDate.isSame(currentDateInstance, 'day');
|
|
704
|
+
// Only set selected day if the date is not disabled
|
|
705
|
+
if (!isDisabledDay) {
|
|
706
|
+
// Prioritize current selection over previously applied date
|
|
707
|
+
if (this.localSelectedDateSignal() &&
|
|
708
|
+
this.localSelectedDateSignal().date === currentDate &&
|
|
709
|
+
this.localSelectedDateSignal().month === month &&
|
|
710
|
+
this.localSelectedDateSignal().year === currentYearNumber) {
|
|
711
|
+
isSelectedDay = true;
|
|
712
|
+
}
|
|
713
|
+
else if (this.data.date && !this.localSelectedDateSignal()) {
|
|
714
|
+
// Only check previously applied date if no current selection
|
|
715
|
+
try {
|
|
716
|
+
if (this.data.dpConfig.enableTime) {
|
|
717
|
+
const selectedDate = this.parseDateWithMultipleFormats(this.data.date);
|
|
718
|
+
if (selectedDate.isValid()) {
|
|
719
|
+
isSelectedDay = selectedDate.isSame(currentDateInstance, 'day');
|
|
720
|
+
}
|
|
673
721
|
}
|
|
674
722
|
else {
|
|
675
|
-
//
|
|
676
|
-
|
|
723
|
+
// For date-only format, compare the date parts only
|
|
724
|
+
const selectedDate = this.parseDateWithMultipleFormats(this.data.date);
|
|
725
|
+
if (selectedDate.isValid()) {
|
|
726
|
+
isSelectedDay = selectedDate.isSame(currentDateInstance, 'day');
|
|
727
|
+
}
|
|
728
|
+
else {
|
|
729
|
+
// Fallback to string comparison if parsing fails
|
|
730
|
+
isSelectedDay = dateString === this.data.date;
|
|
731
|
+
}
|
|
677
732
|
}
|
|
678
733
|
}
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
734
|
+
catch (error) {
|
|
735
|
+
// Silently handle date comparison error
|
|
736
|
+
}
|
|
682
737
|
}
|
|
683
738
|
}
|
|
684
739
|
dates.push({
|
|
@@ -768,7 +823,7 @@ class TzDpContainerComponent {
|
|
|
768
823
|
// Force calendar re-render to show highlighting
|
|
769
824
|
this.currentMonthDatesSignal.set(this.generateDates(this.currentMonthNumberSignal(), this.currentYearNumberSignal()));
|
|
770
825
|
// Automatically apply when neither time nor apply button is enabled, otherwise wait for user action
|
|
771
|
-
if (!this.data.dpConfig.
|
|
826
|
+
if (!this.data.dpConfig.showApplyButton && !this.data.dpConfig.enableTime) {
|
|
772
827
|
this.applyDate(day);
|
|
773
828
|
}
|
|
774
829
|
}
|
|
@@ -972,40 +1027,8 @@ class TzDatepickerDirective {
|
|
|
972
1027
|
this.close();
|
|
973
1028
|
}
|
|
974
1029
|
}, { allowSignalWrites: true });
|
|
975
|
-
// Effect to sync selectedDate with input value
|
|
976
|
-
effect(() => {
|
|
977
|
-
const date = this.selectedDate();
|
|
978
|
-
const element = this.element.nativeElement;
|
|
979
|
-
// Clear the value if date is empty/null/undefined
|
|
980
|
-
if (!date) {
|
|
981
|
-
element.value = '';
|
|
982
|
-
if (this.control?.control) {
|
|
983
|
-
this.control.control.setValue('', { emitEvent: false });
|
|
984
|
-
}
|
|
985
|
-
return;
|
|
986
|
-
}
|
|
987
|
-
// Set the value and trigger input event to ensure mis-input updates
|
|
988
|
-
element.value = date;
|
|
989
|
-
element.dispatchEvent(new Event('input', { bubbles: true }));
|
|
990
|
-
if (this.control?.control) {
|
|
991
|
-
this.control.control.setValue(date, { emitEvent: false });
|
|
992
|
-
}
|
|
993
|
-
});
|
|
994
|
-
}
|
|
995
|
-
ngOnInit() {
|
|
996
|
-
// Handle initial value
|
|
997
|
-
const element = this.element.nativeElement;
|
|
998
|
-
const initialValue = element.value || this.selectedDate();
|
|
999
|
-
if (initialValue) {
|
|
1000
|
-
// Set initial value and trigger input event
|
|
1001
|
-
element.value = initialValue;
|
|
1002
|
-
element.dispatchEvent(new Event('input', { bubbles: true }));
|
|
1003
|
-
// Update control if available
|
|
1004
|
-
if (this.control?.control) {
|
|
1005
|
-
this.control.control.setValue(initialValue, { emitEvent: false });
|
|
1006
|
-
}
|
|
1007
|
-
}
|
|
1008
1030
|
}
|
|
1031
|
+
ngOnInit() { }
|
|
1009
1032
|
toggleDatePicker() {
|
|
1010
1033
|
if (this.isOpen()) {
|
|
1011
1034
|
this.close();
|