@indigina/ui-kit 1.1.90 → 1.1.92
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/assets/icons/details.svg +10 -0
- package/assets/icons/filter.svg +3 -0
- package/esm2022/lib/components/kit-button/kit-button.component.mjs +9 -3
- package/esm2022/lib/components/kit-card/kit-card.component.mjs +2 -2
- package/esm2022/lib/components/kit-cta-panel-action/kit-cta-panel-action.component.mjs +1 -1
- package/esm2022/lib/components/kit-datepicker/kit-datepicker.component.mjs +2 -2
- package/esm2022/lib/components/kit-daterange/kit-daterange.component.mjs +2 -2
- package/esm2022/lib/components/kit-datetimepicker/kit-datetimepicker.component.mjs +2 -2
- package/esm2022/lib/components/kit-file-card/kit-file-card.component.mjs +1 -1
- package/esm2022/lib/components/kit-file-upload/kit-file-upload.component.mjs +1 -1
- package/esm2022/lib/components/kit-grid/kit-grid.component.mjs +12 -14
- package/esm2022/lib/components/kit-popup/kit-popup.component.mjs +27 -16
- package/esm2022/lib/components/kit-profile-menu/kit-profile-menu.component.mjs +16 -8
- package/esm2022/lib/components/kit-scroll-navigation/kit-scroll-navigation.component.mjs +1 -1
- package/esm2022/lib/components/kit-search-bar/kit-search-bar.component.mjs +1 -1
- package/esm2022/lib/components/kit-svg-icon/kit-svg-icon.const.mjs +3 -1
- package/esm2022/lib/components/kit-svg-sprite/kit-svg-sprite.component.mjs +3 -3
- package/esm2022/public-api.mjs +1 -4
- package/fesm2022/indigina-ui-kit.mjs +70 -141
- package/fesm2022/indigina-ui-kit.mjs.map +1 -1
- package/lib/components/kit-button/kit-button.component.d.ts +5 -1
- package/lib/components/kit-grid/kit-grid.component.d.ts +5 -5
- package/lib/components/kit-popup/kit-popup.component.d.ts +8 -7
- package/lib/components/kit-profile-menu/kit-profile-menu.component.d.ts +1 -1
- package/lib/components/kit-svg-icon/kit-svg-icon.const.d.ts +3 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -3
- package/esm2022/lib/components/kit-popup/kit-popup.directive.mjs +0 -37
- package/esm2022/lib/components/kit-popup/kit-popup.module.mjs +0 -33
- package/esm2022/lib/components/kit-profile-menu/kit-profile-menu.module.mjs +0 -39
- package/lib/components/kit-popup/kit-popup.directive.d.ts +0 -14
- package/lib/components/kit-popup/kit-popup.module.d.ts +0 -10
- package/lib/components/kit-profile-menu/kit-profile-menu.module.d.ts +0 -12
|
@@ -94,7 +94,7 @@ export class KitDatetimepickerComponent {
|
|
|
94
94
|
provide: NG_VALUE_ACCESSOR,
|
|
95
95
|
useExisting: forwardRef(() => KitDatetimepickerComponent),
|
|
96
96
|
multi: true,
|
|
97
|
-
}], viewQueries: [{ propertyName: "datetimepicker", first: true, predicate: ["datetimepicker"], descendants: true }], ngImport: i0, template: "<div class=\"kit-datetimepicker\"\n [class.disabled]=\"disabled\"\n [class.invalid]=\"invalid\">\n @if (label) {\n <kit-input-label class=\"label\"\n [text]=\"label\"\n [for]=\"$any(datetimepicker)\"\n ></kit-input-label>\n }\n <div class=\"datetimepicker-wrap\">\n <kendo-datetimepicker #datetimepicker\n calendarType=\"classic\"\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [disabled]=\"disabled\"\n [popupSettings]=\"datetimepickerPopupSettings\"\n [value]=\"defaultDate\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"defaultDate\"\n (valueChange)=\"onValueChange($event)\"\n (blur)=\"onBlur()\">\n <kendo-datetimepicker-messages [accept]=\"applyButtonText\"\n [cancel]=\"cancelButtonText\"\n [now]=\"nowButtonText\"\n ></kendo-datetimepicker-messages>\n </kendo-datetimepicker>\n <button class=\"toggle-btn\"\n [disabled]=\"disabled\"\n (click)=\"onPopupToggle()\">\n <kit-svg-icon class=\"button-icon\"\n [icon]=\"icon\"\n ></kit-svg-icon>\n </button>\n </div>\n @if (messageText) {\n <kit-input-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-input-message>\n }\n</div>\n", styles: [".kit-datetimepicker .label{display:block;margin-bottom:4px}.kit-datetimepicker .datetimepicker-wrap{position:relative}.kit-datetimepicker:hover .k-datetimepicker{border-color:var(--ui-kit-color-hover)}.kit-datetimepicker .k-datetimepicker{height:40px;width:100%;font-size:14px;font-weight:400;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-white)}.kit-datetimepicker .k-datetimepicker.k-focus{border-color:var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-datetimepicker .k-datetimepicker.k-focus+.toggle-btn .button-icon{stroke:var(--ui-kit-color-main)}.kit-datetimepicker .k-dateinput{box-shadow:none}.kit-datetimepicker .k-input-inner{padding:0 36px 0 12px;color:var(--ui-kit-color-grey-10);line-height:1}.kit-datetimepicker .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-datetimepicker .k-input-inner::selection{color:var(--ui-kit-color-white);background:var(--ui-kit-color-main)}.kit-datetimepicker .toggle-btn{position:absolute;top:0;right:0;padding:0 12px 0 8px;height:100%;border:none;background:none;cursor:pointer;z-index:1}.kit-datetimepicker .toggle-btn .button-icon{display:block;width:16px;height:16px;fill:transparent;stroke:var(--ui-kit-color-grey-12)}.kit-datetimepicker .toggle-btn:hover .button-icon{stroke:var(--ui-kit-color-hover)}.kit-datetimepicker.disabled .k-datetimepicker{border-color:var(--ui-kit-color-grey-12)}.kit-datetimepicker.disabled .k-input-inner{color:var(--ui-kit-color-grey-12);background-color:var(--ui-kit-color-grey-13)}.kit-datetimepicker.disabled .toggle-btn{cursor:default}.kit-datetimepicker.disabled .toggle-btn .button-icon{stroke:var(--ui-kit-color-grey-12)}.kit-datetimepicker.invalid .k-datetimepicker{border-color:var(--ui-kit-color-red-1)}.kit-datetimepicker.invalid .toggle-btn{cursor:default}.kit-datetimepicker.invalid .toggle-btn .button-icon{stroke:var(--ui-kit-color-red-1)}.kit-datetimepicker.invalid .k-dateinput{border-color:var(--ui-kit-color-red-1)}.kit-datetimepicker .k-input-button{display:none}.kit-datetimepicker-popup.k-popup{margin-top:10px;padding:8px;width:296px;border:none;border-radius:8px;box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;background-color:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup{margin-bottom:10px;padding:0}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button-group{gap:10px;width:auto}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button{padding:0 11px;height:46px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border:none;border-bottom:2px solid transparent;border-radius:0;background:var(--ui-kit-color-white);transition:none}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button.k-active{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button:hover{color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-datetime-wrap{width:280px}.kit-datetimepicker-popup.k-popup .k-datetime-time-wrap,.kit-datetimepicker-popup.k-popup .k-datetime-calendar-wrap{flex-basis:280px}.kit-datetimepicker-popup.k-popup .k-calendar-header{padding:0 0 10px;color:var(--ui-kit-color-grey-10);font-size:14px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-calendar-table{display:flex;flex-direction:column;gap:6px;padding:3px 8px}.kit-datetimepicker-popup.k-popup .k-calendar-title{padding:6px 8px;color:var(--ui-kit-color-grey-10);font-weight:400;line-height:20px;border-radius:4px;border:none}.kit-datetimepicker-popup.k-popup .k-calendar-title:hover{background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today{display:flex;align-items:center;padding:0 8px;color:var(--ui-kit-color-grey-10)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today:hover:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next{padding:0;width:32px;height:32px;color:var(--ui-kit-color-grey-12)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev:before,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev:hover,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-link{padding:0;width:54px;height:24px;color:var(--ui-kit-color-grey-10);border-radius:6px}.kit-datetimepicker-popup.k-popup .k-calendar-view{margin:0;padding:10px 0;gap:32px;width:auto;box-sizing:border-box}.kit-datetimepicker-popup.k-popup .k-calendar-tr{display:flex;gap:16px}.kit-datetimepicker-popup.k-popup .k-calendar-tbody{display:flex;flex-direction:column;row-gap:16px}.kit-datetimepicker-popup.k-popup .k-calendar-th{width:24px;height:22px;color:var(--ui-kit-color-main);font-size:14px;text-transform:capitalize}.kit-datetimepicker-popup.k-popup .k-calendar-td{width:auto;height:auto;border-radius:6px}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-today .k-link{color:var(--ui-kit-color-main);background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-other-month .k-link{color:var(--ui-kit-color-grey-12)}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-focus .k-link{box-shadow:none}.kit-datetimepicker-popup.k-popup .k-calendar-td:hover .k-link{border:none;background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-td:focus .k-link{box-shadow:none}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-link{width:24px}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-tbody{row-gap:6px}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-td.k-today .k-link{color:var(--ui-kit-color-grey-10);border:1px solid var(--ui-kit-color-main);background:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-td.k-selected .k-link{color:var(--ui-kit-color-white);border:none;background:var(--ui-kit-color-main);box-shadow:none}.kit-datetimepicker-popup.k-popup .k-timeselector{height:100%}.kit-datetimepicker-popup.k-popup .k-time-header{padding:0 0 10px;color:var(--ui-kit-color-grey-10);font-size:14px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-time-header .k-title,.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now{padding:6px 8px;font-weight:400;line-height:20px}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now{color:var(--ui-kit-color-grey-10)}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now:hover:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-time-list-container{justify-content:center;padding:10px 0;gap:20px}.kit-datetimepicker-popup.k-popup .k-reset{display:flex;flex-direction:column;align-items:center;width:auto}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper{flex-grow:0;padding:0;height:208px;min-width:auto}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper:before,.kit-datetimepicker-popup.k-popup .k-time-list-wrapper:after{display:none}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper .k-title{display:flex;align-items:center;justify-content:flex-end;color:var(--ui-kit-color-main);font-size:14px;font-weight:400;height:24px}.kit-datetimepicker-popup.k-popup .k-time-list:before,.kit-datetimepicker-popup.k-popup .k-time-list:after{display:none}.kit-datetimepicker-popup.k-popup .k-time-list .k-item{display:flex;align-items:center;justify-content:center;padding:5px 0;height:24px;width:38px;color:var(--ui-kit-color-grey-12);font-size:16px;font-weight:400}.kit-datetimepicker-popup.k-popup .k-time-list .k-item[aria-selected=true]{padding:10px 0;color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-time-highlight{top:50%;height:34px;border-color:var(--ui-kit-color-grey-12);transform:none}.kit-datetimepicker-popup.k-popup .k-time-separator{top:16px;color:var(--ui-kit-color-grey-10);font-size:16px}.kit-datetimepicker-popup.k-popup .k-actions{margin:0;padding:10px 0 0;flex-direction:row-reverse;border-top:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-actions .k-button{flex:none;padding:0 19px;height:32px;font-size:14px;font-weight:400;border-radius:6px;border:1px solid var(--ui-kit-color-grey-11);transition:none}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept{border-color:transparent;background:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:hover{background:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:active{background:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:disabled{color:var(--ui-kit-color-grey-12);border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel{background:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel:hover{color:var(--ui-kit-color-hover);border-color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel:active{border-color:var(--ui-kit-color-grey-11)}\n"], dependencies: [{ kind: "component", type: i1.DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }, { kind: "component", type: i1.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "weekDaysFormat", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "clearButton", "autoFill", "adaptiveMode", "inputAttributes", "defaultTab", "size", "rounded", "fillMode", "headerTemplate", "footerTemplate", "footer"], outputs: ["valueChange", "open", "close", "focus", "blur", "escape"], exportAs: ["kendo-datetimepicker"] }, { kind: "component", type: i2.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: i3.KitInputMessageComponent, selector: "kit-input-message", inputs: ["icon", "message"] }, { kind: "component", type: i4.KitInputLabelComponent, selector: "kit-input-label", inputs: ["text", "for", "tooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
97
|
+
}], viewQueries: [{ propertyName: "datetimepicker", first: true, predicate: ["datetimepicker"], descendants: true }], ngImport: i0, template: "<div class=\"kit-datetimepicker\"\n [class.disabled]=\"disabled\"\n [class.invalid]=\"invalid\">\n @if (label) {\n <kit-input-label class=\"label\"\n [text]=\"label\"\n [for]=\"$any(datetimepicker)\"\n ></kit-input-label>\n }\n <div class=\"datetimepicker-wrap\">\n <kendo-datetimepicker #datetimepicker\n calendarType=\"classic\"\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [disabled]=\"disabled\"\n [popupSettings]=\"datetimepickerPopupSettings\"\n [value]=\"defaultDate\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"defaultDate\"\n (valueChange)=\"onValueChange($event)\"\n (blur)=\"onBlur()\">\n <kendo-datetimepicker-messages [accept]=\"applyButtonText\"\n [cancel]=\"cancelButtonText\"\n [now]=\"nowButtonText\"\n ></kendo-datetimepicker-messages>\n </kendo-datetimepicker>\n <button class=\"toggle-btn\"\n [disabled]=\"disabled\"\n (click)=\"onPopupToggle()\">\n <kit-svg-icon class=\"button-icon\"\n [icon]=\"icon\"\n ></kit-svg-icon>\n </button>\n </div>\n @if (messageText) {\n <kit-input-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-input-message>\n }\n</div>\n", styles: [".kit-datetimepicker .label{display:block;margin-bottom:4px}.kit-datetimepicker .datetimepicker-wrap{position:relative}.kit-datetimepicker:hover .k-datetimepicker{border-color:var(--ui-kit-color-hover)}.kit-datetimepicker .k-datetimepicker{height:40px;width:100%;font-size:14px;font-weight:400;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-white)}.kit-datetimepicker .k-datetimepicker.k-focus{border-color:var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-datetimepicker .k-datetimepicker.k-focus+.toggle-btn .button-icon{fill:var(--ui-kit-color-main)}.kit-datetimepicker .k-dateinput{box-shadow:none}.kit-datetimepicker .k-input-inner{padding:0 36px 0 12px;color:var(--ui-kit-color-grey-10);line-height:1}.kit-datetimepicker .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-datetimepicker .k-input-inner::selection{color:var(--ui-kit-color-white);background:var(--ui-kit-color-main)}.kit-datetimepicker .toggle-btn{position:absolute;top:0;right:0;padding:0 12px 0 8px;height:100%;border:none;background:none;cursor:pointer;z-index:1}.kit-datetimepicker .toggle-btn .button-icon{display:block;width:16px;height:16px;stroke:none;fill:var(--ui-kit-color-grey-12)}.kit-datetimepicker .toggle-btn:hover .button-icon{fill:var(--ui-kit-color-hover)}.kit-datetimepicker.disabled .k-datetimepicker{border-color:var(--ui-kit-color-grey-12)}.kit-datetimepicker.disabled .k-input-inner{color:var(--ui-kit-color-grey-12);background-color:var(--ui-kit-color-grey-13)}.kit-datetimepicker.disabled .toggle-btn{cursor:default}.kit-datetimepicker.disabled .toggle-btn .button-icon{fill:var(--ui-kit-color-grey-12)}.kit-datetimepicker.invalid .k-datetimepicker{border-color:var(--ui-kit-color-red-1)}.kit-datetimepicker.invalid .toggle-btn{cursor:default}.kit-datetimepicker.invalid .toggle-btn .button-icon{fill:var(--ui-kit-color-red-1)}.kit-datetimepicker.invalid .k-dateinput{border-color:var(--ui-kit-color-red-1)}.kit-datetimepicker .k-input-button{display:none}.kit-datetimepicker-popup.k-popup{margin-top:10px;padding:8px;width:296px;border:none;border-radius:8px;box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;background-color:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup{margin-bottom:10px;padding:0}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button-group{gap:10px;width:auto}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button{padding:0 11px;height:46px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border:none;border-bottom:2px solid transparent;border-radius:0;background:var(--ui-kit-color-white);transition:none}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button.k-active{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button:hover{color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-datetime-wrap{width:280px}.kit-datetimepicker-popup.k-popup .k-datetime-time-wrap,.kit-datetimepicker-popup.k-popup .k-datetime-calendar-wrap{flex-basis:280px}.kit-datetimepicker-popup.k-popup .k-calendar-header{padding:0 0 10px;color:var(--ui-kit-color-grey-10);font-size:14px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-calendar-table{display:flex;flex-direction:column;gap:6px;padding:3px 8px}.kit-datetimepicker-popup.k-popup .k-calendar-title{padding:6px 8px;color:var(--ui-kit-color-grey-10);font-weight:400;line-height:20px;border-radius:4px;border:none}.kit-datetimepicker-popup.k-popup .k-calendar-title:hover{background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today{display:flex;align-items:center;padding:0 8px;color:var(--ui-kit-color-grey-10)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today:hover:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next{padding:0;width:32px;height:32px;color:var(--ui-kit-color-grey-12)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev:before,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev:hover,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-link{padding:0;width:54px;height:24px;color:var(--ui-kit-color-grey-10);border-radius:6px}.kit-datetimepicker-popup.k-popup .k-calendar-view{margin:0;padding:10px 0;gap:32px;width:auto;box-sizing:border-box}.kit-datetimepicker-popup.k-popup .k-calendar-tr{display:flex;gap:16px}.kit-datetimepicker-popup.k-popup .k-calendar-tbody{display:flex;flex-direction:column;row-gap:16px}.kit-datetimepicker-popup.k-popup .k-calendar-th{width:24px;height:22px;color:var(--ui-kit-color-main);font-size:14px;text-transform:capitalize}.kit-datetimepicker-popup.k-popup .k-calendar-td{width:auto;height:auto;border-radius:6px}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-today .k-link{color:var(--ui-kit-color-main);background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-other-month .k-link{color:var(--ui-kit-color-grey-12)}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-focus .k-link{box-shadow:none}.kit-datetimepicker-popup.k-popup .k-calendar-td:hover .k-link{border:none;background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-td:focus .k-link{box-shadow:none}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-link{width:24px}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-tbody{row-gap:6px}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-td.k-today .k-link{color:var(--ui-kit-color-grey-10);border:1px solid var(--ui-kit-color-main);background:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-td.k-selected .k-link{color:var(--ui-kit-color-white);border:none;background:var(--ui-kit-color-main);box-shadow:none}.kit-datetimepicker-popup.k-popup .k-timeselector{height:100%}.kit-datetimepicker-popup.k-popup .k-time-header{padding:0 0 10px;color:var(--ui-kit-color-grey-10);font-size:14px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-time-header .k-title,.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now{padding:6px 8px;font-weight:400;line-height:20px}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now{color:var(--ui-kit-color-grey-10)}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now:hover:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-time-list-container{justify-content:center;padding:10px 0;gap:20px}.kit-datetimepicker-popup.k-popup .k-reset{display:flex;flex-direction:column;align-items:center;width:auto}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper{flex-grow:0;padding:0;height:208px;min-width:auto}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper:before,.kit-datetimepicker-popup.k-popup .k-time-list-wrapper:after{display:none}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper .k-title{display:flex;align-items:center;justify-content:flex-end;color:var(--ui-kit-color-main);font-size:14px;font-weight:400;height:24px}.kit-datetimepicker-popup.k-popup .k-time-list:before,.kit-datetimepicker-popup.k-popup .k-time-list:after{display:none}.kit-datetimepicker-popup.k-popup .k-time-list .k-item{display:flex;align-items:center;justify-content:center;padding:5px 0;height:24px;width:38px;color:var(--ui-kit-color-grey-12);font-size:16px;font-weight:400}.kit-datetimepicker-popup.k-popup .k-time-list .k-item[aria-selected=true]{padding:10px 0;color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-time-highlight{top:50%;height:34px;border-color:var(--ui-kit-color-grey-12);transform:none}.kit-datetimepicker-popup.k-popup .k-time-separator{top:16px;color:var(--ui-kit-color-grey-10);font-size:16px}.kit-datetimepicker-popup.k-popup .k-actions{margin:0;padding:10px 0 0;flex-direction:row-reverse;border-top:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-actions .k-button{flex:none;padding:0 19px;height:32px;font-size:14px;font-weight:400;border-radius:6px;border:1px solid var(--ui-kit-color-grey-11);transition:none}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept{border-color:transparent;background:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:hover{background:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:active{background:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:disabled{color:var(--ui-kit-color-grey-12);border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel{background:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel:hover{color:var(--ui-kit-color-hover);border-color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel:active{border-color:var(--ui-kit-color-grey-11)}\n"], dependencies: [{ kind: "component", type: i1.DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }, { kind: "component", type: i1.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "weekDaysFormat", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "clearButton", "autoFill", "adaptiveMode", "inputAttributes", "defaultTab", "size", "rounded", "fillMode", "headerTemplate", "footerTemplate", "footer"], outputs: ["valueChange", "open", "close", "focus", "blur", "escape"], exportAs: ["kendo-datetimepicker"] }, { kind: "component", type: i2.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: i3.KitInputMessageComponent, selector: "kit-input-message", inputs: ["icon", "message"] }, { kind: "component", type: i4.KitInputLabelComponent, selector: "kit-input-label", inputs: ["text", "for", "tooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
98
98
|
}
|
|
99
99
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitDatetimepickerComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
@@ -102,7 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
102
102
|
provide: NG_VALUE_ACCESSOR,
|
|
103
103
|
useExisting: forwardRef(() => KitDatetimepickerComponent),
|
|
104
104
|
multi: true,
|
|
105
|
-
}], template: "<div class=\"kit-datetimepicker\"\n [class.disabled]=\"disabled\"\n [class.invalid]=\"invalid\">\n @if (label) {\n <kit-input-label class=\"label\"\n [text]=\"label\"\n [for]=\"$any(datetimepicker)\"\n ></kit-input-label>\n }\n <div class=\"datetimepicker-wrap\">\n <kendo-datetimepicker #datetimepicker\n calendarType=\"classic\"\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [disabled]=\"disabled\"\n [popupSettings]=\"datetimepickerPopupSettings\"\n [value]=\"defaultDate\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"defaultDate\"\n (valueChange)=\"onValueChange($event)\"\n (blur)=\"onBlur()\">\n <kendo-datetimepicker-messages [accept]=\"applyButtonText\"\n [cancel]=\"cancelButtonText\"\n [now]=\"nowButtonText\"\n ></kendo-datetimepicker-messages>\n </kendo-datetimepicker>\n <button class=\"toggle-btn\"\n [disabled]=\"disabled\"\n (click)=\"onPopupToggle()\">\n <kit-svg-icon class=\"button-icon\"\n [icon]=\"icon\"\n ></kit-svg-icon>\n </button>\n </div>\n @if (messageText) {\n <kit-input-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-input-message>\n }\n</div>\n", styles: [".kit-datetimepicker .label{display:block;margin-bottom:4px}.kit-datetimepicker .datetimepicker-wrap{position:relative}.kit-datetimepicker:hover .k-datetimepicker{border-color:var(--ui-kit-color-hover)}.kit-datetimepicker .k-datetimepicker{height:40px;width:100%;font-size:14px;font-weight:400;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-white)}.kit-datetimepicker .k-datetimepicker.k-focus{border-color:var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-datetimepicker .k-datetimepicker.k-focus+.toggle-btn .button-icon{stroke:var(--ui-kit-color-main)}.kit-datetimepicker .k-dateinput{box-shadow:none}.kit-datetimepicker .k-input-inner{padding:0 36px 0 12px;color:var(--ui-kit-color-grey-10);line-height:1}.kit-datetimepicker .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-datetimepicker .k-input-inner::selection{color:var(--ui-kit-color-white);background:var(--ui-kit-color-main)}.kit-datetimepicker .toggle-btn{position:absolute;top:0;right:0;padding:0 12px 0 8px;height:100%;border:none;background:none;cursor:pointer;z-index:1}.kit-datetimepicker .toggle-btn .button-icon{display:block;width:16px;height:16px;fill:transparent;stroke:var(--ui-kit-color-grey-12)}.kit-datetimepicker .toggle-btn:hover .button-icon{stroke:var(--ui-kit-color-hover)}.kit-datetimepicker.disabled .k-datetimepicker{border-color:var(--ui-kit-color-grey-12)}.kit-datetimepicker.disabled .k-input-inner{color:var(--ui-kit-color-grey-12);background-color:var(--ui-kit-color-grey-13)}.kit-datetimepicker.disabled .toggle-btn{cursor:default}.kit-datetimepicker.disabled .toggle-btn .button-icon{stroke:var(--ui-kit-color-grey-12)}.kit-datetimepicker.invalid .k-datetimepicker{border-color:var(--ui-kit-color-red-1)}.kit-datetimepicker.invalid .toggle-btn{cursor:default}.kit-datetimepicker.invalid .toggle-btn .button-icon{stroke:var(--ui-kit-color-red-1)}.kit-datetimepicker.invalid .k-dateinput{border-color:var(--ui-kit-color-red-1)}.kit-datetimepicker .k-input-button{display:none}.kit-datetimepicker-popup.k-popup{margin-top:10px;padding:8px;width:296px;border:none;border-radius:8px;box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;background-color:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup{margin-bottom:10px;padding:0}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button-group{gap:10px;width:auto}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button{padding:0 11px;height:46px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border:none;border-bottom:2px solid transparent;border-radius:0;background:var(--ui-kit-color-white);transition:none}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button.k-active{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button:hover{color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-datetime-wrap{width:280px}.kit-datetimepicker-popup.k-popup .k-datetime-time-wrap,.kit-datetimepicker-popup.k-popup .k-datetime-calendar-wrap{flex-basis:280px}.kit-datetimepicker-popup.k-popup .k-calendar-header{padding:0 0 10px;color:var(--ui-kit-color-grey-10);font-size:14px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-calendar-table{display:flex;flex-direction:column;gap:6px;padding:3px 8px}.kit-datetimepicker-popup.k-popup .k-calendar-title{padding:6px 8px;color:var(--ui-kit-color-grey-10);font-weight:400;line-height:20px;border-radius:4px;border:none}.kit-datetimepicker-popup.k-popup .k-calendar-title:hover{background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today{display:flex;align-items:center;padding:0 8px;color:var(--ui-kit-color-grey-10)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today:hover:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next{padding:0;width:32px;height:32px;color:var(--ui-kit-color-grey-12)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev:before,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev:hover,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-link{padding:0;width:54px;height:24px;color:var(--ui-kit-color-grey-10);border-radius:6px}.kit-datetimepicker-popup.k-popup .k-calendar-view{margin:0;padding:10px 0;gap:32px;width:auto;box-sizing:border-box}.kit-datetimepicker-popup.k-popup .k-calendar-tr{display:flex;gap:16px}.kit-datetimepicker-popup.k-popup .k-calendar-tbody{display:flex;flex-direction:column;row-gap:16px}.kit-datetimepicker-popup.k-popup .k-calendar-th{width:24px;height:22px;color:var(--ui-kit-color-main);font-size:14px;text-transform:capitalize}.kit-datetimepicker-popup.k-popup .k-calendar-td{width:auto;height:auto;border-radius:6px}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-today .k-link{color:var(--ui-kit-color-main);background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-other-month .k-link{color:var(--ui-kit-color-grey-12)}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-focus .k-link{box-shadow:none}.kit-datetimepicker-popup.k-popup .k-calendar-td:hover .k-link{border:none;background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-td:focus .k-link{box-shadow:none}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-link{width:24px}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-tbody{row-gap:6px}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-td.k-today .k-link{color:var(--ui-kit-color-grey-10);border:1px solid var(--ui-kit-color-main);background:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-td.k-selected .k-link{color:var(--ui-kit-color-white);border:none;background:var(--ui-kit-color-main);box-shadow:none}.kit-datetimepicker-popup.k-popup .k-timeselector{height:100%}.kit-datetimepicker-popup.k-popup .k-time-header{padding:0 0 10px;color:var(--ui-kit-color-grey-10);font-size:14px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-time-header .k-title,.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now{padding:6px 8px;font-weight:400;line-height:20px}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now{color:var(--ui-kit-color-grey-10)}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now:hover:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-time-list-container{justify-content:center;padding:10px 0;gap:20px}.kit-datetimepicker-popup.k-popup .k-reset{display:flex;flex-direction:column;align-items:center;width:auto}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper{flex-grow:0;padding:0;height:208px;min-width:auto}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper:before,.kit-datetimepicker-popup.k-popup .k-time-list-wrapper:after{display:none}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper .k-title{display:flex;align-items:center;justify-content:flex-end;color:var(--ui-kit-color-main);font-size:14px;font-weight:400;height:24px}.kit-datetimepicker-popup.k-popup .k-time-list:before,.kit-datetimepicker-popup.k-popup .k-time-list:after{display:none}.kit-datetimepicker-popup.k-popup .k-time-list .k-item{display:flex;align-items:center;justify-content:center;padding:5px 0;height:24px;width:38px;color:var(--ui-kit-color-grey-12);font-size:16px;font-weight:400}.kit-datetimepicker-popup.k-popup .k-time-list .k-item[aria-selected=true]{padding:10px 0;color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-time-highlight{top:50%;height:34px;border-color:var(--ui-kit-color-grey-12);transform:none}.kit-datetimepicker-popup.k-popup .k-time-separator{top:16px;color:var(--ui-kit-color-grey-10);font-size:16px}.kit-datetimepicker-popup.k-popup .k-actions{margin:0;padding:10px 0 0;flex-direction:row-reverse;border-top:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-actions .k-button{flex:none;padding:0 19px;height:32px;font-size:14px;font-weight:400;border-radius:6px;border:1px solid var(--ui-kit-color-grey-11);transition:none}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept{border-color:transparent;background:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:hover{background:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:active{background:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:disabled{color:var(--ui-kit-color-grey-12);border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel{background:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel:hover{color:var(--ui-kit-color-hover);border-color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel:active{border-color:var(--ui-kit-color-grey-11)}\n"] }]
|
|
105
|
+
}], template: "<div class=\"kit-datetimepicker\"\n [class.disabled]=\"disabled\"\n [class.invalid]=\"invalid\">\n @if (label) {\n <kit-input-label class=\"label\"\n [text]=\"label\"\n [for]=\"$any(datetimepicker)\"\n ></kit-input-label>\n }\n <div class=\"datetimepicker-wrap\">\n <kendo-datetimepicker #datetimepicker\n calendarType=\"classic\"\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [disabled]=\"disabled\"\n [popupSettings]=\"datetimepickerPopupSettings\"\n [value]=\"defaultDate\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"defaultDate\"\n (valueChange)=\"onValueChange($event)\"\n (blur)=\"onBlur()\">\n <kendo-datetimepicker-messages [accept]=\"applyButtonText\"\n [cancel]=\"cancelButtonText\"\n [now]=\"nowButtonText\"\n ></kendo-datetimepicker-messages>\n </kendo-datetimepicker>\n <button class=\"toggle-btn\"\n [disabled]=\"disabled\"\n (click)=\"onPopupToggle()\">\n <kit-svg-icon class=\"button-icon\"\n [icon]=\"icon\"\n ></kit-svg-icon>\n </button>\n </div>\n @if (messageText) {\n <kit-input-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-input-message>\n }\n</div>\n", styles: [".kit-datetimepicker .label{display:block;margin-bottom:4px}.kit-datetimepicker .datetimepicker-wrap{position:relative}.kit-datetimepicker:hover .k-datetimepicker{border-color:var(--ui-kit-color-hover)}.kit-datetimepicker .k-datetimepicker{height:40px;width:100%;font-size:14px;font-weight:400;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-white)}.kit-datetimepicker .k-datetimepicker.k-focus{border-color:var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-datetimepicker .k-datetimepicker.k-focus+.toggle-btn .button-icon{fill:var(--ui-kit-color-main)}.kit-datetimepicker .k-dateinput{box-shadow:none}.kit-datetimepicker .k-input-inner{padding:0 36px 0 12px;color:var(--ui-kit-color-grey-10);line-height:1}.kit-datetimepicker .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-datetimepicker .k-input-inner::selection{color:var(--ui-kit-color-white);background:var(--ui-kit-color-main)}.kit-datetimepicker .toggle-btn{position:absolute;top:0;right:0;padding:0 12px 0 8px;height:100%;border:none;background:none;cursor:pointer;z-index:1}.kit-datetimepicker .toggle-btn .button-icon{display:block;width:16px;height:16px;stroke:none;fill:var(--ui-kit-color-grey-12)}.kit-datetimepicker .toggle-btn:hover .button-icon{fill:var(--ui-kit-color-hover)}.kit-datetimepicker.disabled .k-datetimepicker{border-color:var(--ui-kit-color-grey-12)}.kit-datetimepicker.disabled .k-input-inner{color:var(--ui-kit-color-grey-12);background-color:var(--ui-kit-color-grey-13)}.kit-datetimepicker.disabled .toggle-btn{cursor:default}.kit-datetimepicker.disabled .toggle-btn .button-icon{fill:var(--ui-kit-color-grey-12)}.kit-datetimepicker.invalid .k-datetimepicker{border-color:var(--ui-kit-color-red-1)}.kit-datetimepicker.invalid .toggle-btn{cursor:default}.kit-datetimepicker.invalid .toggle-btn .button-icon{fill:var(--ui-kit-color-red-1)}.kit-datetimepicker.invalid .k-dateinput{border-color:var(--ui-kit-color-red-1)}.kit-datetimepicker .k-input-button{display:none}.kit-datetimepicker-popup.k-popup{margin-top:10px;padding:8px;width:296px;border:none;border-radius:8px;box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;background-color:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup{margin-bottom:10px;padding:0}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button-group{gap:10px;width:auto}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button{padding:0 11px;height:46px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border:none;border-bottom:2px solid transparent;border-radius:0;background:var(--ui-kit-color-white);transition:none}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button.k-active{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-datetime-buttongroup .k-button:hover{color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-datetime-wrap{width:280px}.kit-datetimepicker-popup.k-popup .k-datetime-time-wrap,.kit-datetimepicker-popup.k-popup .k-datetime-calendar-wrap{flex-basis:280px}.kit-datetimepicker-popup.k-popup .k-calendar-header{padding:0 0 10px;color:var(--ui-kit-color-grey-10);font-size:14px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-calendar-table{display:flex;flex-direction:column;gap:6px;padding:3px 8px}.kit-datetimepicker-popup.k-popup .k-calendar-title{padding:6px 8px;color:var(--ui-kit-color-grey-10);font-weight:400;line-height:20px;border-radius:4px;border:none}.kit-datetimepicker-popup.k-popup .k-calendar-title:hover{background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today{display:flex;align-items:center;padding:0 8px;color:var(--ui-kit-color-grey-10)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-today:hover:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next{padding:0;width:32px;height:32px;color:var(--ui-kit-color-grey-12)}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev:before,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-calendar-nav-prev:hover,.kit-datetimepicker-popup.k-popup .k-calendar-nav-next:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-link{padding:0;width:54px;height:24px;color:var(--ui-kit-color-grey-10);border-radius:6px}.kit-datetimepicker-popup.k-popup .k-calendar-view{margin:0;padding:10px 0;gap:32px;width:auto;box-sizing:border-box}.kit-datetimepicker-popup.k-popup .k-calendar-tr{display:flex;gap:16px}.kit-datetimepicker-popup.k-popup .k-calendar-tbody{display:flex;flex-direction:column;row-gap:16px}.kit-datetimepicker-popup.k-popup .k-calendar-th{width:24px;height:22px;color:var(--ui-kit-color-main);font-size:14px;text-transform:capitalize}.kit-datetimepicker-popup.k-popup .k-calendar-td{width:auto;height:auto;border-radius:6px}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-today .k-link{color:var(--ui-kit-color-main);background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-other-month .k-link{color:var(--ui-kit-color-grey-12)}.kit-datetimepicker-popup.k-popup .k-calendar-td.k-focus .k-link{box-shadow:none}.kit-datetimepicker-popup.k-popup .k-calendar-td:hover .k-link{border:none;background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-calendar-td:focus .k-link{box-shadow:none}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-link{width:24px}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-tbody{row-gap:6px}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-td.k-today .k-link{color:var(--ui-kit-color-grey-10);border:1px solid var(--ui-kit-color-main);background:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-calendar-monthview .k-calendar-td.k-selected .k-link{color:var(--ui-kit-color-white);border:none;background:var(--ui-kit-color-main);box-shadow:none}.kit-datetimepicker-popup.k-popup .k-timeselector{height:100%}.kit-datetimepicker-popup.k-popup .k-time-header{padding:0 0 10px;color:var(--ui-kit-color-grey-10);font-size:14px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-time-header .k-title,.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now{padding:6px 8px;font-weight:400;line-height:20px}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now{color:var(--ui-kit-color-grey-10)}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now:hover{color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-time-header .k-time-now:hover:before{opacity:0}.kit-datetimepicker-popup.k-popup .k-time-list-container{justify-content:center;padding:10px 0;gap:20px}.kit-datetimepicker-popup.k-popup .k-reset{display:flex;flex-direction:column;align-items:center;width:auto}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper{flex-grow:0;padding:0;height:208px;min-width:auto}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper:before,.kit-datetimepicker-popup.k-popup .k-time-list-wrapper:after{display:none}.kit-datetimepicker-popup.k-popup .k-time-list-wrapper .k-title{display:flex;align-items:center;justify-content:flex-end;color:var(--ui-kit-color-main);font-size:14px;font-weight:400;height:24px}.kit-datetimepicker-popup.k-popup .k-time-list:before,.kit-datetimepicker-popup.k-popup .k-time-list:after{display:none}.kit-datetimepicker-popup.k-popup .k-time-list .k-item{display:flex;align-items:center;justify-content:center;padding:5px 0;height:24px;width:38px;color:var(--ui-kit-color-grey-12);font-size:16px;font-weight:400}.kit-datetimepicker-popup.k-popup .k-time-list .k-item[aria-selected=true]{padding:10px 0;color:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-time-highlight{top:50%;height:34px;border-color:var(--ui-kit-color-grey-12);transform:none}.kit-datetimepicker-popup.k-popup .k-time-separator{top:16px;color:var(--ui-kit-color-grey-10);font-size:16px}.kit-datetimepicker-popup.k-popup .k-actions{margin:0;padding:10px 0 0;flex-direction:row-reverse;border-top:1px solid var(--ui-kit-color-grey-11)}.kit-datetimepicker-popup.k-popup .k-actions .k-button{flex:none;padding:0 19px;height:32px;font-size:14px;font-weight:400;border-radius:6px;border:1px solid var(--ui-kit-color-grey-11);transition:none}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept{border-color:transparent;background:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:hover{background:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:active{background:var(--ui-kit-color-main)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-accept:disabled{color:var(--ui-kit-color-grey-12);border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel{background:var(--ui-kit-color-white)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel:hover{color:var(--ui-kit-color-hover);border-color:var(--ui-kit-color-hover)}.kit-datetimepicker-popup.k-popup .k-actions .k-button.k-time-cancel:active{border-color:var(--ui-kit-color-grey-11)}\n"] }]
|
|
106
106
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { label: [{
|
|
107
107
|
type: Input
|
|
108
108
|
}], placeholder: [{
|
|
@@ -65,7 +65,7 @@ export class KitFileCardComponent {
|
|
|
65
65
|
return browserViewableFileTypes.includes(fileType);
|
|
66
66
|
}
|
|
67
67
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitFileCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitFileCardComponent, selector: "kit-file-card", inputs: { title: "title", type: "type", label: "label", fileType: "fileType", date: "date", name: "name" }, outputs: { viewButtonClicked: "viewButtonClicked", downloadButtonClicked: "downloadButtonClicked" }, queries: [{ propertyName: "customMessages", first: true, predicate: KitFileCardMessagesComponent, descendants: true }], ngImport: i0, template: "<div class=\"kit-file-card\"\n [ngClass]=\"type\">\n <div class=\"kit-file-card-header\">\n <div class=\"card-title\">{{ title }}</div>\n <div class=\"card-type\">{{ label }}</div>\n </div>\n <div class=\"kit-file-card-content\">\n <kit-svg-icon class=\"card-icon\"\n [icon]=\"getFileIconByExtension(fileType)\">\n </kit-svg-icon>\n <div class=\"card-main\">\n <div class=\"card-main-item\">\n <div class=\"item-label\">{{ customMessages?.createDate ?? createDateLabel }}</div>\n <div class=\"item-value\">{{ date | date: dateFormat }}</div>\n </div>\n <div class=\"card-main-item\">\n <div class=\"item-label\">{{ customMessages?.createdBy ?? createdByLabel }}</div>\n <div class=\"item-value\">{{ name }}</div>\n </div>\n </div>\n </div>\n <div class=\"kit-file-card-action\">\n @if (hasViewFileButton(fileType)) {\n <kit-button class=\"action-button\"\n [label]=\"customMessages?.viewButtonLabel ?? viewButtonLabel\"\n [icon]=\"kitSvgIcon.EYE\"\n [type]=\"kitButtonType.GHOST\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"viewButtonClicked.emit()\"\n ></kit-button>\n }\n <kit-button class=\"action-button\"\n [label]=\"customMessages?.downloadButtonLabel ?? downloadButtonLabel\"\n [icon]=\"kitSvgIcon.DOWNLOAD\"\n [type]=\"kitButtonType.GHOST\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"downloadButtonClicked.emit()\"\n ></kit-button>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".kit-file-card{padding:25px;color:var(--ui-kit-color-grey-10);border-radius:10px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-file-card-header{display:flex;flex-direction:column;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-file-card .card-title{font-size:16px;font-weight:400}.kit-file-card .card-type{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:0 8px;height:20px;font-size:12px;font-weight:500;color:var(--ui-kit-color-main);border:1px solid var(--ui-kit-color-main);border-radius:4px}.kit-file-card-content{display:flex;gap:24px;padding:17px 0}.kit-file-card .card-icon{width:78px;height:100px}.kit-file-card .card-main{display:flex;flex-direction:column;gap:12px}.kit-file-card .card-main-item{line-height:22px}.kit-file-card .card-main .item-label{color:var(--ui-kit-color-grey-14);font-size:13px}.kit-file-card .card-main .item-value{font-size:16px}.kit-file-card-action{display:flex;gap:15px;padding-top:15px;border-top:1px solid var(--ui-kit-color-grey-11)}.kit-file-card-action .action-button{flex:1}.kit-file-card .action-button ::ng-deep .k-button{width:100%}.kit-file-card.invoice .card-type{color:var(--ui-kit-color-blue);border-color:var(--ui-kit-color-blue);background-color:var(--ui-kit-color-blue-1)}.kit-file-card.packing-list .card-type{color:var(--ui-kit-color-purple);border-color:var(--ui-kit-color-purple);background-color:var(--ui-kit-color-purple-1)}.kit-file-card.airwaybill .card-type{color:var(--ui-kit-color-teal);border-color:var(--ui-kit-color-teal);background-color:var(--ui-kit-color-teal-1)}.kit-file-card.booking .card-type{color:var(--ui-kit-color-orange-2);border-color:var(--ui-kit-color-orange-2);background-color:var(--ui-kit-color-orange-3)}.kit-file-card.custom-clearance .card-type{color:var(--ui-kit-color-green-1);border-color:var(--ui-kit-color-green-1);background-color:var(--ui-kit-color-green-4)}.kit-file-card.fumigation .card-type{color:var(--ui-kit-color-grey-10);border-color:var(--ui-kit-color-grey-10);background-color:var(--ui-kit-color-grey-16)}.kit-file-card.housebill .card-type{color:var(--ui-kit-color-red-1);border-color:var(--ui-kit-color-red-1);background-color:var(--ui-kit-color-red-3)}.kit-file-card.msds .card-type{color:var(--ui-kit-color-pink);border-color:var(--ui-kit-color-pink);background-color:var(--ui-kit-color-pink-1)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "iconPosition", "buttonClass"], outputs: ["clicked"] }, { kind: "component", type: i3.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitFileCardComponent, selector: "kit-file-card", inputs: { title: "title", type: "type", label: "label", fileType: "fileType", date: "date", name: "name" }, outputs: { viewButtonClicked: "viewButtonClicked", downloadButtonClicked: "downloadButtonClicked" }, queries: [{ propertyName: "customMessages", first: true, predicate: KitFileCardMessagesComponent, descendants: true }], ngImport: i0, template: "<div class=\"kit-file-card\"\n [ngClass]=\"type\">\n <div class=\"kit-file-card-header\">\n <div class=\"card-title\">{{ title }}</div>\n <div class=\"card-type\">{{ label }}</div>\n </div>\n <div class=\"kit-file-card-content\">\n <kit-svg-icon class=\"card-icon\"\n [icon]=\"getFileIconByExtension(fileType)\">\n </kit-svg-icon>\n <div class=\"card-main\">\n <div class=\"card-main-item\">\n <div class=\"item-label\">{{ customMessages?.createDate ?? createDateLabel }}</div>\n <div class=\"item-value\">{{ date | date: dateFormat }}</div>\n </div>\n <div class=\"card-main-item\">\n <div class=\"item-label\">{{ customMessages?.createdBy ?? createdByLabel }}</div>\n <div class=\"item-value\">{{ name }}</div>\n </div>\n </div>\n </div>\n <div class=\"kit-file-card-action\">\n @if (hasViewFileButton(fileType)) {\n <kit-button class=\"action-button\"\n [label]=\"customMessages?.viewButtonLabel ?? viewButtonLabel\"\n [icon]=\"kitSvgIcon.EYE\"\n [type]=\"kitButtonType.GHOST\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"viewButtonClicked.emit()\"\n ></kit-button>\n }\n <kit-button class=\"action-button\"\n [label]=\"customMessages?.downloadButtonLabel ?? downloadButtonLabel\"\n [icon]=\"kitSvgIcon.DOWNLOAD\"\n [type]=\"kitButtonType.GHOST\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"downloadButtonClicked.emit()\"\n ></kit-button>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".kit-file-card{padding:25px;color:var(--ui-kit-color-grey-10);border-radius:10px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-file-card-header{display:flex;flex-direction:column;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-file-card .card-title{font-size:16px;font-weight:400}.kit-file-card .card-type{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:0 8px;height:20px;font-size:12px;font-weight:500;color:var(--ui-kit-color-main);border:1px solid var(--ui-kit-color-main);border-radius:4px}.kit-file-card-content{display:flex;gap:24px;padding:17px 0}.kit-file-card .card-icon{width:78px;height:100px}.kit-file-card .card-main{display:flex;flex-direction:column;gap:12px}.kit-file-card .card-main-item{line-height:22px}.kit-file-card .card-main .item-label{color:var(--ui-kit-color-grey-14);font-size:13px}.kit-file-card .card-main .item-value{font-size:16px}.kit-file-card-action{display:flex;gap:15px;padding-top:15px;border-top:1px solid var(--ui-kit-color-grey-11)}.kit-file-card-action .action-button{flex:1}.kit-file-card .action-button ::ng-deep .k-button{width:100%}.kit-file-card.invoice .card-type{color:var(--ui-kit-color-blue);border-color:var(--ui-kit-color-blue);background-color:var(--ui-kit-color-blue-1)}.kit-file-card.packing-list .card-type{color:var(--ui-kit-color-purple);border-color:var(--ui-kit-color-purple);background-color:var(--ui-kit-color-purple-1)}.kit-file-card.airwaybill .card-type{color:var(--ui-kit-color-teal);border-color:var(--ui-kit-color-teal);background-color:var(--ui-kit-color-teal-1)}.kit-file-card.booking .card-type{color:var(--ui-kit-color-orange-2);border-color:var(--ui-kit-color-orange-2);background-color:var(--ui-kit-color-orange-3)}.kit-file-card.custom-clearance .card-type{color:var(--ui-kit-color-green-1);border-color:var(--ui-kit-color-green-1);background-color:var(--ui-kit-color-green-4)}.kit-file-card.fumigation .card-type{color:var(--ui-kit-color-grey-10);border-color:var(--ui-kit-color-grey-10);background-color:var(--ui-kit-color-grey-16)}.kit-file-card.housebill .card-type{color:var(--ui-kit-color-red-1);border-color:var(--ui-kit-color-red-1);background-color:var(--ui-kit-color-red-3)}.kit-file-card.msds .card-type{color:var(--ui-kit-color-pink);border-color:var(--ui-kit-color-pink);background-color:var(--ui-kit-color-pink-1)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: i3.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
69
69
|
}
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitFileCardComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
@@ -63,7 +63,7 @@ export class KitFileUploadComponent {
|
|
|
63
63
|
return files;
|
|
64
64
|
}
|
|
65
65
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KitFileUploadComponent, selector: "kit-file-upload", inputs: { saveUrl: "saveUrl", files: "files", selectFilesLabel: "selectFilesLabel", dropzoneLabel: "dropzoneLabel", restrictions: "restrictions", restrictionsErrorMessages: "restrictionsErrorMessages", hasActionButton: "hasActionButton", actionButtonLabel: "actionButtonLabel" }, outputs: { fileDownloaded: "fileDownloaded", filesSelected: "filesSelected", actionButtonClicked: "actionButtonClicked" }, ngImport: i0, template: "<div class=\"kit-file-upload\">\n <kendo-upload [saveUrl]=\"saveUrl\"\n [withCredentials]=\"false\"\n [restrictions]=\"restrictions\"\n [autoUpload]=\"false\"\n [(ngModel)]=\"files\"\n (select)=\"onFilesSelect($event.files)\">\n <kendo-upload-messages [select]=\"selectFilesLabel\"\n [dropFilesHere]=\"dropzoneLabel\"\n ></kendo-upload-messages>\n\n <ng-template kendoUploadFileTemplate let-files>\n <ng-container *ngIf=\"getTypedFiles(files); let files\">\n <ng-container *ngFor=\"let file of files\">\n <div class=\"file-info\">\n <div class=\"file-name\" [title]=\"file.name\">\n {{ file.name }}\n </div>\n\n <div *ngFor=\"let error of file.validationErrors\" class=\"file-validation-message\">\n {{ getValidationError(error) }}\n </div>\n </div>\n <button *ngIf=\"!file.validationErrors\" class=\"download-button\">\n <kit-svg-icon class=\"download-button-icon\"\n [icon]=\"KitSvgIcon.DOWNLOAD\"\n (click)=\"onFileDownload(file)\"\n ></kit-svg-icon>\n </button>\n </ng-container>\n </ng-container>\n </ng-template>\n </kendo-upload>\n\n <div *ngIf=\"hasActionButton\" class=\"kit-file-upload-action\">\n <kit-button [label]=\"actionButtonLabel\"\n [icon]=\"KitSvgIcon.DOWNLOAD\"\n [iconType]=\"KitSvgIconType.STROKE\"\n [kind]=\"KitButtonKind.SMALL\"\n (clicked)=\"onActionButtonClick()\"\n ></kit-button>\n </div>\n</div>\n", styles: [".kit-file-upload .k-upload{display:flex;flex-direction:column;gap:8px;border:none}.kit-file-upload .k-upload .k-upload-button{position:relative;padding:0;display:flex;align-items:center;min-width:initial;gap:6px;color:var(--ui-kit-color-main);font-weight:500;font-size:14px;border:none;background:none}.kit-file-upload .k-upload .k-upload-button:focus{box-shadow:none}.kit-file-upload .k-upload .k-upload-button:hover .k-button-text{text-decoration:underline}.kit-file-upload .k-upload .k-upload-button:after{content:\"\\e11e\";display:inline-block;position:static;opacity:1;line-height:1;font-size:16px;font-family:WebComponentsIcons,sans-serif}.kit-file-upload .k-upload .k-dropzone{padding:12px 10px;border:2px dashed transparent;background:none}.kit-file-upload .k-upload .k-dropzone.k-hover{border-color:var(--ui-kit-color-main);background:none}.kit-file-upload .k-upload .k-upload-status{display:none}.kit-file-upload .k-upload .k-upload-status+.k-dropzone-hint{display:block}.kit-file-upload .k-upload .k-upload-files{display:flex;flex-direction:column;gap:8px;max-height:initial;border:none}.kit-file-upload .k-upload .k-upload-files .k-file{align-items:center;padding:10px;border:none;background:var(--ui-kit-color-grey-8)}.kit-file-upload .k-upload .k-upload-files .k-file.k-focus{box-shadow:none}.kit-file-upload .k-upload .file-info{flex:1;min-width:0}.kit-file-upload .k-upload .file-name{color:var(--ui-kit-color-cobalt-darkest);font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.kit-file-upload .k-upload .file-validation-message{color:var(--ui-kit-color-red);font-size:12px}.kit-file-upload .k-upload .download-button{margin-left:10px;padding:0;border:none;background:none;cursor:pointer}.kit-file-upload .k-upload .download-button:hover .download-button-icon{stroke:var(--ui-kit-color-main)}.kit-file-upload .k-upload .download-button-icon{display:block;width:24px;height:24px;stroke:var(--ui-kit-color-grey-7);fill:none}.kit-file-upload .k-upload .k-actions{display:none}.kit-file-upload-action{display:flex;justify-content:flex-end;margin-top:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.UploadComponent, selector: "kendo-upload", inputs: ["autoUpload", "batch", "withCredentials", "saveField", "saveHeaders", "saveMethod", "saveUrl", "responseType", "removeField", "removeHeaders", "removeMethod", "removeUrl", "chunkable", "concurrent", "showFileList", "tabIndex", "actionsLayout"], outputs: ["cancel", "clear", "complete", "error", "pause", "resume", "success", "upload", "uploadProgress", "valueChange"], exportAs: ["kendoUpload"] }, { kind: "directive", type: i2.FileTemplateDirective, selector: "[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]" }, { kind: "component", type: i2.CustomMessagesComponent, selector: "kendo-upload-messages, kendo-fileselect-messages, kendo-uploaddropzone-messages" }, { kind: "component", type: i3.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "iconPosition", "buttonClass"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KitFileUploadComponent, selector: "kit-file-upload", inputs: { saveUrl: "saveUrl", files: "files", selectFilesLabel: "selectFilesLabel", dropzoneLabel: "dropzoneLabel", restrictions: "restrictions", restrictionsErrorMessages: "restrictionsErrorMessages", hasActionButton: "hasActionButton", actionButtonLabel: "actionButtonLabel" }, outputs: { fileDownloaded: "fileDownloaded", filesSelected: "filesSelected", actionButtonClicked: "actionButtonClicked" }, ngImport: i0, template: "<div class=\"kit-file-upload\">\n <kendo-upload [saveUrl]=\"saveUrl\"\n [withCredentials]=\"false\"\n [restrictions]=\"restrictions\"\n [autoUpload]=\"false\"\n [(ngModel)]=\"files\"\n (select)=\"onFilesSelect($event.files)\">\n <kendo-upload-messages [select]=\"selectFilesLabel\"\n [dropFilesHere]=\"dropzoneLabel\"\n ></kendo-upload-messages>\n\n <ng-template kendoUploadFileTemplate let-files>\n <ng-container *ngIf=\"getTypedFiles(files); let files\">\n <ng-container *ngFor=\"let file of files\">\n <div class=\"file-info\">\n <div class=\"file-name\" [title]=\"file.name\">\n {{ file.name }}\n </div>\n\n <div *ngFor=\"let error of file.validationErrors\" class=\"file-validation-message\">\n {{ getValidationError(error) }}\n </div>\n </div>\n <button *ngIf=\"!file.validationErrors\" class=\"download-button\">\n <kit-svg-icon class=\"download-button-icon\"\n [icon]=\"KitSvgIcon.DOWNLOAD\"\n (click)=\"onFileDownload(file)\"\n ></kit-svg-icon>\n </button>\n </ng-container>\n </ng-container>\n </ng-template>\n </kendo-upload>\n\n <div *ngIf=\"hasActionButton\" class=\"kit-file-upload-action\">\n <kit-button [label]=\"actionButtonLabel\"\n [icon]=\"KitSvgIcon.DOWNLOAD\"\n [iconType]=\"KitSvgIconType.STROKE\"\n [kind]=\"KitButtonKind.SMALL\"\n (clicked)=\"onActionButtonClick()\"\n ></kit-button>\n </div>\n</div>\n", styles: [".kit-file-upload .k-upload{display:flex;flex-direction:column;gap:8px;border:none}.kit-file-upload .k-upload .k-upload-button{position:relative;padding:0;display:flex;align-items:center;min-width:initial;gap:6px;color:var(--ui-kit-color-main);font-weight:500;font-size:14px;border:none;background:none}.kit-file-upload .k-upload .k-upload-button:focus{box-shadow:none}.kit-file-upload .k-upload .k-upload-button:hover .k-button-text{text-decoration:underline}.kit-file-upload .k-upload .k-upload-button:after{content:\"\\e11e\";display:inline-block;position:static;opacity:1;line-height:1;font-size:16px;font-family:WebComponentsIcons,sans-serif}.kit-file-upload .k-upload .k-dropzone{padding:12px 10px;border:2px dashed transparent;background:none}.kit-file-upload .k-upload .k-dropzone.k-hover{border-color:var(--ui-kit-color-main);background:none}.kit-file-upload .k-upload .k-upload-status{display:none}.kit-file-upload .k-upload .k-upload-status+.k-dropzone-hint{display:block}.kit-file-upload .k-upload .k-upload-files{display:flex;flex-direction:column;gap:8px;max-height:initial;border:none}.kit-file-upload .k-upload .k-upload-files .k-file{align-items:center;padding:10px;border:none;background:var(--ui-kit-color-grey-8)}.kit-file-upload .k-upload .k-upload-files .k-file.k-focus{box-shadow:none}.kit-file-upload .k-upload .file-info{flex:1;min-width:0}.kit-file-upload .k-upload .file-name{color:var(--ui-kit-color-cobalt-darkest);font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.kit-file-upload .k-upload .file-validation-message{color:var(--ui-kit-color-red);font-size:12px}.kit-file-upload .k-upload .download-button{margin-left:10px;padding:0;border:none;background:none;cursor:pointer}.kit-file-upload .k-upload .download-button:hover .download-button-icon{stroke:var(--ui-kit-color-main)}.kit-file-upload .k-upload .download-button-icon{display:block;width:24px;height:24px;stroke:var(--ui-kit-color-grey-7);fill:none}.kit-file-upload .k-upload .k-actions{display:none}.kit-file-upload-action{display:flex;justify-content:flex-end;margin-top:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.UploadComponent, selector: "kendo-upload", inputs: ["autoUpload", "batch", "withCredentials", "saveField", "saveHeaders", "saveMethod", "saveUrl", "responseType", "removeField", "removeHeaders", "removeMethod", "removeUrl", "chunkable", "concurrent", "showFileList", "tabIndex", "actionsLayout"], outputs: ["cancel", "clear", "complete", "error", "pause", "resume", "success", "upload", "uploadProgress", "valueChange"], exportAs: ["kendoUpload"] }, { kind: "directive", type: i2.FileTemplateDirective, selector: "[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]" }, { kind: "component", type: i2.CustomMessagesComponent, selector: "kendo-upload-messages, kendo-fileselect-messages, kendo-uploaddropzone-messages" }, { kind: "component", type: i3.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
67
67
|
}
|
|
68
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitFileUploadComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
@@ -33,6 +33,10 @@ export class KitGridComponent {
|
|
|
33
33
|
* Function to determine if the detail template should be visible
|
|
34
34
|
*/
|
|
35
35
|
this.detailTemplateShowIf = () => false;
|
|
36
|
+
/**
|
|
37
|
+
* Function to determine if the caret of detail template should be disabled
|
|
38
|
+
*/
|
|
39
|
+
this.detailTemplateExpandDisableIf = () => false;
|
|
36
40
|
/**
|
|
37
41
|
* Flag to show or hide the footer row
|
|
38
42
|
*/
|
|
@@ -41,10 +45,6 @@ export class KitGridComponent {
|
|
|
41
45
|
* Title to display in the first column of the footer row
|
|
42
46
|
*/
|
|
43
47
|
this.footerTitle = '';
|
|
44
|
-
/**
|
|
45
|
-
* Method to add additional logic to the row class
|
|
46
|
-
*/
|
|
47
|
-
this.addRowClass = () => ({});
|
|
48
48
|
/**
|
|
49
49
|
* An action which is emitted when the page of the grid is changed
|
|
50
50
|
*/
|
|
@@ -76,13 +76,11 @@ export class KitGridComponent {
|
|
|
76
76
|
this.expandedRows = [];
|
|
77
77
|
this.getCssRowClass = (context) => {
|
|
78
78
|
const expanded = this.expandedRows.includes(context.dataItem);
|
|
79
|
-
const
|
|
79
|
+
const expandDisabled = this.detailTemplateExpandDisableIf(context.dataItem);
|
|
80
|
+
return {
|
|
80
81
|
expanded,
|
|
82
|
+
'expand-disabled': expandDisabled,
|
|
81
83
|
};
|
|
82
|
-
if (this.addRowClass) {
|
|
83
|
-
Object.assign(classes, this.addRowClass(context));
|
|
84
|
-
}
|
|
85
|
-
return classes;
|
|
86
84
|
};
|
|
87
85
|
}
|
|
88
86
|
onDataStateChange(event) {
|
|
@@ -127,11 +125,11 @@ export class KitGridComponent {
|
|
|
127
125
|
this.expandedRows = [];
|
|
128
126
|
}
|
|
129
127
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitGridComponent, selector: "kit-grid", inputs: { data: "data", gridDataBinding: "gridDataBinding", sortable: "sortable", sort: "sort", pageable: "pageable", pageSize: "pageSize", skip: "skip", loading: "loading", detailTemplateShowIf: "detailTemplateShowIf", showFooter: "showFooter", footerTitle: "footerTitle", footerData: "footerData", addRowClass: "addRowClass" }, outputs: { pageChanged: "pageChanged", sortChanged: "sortChanged", dataStateChanged: "dataStateChanged", detailExpanded: "detailExpanded", detailCollapsed: "detailCollapsed", cellClicked: "cellClicked" }, queries: [{ propertyName: "columns", predicate: KitGridColumnComponent, isSignal: true }, { propertyName: "kitGridDetailTemplate", first: true, predicate: KitGridDetailTemplateDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (data) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [data]=\"data\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n@if (gridDataBinding) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [kendoGridBinding]=\"gridDataBinding\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n<ng-template #columnHeaderTemplate let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (KitGridSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (KitGridSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate let-column>\n @if (columns()) {\n @if (footerTitle && column === columns()[0]) {\n {{ footerTitle }}\n }\n @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n", styles: [".kit-grid{border:none;background:none}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15)}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:20px 0;justify-content:flex-start}.kit-grid ::ng-deep .k-detail-row .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-12);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:0;border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-nav:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-nav:after{opacity:0}.kit-grid ::ng-deep .k-pager-nav.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav:not(.k-selected):hover:before{background-color:#0000000f}.kit-grid ::ng-deep .k-pager-nav.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager .k-pager-first,.kit-grid ::ng-deep .k-pager .k-pager-last{display:none}.kit-grid ::ng-deep .k-pager .k-button-icon{font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-left:before{content:\"\\e016\"}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-right:before{content:\"\\e014\"}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i2.DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: i2.ExpandDetailsDirective, selector: "[kendoGridExpandDetailsBy]", inputs: ["kendoGridExpandDetailsBy", "expandDetailBy", "expandedDetailKeys", "initiallyExpanded"], outputs: ["expandedDetailKeysChange"], exportAs: ["kendoGridExpandDetailsBy"] }, { kind: "component", type: i2.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i2.FooterTemplateDirective, selector: "[kendoGridFooterTemplate]" }, { kind: "directive", type: i2.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "directive", type: i2.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i2.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i3.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitGridComponent, selector: "kit-grid", inputs: { data: "data", gridDataBinding: "gridDataBinding", sortable: "sortable", sort: "sort", pageable: "pageable", pageSize: "pageSize", skip: "skip", loading: "loading", detailTemplateShowIf: "detailTemplateShowIf", detailTemplateExpandDisableIf: "detailTemplateExpandDisableIf", showFooter: "showFooter", footerTitle: "footerTitle", footerData: "footerData" }, outputs: { pageChanged: "pageChanged", sortChanged: "sortChanged", dataStateChanged: "dataStateChanged", detailExpanded: "detailExpanded", detailCollapsed: "detailCollapsed", cellClicked: "cellClicked" }, queries: [{ propertyName: "columns", predicate: KitGridColumnComponent, isSignal: true }, { propertyName: "kitGridDetailTemplate", first: true, predicate: KitGridDetailTemplateDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (data) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [data]=\"data\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n@if (gridDataBinding) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [kendoGridBinding]=\"gridDataBinding\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n<ng-template #columnHeaderTemplate let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (KitGridSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (KitGridSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate let-column>\n @if (columns()) {\n @if (footerTitle && column === columns()[0]) {\n {{ footerTitle }}\n }\n @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n", styles: [".kit-grid{border:none;background:none}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15)}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:20px 0;justify-content:flex-start}.kit-grid ::ng-deep .k-detail-row .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-12);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:0;border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-nav:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-nav:after{opacity:0}.kit-grid ::ng-deep .k-pager-nav.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav:not(.k-selected):hover:before{background-color:#0000000f}.kit-grid ::ng-deep .k-pager-nav.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager .k-pager-first,.kit-grid ::ng-deep .k-pager .k-pager-last{display:none}.kit-grid ::ng-deep .k-pager .k-button-icon{font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-left:before{content:\"\\e016\"}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-right:before{content:\"\\e014\"}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.6}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i2.DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: i2.ExpandDetailsDirective, selector: "[kendoGridExpandDetailsBy]", inputs: ["kendoGridExpandDetailsBy", "expandDetailBy", "expandedDetailKeys", "initiallyExpanded"], outputs: ["expandedDetailKeysChange"], exportAs: ["kendoGridExpandDetailsBy"] }, { kind: "component", type: i2.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i2.FooterTemplateDirective, selector: "[kendoGridFooterTemplate]" }, { kind: "directive", type: i2.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "directive", type: i2.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i2.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i3.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
131
129
|
}
|
|
132
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitGridComponent, decorators: [{
|
|
133
131
|
type: Component,
|
|
134
|
-
args: [{ selector: 'kit-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (data) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [data]=\"data\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n@if (gridDataBinding) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [kendoGridBinding]=\"gridDataBinding\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n<ng-template #columnHeaderTemplate let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (KitGridSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (KitGridSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate let-column>\n @if (columns()) {\n @if (footerTitle && column === columns()[0]) {\n {{ footerTitle }}\n }\n @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n", styles: [".kit-grid{border:none;background:none}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15)}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:20px 0;justify-content:flex-start}.kit-grid ::ng-deep .k-detail-row .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-12);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:0;border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-nav:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-nav:after{opacity:0}.kit-grid ::ng-deep .k-pager-nav.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav:not(.k-selected):hover:before{background-color:#0000000f}.kit-grid ::ng-deep .k-pager-nav.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager .k-pager-first,.kit-grid ::ng-deep .k-pager .k-pager-last{display:none}.kit-grid ::ng-deep .k-pager .k-button-icon{font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-left:before{content:\"\\e016\"}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-right:before{content:\"\\e014\"}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}\n"] }]
|
|
132
|
+
args: [{ selector: 'kit-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (data) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [data]=\"data\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n@if (gridDataBinding) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [kendoGridBinding]=\"gridDataBinding\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n<ng-template #columnHeaderTemplate let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (KitGridSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (KitGridSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate let-column>\n @if (columns()) {\n @if (footerTitle && column === columns()[0]) {\n {{ footerTitle }}\n }\n @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n", styles: [".kit-grid{border:none;background:none}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15)}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:20px 0;justify-content:flex-start}.kit-grid ::ng-deep .k-detail-row .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-12);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:0;border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-nav:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-nav:after{opacity:0}.kit-grid ::ng-deep .k-pager-nav.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav:not(.k-selected):hover:before{background-color:#0000000f}.kit-grid ::ng-deep .k-pager-nav.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager .k-pager-first,.kit-grid ::ng-deep .k-pager .k-pager-last{display:none}.kit-grid ::ng-deep .k-pager .k-button-icon{font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-left:before{content:\"\\e016\"}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-right:before{content:\"\\e014\"}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.6}\n"] }]
|
|
135
133
|
}], propDecorators: { data: [{
|
|
136
134
|
type: Input
|
|
137
135
|
}], gridDataBinding: [{
|
|
@@ -150,14 +148,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
150
148
|
type: Input
|
|
151
149
|
}], detailTemplateShowIf: [{
|
|
152
150
|
type: Input
|
|
151
|
+
}], detailTemplateExpandDisableIf: [{
|
|
152
|
+
type: Input
|
|
153
153
|
}], showFooter: [{
|
|
154
154
|
type: Input
|
|
155
155
|
}], footerTitle: [{
|
|
156
156
|
type: Input
|
|
157
157
|
}], footerData: [{
|
|
158
158
|
type: Input
|
|
159
|
-
}], addRowClass: [{
|
|
160
|
-
type: Input
|
|
161
159
|
}], pageChanged: [{
|
|
162
160
|
type: Output
|
|
163
161
|
}], sortChanged: [{
|
|
@@ -174,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
174
172
|
type: ContentChild,
|
|
175
173
|
args: [KitGridDetailTemplateDirective, { read: TemplateRef }]
|
|
176
174
|
}] } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9raXQtZ3JpZC9raXQtZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2tpdC1ncmlkL2tpdC1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBS3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVdoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFRdEYsTUFBTSxPQUFPLGdCQUFnQjtJQU43QjtRQWlCRTs7V0FFRztRQUNNLGFBQVEsR0FBa0MsS0FBSyxDQUFDO1FBRXpEOztXQUVHO1FBQ00sU0FBSSxHQUE0QixFQUFFLENBQUM7UUFFNUM7O1dBRUc7UUFDTSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBT25DOztXQUVHO1FBQ00sU0FBSSxHQUFXLENBQUMsQ0FBQztRQUUxQjs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7O1dBRUc7UUFDTSx5QkFBb0IsR0FBNkIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBRXRFOztXQUVHO1FBQ00sZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVyQzs7V0FFRztRQUNNLGdCQUFXLEdBQVcs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QUMsOEJBQThCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgU2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLaXRHcmlkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9raXQtZ3JpZC1jb2x1bW4va2l0LWdyaWQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQYWdlclNldHRpbmdzLFxuICBSb3dDbGFzc0FyZ3MsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHsgS2l0U3ZnSWNvbiB9IGZyb20gJy4uL2tpdC1zdmctaWNvbi9raXQtc3ZnLWljb24uY29uc3QnO1xuaW1wb3J0IHtcbiAgS2l0R3JpZERhdGFTdGF0ZUNoYW5nZUV2ZW50LFxuICBLaXRHcmlkU29ydERlc2NyaXB0b3IsXG4gIEtpdEdyaWRTb3J0U2V0dGluZ3MsXG4gIEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQsXG4gIEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudCxcbiAgS2l0R3JpZERldGFpbENvbGxhcHNlRXZlbnQsXG4gIEtpdEdyaWREYXRhUmVzdWx0LFxuICBLaXRHcmlkQ2VsbENsaWNrRXZlbnQsXG59IGZyb20gJy4va2l0LWdyaWQubW9kZWwnO1xuaW1wb3J0IHsgS2l0R3JpZFNvcnREaXJlY3Rpb24gfSBmcm9tICcuL2tpdC1ncmlkLmNvbnN0JztcbmltcG9ydCB7IEtpdEdyaWREZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4va2l0LWdyaWQtZGV0YWlsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpdC1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2tpdC1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2tpdC1ncmlkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEtpdEdyaWRDb21wb25lbnQ8VD4ge1xuICAvKipcbiAgICogU2V0cyB0aGUgZGF0YSBvZiB0aGUgZ3JpZC4gQWxsb3dzIHVzZXIgdG8gaW1wbGVtZW50IGRhdGEgb3BlcmF0aW9ucyBtYW51YWxseVxuICAgKi9cbiAgQElucHV0KCkgZGF0YT86IFRbXSB8IEtpdEdyaWREYXRhUmVzdWx0PFQ+O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkYXRhIG9mIHRoZSBncmlkLiBBbGxvd3MgdXNlciB0byBpbXBsZW1lbnQgZGF0YSBvcGVyYXRpb25zIGF1dG9tYXRpY2FsbHlcbiAgICovXG4gIEBJbnB1dCgpIGdyaWREYXRhQmluZGluZz86IFRbXTtcblxuICAvKipcbiAgICogRW5hYmxlcyB0aGUgc29ydGluZyBvZiB0aGUgZ3JpZCBjb2x1bW5zXG4gICAqL1xuICBASW5wdXQoKSBzb3J0YWJsZTogS2l0R3JpZFNvcnRTZXR0aW5ncyB8IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0b3JzIGJ5IHdoaWNoIHRoZSBkYXRhIHdpbGwgYmUgc29ydGVkXG4gICAqL1xuICBASW5wdXQoKSBzb3J0OiBLaXRHcmlkU29ydERlc2NyaXB0b3JbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBwYWdlciBvZiB0aGUgZ3JpZFxuICAgKi9cbiAgQElucHV0KCkgcGFnZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgcGFnZSBzaXplXG4gICAqL1xuICBASW5wdXQoKSBwYWdlU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgbnVtYmVyIG9mIHJlY29yZHMgdG8gYmUgc2tpcHBlZCBieSB0aGUgcGFnZXJcbiAgICovXG4gIEBJbnB1dCgpIHNraXA6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0aGUgbG9hZGluZyBpbmRpY2F0b3Igb2YgdGhlIGdyaWQgd2lsbCBiZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIHRoZSBkZXRhaWwgdGVtcGxhdGUgc2hvdWxkIGJlIHZpc2libGVcbiAgICovXG4gIEBJbnB1dCgpIGRldGFpbFRlbXBsYXRlU2hvd0lmOiAoZGF0YUl0ZW06IFQpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICAvKipcbiAgICogRmxhZyB0byBzaG93IG9yIGhpZGUgdGhlIGZvb3RlciByb3dcbiAgICovXG4gIEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGl0bGUgdG8gZGlzcGxheSBpbiB0aGUgZmlyc3QgY29sdW1uIG9mIHRoZSBmb290ZXIgcm93XG4gICAqL1xuICBASW5wdXQoKSBmb290ZXJUaXRsZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIERhdGEgdG8gZGlzcGxheSBpbiB0aGUgZm9vdGVyIHJvd1xuICAgKi9cbiAgQElucHV0KCkgZm9vdGVyRGF0YT86IFBhcnRpYWw8UmVjb3JkPGtleW9mIFQsIFRba2V5b2YgVF0+PjtcbiAgXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gYWRkIGFkZGl0aW9uYWwgbG9naWMgdG8gdGhlIHJvdyBjbGFzc1xuICAgKi9cbiAgQElucHV0KCkgYWRkUm93Q2xhc3M/OiAoY29udGV4dD86IFJvd0NsYXNzQXJncykgPT4gUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSAoKSA9PiAoe30pO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCB3aGVuIHRoZSBwYWdlIG9mIHRoZSBncmlkIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLaXRHcmlkUGFnZUNoYW5nZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCBvbmNlIHRoZSBzb3J0aW5nIG9mIHRoZSBncmlkIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8S2l0R3JpZFNvcnREZXNjcmlwdG9yW10+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIGRhdGEgc3RhdGUgb2YgdGhlIGdyaWQgaXMgY2hhbmdlZFxuICAgKi9cbiAgQE91dHB1dCgpIGRhdGFTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIG1hc3RlciByb3cgaXMgZXhwYW5kZWRcbiAgICovXG4gIEBPdXRwdXQoKSBkZXRhaWxFeHBhbmRlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudD4oKTtcblxuICAvKipcbiAgICogQW4gYWN0aW9uIHdoaWNoIGlzIGVtaXR0ZWQgd2hlbiB0aGUgbWFzdGVyIHJvdyBpcyBjb2xsYXBzZWRcbiAgICovXG4gIEBPdXRwdXQoKSBkZXRhaWxDb2xsYXBzZWQ6IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGV0YWlsQ29sbGFwc2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxDb2xsYXBzZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzIGEgY2VsbFxuICAgKi9cbiAgQE91dHB1dCgpIGNlbGxDbGlja2VkOiBFdmVudEVtaXR0ZXI8S2l0R3JpZENlbGxDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2l0R3JpZENlbGxDbGlja0V2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoS2l0R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGtpdEdyaWREZXRhaWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcmVhZG9ubHkgY29sdW1uczogU2lnbmFsPHJlYWRvbmx5IEtpdEdyaWRDb2x1bW5Db21wb25lbnRbXT4gPSBjb250ZW50Q2hpbGRyZW4oS2l0R3JpZENvbHVtbkNvbXBvbmVudCk7XG4gIHJlYWRvbmx5IEtpdFN2Z0ljb246IHR5cGVvZiBLaXRTdmdJY29uID0gS2l0U3ZnSWNvbjtcbiAgcmVhZG9ubHkgS2l0R3JpZFNvcnREaXJlY3Rpb246IHR5cGVvZiBLaXRHcmlkU29ydERpcmVjdGlvbiA9IEtpdEdyaWRTb3J0RGlyZWN0aW9uO1xuICBleHBhbmRlZFJvd3M6IFRbXSA9IFtdO1xuXG4gIG9uRGF0YVN0YXRlQ2hhbmdlKGV2ZW50OiBLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNraXAgPSBldmVudC5za2lwO1xuICAgIHRoaXMuc29ydCA9IGV2ZW50LnNvcnQgfHwgW107XG4gICAgdGhpcy5jb2xsYXBzZUFsbFJvd3MoKTtcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0ID0gZXZlbnQ7XG4gICAgdGhpcy5jb2xsYXBzZUFsbFJvd3MoKTtcbiAgICB0aGlzLnNvcnRDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0U29ydGluZ0RpcmVjdGlvbihjb2x1bW5GaWVsZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc29ydC5maW5kKGl0ZW0gPT4gaXRlbS5maWVsZCA9PT0gY29sdW1uRmllbGQpPy5kaXIgPz8gbnVsbDtcbiAgfVxuXG4gIGlzQ29sdW1uU29ydGFibGUoY29sdW1uOiBLaXRHcmlkQ29sdW1uQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zb3J0YWJsZSAmJiBjb2x1bW4uc29ydGFibGU7XG4gIH1cblxuICBvbkRldGFpbEV4cGFuZChldmVudDogS2l0R3JpZERldGFpbEV4cGFuZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxFeHBhbmRlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uRGV0YWlsQ29sbGFwc2UoZXZlbnQ6IEtpdEdyaWREZXRhaWxDb2xsYXBzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxDb2xsYXBzZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZXZlbnQ6IEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNraXAgPSBldmVudC5za2lwO1xuICAgIHRoaXMuY29sbGFwc2VBbGxSb3dzKCk7XG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQ2VsbENsaWNrKGV2ZW50OiBLaXRHcmlkQ2VsbENsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNlbGxDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0Q3NzUm93Q2xhc3MgPSAoY29udGV4dDogUm93Q2xhc3NBcmdzKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IGV4cGFuZGVkOiBib29sZWFuID0gdGhpcy5leHBhbmRlZFJvd3MuaW5jbHVkZXMoY29udGV4dC5kYXRhSXRlbSk7XG5cbiAgICBjb25zdCBjbGFzc2VzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHtcbiAgICAgIGV4cGFuZGVkLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5hZGRSb3dDbGFzcykge1xuICAgICAgT2JqZWN0LmFzc2lnbihjbGFzc2VzLCB0aGlzLmFkZFJvd0NsYXNzKGNvbnRleHQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfTtcblxuICBnZXRQYWdlclNldHRpbmdzKCk6IGJvb2xlYW4gfCBQYWdlclNldHRpbmdzIHtcbiAgICBjb25zdCBwYWdlclNldHRpbmdzOiBQYWdlclNldHRpbmdzID0ge1xuICAgICAgYnV0dG9uQ291bnQ6IDUsXG4gICAgICBpbmZvOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucGFnZWFibGUgJiYgcGFnZXJTZXR0aW5ncyB8fCBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGFwc2VBbGxSb3dzKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRSb3dzID0gW107XG4gIH1cbn1cbiIsIkBpZiAoZGF0YSkge1xuICA8a2VuZG8tZ3JpZCBjbGFzcz1cImtpdC1ncmlkXCJcbiAgICAgICAgICAgICAga2VuZG9HcmlkRXhwYW5kRGV0YWlsc0J5XG4gICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICAgICAgICBbc29ydGFibGVdPVwic29ydGFibGVcIlxuICAgICAgICAgICAgICBbc29ydF09XCJzb3J0XCJcbiAgICAgICAgICAgICAgW3Jvd0NsYXNzXT1cImdldENzc1Jvd0NsYXNzXCJcbiAgICAgICAgICAgICAgW3BhZ2VhYmxlXT1cImdldFBhZ2VyU2V0dGluZ3MoKVwiXG4gICAgICAgICAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICAgICAgICAgIFtza2lwXT1cInNraXBcIlxuICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgICAgWyhleHBhbmRlZERldGFpbEtleXMpXT1cImV4cGFuZGVkUm93c1wiXG4gICAgICAgICAgICAgIChjZWxsQ2xpY2spPVwib25DZWxsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkZXRhaWxFeHBhbmQpPVwib25EZXRhaWxFeHBhbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkZXRhaWxDb2xsYXBzZSk9XCJvbkRldGFpbENvbGxhcHNlKCRldmVudClcIlxuICAgICAgICAgICAgICAoc29ydENoYW5nZSk9XCJvblNvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRhdGFTdGF0ZUNoYW5nZSk9XCJvbkRhdGFTdGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uKSB7XG4gICAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gW2ZpZWxkXT1cImNvbHVtbi5maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cImNvbHVtbi5zb3J0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJjb2x1bW4uaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPVwiY29sdW1uLndpZHRoXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRIZWFkZXJUZW1wbGF0ZT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uSGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb2x1bW4gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIEBpZiAoY29sdW1uLmNlbGxUZW1wbGF0ZSkge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5jZWxsVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhSXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZEZvb3RlclRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgICBAaWYgKGtpdEdyaWREZXRhaWxUZW1wbGF0ZSkge1xuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkRGV0YWlsVGVtcGxhdGUgbGV0LWRhdGFJdGVtXG4gICAgICAgICAgICAgICAgICAgICBba2VuZG9HcmlkRGV0YWlsVGVtcGxhdGVTaG93SWZdPVwiZGV0YWlsVGVtcGxhdGVTaG93SWZcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwia2l0R3JpZERldGFpbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZGF0YUl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgfVxuICAgIH1cbiAgPC9rZW5kby1ncmlkPlxufVxuXG5AaWYgKGdyaWREYXRhQmluZGluZykge1xuICA8a2VuZG8tZ3JpZCBjbGFzcz1cImtpdC1ncmlkXCJcbiAgICAgICAgICAgICAga2VuZG9HcmlkRXhwYW5kRGV0YWlsc0J5XG4gICAgICAgICAgICAgIFtrZW5kb0dyaWRCaW5kaW5nXT1cImdyaWREYXRhQmluZGluZ1wiXG4gICAgICAgICAgICAgIFtyb3dDbGFzc109XCJnZXRDc3NSb3dDbGFzc1wiXG4gICAgICAgICAgICAgIFtwYWdlYWJsZV09XCJnZXRQYWdlclNldHRpbmdzKClcIlxuICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICBbc29ydGFibGVdPVwic29ydGFibGVcIlxuICAgICAgICAgICAgICBbc29ydF09XCJzb3J0XCJcbiAgICAgICAgICAgICAgW3NraXBdPVwic2tpcFwiXG4gICAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgICBbKGV4cGFuZGVkRGV0YWlsS2V5cyldPVwiZXhwYW5kZWRSb3dzXCJcbiAgICAgICAgICAgICAgKGNlbGxDbGljayk9XCJvbkNlbGxDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRldGFpbEV4cGFuZCk9XCJvbkRldGFpbEV4cGFuZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRldGFpbENvbGxhcHNlKT1cIm9uRGV0YWlsQ29sbGFwc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAoZGF0YVN0YXRlQ2hhbmdlKT1cIm9uRGF0YVN0YXRlQ2hhbmdlKCRldmVudClcIj5cbiAgICBAZm9yIChjb2x1bW4gb2YgY29sdW1ucygpOyB0cmFjayBjb2x1bW4pIHtcbiAgICAgIDxrZW5kby1ncmlkLWNvbHVtbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGFibGVdPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cImNvbHVtbi5oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCJjb2x1bW4ud2lkdGhcIj5cbiAgICAgICAgQGlmIChjb2x1bW4uY2VsbFRlbXBsYXRlKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLmNlbGxUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGRhdGFJdGVtIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cblxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkSGVhZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbkhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICBAaWYgKHNob3dGb290ZXIpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkRm9vdGVyVGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb2x1bW4gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cbiAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG5cbiAgICAgIEBpZiAoa2l0R3JpZERldGFpbFRlbXBsYXRlKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWREZXRhaWxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgIFtrZW5kb0dyaWREZXRhaWxUZW1wbGF0ZVNob3dJZl09XCJkZXRhaWxUZW1wbGF0ZVNob3dJZlwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJraXRHcmlkRGV0YWlsVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhSXRlbSB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICB9XG4gICAgfVxuICA8L2tlbmRvLWdyaWQ+XG59XG5cbjxuZy10ZW1wbGF0ZSAjY29sdW1uSGVhZGVyVGVtcGxhdGUgbGV0LWNvbHVtbj5cbiAgPGRpdiBjbGFzcz1cImdyaWQtdGl0bGVcIlxuICAgICAgIFtjbGFzcy5zb3J0YWJsZV09XCJpc0NvbHVtblNvcnRhYmxlKGNvbHVtbilcIj5cbiAgICBAaWYgKGNvbHVtbi50aXRsZUljb24pIHtcbiAgICAgIDxraXQtc3ZnLWljb24gY2xhc3M9XCJncmlkLXRpdGxlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJjb2x1bW4udGl0bGVJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLnRpdGxlSWNvblR5cGVcIlxuICAgICAgPjwva2l0LXN2Zy1pY29uPlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJncmlkLXRpdGxlLXRleHRcIj5cbiAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChzb3J0YWJsZSAmJiBjb2x1bW4uc29ydGFibGUpIHtcbiAgICAgIEBzd2l0Y2ggKGdldFNvcnRpbmdEaXJlY3Rpb24oY29sdW1uLmZpZWxkKSkge1xuICAgICAgICBAY2FzZSAoS2l0R3JpZFNvcnREaXJlY3Rpb24uQVNDKSB7XG4gICAgICAgICAgPGtpdC1zdmctaWNvbiBjbGFzcz1cImdyaWQtdGl0bGUtc29ydC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIktpdFN2Z0ljb24uU09SVF9BU0NFTkRJTkdcIlxuICAgICAgICAgID48L2tpdC1zdmctaWNvbj5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoS2l0R3JpZFNvcnREaXJlY3Rpb24uREVTQykge1xuICAgICAgICAgIDxraXQtc3ZnLWljb24gY2xhc3M9XCJncmlkLXRpdGxlLXNvcnQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJLaXRTdmdJY29uLlNPUlRfREVTQ0VORElOR1wiXG4gICAgICAgICAgPjwva2l0LXN2Zy1pY29uPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGUgbGV0LWNvbHVtbj5cbiAgQGlmIChjb2x1bW5zKCkpIHtcbiAgICBAaWYgKGZvb3RlclRpdGxlICYmIGNvbHVtbiA9PT0gY29sdW1ucygpWzBdKSB7XG4gICAgICB7eyBmb290ZXJUaXRsZSB9fVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB7eyBmb290ZXJEYXRhPy5bY29sdW1uLmZpZWxkXSB8fCAnJyB9fVxuICAgIH1cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9raXQtZ3JpZC9raXQtZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2tpdC1ncmlkL2tpdC1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBS3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVdoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFRdEYsTUFBTSxPQUFPLGdCQUFnQjtJQU43QjtRQWlCRTs7V0FFRztRQUNNLGFBQVEsR0FBa0MsS0FBSyxDQUFDO1FBRXpEOztXQUVHO1FBQ00sU0FBSSxHQUE0QixFQUFFLENBQUM7UUFFNUM7O1dBRUc7UUFDTSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBT25DOztXQUVHO1FBQ00sU0FBSSxHQUFXLENBQUMsQ0FBQztRQUUxQjs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7O1dBRUc7UUFDTSx5QkFBb0IsR0FBNkIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBRXRFOztTQUVDO1FBQ1Esa0NBQTZCLEdBQTZCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUUvRTs7V0FF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Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgU2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLaXRHcmlkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9raXQtZ3JpZC1jb2x1bW4va2l0LWdyaWQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQYWdlclNldHRpbmdzLFxuICBSb3dDbGFzc0FyZ3MsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHsgS2l0U3ZnSWNvbiB9IGZyb20gJy4uL2tpdC1zdmctaWNvbi9raXQtc3ZnLWljb24uY29uc3QnO1xuaW1wb3J0IHtcbiAgS2l0R3JpZERhdGFTdGF0ZUNoYW5nZUV2ZW50LFxuICBLaXRHcmlkU29ydERlc2NyaXB0b3IsXG4gIEtpdEdyaWRTb3J0U2V0dGluZ3MsXG4gIEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQsXG4gIEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudCxcbiAgS2l0R3JpZERldGFpbENvbGxhcHNlRXZlbnQsXG4gIEtpdEdyaWREYXRhUmVzdWx0LFxuICBLaXRHcmlkQ2VsbENsaWNrRXZlbnQsXG59IGZyb20gJy4va2l0LWdyaWQubW9kZWwnO1xuaW1wb3J0IHsgS2l0R3JpZFNvcnREaXJlY3Rpb24gfSBmcm9tICcuL2tpdC1ncmlkLmNvbnN0JztcbmltcG9ydCB7IEtpdEdyaWREZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4va2l0LWdyaWQtZGV0YWlsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpdC1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2tpdC1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2tpdC1ncmlkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEtpdEdyaWRDb21wb25lbnQ8VD4ge1xuICAvKipcbiAgICogU2V0cyB0aGUgZGF0YSBvZiB0aGUgZ3JpZC4gQWxsb3dzIHVzZXIgdG8gaW1wbGVtZW50IGRhdGEgb3BlcmF0aW9ucyBtYW51YWxseVxuICAgKi9cbiAgQElucHV0KCkgZGF0YT86IFRbXSB8IEtpdEdyaWREYXRhUmVzdWx0PFQ+O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkYXRhIG9mIHRoZSBncmlkLiBBbGxvd3MgdXNlciB0byBpbXBsZW1lbnQgZGF0YSBvcGVyYXRpb25zIGF1dG9tYXRpY2FsbHlcbiAgICovXG4gIEBJbnB1dCgpIGdyaWREYXRhQmluZGluZz86IFRbXTtcblxuICAvKipcbiAgICogRW5hYmxlcyB0aGUgc29ydGluZyBvZiB0aGUgZ3JpZCBjb2x1bW5zXG4gICAqL1xuICBASW5wdXQoKSBzb3J0YWJsZTogS2l0R3JpZFNvcnRTZXR0aW5ncyB8IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0b3JzIGJ5IHdoaWNoIHRoZSBkYXRhIHdpbGwgYmUgc29ydGVkXG4gICAqL1xuICBASW5wdXQoKSBzb3J0OiBLaXRHcmlkU29ydERlc2NyaXB0b3JbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBwYWdlciBvZiB0aGUgZ3JpZFxuICAgKi9cbiAgQElucHV0KCkgcGFnZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgcGFnZSBzaXplXG4gICAqL1xuICBASW5wdXQoKSBwYWdlU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgbnVtYmVyIG9mIHJlY29yZHMgdG8gYmUgc2tpcHBlZCBieSB0aGUgcGFnZXJcbiAgICovXG4gIEBJbnB1dCgpIHNraXA6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0aGUgbG9hZGluZyBpbmRpY2F0b3Igb2YgdGhlIGdyaWQgd2lsbCBiZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIHRoZSBkZXRhaWwgdGVtcGxhdGUgc2hvdWxkIGJlIHZpc2libGVcbiAgICovXG4gIEBJbnB1dCgpIGRldGFpbFRlbXBsYXRlU2hvd0lmOiAoZGF0YUl0ZW06IFQpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICAvKipcbiAqIEZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiB0aGUgY2FyZXQgb2YgZGV0YWlsIHRlbXBsYXRlIHNob3VsZCBiZSBkaXNhYmxlZFxuICovXG4gIEBJbnB1dCgpIGRldGFpbFRlbXBsYXRlRXhwYW5kRGlzYWJsZUlmOiAoZGF0YUl0ZW06IFQpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICAvKipcbiAgICogRmxhZyB0byBzaG93IG9yIGhpZGUgdGhlIGZvb3RlciByb3dcbiAgICovXG4gIEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGl0bGUgdG8gZGlzcGxheSBpbiB0aGUgZmlyc3QgY29sdW1uIG9mIHRoZSBmb290ZXIgcm93XG4gICAqL1xuICBASW5wdXQoKSBmb290ZXJUaXRsZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIERhdGEgdG8gZGlzcGxheSBpbiB0aGUgZm9vdGVyIHJvd1xuICAgKi9cbiAgQElucHV0KCkgZm9vdGVyRGF0YT86IFBhcnRpYWw8UmVjb3JkPGtleW9mIFQsIFRba2V5b2YgVF0+PjtcbiAgXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCB3aGVuIHRoZSBwYWdlIG9mIHRoZSBncmlkIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLaXRHcmlkUGFnZUNoYW5nZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCBvbmNlIHRoZSBzb3J0aW5nIG9mIHRoZSBncmlkIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8S2l0R3JpZFNvcnREZXNjcmlwdG9yW10+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIGRhdGEgc3RhdGUgb2YgdGhlIGdyaWQgaXMgY2hhbmdlZFxuICAgKi9cbiAgQE91dHB1dCgpIGRhdGFTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIG1hc3RlciByb3cgaXMgZXhwYW5kZWRcbiAgICovXG4gIEBPdXRwdXQoKSBkZXRhaWxFeHBhbmRlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudD4oKTtcblxuICAvKipcbiAgICogQW4gYWN0aW9uIHdoaWNoIGlzIGVtaXR0ZWQgd2hlbiB0aGUgbWFzdGVyIHJvdyBpcyBjb2xsYXBzZWRcbiAgICovXG4gIEBPdXRwdXQoKSBkZXRhaWxDb2xsYXBzZWQ6IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGV0YWlsQ29sbGFwc2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxDb2xsYXBzZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzIGEgY2VsbFxuICAgKi9cbiAgQE91dHB1dCgpIGNlbGxDbGlja2VkOiBFdmVudEVtaXR0ZXI8S2l0R3JpZENlbGxDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2l0R3JpZENlbGxDbGlja0V2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoS2l0R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGtpdEdyaWREZXRhaWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcmVhZG9ubHkgY29sdW1uczogU2lnbmFsPHJlYWRvbmx5IEtpdEdyaWRDb2x1bW5Db21wb25lbnRbXT4gPSBjb250ZW50Q2hpbGRyZW4oS2l0R3JpZENvbHVtbkNvbXBvbmVudCk7XG4gIHJlYWRvbmx5IEtpdFN2Z0ljb246IHR5cGVvZiBLaXRTdmdJY29uID0gS2l0U3ZnSWNvbjtcbiAgcmVhZG9ubHkgS2l0R3JpZFNvcnREaXJlY3Rpb246IHR5cGVvZiBLaXRHcmlkU29ydERpcmVjdGlvbiA9IEtpdEdyaWRTb3J0RGlyZWN0aW9uO1xuICBleHBhbmRlZFJvd3M6IFRbXSA9IFtdO1xuXG4gIG9uRGF0YVN0YXRlQ2hhbmdlKGV2ZW50OiBLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNraXAgPSBldmVudC5za2lwO1xuICAgIHRoaXMuc29ydCA9IGV2ZW50LnNvcnQgfHwgW107XG4gICAgdGhpcy5jb2xsYXBzZUFsbFJvd3MoKTtcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0ID0gZXZlbnQ7XG4gICAgdGhpcy5jb2xsYXBzZUFsbFJvd3MoKTtcbiAgICB0aGlzLnNvcnRDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0U29ydGluZ0RpcmVjdGlvbihjb2x1bW5GaWVsZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc29ydC5maW5kKGl0ZW0gPT4gaXRlbS5maWVsZCA9PT0gY29sdW1uRmllbGQpPy5kaXIgPz8gbnVsbDtcbiAgfVxuXG4gIGlzQ29sdW1uU29ydGFibGUoY29sdW1uOiBLaXRHcmlkQ29sdW1uQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zb3J0YWJsZSAmJiBjb2x1bW4uc29ydGFibGU7XG4gIH1cblxuICBvbkRldGFpbEV4cGFuZChldmVudDogS2l0R3JpZERldGFpbEV4cGFuZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxFeHBhbmRlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uRGV0YWlsQ29sbGFwc2UoZXZlbnQ6IEtpdEdyaWREZXRhaWxDb2xsYXBzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxDb2xsYXBzZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZXZlbnQ6IEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNraXAgPSBldmVudC5za2lwO1xuICAgIHRoaXMuY29sbGFwc2VBbGxSb3dzKCk7XG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQ2VsbENsaWNrKGV2ZW50OiBLaXRHcmlkQ2VsbENsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNlbGxDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0Q3NzUm93Q2xhc3MgPSAoY29udGV4dDogUm93Q2xhc3NBcmdzKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IGV4cGFuZGVkOiBib29sZWFuID0gdGhpcy5leHBhbmRlZFJvd3MuaW5jbHVkZXMoY29udGV4dC5kYXRhSXRlbSk7XG4gICAgY29uc3QgZXhwYW5kRGlzYWJsZWQ6IGJvb2xlYW4gPSB0aGlzLmRldGFpbFRlbXBsYXRlRXhwYW5kRGlzYWJsZUlmKGNvbnRleHQuZGF0YUl0ZW0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGV4cGFuZGVkLFxuICAgICAgJ2V4cGFuZC1kaXNhYmxlZCc6IGV4cGFuZERpc2FibGVkLFxuICAgIH07XG4gIH07XG5cbiAgZ2V0UGFnZXJTZXR0aW5ncygpOiBib29sZWFuIHwgUGFnZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcGFnZXJTZXR0aW5nczogUGFnZXJTZXR0aW5ncyA9IHtcbiAgICAgIGJ1dHRvbkNvdW50OiA1LFxuICAgICAgaW5mbzogZmFsc2UsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnBhZ2VhYmxlICYmIHBhZ2VyU2V0dGluZ3MgfHwgZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNvbGxhcHNlQWxsUm93cygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkUm93cyA9IFtdO1xuICB9XG59XG4iLCJAaWYgKGRhdGEpIHtcbiAgPGtlbmRvLWdyaWQgY2xhc3M9XCJraXQtZ3JpZFwiXG4gICAgICAgICAgICAgIGtlbmRvR3JpZEV4cGFuZERldGFpbHNCeVxuICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcbiAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cInNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgW3NvcnRdPVwic29ydFwiXG4gICAgICAgICAgICAgIFtyb3dDbGFzc109XCJnZXRDc3NSb3dDbGFzc1wiXG4gICAgICAgICAgICAgIFtwYWdlYWJsZV09XCJnZXRQYWdlclNldHRpbmdzKClcIlxuICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICBbc2tpcF09XCJza2lwXCJcbiAgICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAgIFsoZXhwYW5kZWREZXRhaWxLZXlzKV09XCJleHBhbmRlZFJvd3NcIlxuICAgICAgICAgICAgICAoY2VsbENsaWNrKT1cIm9uQ2VsbENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAoZGV0YWlsRXhwYW5kKT1cIm9uRGV0YWlsRXhwYW5kKCRldmVudClcIlxuICAgICAgICAgICAgICAoZGV0YWlsQ29sbGFwc2UpPVwib25EZXRhaWxDb2xsYXBzZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkYXRhU3RhdGVDaGFuZ2UpPVwib25EYXRhU3RhdGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zKCk7IHRyYWNrIGNvbHVtbikge1xuICAgICAgPGtlbmRvLWdyaWQtY29sdW1uIFtmaWVsZF09XCJjb2x1bW4uZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJjb2x1bW4uc29ydGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiY29sdW1uLmhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cImNvbHVtbi53aWR0aFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkSGVhZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbkhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICBAaWYgKGNvbHVtbi5jZWxsVGVtcGxhdGUpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW4uY2VsbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZGF0YUl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoc2hvd0Zvb3Rlcikge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRGb290ZXJUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgfVxuICAgICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cblxuICAgICAgQGlmIChraXRHcmlkRGV0YWlsVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZERldGFpbFRlbXBsYXRlIGxldC1kYXRhSXRlbVxuICAgICAgICAgICAgICAgICAgICAgW2tlbmRvR3JpZERldGFpbFRlbXBsYXRlU2hvd0lmXT1cImRldGFpbFRlbXBsYXRlU2hvd0lmXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImtpdEdyaWREZXRhaWxUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGRhdGFJdGVtIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIH1cbiAgICB9XG4gIDwva2VuZG8tZ3JpZD5cbn1cblxuQGlmIChncmlkRGF0YUJpbmRpbmcpIHtcbiAgPGtlbmRvLWdyaWQgY2xhc3M9XCJraXQtZ3JpZFwiXG4gICAgICAgICAgICAgIGtlbmRvR3JpZEV4cGFuZERldGFpbHNCeVxuICAgICAgICAgICAgICBba2VuZG9HcmlkQmluZGluZ109XCJncmlkRGF0YUJpbmRpbmdcIlxuICAgICAgICAgICAgICBbcm93Q2xhc3NdPVwiZ2V0Q3NzUm93Q2xhc3NcIlxuICAgICAgICAgICAgICBbcGFnZWFibGVdPVwiZ2V0UGFnZXJTZXR0aW5ncygpXCJcbiAgICAgICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cInNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgW3NvcnRdPVwic29ydFwiXG4gICAgICAgICAgICAgIFtza2lwXT1cInNraXBcIlxuICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgICAgWyhleHBhbmRlZERldGFpbEtleXMpXT1cImV4cGFuZGVkUm93c1wiXG4gICAgICAgICAgICAgIChjZWxsQ2xpY2spPVwib25DZWxsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkZXRhaWxFeHBhbmQpPVwib25EZXRhaWxFeHBhbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkZXRhaWxDb2xsYXBzZSk9XCJvbkRldGFpbENvbGxhcHNlKCRldmVudClcIlxuICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChzb3J0Q2hhbmdlKT1cIm9uU29ydENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRhdGFTdGF0ZUNoYW5nZSk9XCJvbkRhdGFTdGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uKSB7XG4gICAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gW2ZpZWxkXT1cImNvbHVtbi5maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cImNvbHVtbi5zb3J0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJjb2x1bW4uaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPVwiY29sdW1uLndpZHRoXCI+XG4gICAgICAgIEBpZiAoY29sdW1uLmNlbGxUZW1wbGF0ZSkge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5jZWxsVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhSXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZEhlYWRlclRlbXBsYXRlPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5IZWFkZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbHVtbiB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZEZvb3RlclRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgICBAaWYgKGtpdEdyaWREZXRhaWxUZW1wbGF0ZSkge1xuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkRGV0YWlsVGVtcGxhdGUgbGV0LWRhdGFJdGVtXG4gICAgICAgICAgICAgICAgICAgICBba2VuZG9HcmlkRGV0YWlsVGVtcGxhdGVTaG93SWZdPVwiZGV0YWlsVGVtcGxhdGVTaG93SWZcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwia2l0R3JpZERldGFpbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZGF0YUl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgfVxuICAgIH1cbiAgPC9rZW5kby1ncmlkPlxufVxuXG48bmctdGVtcGxhdGUgI2NvbHVtbkhlYWRlclRlbXBsYXRlIGxldC1jb2x1bW4+XG4gIDxkaXYgY2xhc3M9XCJncmlkLXRpdGxlXCJcbiAgICAgICBbY2xhc3Muc29ydGFibGVdPVwiaXNDb2x1bW5Tb3J0YWJsZShjb2x1bW4pXCI+XG4gICAgQGlmIChjb2x1bW4udGl0bGVJY29uKSB7XG4gICAgICA8a2l0LXN2Zy1pY29uIGNsYXNzPVwiZ3JpZC10aXRsZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY29sdW1uLnRpdGxlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi50aXRsZUljb25UeXBlXCJcbiAgICAgID48L2tpdC1zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZC10aXRsZS10ZXh0XCI+XG4gICAgICB7eyBjb2x1bW4udGl0bGUgfX1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoc29ydGFibGUgJiYgY29sdW1uLnNvcnRhYmxlKSB7XG4gICAgICBAc3dpdGNoIChnZXRTb3J0aW5nRGlyZWN0aW9uKGNvbHVtbi5maWVsZCkpIHtcbiAgICAgICAgQGNhc2UgKEtpdEdyaWRTb3J0RGlyZWN0aW9uLkFTQykge1xuICAgICAgICAgIDxraXQtc3ZnLWljb24gY2xhc3M9XCJncmlkLXRpdGxlLXNvcnQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJLaXRTdmdJY29uLlNPUlRfQVNDRU5ESU5HXCJcbiAgICAgICAgICA+PC9raXQtc3ZnLWljb24+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKEtpdEdyaWRTb3J0RGlyZWN0aW9uLkRFU0MpIHtcbiAgICAgICAgICA8a2l0LXN2Zy1pY29uIGNsYXNzPVwiZ3JpZC10aXRsZS1zb3J0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiS2l0U3ZnSWNvbi5TT1JUX0RFU0NFTkRJTkdcIlxuICAgICAgICAgID48L2tpdC1zdmctaWNvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlIGxldC1jb2x1bW4+XG4gIEBpZiAoY29sdW1ucygpKSB7XG4gICAgQGlmIChmb290ZXJUaXRsZSAmJiBjb2x1bW4gPT09IGNvbHVtbnMoKVswXSkge1xuICAgICAge3sgZm9vdGVyVGl0bGUgfX1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAge3sgZm9vdGVyRGF0YT8uW2NvbHVtbi5maWVsZF0gfHwgJycgfX1cbiAgICB9XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|