@zhannam85/ui-kit 0.1.0 → 0.1.3
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Output, Input, Component, NgModule, HostBinding
|
|
2
|
+
import { EventEmitter, Output, Input, Component, NgModule, HostBinding } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
@@ -124,10 +124,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
|
|
|
124
124
|
}]
|
|
125
125
|
}] });
|
|
126
126
|
|
|
127
|
+
/* eslint-disable @angular-eslint/prefer-inject */
|
|
127
128
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
128
129
|
class DropdownComponent {
|
|
130
|
+
elementRef;
|
|
129
131
|
_options = [];
|
|
130
132
|
_selectedValue = null;
|
|
133
|
+
onDocumentClick = (event) => {
|
|
134
|
+
const target = event.target;
|
|
135
|
+
if (!this.elementRef.nativeElement.contains(target)) {
|
|
136
|
+
this.isOpen = false;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
131
139
|
set options(value) {
|
|
132
140
|
this._options = value ?? [];
|
|
133
141
|
this.updateSelectedOption();
|
|
@@ -147,8 +155,15 @@ class DropdownComponent {
|
|
|
147
155
|
selectionChange = new EventEmitter();
|
|
148
156
|
isOpen = false;
|
|
149
157
|
selectedOption = null;
|
|
158
|
+
constructor(elementRef) {
|
|
159
|
+
this.elementRef = elementRef;
|
|
160
|
+
}
|
|
150
161
|
ngOnInit() {
|
|
151
162
|
this.updateSelectedOption();
|
|
163
|
+
document.addEventListener('click', this.onDocumentClick);
|
|
164
|
+
}
|
|
165
|
+
ngOnDestroy() {
|
|
166
|
+
document.removeEventListener('click', this.onDocumentClick);
|
|
152
167
|
}
|
|
153
168
|
updateSelectedOption() {
|
|
154
169
|
if (this._selectedValue !== null && this._selectedValue !== undefined) {
|
|
@@ -183,19 +198,13 @@ class DropdownComponent {
|
|
|
183
198
|
this.selectionChange.emit(option.value);
|
|
184
199
|
}
|
|
185
200
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (!target.closest('.lib-dropdown')) {
|
|
189
|
-
this.isOpen = false;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
193
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: DropdownComponent, isStandalone: false, selector: "kit-dropdown", inputs: { options: "options", placeholder: "placeholder", selectedValue: "selectedValue", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, ngImport: i0, template: "<div class=\"lib-dropdown\" [class.lib-dropdown--disabled]=\"disabled\">\r\n <div\r\n class=\"lib-dropdown__trigger\"\r\n [class.lib-dropdown__trigger--open]=\"isOpen\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onTriggerKeydown($event)\">\r\n <span class=\"lib-dropdown__value\">\r\n {{ selectedOption ? selectedOption.label : placeholder }}\r\n </span>\r\n <kit-icon-chevron-down\r\n class=\"lib-dropdown__arrow\"\r\n [class.lib-dropdown__arrow--open]=\"isOpen\"\r\n [size]=\"12\">\r\n </kit-icon-chevron-down>\r\n </div>\r\n <div class=\"lib-dropdown__menu\" *ngIf=\"isOpen && !disabled\">\r\n <div\r\n *ngFor=\"let option of options\"\r\n class=\"lib-dropdown__option\"\r\n [class.lib-dropdown__option--selected]=\"selectedOption?.value === option.value\"\r\n role=\"option\"\r\n [attr.aria-selected]=\"selectedOption?.value === option.value\"\r\n tabindex=\"0\"\r\n (click)=\"selectOption(option)\"\r\n (keydown)=\"onOptionKeydown($event, option)\">\r\n {{ option.label }}\r\n </div>\r\n <div *ngIf=\"options.length === 0\" class=\"lib-dropdown__option lib-dropdown__option--empty\">\r\n No options available\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".lib-dropdown{position:relative;display:inline-block;width:100%;min-width:200px}.lib-dropdown--disabled{opacity:.6;pointer-events:none}.lib-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;min-height:40px;-webkit-user-select:none;user-select:none}.lib-dropdown__trigger:hover:not(.lib-dropdown__trigger--disabled){border-color:#4a90e2}.lib-dropdown__trigger:focus-within{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.lib-dropdown__trigger--open{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.lib-dropdown__value{flex:1;text-align:left;color:#333;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-dropdown__arrow{flex-shrink:0;margin-left:12px;color:#666;transition:transform .2s ease-in-out}.lib-dropdown__arrow--open{transform:rotate(180deg)}.lib-dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:300px;overflow-y:auto;animation:dropdownFadeIn .2s ease-out}.lib-dropdown__option{padding:12px 16px;cursor:pointer;transition:background-color .15s ease-in-out;color:#333;font-size:16px;border-bottom:1px solid #f0f0f0}.lib-dropdown__option:last-child{border-bottom:none}.lib-dropdown__option:hover{background-color:#f5f5f5}.lib-dropdown__option--selected{background-color:#e8f4fd;color:#4a90e2;font-weight:500}.lib-dropdown__option--empty{color:#999;cursor:default;font-style:italic}.lib-dropdown__option--empty:hover{background-color:#fff}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}\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: IconChevronDownComponent, selector: "kit-icon-chevron-down" }] });
|
|
201
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DropdownComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: DropdownComponent, isStandalone: false, selector: "kit-dropdown", inputs: { options: "options", placeholder: "placeholder", selectedValue: "selectedValue", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, ngImport: i0, template: "<div class=\"lib-dropdown\" [class.lib-dropdown--disabled]=\"disabled\">\r\n <div\r\n class=\"lib-dropdown__trigger\"\r\n [class.lib-dropdown__trigger--open]=\"isOpen\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onTriggerKeydown($event)\">\r\n <span class=\"lib-dropdown__value\">\r\n {{ selectedOption ? selectedOption.label : placeholder }}\r\n </span>\r\n <kit-icon-chevron-down\r\n class=\"lib-dropdown__arrow\"\r\n [class.lib-dropdown__arrow--open]=\"isOpen\"\r\n [size]=\"12\">\r\n </kit-icon-chevron-down>\r\n </div>\r\n <div class=\"lib-dropdown__menu\" *ngIf=\"isOpen && !disabled\">\r\n <div\r\n *ngFor=\"let option of options\"\r\n class=\"lib-dropdown__option\"\r\n [class.lib-dropdown__option--selected]=\"selectedOption?.value === option.value\"\r\n role=\"option\"\r\n [attr.aria-selected]=\"selectedOption?.value === option.value\"\r\n tabindex=\"0\"\r\n (click)=\"selectOption(option)\"\r\n (keydown)=\"onOptionKeydown($event, option)\">\r\n {{ option.label }}\r\n </div>\r\n <div *ngIf=\"options.length === 0\" class=\"lib-dropdown__option lib-dropdown__option--empty\">\r\n No options available\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".lib-dropdown{position:relative;display:inline-block;width:100%;min-width:200px}.lib-dropdown--disabled{opacity:.6;pointer-events:none}.lib-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;min-height:40px;-webkit-user-select:none;user-select:none}.lib-dropdown__trigger:hover:not(.lib-dropdown__trigger--disabled){border-color:#4a90e2}.lib-dropdown__trigger:focus-within{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.lib-dropdown__trigger--open{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.lib-dropdown__value{flex:1;text-align:left;color:#333;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-dropdown__arrow{flex-shrink:0;margin-left:12px;color:#666;transition:transform .2s ease-in-out}.lib-dropdown__arrow--open{transform:rotate(180deg)}.lib-dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:300px;overflow-y:auto;animation:dropdownFadeIn .2s ease-out}.lib-dropdown__option{padding:12px 16px;cursor:pointer;transition:background-color .15s ease-in-out;color:#333;font-size:16px;border-bottom:1px solid #f0f0f0}.lib-dropdown__option:last-child{border-bottom:none}.lib-dropdown__option:hover{background-color:#f5f5f5}.lib-dropdown__option--selected{background-color:#e8f4fd;color:#4a90e2;font-weight:500}.lib-dropdown__option--empty{color:#999;cursor:default;font-style:italic}.lib-dropdown__option--empty:hover{background-color:#fff}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}\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: IconChevronDownComponent, selector: "kit-icon-chevron-down" }] });
|
|
194
203
|
}
|
|
195
204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
196
205
|
type: Component,
|
|
197
206
|
args: [{ selector: 'kit-dropdown', standalone: false, template: "<div class=\"lib-dropdown\" [class.lib-dropdown--disabled]=\"disabled\">\r\n <div\r\n class=\"lib-dropdown__trigger\"\r\n [class.lib-dropdown__trigger--open]=\"isOpen\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onTriggerKeydown($event)\">\r\n <span class=\"lib-dropdown__value\">\r\n {{ selectedOption ? selectedOption.label : placeholder }}\r\n </span>\r\n <kit-icon-chevron-down\r\n class=\"lib-dropdown__arrow\"\r\n [class.lib-dropdown__arrow--open]=\"isOpen\"\r\n [size]=\"12\">\r\n </kit-icon-chevron-down>\r\n </div>\r\n <div class=\"lib-dropdown__menu\" *ngIf=\"isOpen && !disabled\">\r\n <div\r\n *ngFor=\"let option of options\"\r\n class=\"lib-dropdown__option\"\r\n [class.lib-dropdown__option--selected]=\"selectedOption?.value === option.value\"\r\n role=\"option\"\r\n [attr.aria-selected]=\"selectedOption?.value === option.value\"\r\n tabindex=\"0\"\r\n (click)=\"selectOption(option)\"\r\n (keydown)=\"onOptionKeydown($event, option)\">\r\n {{ option.label }}\r\n </div>\r\n <div *ngIf=\"options.length === 0\" class=\"lib-dropdown__option lib-dropdown__option--empty\">\r\n No options available\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".lib-dropdown{position:relative;display:inline-block;width:100%;min-width:200px}.lib-dropdown--disabled{opacity:.6;pointer-events:none}.lib-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;min-height:40px;-webkit-user-select:none;user-select:none}.lib-dropdown__trigger:hover:not(.lib-dropdown__trigger--disabled){border-color:#4a90e2}.lib-dropdown__trigger:focus-within{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.lib-dropdown__trigger--open{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.lib-dropdown__value{flex:1;text-align:left;color:#333;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-dropdown__arrow{flex-shrink:0;margin-left:12px;color:#666;transition:transform .2s ease-in-out}.lib-dropdown__arrow--open{transform:rotate(180deg)}.lib-dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:300px;overflow-y:auto;animation:dropdownFadeIn .2s ease-out}.lib-dropdown__option{padding:12px 16px;cursor:pointer;transition:background-color .15s ease-in-out;color:#333;font-size:16px;border-bottom:1px solid #f0f0f0}.lib-dropdown__option:last-child{border-bottom:none}.lib-dropdown__option:hover{background-color:#f5f5f5}.lib-dropdown__option--selected{background-color:#e8f4fd;color:#4a90e2;font-weight:500}.lib-dropdown__option--empty{color:#999;cursor:default;font-style:italic}.lib-dropdown__option--empty:hover{background-color:#fff}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}\n"] }]
|
|
198
|
-
}], propDecorators: { options: [{
|
|
207
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { options: [{
|
|
199
208
|
type: Input
|
|
200
209
|
}], placeholder: [{
|
|
201
210
|
type: Input
|
|
@@ -205,9 +214,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
|
|
|
205
214
|
type: Input
|
|
206
215
|
}], selectionChange: [{
|
|
207
216
|
type: Output
|
|
208
|
-
}], onClickOutside: [{
|
|
209
|
-
type: HostListener,
|
|
210
|
-
args: ['document:click', ['$event']]
|
|
211
217
|
}] } });
|
|
212
218
|
|
|
213
219
|
class IconCopyComponent extends BaseIconComponent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zhannam85-ui-kit.mjs","sources":["../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.module.ts","../../../src/components/icon/base-icon.component.ts","../../../src/components/icon/icon-chevron-down.component.ts","../../../src/components/dropdown/dropdown.component.ts","../../../src/components/dropdown/dropdown.component.html","../../../src/components/icon/icon-copy.component.ts","../../../src/components/icon/icon-check.component.ts","../../../src/components/icon/icon.module.ts","../../../src/components/dropdown/dropdown.module.ts","../../../src/components/checkbox/checkbox.component.ts","../../../src/components/checkbox/checkbox.component.html","../../../src/components/checkbox/checkbox.module.ts","../../../src/public-api.ts","../../../src/zhannam85-ui-kit.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kit-button',\r\n standalone: false,\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss']\r\n})\r\nexport class ButtonComponent {\r\n @Input() public label = '';\r\n\r\n @Input() public variant: 'primary' | 'secondary' | 'danger' = 'primary';\r\n\r\n @Input() public disabled = false;\r\n\r\n @Input() public type: 'button' | 'submit' | 'reset' = 'button';\r\n\r\n @Input() public size: 'small' | 'medium' | 'large' = 'medium';\r\n\r\n @Output() public buttonClicked = new EventEmitter<MouseEvent>();\r\n\r\n public onClick(event: MouseEvent): void {\r\n if (!this.disabled) {\r\n this.buttonClicked.emit(event);\r\n }\r\n }\r\n}\r\n","<button\r\n [type]=\"type\"\r\n [disabled]=\"disabled\"\r\n [class]=\"'lib-button lib-button--' + variant + ' lib-button--' + size\"\r\n (click)=\"onClick($event)\">\r\n {{ label }}\r\n</button>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ButtonComponent } from './button.component';\r\n\r\n@NgModule({\r\n declarations: [ButtonComponent],\r\n imports: [CommonModule],\r\n exports: [ButtonComponent],\r\n})\r\nexport class ButtonModule {}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseIconComponent {\r\n @Input() public size = 24;\r\n\r\n @Input() public color = 'currentColor';\r\n\r\n @HostBinding('style.width.px')\r\n public get hostWidth(): number {\r\n return this.size;\r\n }\r\n\r\n @HostBinding('style.height.px')\r\n public get hostHeight(): number {\r\n return this.size;\r\n }\r\n\r\n @HostBinding('style.display')\r\n public readonly display = 'inline-flex';\r\n\r\n @HostBinding('style.color')\r\n public get hostColor(): string {\r\n return this.color;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BaseIconComponent } from './base-icon.component';\r\n\r\n@Component({\r\n selector: 'kit-icon-chevron-down',\r\n standalone: false,\r\n template: `\r\n <svg\r\n [attr.width]=\"size\"\r\n [attr.height]=\"size\"\r\n viewBox=\"0 0 12 12\"\r\n fill=\"none\"\r\n [attr.stroke]=\"color\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\">\r\n <path d=\"M3 4.5L6 7.5L9 4.5\"/>\r\n </svg>\r\n `,\r\n})\r\nexport class IconChevronDownComponent extends BaseIconComponent {\r\n override size = 12;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Component, EventEmitter, HostListener, Input, Output, OnInit } from '@angular/core';\r\n\r\nexport interface DropdownOption {\r\n label: string;\r\n value: any;\r\n}\r\n\r\n@Component({\r\n selector: 'kit-dropdown',\r\n standalone: false,\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss']\r\n})\r\nexport class DropdownComponent implements OnInit {\r\n private _options: DropdownOption[] = [];\r\n private _selectedValue: any = null;\r\n\r\n @Input() public set options(value: DropdownOption[]) {\r\n this._options = value ?? [];\r\n this.updateSelectedOption();\r\n }\r\n\r\n public get options(): DropdownOption[] {\r\n return this._options;\r\n }\r\n\r\n @Input() public placeholder = 'Select an option';\r\n\r\n @Input() public set selectedValue(value: any) {\r\n this._selectedValue = value;\r\n this.updateSelectedOption();\r\n }\r\n\r\n public get selectedValue(): any {\r\n return this._selectedValue;\r\n }\r\n\r\n @Input() public disabled = false;\r\n\r\n @Output() public selectionChange = new EventEmitter<any>();\r\n\r\n public isOpen = false;\r\n\r\n public selectedOption: DropdownOption | null = null;\r\n\r\n public ngOnInit(): void {\r\n this.updateSelectedOption();\r\n }\r\n\r\n private updateSelectedOption(): void {\r\n if (this._selectedValue !== null && this._selectedValue !== undefined) {\r\n this.selectedOption = this._options.find(opt => opt.value === this._selectedValue) || null;\r\n } else {\r\n this.selectedOption = null;\r\n }\r\n }\r\n\r\n public toggleDropdown(): void {\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n public onTriggerKeydown(event: KeyboardEvent): void {\r\n if (event.key === 'Enter' || event.key === ' ') {\r\n event.preventDefault();\r\n this.toggleDropdown();\r\n }\r\n }\r\n\r\n public onOptionKeydown(event: KeyboardEvent, option: DropdownOption): void {\r\n if (event.key === 'Enter' || event.key === ' ') {\r\n event.preventDefault();\r\n this.selectOption(option);\r\n }\r\n }\r\n\r\n public selectOption(option: DropdownOption): void {\r\n if (!this.disabled) {\r\n this.selectedOption = option;\r\n this._selectedValue = option.value;\r\n this.isOpen = false;\r\n this.selectionChange.emit(option.value);\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n public onClickOutside(event: Event): void {\r\n const target = event.target as HTMLElement;\r\n if (!target.closest('.lib-dropdown')) {\r\n this.isOpen = false;\r\n }\r\n }\r\n}\r\n","<div class=\"lib-dropdown\" [class.lib-dropdown--disabled]=\"disabled\">\r\n <div\r\n class=\"lib-dropdown__trigger\"\r\n [class.lib-dropdown__trigger--open]=\"isOpen\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onTriggerKeydown($event)\">\r\n <span class=\"lib-dropdown__value\">\r\n {{ selectedOption ? selectedOption.label : placeholder }}\r\n </span>\r\n <kit-icon-chevron-down\r\n class=\"lib-dropdown__arrow\"\r\n [class.lib-dropdown__arrow--open]=\"isOpen\"\r\n [size]=\"12\">\r\n </kit-icon-chevron-down>\r\n </div>\r\n <div class=\"lib-dropdown__menu\" *ngIf=\"isOpen && !disabled\">\r\n <div\r\n *ngFor=\"let option of options\"\r\n class=\"lib-dropdown__option\"\r\n [class.lib-dropdown__option--selected]=\"selectedOption?.value === option.value\"\r\n role=\"option\"\r\n [attr.aria-selected]=\"selectedOption?.value === option.value\"\r\n tabindex=\"0\"\r\n (click)=\"selectOption(option)\"\r\n (keydown)=\"onOptionKeydown($event, option)\">\r\n {{ option.label }}\r\n </div>\r\n <div *ngIf=\"options.length === 0\" class=\"lib-dropdown__option lib-dropdown__option--empty\">\r\n No options available\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { BaseIconComponent } from './base-icon.component';\r\n\r\n@Component({\r\n selector: 'kit-icon-copy',\r\n standalone: false,\r\n template: `\r\n <svg\r\n [attr.width]=\"size\"\r\n [attr.height]=\"size\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n [attr.stroke]=\"color\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\">\r\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"/>\r\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/>\r\n </svg>\r\n `,\r\n})\r\nexport class IconCopyComponent extends BaseIconComponent {\r\n override size = 16;\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BaseIconComponent } from './base-icon.component';\r\n\r\n@Component({\r\n selector: 'kit-icon-check',\r\n standalone: false,\r\n template: `\r\n <svg\r\n [attr.width]=\"size\"\r\n [attr.height]=\"size\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n [attr.stroke]=\"color\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\">\r\n <path d=\"M20 6L9 17l-5-5\"/>\r\n </svg>\r\n `,\r\n})\r\nexport class IconCheckComponent extends BaseIconComponent {\r\n override size = 16;\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { IconCopyComponent } from './icon-copy.component';\r\nimport { IconCheckComponent } from './icon-check.component';\r\nimport { IconChevronDownComponent } from './icon-chevron-down.component';\r\n\r\nconst ICON_COMPONENTS = [\r\n IconCopyComponent,\r\n IconCheckComponent,\r\n IconChevronDownComponent,\r\n];\r\n\r\n@NgModule({\r\n declarations: ICON_COMPONENTS,\r\n exports: ICON_COMPONENTS,\r\n})\r\nexport class IconModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { DropdownComponent } from './dropdown.component';\r\nimport { IconModule } from '../icon/icon.module';\r\n\r\n@NgModule({\r\n declarations: [DropdownComponent],\r\n imports: [CommonModule, IconModule],\r\n exports: [DropdownComponent],\r\n})\r\nexport class DropdownModule {}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kit-checkbox',\r\n standalone: false,\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss']\r\n})\r\nexport class CheckboxComponent {\r\n @Input() public label = '';\r\n\r\n @Input() public checked = false;\r\n\r\n @Input() public disabled = false;\r\n\r\n @Input() public indeterminate = false;\r\n\r\n @Output() public checkedChange = new EventEmitter<boolean>();\r\n\r\n /** Stable id for the input (generated once per component instance to avoid NG0100). */\r\n public readonly checkboxId = `kit-checkbox-${Math.random().toString(36).substring(2, 11)}`;\r\n\r\n public onCheckboxChange(event: Event): void {\r\n if (!this.disabled) {\r\n const target = event.target as HTMLInputElement;\r\n this.checked = target.checked;\r\n this.indeterminate = false; // Clear indeterminate state when user interacts\r\n this.checkedChange.emit(this.checked);\r\n }\r\n }\r\n}\r\n","<label\r\n class=\"lib-checkbox\"\r\n [class.lib-checkbox--disabled]=\"disabled\"\r\n [attr.for]=\"checkboxId\">\r\n <input\r\n type=\"checkbox\"\r\n [id]=\"checkboxId\"\r\n class=\"lib-checkbox__input\"\r\n [checked]=\"checked\"\r\n [indeterminate]=\"indeterminate\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onCheckboxChange($event)\">\r\n <span class=\"lib-checkbox__checkmark\"></span>\r\n <span class=\"lib-checkbox__label\" *ngIf=\"label\">{{ label }}</span>\r\n</label>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CheckboxComponent } from './checkbox.component';\r\n\r\n@NgModule({\r\n declarations: [CheckboxComponent],\r\n imports: [CommonModule],\r\n exports: [CheckboxComponent],\r\n})\r\nexport class CheckboxModule {}\r\n","/*\r\n * Public API Surface of ui-kit\r\n */\r\n\r\nexport * from './components/button/button.component';\r\nexport * from './components/button/button.module';\r\nexport * from './components/dropdown/dropdown.component';\r\nexport * from './components/dropdown/dropdown.module';\r\nexport * from './components/checkbox/checkbox.component';\r\nexport * from './components/checkbox/checkbox.module';\r\nexport * from './components/icon/base-icon.component';\r\nexport * from './components/icon/icon-copy.component';\r\nexport * from './components/icon/icon-check.component';\r\nexport * from './components/icon/icon-chevron-down.component';\r\nexport * from './components/icon/icon.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.IconChevronDownComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zhannam85-ui-kit.mjs","sources":["../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.module.ts","../../../src/components/icon/base-icon.component.ts","../../../src/components/icon/icon-chevron-down.component.ts","../../../src/components/dropdown/dropdown.component.ts","../../../src/components/dropdown/dropdown.component.html","../../../src/components/icon/icon-copy.component.ts","../../../src/components/icon/icon-check.component.ts","../../../src/components/icon/icon.module.ts","../../../src/components/dropdown/dropdown.module.ts","../../../src/components/checkbox/checkbox.component.ts","../../../src/components/checkbox/checkbox.component.html","../../../src/components/checkbox/checkbox.module.ts","../../../src/public-api.ts","../../../src/zhannam85-ui-kit.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kit-button',\r\n standalone: false,\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss']\r\n})\r\nexport class ButtonComponent {\r\n @Input() public label = '';\r\n\r\n @Input() public variant: 'primary' | 'secondary' | 'danger' = 'primary';\r\n\r\n @Input() public disabled = false;\r\n\r\n @Input() public type: 'button' | 'submit' | 'reset' = 'button';\r\n\r\n @Input() public size: 'small' | 'medium' | 'large' = 'medium';\r\n\r\n @Output() public buttonClicked = new EventEmitter<MouseEvent>();\r\n\r\n public onClick(event: MouseEvent): void {\r\n if (!this.disabled) {\r\n this.buttonClicked.emit(event);\r\n }\r\n }\r\n}\r\n","<button\r\n [type]=\"type\"\r\n [disabled]=\"disabled\"\r\n [class]=\"'lib-button lib-button--' + variant + ' lib-button--' + size\"\r\n (click)=\"onClick($event)\">\r\n {{ label }}\r\n</button>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ButtonComponent } from './button.component';\r\n\r\n@NgModule({\r\n declarations: [ButtonComponent],\r\n imports: [CommonModule],\r\n exports: [ButtonComponent],\r\n})\r\nexport class ButtonModule {}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseIconComponent {\r\n @Input() public size = 24;\r\n\r\n @Input() public color = 'currentColor';\r\n\r\n @HostBinding('style.width.px')\r\n public get hostWidth(): number {\r\n return this.size;\r\n }\r\n\r\n @HostBinding('style.height.px')\r\n public get hostHeight(): number {\r\n return this.size;\r\n }\r\n\r\n @HostBinding('style.display')\r\n public readonly display = 'inline-flex';\r\n\r\n @HostBinding('style.color')\r\n public get hostColor(): string {\r\n return this.color;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BaseIconComponent } from './base-icon.component';\r\n\r\n@Component({\r\n selector: 'kit-icon-chevron-down',\r\n standalone: false,\r\n template: `\r\n <svg\r\n [attr.width]=\"size\"\r\n [attr.height]=\"size\"\r\n viewBox=\"0 0 12 12\"\r\n fill=\"none\"\r\n [attr.stroke]=\"color\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\">\r\n <path d=\"M3 4.5L6 7.5L9 4.5\"/>\r\n </svg>\r\n `,\r\n})\r\nexport class IconChevronDownComponent extends BaseIconComponent {\r\n override size = 12;\r\n}\r\n","/* eslint-disable @angular-eslint/prefer-inject */\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Component, ElementRef, EventEmitter, Input, OnDestroy, Output, OnInit } from '@angular/core';\r\n\r\nexport interface DropdownOption {\r\n label: string;\r\n value: any;\r\n}\r\n\r\n@Component({\r\n selector: 'kit-dropdown',\r\n standalone: false,\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss']\r\n})\r\nexport class DropdownComponent implements OnInit, OnDestroy {\r\n private _options: DropdownOption[] = [];\r\n\r\n private _selectedValue: any = null;\r\n\r\n private onDocumentClick = (event: Event): void => {\r\n const target = event.target as HTMLElement;\r\n if (!this.elementRef.nativeElement.contains(target)) {\r\n this.isOpen = false;\r\n }\r\n };\r\n\r\n @Input() public set options(value: DropdownOption[]) {\r\n this._options = value ?? [];\r\n this.updateSelectedOption();\r\n }\r\n\r\n public get options(): DropdownOption[] {\r\n return this._options;\r\n }\r\n\r\n @Input() public placeholder = 'Select an option';\r\n\r\n @Input() public set selectedValue(value: any) {\r\n this._selectedValue = value;\r\n this.updateSelectedOption();\r\n }\r\n\r\n public get selectedValue(): any {\r\n return this._selectedValue;\r\n }\r\n\r\n @Input() public disabled = false;\r\n\r\n @Output() public selectionChange = new EventEmitter<any>();\r\n\r\n public isOpen = false;\r\n\r\n public selectedOption: DropdownOption | null = null;\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n public ngOnInit(): void {\r\n this.updateSelectedOption();\r\n document.addEventListener('click', this.onDocumentClick);\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n document.removeEventListener('click', this.onDocumentClick);\r\n }\r\n\r\n private updateSelectedOption(): void {\r\n if (this._selectedValue !== null && this._selectedValue !== undefined) {\r\n this.selectedOption = this._options.find(opt => opt.value === this._selectedValue) || null;\r\n } else {\r\n this.selectedOption = null;\r\n }\r\n }\r\n\r\n public toggleDropdown(): void {\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n public onTriggerKeydown(event: KeyboardEvent): void {\r\n if (event.key === 'Enter' || event.key === ' ') {\r\n event.preventDefault();\r\n this.toggleDropdown();\r\n }\r\n }\r\n\r\n public onOptionKeydown(event: KeyboardEvent, option: DropdownOption): void {\r\n if (event.key === 'Enter' || event.key === ' ') {\r\n event.preventDefault();\r\n this.selectOption(option);\r\n }\r\n }\r\n\r\n public selectOption(option: DropdownOption): void {\r\n if (!this.disabled) {\r\n this.selectedOption = option;\r\n this._selectedValue = option.value;\r\n this.isOpen = false;\r\n this.selectionChange.emit(option.value);\r\n }\r\n }\r\n}\r\n","<div class=\"lib-dropdown\" [class.lib-dropdown--disabled]=\"disabled\">\r\n <div\r\n class=\"lib-dropdown__trigger\"\r\n [class.lib-dropdown__trigger--open]=\"isOpen\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onTriggerKeydown($event)\">\r\n <span class=\"lib-dropdown__value\">\r\n {{ selectedOption ? selectedOption.label : placeholder }}\r\n </span>\r\n <kit-icon-chevron-down\r\n class=\"lib-dropdown__arrow\"\r\n [class.lib-dropdown__arrow--open]=\"isOpen\"\r\n [size]=\"12\">\r\n </kit-icon-chevron-down>\r\n </div>\r\n <div class=\"lib-dropdown__menu\" *ngIf=\"isOpen && !disabled\">\r\n <div\r\n *ngFor=\"let option of options\"\r\n class=\"lib-dropdown__option\"\r\n [class.lib-dropdown__option--selected]=\"selectedOption?.value === option.value\"\r\n role=\"option\"\r\n [attr.aria-selected]=\"selectedOption?.value === option.value\"\r\n tabindex=\"0\"\r\n (click)=\"selectOption(option)\"\r\n (keydown)=\"onOptionKeydown($event, option)\">\r\n {{ option.label }}\r\n </div>\r\n <div *ngIf=\"options.length === 0\" class=\"lib-dropdown__option lib-dropdown__option--empty\">\r\n No options available\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { BaseIconComponent } from './base-icon.component';\r\n\r\n@Component({\r\n selector: 'kit-icon-copy',\r\n standalone: false,\r\n template: `\r\n <svg\r\n [attr.width]=\"size\"\r\n [attr.height]=\"size\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n [attr.stroke]=\"color\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\">\r\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"/>\r\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/>\r\n </svg>\r\n `,\r\n})\r\nexport class IconCopyComponent extends BaseIconComponent {\r\n override size = 16;\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BaseIconComponent } from './base-icon.component';\r\n\r\n@Component({\r\n selector: 'kit-icon-check',\r\n standalone: false,\r\n template: `\r\n <svg\r\n [attr.width]=\"size\"\r\n [attr.height]=\"size\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n [attr.stroke]=\"color\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\">\r\n <path d=\"M20 6L9 17l-5-5\"/>\r\n </svg>\r\n `,\r\n})\r\nexport class IconCheckComponent extends BaseIconComponent {\r\n override size = 16;\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { IconCopyComponent } from './icon-copy.component';\r\nimport { IconCheckComponent } from './icon-check.component';\r\nimport { IconChevronDownComponent } from './icon-chevron-down.component';\r\n\r\nconst ICON_COMPONENTS = [\r\n IconCopyComponent,\r\n IconCheckComponent,\r\n IconChevronDownComponent,\r\n];\r\n\r\n@NgModule({\r\n declarations: ICON_COMPONENTS,\r\n exports: ICON_COMPONENTS,\r\n})\r\nexport class IconModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { DropdownComponent } from './dropdown.component';\r\nimport { IconModule } from '../icon/icon.module';\r\n\r\n@NgModule({\r\n declarations: [DropdownComponent],\r\n imports: [CommonModule, IconModule],\r\n exports: [DropdownComponent],\r\n})\r\nexport class DropdownModule {}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kit-checkbox',\r\n standalone: false,\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss']\r\n})\r\nexport class CheckboxComponent {\r\n @Input() public label = '';\r\n\r\n @Input() public checked = false;\r\n\r\n @Input() public disabled = false;\r\n\r\n @Input() public indeterminate = false;\r\n\r\n @Output() public checkedChange = new EventEmitter<boolean>();\r\n\r\n /** Stable id for the input (generated once per component instance to avoid NG0100). */\r\n public readonly checkboxId = `kit-checkbox-${Math.random().toString(36).substring(2, 11)}`;\r\n\r\n public onCheckboxChange(event: Event): void {\r\n if (!this.disabled) {\r\n const target = event.target as HTMLInputElement;\r\n this.checked = target.checked;\r\n this.indeterminate = false; // Clear indeterminate state when user interacts\r\n this.checkedChange.emit(this.checked);\r\n }\r\n }\r\n}\r\n","<label\r\n class=\"lib-checkbox\"\r\n [class.lib-checkbox--disabled]=\"disabled\"\r\n [attr.for]=\"checkboxId\">\r\n <input\r\n type=\"checkbox\"\r\n [id]=\"checkboxId\"\r\n class=\"lib-checkbox__input\"\r\n [checked]=\"checked\"\r\n [indeterminate]=\"indeterminate\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onCheckboxChange($event)\">\r\n <span class=\"lib-checkbox__checkmark\"></span>\r\n <span class=\"lib-checkbox__label\" *ngIf=\"label\">{{ label }}</span>\r\n</label>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CheckboxComponent } from './checkbox.component';\r\n\r\n@NgModule({\r\n declarations: [CheckboxComponent],\r\n imports: [CommonModule],\r\n exports: [CheckboxComponent],\r\n})\r\nexport class CheckboxModule {}\r\n","/*\r\n * Public API Surface of ui-kit\r\n */\r\n\r\nexport * from './components/button/button.component';\r\nexport * from './components/button/button.module';\r\nexport * from './components/dropdown/dropdown.component';\r\nexport * from './components/dropdown/dropdown.module';\r\nexport * from './components/checkbox/checkbox.component';\r\nexport * from './components/checkbox/checkbox.module';\r\nexport * from './components/icon/base-icon.component';\r\nexport * from './components/icon/icon-copy.component';\r\nexport * from './components/icon/icon-check.component';\r\nexport * from './components/icon/icon-chevron-down.component';\r\nexport * from './components/icon/icon.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.IconChevronDownComponent"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { EventEmitter, OnInit, OnDestroy, ElementRef } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/common';
|
|
4
4
|
|
|
5
5
|
declare class ButtonComponent {
|
|
@@ -24,9 +24,11 @@ interface DropdownOption {
|
|
|
24
24
|
label: string;
|
|
25
25
|
value: any;
|
|
26
26
|
}
|
|
27
|
-
declare class DropdownComponent implements OnInit {
|
|
27
|
+
declare class DropdownComponent implements OnInit, OnDestroy {
|
|
28
|
+
private elementRef;
|
|
28
29
|
private _options;
|
|
29
30
|
private _selectedValue;
|
|
31
|
+
private onDocumentClick;
|
|
30
32
|
set options(value: DropdownOption[]);
|
|
31
33
|
get options(): DropdownOption[];
|
|
32
34
|
placeholder: string;
|
|
@@ -36,13 +38,14 @@ declare class DropdownComponent implements OnInit {
|
|
|
36
38
|
selectionChange: EventEmitter<any>;
|
|
37
39
|
isOpen: boolean;
|
|
38
40
|
selectedOption: DropdownOption | null;
|
|
41
|
+
constructor(elementRef: ElementRef);
|
|
39
42
|
ngOnInit(): void;
|
|
43
|
+
ngOnDestroy(): void;
|
|
40
44
|
private updateSelectedOption;
|
|
41
45
|
toggleDropdown(): void;
|
|
42
46
|
onTriggerKeydown(event: KeyboardEvent): void;
|
|
43
47
|
onOptionKeydown(event: KeyboardEvent, option: DropdownOption): void;
|
|
44
48
|
selectOption(option: DropdownOption): void;
|
|
45
|
-
onClickOutside(event: Event): void;
|
|
46
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
|
|
47
50
|
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "kit-dropdown", never, { "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
|
|
48
51
|
}
|