@koalarx/ui 21.1.3 → 21.1.5
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.
|
@@ -36,11 +36,11 @@ class Dropdown {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: Dropdown, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: Dropdown, isStandalone: true, selector: "kl-dropdown", viewQueries: [{ propertyName: "dropdownTriggerElement", first: true, predicate: ["dropdownTrigger"], descendants: true, isSignal: true }, { propertyName: "dropdownContentElement", first: true, predicate: ["dropdownContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<
|
|
39
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: Dropdown, isStandalone: true, selector: "kl-dropdown", viewQueries: [{ propertyName: "dropdownTriggerElement", first: true, predicate: ["dropdownTrigger"], descendants: true, isSignal: true }, { propertyName: "dropdownContentElement", first: true, predicate: ["dropdownContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<button #dropdownTrigger\n type=\"button\"\n class=\"p-0!\"\n tabindex=\"0\"\n role=\"button\"\n [attr.popovertarget]=\"id\"\n (click)=\"ajustPosition()\">\n <ng-content select=\"[trigger]\" />\n</button>\n\n<div #dropdownContent\n tabindex=\"0\"\n popover\n [id]=\"id\"\n class=\"dropdown bg-base-200 rounded-box mt-3 min-w-52 w-auto max-w-[30vw] max-h-[40vh] shadow-sm border-2 border-neutral-200 dark:border-neutral-800 rounded-md overflow-y-auto\">\n <ng-content select=\"[options]\" />\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
40
40
|
}
|
|
41
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: Dropdown, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
|
-
args: [{ selector: 'kl-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<
|
|
43
|
+
args: [{ selector: 'kl-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button #dropdownTrigger\n type=\"button\"\n class=\"p-0!\"\n tabindex=\"0\"\n role=\"button\"\n [attr.popovertarget]=\"id\"\n (click)=\"ajustPosition()\">\n <ng-content select=\"[trigger]\" />\n</button>\n\n<div #dropdownContent\n tabindex=\"0\"\n popover\n [id]=\"id\"\n class=\"dropdown bg-base-200 rounded-box mt-3 min-w-52 w-auto max-w-[30vw] max-h-[40vh] shadow-sm border-2 border-neutral-200 dark:border-neutral-800 rounded-md overflow-y-auto\">\n <ng-content select=\"[options]\" />\n</div>\n" }]
|
|
44
44
|
}], ctorParameters: () => [], propDecorators: { dropdownTriggerElement: [{ type: i0.ViewChild, args: ['dropdownTrigger', { isSignal: true }] }], dropdownContentElement: [{ type: i0.ViewChild, args: ['dropdownContent', { isSignal: true }] }] } });
|
|
45
45
|
|
|
46
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koalarx-ui-shared-components-dropdown.mjs","sources":["../../projects/koala-ui/shared/components/dropdown/dropdown.ts","../../projects/koala-ui/shared/components/dropdown/dropdown.html","../../projects/koala-ui/shared/components/dropdown/koalarx-ui-shared-components-dropdown.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n viewChild,\n} from '@angular/core';\nimport { KlString, randomString } from '@koalarx/utils/KlString';\n\n@Component({\n selector: 'kl-dropdown',\n templateUrl: './dropdown.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Dropdown {\n private readonly dropdownTriggerElement =\n viewChild<ElementRef<HTMLButtonElement>>('dropdownTrigger');\n private readonly dropdownContentElement =\n viewChild<ElementRef<HTMLDivElement>>('dropdownContent');\n\n id = randomString(10, { numbers: true, uppercase: false, lowercase: false });\n\n private readonly anchorName = new KlString('--anchor-').concat(this.id);\n\n constructor() {\n effect(() => {\n const triggerElement = this.dropdownTriggerElement()?.nativeElement;\n const contentElement = this.dropdownContentElement()?.nativeElement;\n\n if (triggerElement && contentElement) {\n triggerElement.style = `anchor-name: ${this.anchorName};`;\n contentElement.style = `position-anchor: ${this.anchorName};`;\n }\n });\n }\n\n ajustPosition() {\n const triggerElement = this.dropdownTriggerElement()?.nativeElement;\n const contentElement = this.dropdownContentElement()?.nativeElement;\n\n if (triggerElement && contentElement) {\n setTimeout(() => {\n const position = contentElement.getBoundingClientRect();\n const screenWidth = document.body.clientWidth;\n const screenHeight = document.body.clientHeight;\n\n if (position.right > screenWidth) {\n contentElement.classList.add('dropdown-left');\n contentElement.classList.add('dropdown-start');\n }\n\n if (position.bottom > screenHeight) {\n contentElement.classList.add('dropdown-top');\n }\n });\n }\n }\n}\n","<
|
|
1
|
+
{"version":3,"file":"koalarx-ui-shared-components-dropdown.mjs","sources":["../../projects/koala-ui/shared/components/dropdown/dropdown.ts","../../projects/koala-ui/shared/components/dropdown/dropdown.html","../../projects/koala-ui/shared/components/dropdown/koalarx-ui-shared-components-dropdown.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n viewChild,\n} from '@angular/core';\nimport { KlString, randomString } from '@koalarx/utils/KlString';\n\n@Component({\n selector: 'kl-dropdown',\n templateUrl: './dropdown.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Dropdown {\n private readonly dropdownTriggerElement =\n viewChild<ElementRef<HTMLButtonElement>>('dropdownTrigger');\n private readonly dropdownContentElement =\n viewChild<ElementRef<HTMLDivElement>>('dropdownContent');\n\n id = randomString(10, { numbers: true, uppercase: false, lowercase: false });\n\n private readonly anchorName = new KlString('--anchor-').concat(this.id);\n\n constructor() {\n effect(() => {\n const triggerElement = this.dropdownTriggerElement()?.nativeElement;\n const contentElement = this.dropdownContentElement()?.nativeElement;\n\n if (triggerElement && contentElement) {\n triggerElement.style = `anchor-name: ${this.anchorName};`;\n contentElement.style = `position-anchor: ${this.anchorName};`;\n }\n });\n }\n\n ajustPosition() {\n const triggerElement = this.dropdownTriggerElement()?.nativeElement;\n const contentElement = this.dropdownContentElement()?.nativeElement;\n\n if (triggerElement && contentElement) {\n setTimeout(() => {\n const position = contentElement.getBoundingClientRect();\n const screenWidth = document.body.clientWidth;\n const screenHeight = document.body.clientHeight;\n\n if (position.right > screenWidth) {\n contentElement.classList.add('dropdown-left');\n contentElement.classList.add('dropdown-start');\n }\n\n if (position.bottom > screenHeight) {\n contentElement.classList.add('dropdown-top');\n }\n });\n }\n }\n}\n","<button #dropdownTrigger\n type=\"button\"\n class=\"p-0!\"\n tabindex=\"0\"\n role=\"button\"\n [attr.popovertarget]=\"id\"\n (click)=\"ajustPosition()\">\n <ng-content select=\"[trigger]\" />\n</button>\n\n<div #dropdownContent\n tabindex=\"0\"\n popover\n [id]=\"id\"\n class=\"dropdown bg-base-200 rounded-box mt-3 min-w-52 w-auto max-w-[30vw] max-h-[40vh] shadow-sm border-2 border-neutral-200 dark:border-neutral-800 rounded-md overflow-y-auto\">\n <ng-content select=\"[options]\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAca,QAAQ,CAAA;AACF,IAAA,sBAAsB,GACrC,SAAS,CAAgC,iBAAiB,kEAAC;AAC5C,IAAA,sBAAsB,GACrC,SAAS,CAA6B,iBAAiB,kEAAC;AAE1D,IAAA,EAAE,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAE3D,IAAA,UAAU,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AAEvE,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;YACV,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,EAAE,aAAa;YACnE,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,EAAE,aAAa;AAEnE,YAAA,IAAI,cAAc,IAAI,cAAc,EAAE;gBACpC,cAAc,CAAC,KAAK,GAAG,CAAA,aAAA,EAAgB,IAAI,CAAC,UAAU,GAAG;gBACzD,cAAc,CAAC,KAAK,GAAG,CAAA,iBAAA,EAAoB,IAAI,CAAC,UAAU,GAAG;;AAEjE,SAAC,CAAC;;IAGJ,aAAa,GAAA;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,EAAE,aAAa;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,EAAE,aAAa;AAEnE,QAAA,IAAI,cAAc,IAAI,cAAc,EAAE;YACpC,UAAU,CAAC,MAAK;AACd,gBAAA,MAAM,QAAQ,GAAG,cAAc,CAAC,qBAAqB,EAAE;AACvD,gBAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW;AAC7C,gBAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY;AAE/C,gBAAA,IAAI,QAAQ,CAAC,KAAK,GAAG,WAAW,EAAE;AAChC,oBAAA,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AAC7C,oBAAA,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;;AAGhD,gBAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,YAAY,EAAE;AAClC,oBAAA,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;;AAEhD,aAAC,CAAC;;;uGAxCK,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,8UCdrB,kgBAiBA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDHa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBALpB,SAAS;+BACE,aAAa,EAAA,eAAA,EAEN,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kgBAAA,EAAA;AAIJ,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,iBAAiB,gFAEpB,iBAAiB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AElB3D;;AAEG;;;;"}
|
|
@@ -69,13 +69,15 @@ class InputCurrencyMask {
|
|
|
69
69
|
currencyValue = output();
|
|
70
70
|
maskCoin(value) {
|
|
71
71
|
let prefix = '$';
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
let thousandSeparator = ',';
|
|
73
|
+
let decimalSeparator = '.';
|
|
74
74
|
switch (this.appConfig.language) {
|
|
75
75
|
case 'en':
|
|
76
76
|
prefix = '$';
|
|
77
77
|
break;
|
|
78
78
|
case 'ptBr':
|
|
79
|
+
thousandSeparator = '.';
|
|
80
|
+
decimalSeparator = ',';
|
|
79
81
|
prefix = 'R$';
|
|
80
82
|
break;
|
|
81
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koalarx-ui-shared-directives.mjs","sources":["../../projects/koala-ui/shared/directives/hook-change.ts","../../projects/koala-ui/shared/directives/input-mask.ts","../../projects/koala-ui/shared/directives/input-currency-mask.ts","../../projects/koala-ui/shared/directives/tooltip.ts","../../projects/koala-ui/shared/directives/button.ts","../../projects/koala-ui/shared/directives/koalarx-ui-shared-directives.ts"],"sourcesContent":["import {\n Directive,\n effect,\n inject,\n input,\n ViewContainerRef,\n} from '@angular/core';\n\n@Directive({ selector: '[hookChange]' })\nexport class HookChange {\n private readonly viewContainerRef = inject(ViewContainerRef);\n\n hookChange = input.required<any>();\n\n constructor() {\n effect(() => {\n this.hookChange();\n const onChange = this.viewContainerRef.element.nativeElement.onchange;\n\n if (onChange) {\n onChange();\n }\n });\n }\n}\n","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { NgxMaskPipe } from 'ngx-mask';\n\n@Directive({ selector: 'input[mask]', providers: [NgxMaskPipe] })\nexport class InputMask {\n private readonly ngxMask = inject(NgxMaskPipe);\n private readonly elementRef = inject<ElementRef<HTMLInputElement>>(\n ElementRef<HTMLInputElement>\n );\n\n private get currentValue() {\n return this.input.value;\n }\n\n private get input() {\n return this.elementRef.nativeElement;\n }\n\n mask = input.required<string>();\n\n constructor() {\n effect(() => {\n const mask = this.mask();\n\n if (mask) {\n this.elementRef.nativeElement.addEventListener('keyup', () =>\n this.applyMask(mask)\n );\n this.elementRef.nativeElement.addEventListener('keypress', () =>\n this.applyMask(mask)\n );\n this.elementRef.nativeElement.addEventListener('keydown', () =>\n this.applyMask(mask)\n );\n\n setTimeout(() => this.applyMask(mask), 1);\n }\n });\n }\n\n private applyMask(mask: string) {\n this.setValue(this.ngxMask.transform(this.currentValue, mask));\n }\n\n private setValue(value: string) {\n this.input.value = value;\n }\n}\n","import {\n Directive,\n ElementRef,\n inject,\n input,\n OnInit,\n output,\n} from '@angular/core';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { KlNumber } from '@koalarx/utils/KlNumber';\nimport { unmaskCoin } from '@koalarx/utils/KlString';\nimport { NgxMaskPipe } from 'ngx-mask';\n\n@Directive({\n selector: 'input[currencyMask]',\n providers: [NgxMaskPipe],\n})\nexport class InputCurrencyMask implements OnInit {\n private readonly elementRef = inject<ElementRef<HTMLInputElement>>(\n ElementRef<HTMLInputElement>\n );\n private readonly appConfig = inject(AppConfig);\n private writedValue = 0.0;\n\n decimalCount = input<number>(2);\n currencyValue = output<number>();\n\n private maskCoin(value: number) {\n let prefix = '$';\n const thousandSeparator = ',';\n const decimalSeparator = '.';\n\n switch (this.appConfig.language) {\n case 'en':\n prefix = '$';\n break;\n case 'ptBr':\n prefix = 'R$';\n break;\n }\n\n return new KlNumber(value).maskCoin(\n prefix,\n thousandSeparator,\n decimalSeparator,\n this.decimalCount()\n );\n }\n\n private unmaskCoin(value: string): number {\n return unmaskCoin(value, this.decimalCount());\n }\n\n private applyMask() {\n this.setValue(this.maskCoin(this.writedValue));\n }\n\n private get currentValue() {\n return this.input.value;\n }\n\n private setValue(value: string) {\n this.input.value = value;\n }\n\n private get input() {\n return this.elementRef.nativeElement;\n }\n\n private onFocus() {\n this.elementRef.nativeElement.addEventListener('focus', () => {\n this.putInputCaretOnTheEnd();\n });\n }\n\n private onKeyUp() {\n this.elementRef.nativeElement.addEventListener('keyup', (event) => {\n if (/\\d/.test(event.key) || event.key === 'Backspace') {\n this.updateWritedValue(event.key, event.key === 'Backspace');\n\n if (isNaN(this.writedValue)) {\n this.writedValue = 0;\n }\n\n this.applyMask();\n } else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {\n this.putInputCaretOnTheEnd();\n }\n });\n }\n\n private onKeyPress() {\n this.elementRef.nativeElement.addEventListener('keypress', (event) => {\n event.preventDefault();\n });\n }\n\n private onKeyDown() {\n this.elementRef.nativeElement.addEventListener('keydown', (event) => {\n if (event.key === 'Backspace') {\n event.preventDefault();\n }\n });\n }\n\n private onPaste() {\n this.elementRef.nativeElement.addEventListener('paste', (event) => {\n event.preventDefault();\n\n if (!event.clipboardData) {\n return;\n }\n\n const pastedValue = event.clipboardData.getData('Text');\n\n let unmaskedValue = parseFloat(pastedValue);\n\n if (pastedValue.includes(',')) {\n unmaskedValue = this.unmaskCoin(event.clipboardData.getData('Text'));\n }\n\n this.setValue(this.maskCoin(unmaskedValue));\n });\n }\n\n private onReset() {\n this.elementRef.nativeElement.addEventListener('reset', () => {\n this.writedValue = 0.0;\n this.applyMask();\n });\n }\n\n private putInputCaretOnTheEnd() {\n setTimeout(() =>\n this.input.setSelectionRange(\n this.currentValue.length,\n this.currentValue.length\n )\n );\n }\n\n private updateWritedValue(key: string, backspace = false) {\n let decimal = '';\n\n for (let i = 0; i < this.decimalCount(); i++) {\n decimal += '0';\n }\n\n if (backspace) {\n const match = (this.writedValue / 10)\n .toString()\n .match(new RegExp(`^-?\\\\d+(?:\\\\.\\\\d{0,${this.decimalCount()}})?`));\n\n if (match) {\n this.writedValue = parseFloat(match[0]);\n }\n }\n\n const currentValue = Math.round(this.writedValue * +`1${decimal}`);\n\n this.writedValue = parseFloat(`${currentValue}${key}`) / +`1${decimal}`;\n this.currencyValue.emit(this.writedValue);\n }\n\n ngOnInit(): void {\n this.writedValue = this.unmaskCoin(this.currentValue);\n\n this.input.style.textAlign = 'right';\n\n this.onFocus();\n this.onKeyUp();\n this.onKeyPress();\n this.onKeyDown();\n this.onPaste();\n this.onReset();\n\n setTimeout(() => this.applyMask());\n }\n}\n","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\n\ntype TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\n\n@Directive({ selector: '[tooltip]' })\nexport class Tooltip {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(\n ElementRef<HTMLElement>\n );\n\n tooltip = input.required<string>();\n tooltipPosition = input<TooltipPosition>('top');\n\n constructor() {\n effect(() => {\n const element = this.elementRef.nativeElement;\n const tooltipText = this.tooltip();\n\n element.classList.add('tooltip');\n element.dataset['tip'] = tooltipText;\n\n switch (this.tooltipPosition()) {\n case 'top':\n element.classList.add('tooltip-top');\n break;\n case 'bottom':\n element.classList.add('tooltip-bottom');\n break;\n case 'left':\n element.classList.add('tooltip-left');\n break;\n case 'right':\n element.classList.add('tooltip-right');\n break;\n }\n });\n }\n}\n","import {\n ApplicationRef,\n booleanAttribute,\n ComponentRef,\n createComponent,\n Directive,\n effect,\n ElementRef,\n EnvironmentInjector,\n inject,\n input,\n inputBinding,\n OnInit,\n} from '@angular/core';\nimport { Loader } from '@koalarx/ui/core/components/loader';\n\nexport type ButtonColor =\n | 'neutral'\n | 'primary'\n | 'secondary'\n | 'accent'\n | 'info'\n | 'success'\n | 'warning'\n | 'error'\n | 'ghost';\n\nexport type ButtonSize =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge';\n\n@Directive({ selector: 'button[klButton], a[klButton]' })\nexport class Button implements OnInit {\n private readonly elementRef = inject<ElementRef<HTMLButtonElement>>(\n ElementRef<HTMLButtonElement>\n );\n private readonly appRef = inject(ApplicationRef);\n private readonly injector = inject(EnvironmentInjector);\n private loaderComponent: ComponentRef<Loader> | null = null;\n\n color = input<ButtonColor>('neutral');\n type = input<'button' | 'submit'>('button');\n circle = input(false, { transform: booleanAttribute });\n outline = input(false, { transform: booleanAttribute });\n soft = input(false, { transform: booleanAttribute });\n showLoader = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n size = input<ButtonSize>('medium');\n\n constructor() {\n effect(() => this.toggleLoader(this.showLoader()));\n effect(() => {\n const disabled = this.disabled();\n this.elementRef.nativeElement.disabled = disabled;\n });\n }\n\n private createLoaderComponent() {\n const spanContainer = this.elementRef.nativeElement.insertBefore(\n document.createElement('span'),\n this.elementRef.nativeElement.firstChild\n );\n spanContainer.classList.add(\n 'flex',\n 'items-center',\n 'justify-center',\n 'h-full'\n );\n this.loaderComponent = createComponent(Loader, {\n environmentInjector: this.injector,\n hostElement: spanContainer,\n bindings: [inputBinding('size', () => this.size())],\n });\n\n return this.loaderComponent;\n }\n\n private toggleLoader(show: boolean) {\n if (show) {\n const loaderComponent = this.createLoaderComponent();\n\n this.elementRef.nativeElement.disabled = true;\n this.appRef.attachView(loaderComponent.hostView);\n } else {\n if (!this.disabled()) {\n this.elementRef.nativeElement.disabled = false;\n }\n\n if (this.loaderComponent) {\n this.appRef.detachView(this.loaderComponent.hostView);\n this.loaderComponent.destroy();\n this.loaderComponent = null;\n }\n }\n }\n\n private getColorClass(color: ButtonColor): string {\n switch (color) {\n case 'neutral':\n return 'btn-neutral';\n case 'primary':\n return 'btn-primary';\n case 'secondary':\n return 'btn-secondary';\n case 'accent':\n return 'btn-accent';\n case 'info':\n return 'btn-info';\n case 'success':\n return 'btn-success';\n case 'warning':\n return 'btn-warning';\n case 'error':\n return 'btn-error';\n case 'ghost':\n return 'btn-ghost';\n default:\n throw new Error(`Unknown button color: ${color}`);\n }\n }\n\n private getSizeClass(size: ButtonSize): string {\n switch (size) {\n case 'extraSmall':\n return 'btn-xs';\n case 'small':\n return 'btn-sm';\n case 'medium':\n return 'btn-md';\n case 'large':\n return 'btn-lg';\n case 'extraLarge':\n return 'btn-xl';\n default:\n throw new Error(`Unknown button size: ${size}`);\n }\n }\n\n ngOnInit(): void {\n this.elementRef.nativeElement.type = this.type();\n this.elementRef.nativeElement.classList.add('btn');\n this.elementRef.nativeElement.classList.add(\n this.getColorClass(this.color())\n );\n this.elementRef.nativeElement.classList.add(this.getSizeClass(this.size()));\n\n if (this.outline()) {\n this.elementRef.nativeElement.classList.add('btn-outline');\n }\n\n if (this.circle()) {\n this.elementRef.nativeElement.classList.add('btn-circle');\n }\n\n if (this.soft()) {\n this.elementRef.nativeElement.classList.add('btn-soft');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koalarx-ui-shared-directives.mjs","sources":["../../projects/koala-ui/shared/directives/hook-change.ts","../../projects/koala-ui/shared/directives/input-mask.ts","../../projects/koala-ui/shared/directives/input-currency-mask.ts","../../projects/koala-ui/shared/directives/tooltip.ts","../../projects/koala-ui/shared/directives/button.ts","../../projects/koala-ui/shared/directives/koalarx-ui-shared-directives.ts"],"sourcesContent":["import {\n Directive,\n effect,\n inject,\n input,\n ViewContainerRef,\n} from '@angular/core';\n\n@Directive({ selector: '[hookChange]' })\nexport class HookChange {\n private readonly viewContainerRef = inject(ViewContainerRef);\n\n hookChange = input.required<any>();\n\n constructor() {\n effect(() => {\n this.hookChange();\n const onChange = this.viewContainerRef.element.nativeElement.onchange;\n\n if (onChange) {\n onChange();\n }\n });\n }\n}\n","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { NgxMaskPipe } from 'ngx-mask';\n\n@Directive({ selector: 'input[mask]', providers: [NgxMaskPipe] })\nexport class InputMask {\n private readonly ngxMask = inject(NgxMaskPipe);\n private readonly elementRef = inject<ElementRef<HTMLInputElement>>(\n ElementRef<HTMLInputElement>\n );\n\n private get currentValue() {\n return this.input.value;\n }\n\n private get input() {\n return this.elementRef.nativeElement;\n }\n\n mask = input.required<string>();\n\n constructor() {\n effect(() => {\n const mask = this.mask();\n\n if (mask) {\n this.elementRef.nativeElement.addEventListener('keyup', () =>\n this.applyMask(mask)\n );\n this.elementRef.nativeElement.addEventListener('keypress', () =>\n this.applyMask(mask)\n );\n this.elementRef.nativeElement.addEventListener('keydown', () =>\n this.applyMask(mask)\n );\n\n setTimeout(() => this.applyMask(mask), 1);\n }\n });\n }\n\n private applyMask(mask: string) {\n this.setValue(this.ngxMask.transform(this.currentValue, mask));\n }\n\n private setValue(value: string) {\n this.input.value = value;\n }\n}\n","import {\n Directive,\n ElementRef,\n inject,\n input,\n OnInit,\n output,\n} from '@angular/core';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { KlNumber } from '@koalarx/utils/KlNumber';\nimport { unmaskCoin } from '@koalarx/utils/KlString';\nimport { NgxMaskPipe } from 'ngx-mask';\n\n@Directive({\n selector: 'input[currencyMask]',\n providers: [NgxMaskPipe],\n})\nexport class InputCurrencyMask implements OnInit {\n private readonly elementRef = inject<ElementRef<HTMLInputElement>>(\n ElementRef<HTMLInputElement>,\n );\n private readonly appConfig = inject(AppConfig);\n private writedValue = 0.0;\n\n decimalCount = input<number>(2);\n currencyValue = output<number>();\n\n private maskCoin(value: number) {\n let prefix = '$';\n let thousandSeparator = ',';\n let decimalSeparator = '.';\n\n switch (this.appConfig.language) {\n case 'en':\n prefix = '$';\n break;\n case 'ptBr':\n thousandSeparator = '.';\n decimalSeparator = ',';\n prefix = 'R$';\n break;\n }\n\n return new KlNumber(value).maskCoin(\n prefix,\n thousandSeparator,\n decimalSeparator,\n this.decimalCount(),\n );\n }\n\n private unmaskCoin(value: string): number {\n return unmaskCoin(value, this.decimalCount());\n }\n\n private applyMask() {\n this.setValue(this.maskCoin(this.writedValue));\n }\n\n private get currentValue() {\n return this.input.value;\n }\n\n private setValue(value: string) {\n this.input.value = value;\n }\n\n private get input() {\n return this.elementRef.nativeElement;\n }\n\n private onFocus() {\n this.elementRef.nativeElement.addEventListener('focus', () => {\n this.putInputCaretOnTheEnd();\n });\n }\n\n private onKeyUp() {\n this.elementRef.nativeElement.addEventListener('keyup', (event) => {\n if (/\\d/.test(event.key) || event.key === 'Backspace') {\n this.updateWritedValue(event.key, event.key === 'Backspace');\n\n if (isNaN(this.writedValue)) {\n this.writedValue = 0;\n }\n\n this.applyMask();\n } else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {\n this.putInputCaretOnTheEnd();\n }\n });\n }\n\n private onKeyPress() {\n this.elementRef.nativeElement.addEventListener('keypress', (event) => {\n event.preventDefault();\n });\n }\n\n private onKeyDown() {\n this.elementRef.nativeElement.addEventListener('keydown', (event) => {\n if (event.key === 'Backspace') {\n event.preventDefault();\n }\n });\n }\n\n private onPaste() {\n this.elementRef.nativeElement.addEventListener('paste', (event) => {\n event.preventDefault();\n\n if (!event.clipboardData) {\n return;\n }\n\n const pastedValue = event.clipboardData.getData('Text');\n\n let unmaskedValue = parseFloat(pastedValue);\n\n if (pastedValue.includes(',')) {\n unmaskedValue = this.unmaskCoin(event.clipboardData.getData('Text'));\n }\n\n this.setValue(this.maskCoin(unmaskedValue));\n });\n }\n\n private onReset() {\n this.elementRef.nativeElement.addEventListener('reset', () => {\n this.writedValue = 0.0;\n this.applyMask();\n });\n }\n\n private putInputCaretOnTheEnd() {\n setTimeout(() =>\n this.input.setSelectionRange(\n this.currentValue.length,\n this.currentValue.length,\n ),\n );\n }\n\n private updateWritedValue(key: string, backspace = false) {\n let decimal = '';\n\n for (let i = 0; i < this.decimalCount(); i++) {\n decimal += '0';\n }\n\n if (backspace) {\n const match = (this.writedValue / 10)\n .toString()\n .match(new RegExp(`^-?\\\\d+(?:\\\\.\\\\d{0,${this.decimalCount()}})?`));\n\n if (match) {\n this.writedValue = parseFloat(match[0]);\n }\n }\n\n const currentValue = Math.round(this.writedValue * +`1${decimal}`);\n\n this.writedValue = parseFloat(`${currentValue}${key}`) / +`1${decimal}`;\n this.currencyValue.emit(this.writedValue);\n }\n\n ngOnInit(): void {\n this.writedValue = this.unmaskCoin(this.currentValue);\n\n this.input.style.textAlign = 'right';\n\n this.onFocus();\n this.onKeyUp();\n this.onKeyPress();\n this.onKeyDown();\n this.onPaste();\n this.onReset();\n\n setTimeout(() => this.applyMask());\n }\n}\n","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\n\ntype TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\n\n@Directive({ selector: '[tooltip]' })\nexport class Tooltip {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(\n ElementRef<HTMLElement>\n );\n\n tooltip = input.required<string>();\n tooltipPosition = input<TooltipPosition>('top');\n\n constructor() {\n effect(() => {\n const element = this.elementRef.nativeElement;\n const tooltipText = this.tooltip();\n\n element.classList.add('tooltip');\n element.dataset['tip'] = tooltipText;\n\n switch (this.tooltipPosition()) {\n case 'top':\n element.classList.add('tooltip-top');\n break;\n case 'bottom':\n element.classList.add('tooltip-bottom');\n break;\n case 'left':\n element.classList.add('tooltip-left');\n break;\n case 'right':\n element.classList.add('tooltip-right');\n break;\n }\n });\n }\n}\n","import {\n ApplicationRef,\n booleanAttribute,\n ComponentRef,\n createComponent,\n Directive,\n effect,\n ElementRef,\n EnvironmentInjector,\n inject,\n input,\n inputBinding,\n OnInit,\n} from '@angular/core';\nimport { Loader } from '@koalarx/ui/core/components/loader';\n\nexport type ButtonColor =\n | 'neutral'\n | 'primary'\n | 'secondary'\n | 'accent'\n | 'info'\n | 'success'\n | 'warning'\n | 'error'\n | 'ghost';\n\nexport type ButtonSize =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge';\n\n@Directive({ selector: 'button[klButton], a[klButton]' })\nexport class Button implements OnInit {\n private readonly elementRef = inject<ElementRef<HTMLButtonElement>>(\n ElementRef<HTMLButtonElement>\n );\n private readonly appRef = inject(ApplicationRef);\n private readonly injector = inject(EnvironmentInjector);\n private loaderComponent: ComponentRef<Loader> | null = null;\n\n color = input<ButtonColor>('neutral');\n type = input<'button' | 'submit'>('button');\n circle = input(false, { transform: booleanAttribute });\n outline = input(false, { transform: booleanAttribute });\n soft = input(false, { transform: booleanAttribute });\n showLoader = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n size = input<ButtonSize>('medium');\n\n constructor() {\n effect(() => this.toggleLoader(this.showLoader()));\n effect(() => {\n const disabled = this.disabled();\n this.elementRef.nativeElement.disabled = disabled;\n });\n }\n\n private createLoaderComponent() {\n const spanContainer = this.elementRef.nativeElement.insertBefore(\n document.createElement('span'),\n this.elementRef.nativeElement.firstChild\n );\n spanContainer.classList.add(\n 'flex',\n 'items-center',\n 'justify-center',\n 'h-full'\n );\n this.loaderComponent = createComponent(Loader, {\n environmentInjector: this.injector,\n hostElement: spanContainer,\n bindings: [inputBinding('size', () => this.size())],\n });\n\n return this.loaderComponent;\n }\n\n private toggleLoader(show: boolean) {\n if (show) {\n const loaderComponent = this.createLoaderComponent();\n\n this.elementRef.nativeElement.disabled = true;\n this.appRef.attachView(loaderComponent.hostView);\n } else {\n if (!this.disabled()) {\n this.elementRef.nativeElement.disabled = false;\n }\n\n if (this.loaderComponent) {\n this.appRef.detachView(this.loaderComponent.hostView);\n this.loaderComponent.destroy();\n this.loaderComponent = null;\n }\n }\n }\n\n private getColorClass(color: ButtonColor): string {\n switch (color) {\n case 'neutral':\n return 'btn-neutral';\n case 'primary':\n return 'btn-primary';\n case 'secondary':\n return 'btn-secondary';\n case 'accent':\n return 'btn-accent';\n case 'info':\n return 'btn-info';\n case 'success':\n return 'btn-success';\n case 'warning':\n return 'btn-warning';\n case 'error':\n return 'btn-error';\n case 'ghost':\n return 'btn-ghost';\n default:\n throw new Error(`Unknown button color: ${color}`);\n }\n }\n\n private getSizeClass(size: ButtonSize): string {\n switch (size) {\n case 'extraSmall':\n return 'btn-xs';\n case 'small':\n return 'btn-sm';\n case 'medium':\n return 'btn-md';\n case 'large':\n return 'btn-lg';\n case 'extraLarge':\n return 'btn-xl';\n default:\n throw new Error(`Unknown button size: ${size}`);\n }\n }\n\n ngOnInit(): void {\n this.elementRef.nativeElement.type = this.type();\n this.elementRef.nativeElement.classList.add('btn');\n this.elementRef.nativeElement.classList.add(\n this.getColorClass(this.color())\n );\n this.elementRef.nativeElement.classList.add(this.getSizeClass(this.size()));\n\n if (this.outline()) {\n this.elementRef.nativeElement.classList.add('btn-outline');\n }\n\n if (this.circle()) {\n this.elementRef.nativeElement.classList.add('btn-circle');\n }\n\n if (this.soft()) {\n this.elementRef.nativeElement.classList.add('btn-soft');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|