cax-design-system 2.0.0 → 2.2.0
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/README.md +1 -1
- package/avatargroup/avatargroup.d.ts +1 -7
- package/avatargroup/avatargroup.module.d.ts +9 -0
- package/avatargroup/public_api.d.ts +1 -0
- package/badge/badge.directive.d.ts +4 -2
- package/button/button.d.ts +2 -1
- package/editor/editor.d.ts +1 -8
- package/editor/editor.module.d.ts +9 -0
- package/editor/public_api.d.ts +1 -0
- package/esm2022/avatar/avatar.mjs +3 -3
- package/esm2022/avatargroup/avatargroup.mjs +5 -27
- package/esm2022/avatargroup/avatargroup.module.mjs +19 -0
- package/esm2022/avatargroup/public_api.mjs +2 -1
- package/esm2022/badge/badge.directive.mjs +20 -8
- package/esm2022/badge/badge.mjs +4 -4
- package/esm2022/button/button.mjs +5 -4
- package/esm2022/checkbox/checkbox.mjs +3 -3
- package/esm2022/dropdown/dropdown.mjs +4 -6
- package/esm2022/editor/editor.mjs +9 -120
- package/esm2022/editor/editor.module.mjs +19 -0
- package/esm2022/editor/public_api.mjs +2 -1
- package/esm2022/inputmask/inputmask.mjs +42 -108
- package/esm2022/inputmask/inputmask.module.mjs +22 -0
- package/esm2022/inputmask/public_api.mjs +2 -1
- package/esm2022/inputtext/inputtext.component.mjs +14 -8
- package/esm2022/inputtext/inputtext.directive.mjs +3 -4
- package/esm2022/messages/messages.mjs +5 -5
- package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
- package/esm2022/paginator/paginator.mjs +21 -8
- package/esm2022/progressbar/progressbar.mjs +2 -2
- package/esm2022/progressspinner/progressspinner.mjs +12 -12
- package/esm2022/selectbutton/selectbutton.mjs +2 -2
- package/esm2022/sidebar/sidebar.mjs +3 -3
- package/esm2022/splitbutton/splitbutton.mjs +8 -3
- package/esm2022/splitbutton/splitbutton.module.mjs +5 -4
- package/esm2022/steps/public_api.mjs +2 -1
- package/esm2022/steps/steps.mjs +5 -143
- package/esm2022/steps/steps.module.mjs +20 -0
- package/esm2022/table/table.mjs +3 -3
- package/esm2022/tabview/tabview.mjs +28 -3
- package/esm2022/timeline/public_api.mjs +2 -1
- package/esm2022/timeline/timeline.mjs +6 -90
- package/esm2022/timeline/timeline.module.mjs +19 -0
- package/esm2022/togglebutton/togglebutton.mjs +2 -2
- package/esm2022/toggleswitch/toggleswitch.mjs +7 -4
- package/fesm2022/cax-design-system-avatar.mjs +2 -2
- package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatargroup.mjs +9 -15
- package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-badge.mjs +22 -10
- package/fesm2022/cax-design-system-badge.mjs.map +1 -1
- package/fesm2022/cax-design-system-button.mjs +5 -4
- package/fesm2022/cax-design-system-button.mjs.map +1 -1
- package/fesm2022/cax-design-system-checkbox.mjs +2 -2
- package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-dropdown.mjs +3 -5
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-editor.mjs +9 -106
- package/fesm2022/cax-design-system-editor.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputmask.mjs +40 -89
- package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtext.mjs +15 -10
- package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
- package/fesm2022/cax-design-system-messages.mjs +4 -4
- package/fesm2022/cax-design-system-messages.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
- package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
- package/fesm2022/cax-design-system-paginator.mjs +20 -7
- package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressbar.mjs +2 -2
- package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressspinner.mjs +11 -11
- package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
- package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-sidebar.mjs +2 -2
- package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitbutton.mjs +11 -5
- package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-steps.mjs +7 -128
- package/fesm2022/cax-design-system-steps.mjs.map +1 -1
- package/fesm2022/cax-design-system-table.mjs +2 -2
- package/fesm2022/cax-design-system-table.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabview.mjs +27 -2
- package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
- package/fesm2022/cax-design-system-timeline.mjs +6 -75
- package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
- package/fesm2022/cax-design-system-togglebutton.mjs +2 -2
- package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-toggleswitch.mjs +6 -3
- package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
- package/inputmask/inputmask.d.ts +12 -12
- package/inputmask/inputmask.module.d.ts +12 -0
- package/inputmask/public_api.d.ts +1 -0
- package/inputtext/inputtext.component.d.ts +6 -3
- package/messages/messages.d.ts +1 -1
- package/package.json +215 -215
- package/paginator/paginator.d.ts +4 -1
- package/progressspinner/progressspinner.d.ts +1 -1
- package/resources/cax.min.scss +1 -1
- package/resources/cax.scss +7686 -6588
- package/resources/components/avatar/avatar.scss +2 -2
- package/resources/components/avatargroup/{avatargroup.css → avatargroup.scss} +2 -2
- package/resources/components/badge/badge.scss +33 -0
- package/resources/components/button/button.scss +44 -11
- package/resources/components/dropdown/dropdown.scss +2 -18
- package/resources/components/editor/editor.scss +4 -0
- package/resources/components/inputmask/{inputmask.css → inputmask.scss} +2 -2
- package/resources/components/inputtext/inputtext.scss +21 -23
- package/resources/components/messages/messages.scss +1 -1
- package/resources/components/overlaypanel/overlaypanel.scss +4 -1
- package/resources/components/paginator/paginator.scss +4 -0
- package/resources/components/progressbar/progressbar.scss +0 -15
- package/resources/components/progressspinner/progressspinner.scss +9 -9
- package/resources/components/sidebar/sidebar.scss +1 -1
- package/resources/components/splitbutton/splitbutton.scss +6 -3
- package/resources/components/steps/{steps.css → steps.scss} +10 -9
- package/resources/components/table/table.scss +41 -1
- package/resources/components/tabview/tabview.scss +12 -8
- package/resources/components/timeline/timeline.scss +134 -0
- package/resources/components/toggleswitch/toggleswitch.scss +6 -0
- package/splitbutton/splitbutton.d.ts +1 -0
- package/splitbutton/splitbutton.module.d.ts +2 -1
- package/steps/public_api.d.ts +1 -0
- package/steps/steps.d.ts +1 -9
- package/steps/steps.module.d.ts +10 -0
- package/timeline/public_api.d.ts +1 -0
- package/timeline/timeline.d.ts +1 -8
- package/timeline/timeline.module.d.ts +9 -0
- package/toggleswitch/toggleswitch.d.ts +2 -1
- package/resources/components/editor/editor.css +0 -4
- package/resources/components/timeline/timeline.css +0 -114
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-badge.mjs","sources":["../../src/app/components/badge/badge.ts","../../src/app/components/badge/badge.html","../../src/app/components/badge/badge.directive.ts","../../src/app/components/badge/badge.module.ts","../../src/app/components/badge/cax-design-system-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'cax-badge',\n templateUrl: './badge.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./badge.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Badge {\n @Input() styleClass: string | undefined;\n @Input() style: { [klass: string]: any } | null | undefined;\n @Input() badgeSize: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n @Input() severity: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' = 'primary';\n @Input() value: string | number | null | undefined;\n @Input() badgeDisabled: boolean = false;\n\n @Input() public set size(value: 'xs' | 'sm' | 'md' | 'lg') {\n this._size = value;\n console.warn('size property is deprecated and will removed in v18, use badgeSize instead.');\n }\n get size() {\n return this._size;\n }\n private _size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\n containerClass() {\n return {\n 'cax-badge cax-component': true,\n 'cax-badge-no-gutter': this.value != undefined && String(this.value).length === 1,\n [`cax-badge-${this.size}`]: this.size,\n [`cax-badge-${this.severity}`]: this.severity\n };\n }\n}\n","<span\r\n *ngIf=\"!badgeDisabled\"\r\n [ngClass]=\"containerClass()\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n>\r\n {{ value }}\r\n</span>\r\n","import { AfterViewInit, Directive, ElementRef, Inject, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { UniqueComponentId } from 'cax-design-system/utils';\n\n@Directive({\n selector: '[caxBadge]',\n host: {\n class: 'cax-element'\n }\n})\nexport class BadgeDirective implements OnChanges, AfterViewInit {\n @Input('badgeDisabled') public disabled: boolean;\n @Input() public badgeSize: 'xs' | 'sm' | 'md' | 'lg' | undefined;\n @Input() public set size(value: 'xs' | 'sm' | 'md' | 'lg') {\n this._size = value;\n console.warn('size property is deprecated and will removed in v18, use badgeSize instead.');\n }\n get size() {\n return this._size;\n }\n private _size: 'xs' | 'sm' | 'md' | 'lg' | undefined;\n @Input() public severity: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' = 'primary';\n @Input() public value: string | number;\n @Input() badgeStyle: { [klass: string]: any } | null | undefined;\n @Input() badgeStyleClass: string;\n\n private id!: string;\n badgeEl: HTMLElement;\n\n private get activeElement(): HTMLElement {\n return this.el.nativeElement.nodeName.indexOf('-') !== -1 ? this.el.nativeElement.firstChild : this.el.nativeElement;\n }\n\n private get canUpdateBadge(): boolean {\n return this.id && !this.disabled;\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.disabled || changes.badgeDisabled) {\n this.toggleDisableState();\n }\n if (!this.canUpdateBadge) {\n return;\n }\n if (changes.severity) {\n this.setSeverity(changes.severity.previousValue);\n }\n if (changes.size || changes.badgeSize) {\n this.setSizeClasses();\n }\n if (changes.value) {\n this.setValue();\n }\n if (changes.badgeStyle || changes.badgeStyleClass) {\n this.applyStyles();\n }\n }\n\n public ngAfterViewInit(): void {\n this.id = UniqueComponentId() + '_badge';\n this.renderBadgeContent();\n }\n\n private setValue(element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n\n if (this.value != null) {\n if (DomHandler.hasClass(badge, 'cax-badge-dot')) {\n DomHandler.removeClass(badge, 'cax-badge-dot');\n }\n\n if (this.value && String(this.value).length === 1) {\n DomHandler.addClass(badge, 'cax-badge-no-gutter');\n } else {\n DomHandler.removeClass(badge, 'cax-badge-no-gutter');\n }\n } else {\n if (!DomHandler.hasClass(badge, 'cax-badge-dot')) {\n DomHandler.addClass(badge, 'cax-badge-dot');\n }\n\n DomHandler.removeClass(badge, 'cax-badge-no-gutter');\n }\n\n badge.innerHTML = '';\n const badgeValue = this.value != null ? String(this.value) : '';\n this.renderer.appendChild(badge, this.document.createTextNode(badgeValue));\n }\n\n private setSizeClasses(element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n // Remove any existing size classes\n ['xs', 'sm', 'md', 'lg'].forEach((s) => DomHandler.removeClass(badge, `cax-badge-${s}`));\n const sizeToUse = this.badgeSize || this.size;\n if (sizeToUse) {\n DomHandler.addClass(badge, `cax-badge-${sizeToUse}`);\n }\n }\n\n private renderBadgeContent(): void {\n if (this.disabled) {\n return;\n }\n\n const el = this.activeElement;\n const badge = this.document.createElement('span');\n badge.id = this.id;\n badge.className = 'cax-badge cax-component';\n\n this.setSeverity(null, badge);\n this.setSizeClasses(badge);\n this.setValue(badge);\n DomHandler.addClass(el, 'cax-overlay-badge');\n this.renderer.appendChild(el, badge);\n this.badgeEl = badge;\n this.applyStyles();\n }\n\n private applyStyles(): void {\n if (this.badgeEl && this.badgeStyle && typeof this.badgeStyle === 'object') {\n for (const [key, value] of Object.entries(this.badgeStyle)) {\n this.renderer.setStyle(this.badgeEl, key, value);\n }\n }\n if (this.badgeEl && this.badgeStyleClass) {\n this.badgeEl.classList.add(...this.badgeStyleClass.split(' '));\n }\n }\n\n private setSeverity(oldSeverity?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger', element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n\n if (this.severity) {\n DomHandler.addClass(badge, `cax-badge-${this.severity}`);\n }\n\n if (oldSeverity) {\n DomHandler.removeClass(badge, `cax-badge-${oldSeverity}`);\n }\n }\n\n private toggleDisableState(): void {\n if (!this.id) {\n return;\n }\n\n if (this.disabled) {\n const badge = this.activeElement?.querySelector(`#${this.id}`);\n\n if (badge) {\n this.renderer.removeChild(this.activeElement, badge);\n }\n } else {\n this.renderBadgeContent();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Badge } from './badge';\nimport { BadgeDirective } from './badge.directive';\nimport { SharedModule } from 'cax-design-system/api';\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n exports: [Badge, BadgeDirective],\n declarations: [Badge, BadgeDirective]\n})\nexport class BadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-badge.mjs","sources":["../../src/app/components/badge/badge.ts","../../src/app/components/badge/badge.html","../../src/app/components/badge/badge.directive.ts","../../src/app/components/badge/badge.module.ts","../../src/app/components/badge/cax-design-system-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'cax-badge',\n templateUrl: './badge.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./badge.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Badge {\n @Input() styleClass: string | undefined;\n @Input() style: { [klass: string]: any } | null | undefined;\n @Input() badgeSize: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n @Input() severity: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' = 'primary';\n @Input() value: string | number | null | undefined;\n @Input() badgeDisabled: boolean = false;\n\n @Input() public set size(value: 'xs' | 'sm' | 'md' | 'lg') {\n this._size = value;\n console.warn('size property is deprecated and will removed in v18, use badgeSize instead.');\n }\n get size() {\n return this._size;\n }\n private _size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\n containerClass() {\n return {\n 'cax-badge cax-component': true,\n 'cax-badge-no-gutter': this.value != undefined && String(this.value).length === 1,\n [`cax-badge-${this.badgeSize}`]: this.badgeSize,\n [`cax-badge-${this.severity}`]: this.severity\n };\n }\n}\n","<span\r\n *ngIf=\"!badgeDisabled\"\r\n [ngClass]=\"containerClass()\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n>\r\n {{ value }}\r\n</span>\r\n","import { AfterViewInit, Directive, ElementRef, Inject, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { UniqueComponentId } from 'cax-design-system/utils';\n\n@Directive({\n selector: '[caxBadge]',\n host: {\n class: 'cax-element'\n }\n})\nexport class BadgeDirective implements OnChanges, AfterViewInit {\n @Input('badgeDisabled') public disabled: boolean;\n @Input() public badgeSize: 'xs' | 'sm' | 'md' | 'lg' | undefined;\n @Input() public set size(value: 'xs' | 'sm' | 'md' | 'lg') {\n this._size = value;\n console.warn('size property is deprecated and will removed in v18, use badgeSize instead.');\n }\n get size() {\n return this._size;\n }\n private _size: 'xs' | 'sm' | 'md' | 'lg' | undefined;\n @Input() public set caxBadge(val: string | number) {\n this.value = val;\n }\n @Input() public value: string | number;\n @Input() public badgeSeverity: string;\n @Input() public severity: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' = 'primary';\n @Input() badgeStyle: { [klass: string]: any } | null | undefined;\n @Input() badgeStyleClass: string;\n\n private id!: string;\n badgeEl: HTMLElement;\n\n private get activeElement(): HTMLElement {\n const element = this.el.nativeElement;\n if (element.tagName.toLowerCase() === 'cax-button') {\n DomHandler.addClass(element, 'cax-button-badge');\n return element;\n }\n return element.nodeName.indexOf('-') !== -1 ? element.firstChild : element;\n }\n\n private get canUpdateBadge(): boolean {\n return this.id && !this.disabled;\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.disabled || changes.badgeDisabled) {\n this.toggleDisableState();\n }\n if (!this.canUpdateBadge) {\n return;\n }\n if (changes.severity) {\n this.setSeverity(changes.severity.previousValue);\n }\n if (changes.size || changes.badgeSize) {\n this.setSizeClasses();\n }\n if (changes.value) {\n this.setValue();\n }\n if (changes.badgeStyle || changes.badgeStyleClass) {\n this.applyStyles();\n }\n }\n\n public ngAfterViewInit(): void {\n this.id = UniqueComponentId() + '_badge';\n this.renderBadgeContent();\n }\n\n private setValue(element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n\n if (this.value != null) {\n if (DomHandler.hasClass(badge, 'cax-badge-dot')) {\n DomHandler.removeClass(badge, 'cax-badge-dot');\n }\n\n if (this.value && String(this.value).length === 1) {\n DomHandler.addClass(badge, 'cax-badge-no-gutter');\n } else {\n DomHandler.removeClass(badge, 'cax-badge-no-gutter');\n }\n } else {\n if (!DomHandler.hasClass(badge, 'cax-badge-dot')) {\n DomHandler.addClass(badge, 'cax-badge-dot');\n }\n\n DomHandler.removeClass(badge, 'cax-badge-no-gutter');\n }\n\n badge.innerHTML = '';\n const badgeValue = this.value != null ? String(this.value) : '';\n this.renderer.appendChild(badge, this.document.createTextNode(badgeValue));\n }\n\n private setSizeClasses(element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n // Remove any existing size classes\n ['xs', 'sm', 'md', 'lg'].forEach((s) => DomHandler.removeClass(badge, `cax-badge-${s}`));\n const sizeToUse = this.badgeSize || this.size;\n if (sizeToUse) {\n DomHandler.addClass(badge, `cax-badge-${sizeToUse}`);\n }\n }\n\n private renderBadgeContent(): void {\n if (this.disabled) {\n return;\n }\n\n const el = this.activeElement;\n const badge = this.document.createElement('span');\n badge.id = this.id;\n badge.className = 'cax-badge cax-component';\n\n this.setSeverity(null, badge);\n this.setSizeClasses(badge);\n this.setValue(badge);\n DomHandler.addClass(el, 'cax-overlay-badge');\n this.renderer.appendChild(el, badge);\n this.badgeEl = badge;\n this.applyStyles();\n }\n\n private applyStyles(): void {\n if (this.badgeEl && this.badgeStyle && typeof this.badgeStyle === 'object') {\n for (const [key, value] of Object.entries(this.badgeStyle)) {\n this.renderer.setStyle(this.badgeEl, key, value);\n }\n }\n if (this.badgeEl && this.badgeStyleClass) {\n this.badgeEl.classList.add(...this.badgeStyleClass.split(' '));\n }\n }\n\n private setSeverity(oldSeverity?: string, element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n\n if (oldSeverity) {\n DomHandler.removeClass(badge, `cax-badge-${oldSeverity}`);\n }\n\n const severityToUse = this.badgeSeverity || this.severity || 'primary';\n DomHandler.addClass(badge, `cax-badge-${severityToUse}`);\n }\n\n private toggleDisableState(): void {\n if (!this.id) {\n return;\n }\n\n if (this.disabled) {\n const badge = this.activeElement?.querySelector(`#${this.id}`);\n\n if (badge) {\n this.renderer.removeChild(this.activeElement, badge);\n }\n } else {\n this.renderBadgeContent();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Badge } from './badge';\nimport { BadgeDirective } from './badge.directive';\nimport { SharedModule } from 'cax-design-system/api';\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n exports: [Badge, BadgeDirective],\n declarations: [Badge, BadgeDirective]\n})\nexport class BadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChildren, Directive, Inject, NgModule } from '@angular/core';
|
|
3
3
|
import { CaxTemplate, SharedModule } from 'cax-design-system/api';
|
|
4
|
-
import { NgIf,
|
|
4
|
+
import { NgIf, NgStyle, NgClass, NgTemplateOutlet, DOCUMENT } from '@angular/common';
|
|
5
5
|
import { Ripple } from 'cax-design-system/ripple';
|
|
6
6
|
import { AutoFocus } from 'cax-design-system/autofocus';
|
|
7
7
|
import { SpinnerIcon } from 'cax-design-system/icons/spinner';
|
|
@@ -28,7 +28,7 @@ class Button {
|
|
|
28
28
|
outlined = false;
|
|
29
29
|
link = false;
|
|
30
30
|
tabindex;
|
|
31
|
-
size;
|
|
31
|
+
size = 'medium';
|
|
32
32
|
style;
|
|
33
33
|
styleClass;
|
|
34
34
|
badgeClass;
|
|
@@ -79,6 +79,7 @@ class Button {
|
|
|
79
79
|
'cax-button-text': this.text,
|
|
80
80
|
'cax-button-outlined': this.outlined,
|
|
81
81
|
'cax-button-sm': this.size === 'small',
|
|
82
|
+
'cax-button-md': this.size === 'medium',
|
|
82
83
|
'cax-button-lg': this.size === 'large',
|
|
83
84
|
'cax-button-plain': this.plain,
|
|
84
85
|
[`${this.styleClass}`]: this.styleClass
|
|
@@ -112,14 +113,14 @@ class Button {
|
|
|
112
113
|
this.el.nativeElement.firstChild.focus();
|
|
113
114
|
}
|
|
114
115
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Button, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Button, isStandalone: true, selector: "cax-button", inputs: { type: "type", iconPos: "iconPos", icon: "icon", badge: "badge", rightIcon: "rightIcon", leftIcon: "leftIcon", label: "label", disabled: ["disabled", "disabled", booleanAttribute], loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", raised: ["raised", "raised", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], text: ["text", "text", booleanAttribute], plain: ["plain", "plain", booleanAttribute], severity: "severity", outlined: ["outlined", "outlined", booleanAttribute], link: ["link", "link", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], size: "size", style: "style", styleClass: "styleClass", badgeClass: "badgeClass", ariaLabel: "ariaLabel", autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class.cax-disabled": "disabled" }, classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<button\r\n [attr.type]=\"type\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [ngStyle]=\"style\"\r\n [disabled]=\"disabled || loading\"\r\n [ngClass]=\"buttonClass\"\r\n (click)=\"onClick.emit($event)\"\r\n (focus)=\"onFocus.emit($event)\"\r\n (blur)=\"onBlur.emit($event)\"\r\n caxRipple\r\n [attr.data-pc-name]=\"'button'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.tabindex]=\"tabindex\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n>\r\n
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Button, isStandalone: true, selector: "cax-button", inputs: { type: "type", iconPos: "iconPos", icon: "icon", badge: "badge", rightIcon: "rightIcon", leftIcon: "leftIcon", label: "label", disabled: ["disabled", "disabled", booleanAttribute], loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", raised: ["raised", "raised", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], text: ["text", "text", booleanAttribute], plain: ["plain", "plain", booleanAttribute], severity: "severity", outlined: ["outlined", "outlined", booleanAttribute], link: ["link", "link", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], size: "size", style: "style", styleClass: "styleClass", badgeClass: "badgeClass", ariaLabel: "ariaLabel", autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class.cax-disabled": "disabled" }, classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<button\r\n [attr.type]=\"type\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [ngStyle]=\"style\"\r\n [disabled]=\"disabled || loading\"\r\n [ngClass]=\"buttonClass\"\r\n (click)=\"onClick.emit($event)\"\r\n (focus)=\"onFocus.emit($event)\"\r\n (blur)=\"onBlur.emit($event)\"\r\n caxRipple\r\n [attr.data-pc-name]=\"'button'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.tabindex]=\"tabindex\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n>\r\n <ng-container *ngIf=\"loading\" class=\"cax-button-content-wrapper\">\r\n <ng-container class=\"cax-button-loading-container\">\r\n <SpinnerIcon [styleClass]=\"spinnerIconClass()\" class=\"cax-main-loader cax-button-label\" [spin]=\"true\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'loadingicon'\" />\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <!-- Center Icon when there's no label -->\r\n <ng-container *ngIf=\"!label\">\r\n <span *ngIf=\"icon\" class=\"cax-button-icon-center\" [ngClass]=\"icon\"></span>\r\n </ng-container>\r\n\r\n <!-- Left and Right Icons with Label -->\r\n <ng-container class=\"cax-button-content-wrapper\" *ngIf=\"label\">\r\n <!-- Left Icon -->\r\n <ng-container *ngIf=\"leftIcon\">\r\n <span class=\"cax-button-icon-left\" [ngClass]=\"leftIcon\"></span>\r\n </ng-container>\r\n <!-- Label -->\r\n <span class=\"cax-button-label\">{{ label }}</span>\r\n <!-- Right Icon -->\r\n <ng-container *ngIf=\"rightIcon\">\r\n <span class=\"cax-button-icon-right\" [ngClass]=\"rightIcon\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Badge -->\r\n <span [ngClass]=\"badgeStyleClass()\" [class]=\"badgeClass\" *ngIf=\"badge\" [attr.data-pc-section]=\"'badge'\">{{ badge }}</span>\r\n</button>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: Ripple, selector: "[caxRipple]" }, { kind: "directive", type: AutoFocus, selector: "[caxAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: SpinnerIcon, selector: "SpinnerIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
116
117
|
}
|
|
117
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Button, decorators: [{
|
|
118
119
|
type: Component,
|
|
119
120
|
args: [{ selector: 'cax-button', standalone: true, imports: [NgIf, NgTemplateOutlet, NgStyle, NgClass, Ripple, AutoFocus, SpinnerIcon], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
120
121
|
class: 'cax-element',
|
|
121
122
|
'[class.cax-disabled]': 'disabled' || 'loading'
|
|
122
|
-
}, template: "<button\r\n [attr.type]=\"type\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [ngStyle]=\"style\"\r\n [disabled]=\"disabled || loading\"\r\n [ngClass]=\"buttonClass\"\r\n (click)=\"onClick.emit($event)\"\r\n (focus)=\"onFocus.emit($event)\"\r\n (blur)=\"onBlur.emit($event)\"\r\n caxRipple\r\n [attr.data-pc-name]=\"'button'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.tabindex]=\"tabindex\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n>\r\n
|
|
123
|
+
}, template: "<button\r\n [attr.type]=\"type\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [ngStyle]=\"style\"\r\n [disabled]=\"disabled || loading\"\r\n [ngClass]=\"buttonClass\"\r\n (click)=\"onClick.emit($event)\"\r\n (focus)=\"onFocus.emit($event)\"\r\n (blur)=\"onBlur.emit($event)\"\r\n caxRipple\r\n [attr.data-pc-name]=\"'button'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.tabindex]=\"tabindex\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n>\r\n <ng-container *ngIf=\"loading\" class=\"cax-button-content-wrapper\">\r\n <ng-container class=\"cax-button-loading-container\">\r\n <SpinnerIcon [styleClass]=\"spinnerIconClass()\" class=\"cax-main-loader cax-button-label\" [spin]=\"true\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'loadingicon'\" />\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <!-- Center Icon when there's no label -->\r\n <ng-container *ngIf=\"!label\">\r\n <span *ngIf=\"icon\" class=\"cax-button-icon-center\" [ngClass]=\"icon\"></span>\r\n </ng-container>\r\n\r\n <!-- Left and Right Icons with Label -->\r\n <ng-container class=\"cax-button-content-wrapper\" *ngIf=\"label\">\r\n <!-- Left Icon -->\r\n <ng-container *ngIf=\"leftIcon\">\r\n <span class=\"cax-button-icon-left\" [ngClass]=\"leftIcon\"></span>\r\n </ng-container>\r\n <!-- Label -->\r\n <span class=\"cax-button-label\">{{ label }}</span>\r\n <!-- Right Icon -->\r\n <ng-container *ngIf=\"rightIcon\">\r\n <span class=\"cax-button-icon-right\" [ngClass]=\"rightIcon\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Badge -->\r\n <span [ngClass]=\"badgeStyleClass()\" [class]=\"badgeClass\" *ngIf=\"badge\" [attr.data-pc-section]=\"'badge'\">{{ badge }}</span>\r\n</button>\r\n" }]
|
|
123
124
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { type: [{
|
|
124
125
|
type: Input
|
|
125
126
|
}], iconPos: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-button.mjs","sources":["../../src/app/components/button/button.ts","../../src/app/components/button/button.html","../../src/app/components/button/button.directive.ts","../../src/app/components/button/button.module.ts","../../src/app/components/button/cax-design-system-button.ts"],"sourcesContent":["import { AfterContentInit, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, TemplateRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { CaxTemplate } from 'cax-design-system/api';\nimport { booleanAttribute, numberAttribute } from '@angular/core';\nimport { NgClass, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { Ripple } from 'cax-design-system/ripple';\nimport { AutoFocus } from 'cax-design-system/autofocus';\nimport { SpinnerIcon } from 'cax-design-system/icons/spinner';\n\ntype ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom';\n\n@Component({\n selector: 'cax-button',\n templateUrl: './button.html',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, NgStyle, NgClass, Ripple, AutoFocus, SpinnerIcon],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element',\n '[class.cax-disabled]': 'disabled' || 'loading'\n }\n})\nexport class Button implements AfterContentInit {\n @Input() type: string = 'button';\n @Input() iconPos: ButtonIconPosition = 'left';\n @Input() icon: string | undefined;\n @Input() badge: string | undefined;\n @Input() rightIcon: string | undefined;\n @Input() leftIcon: string | undefined;\n @Input() label: string | undefined;\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n @Input({ transform: booleanAttribute }) loading: boolean = false;\n @Input() loadingIcon: string | undefined;\n @Input({ transform: booleanAttribute }) raised: boolean = false;\n @Input({ transform: booleanAttribute }) rounded: boolean = false;\n @Input({ transform: booleanAttribute }) text: boolean = false;\n @Input({ transform: booleanAttribute }) plain: boolean = false;\n @Input() severity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined;\n @Input({ transform: booleanAttribute }) outlined: boolean = false;\n @Input({ transform: booleanAttribute }) link: boolean = false;\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n @Input() size: 'small' | 'large' | undefined;\n @Input() style: { [klass: string]: any } | null | undefined;\n @Input() styleClass: string | undefined;\n @Input() badgeClass: string | undefined;\n @Input() ariaLabel: string | undefined;\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n\n @Output() onClick: EventEmitter<MouseEvent> = new EventEmitter();\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n\n contentTemplate: TemplateRef<any> | undefined;\n loadingIconTemplate: TemplateRef<any> | undefined;\n iconTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n constructor(public el: ElementRef) {}\n\n spinnerIconClass(): string {\n return Object.entries(this.iconClass())\n .filter(([, value]) => !!value)\n .reduce((acc, [key]) => acc + ` ${key}`, 'cax-button-loading-icon');\n }\n\n iconClass() {\n const iconClasses = {\n 'cax-button-icon': true,\n 'cax-button-icon-left': this.iconPos === 'left' && this.label,\n 'cax-button-icon-right': this.iconPos === 'right' && this.label,\n 'cax-button-icon-top': this.iconPos === 'top' && this.label,\n 'cax-button-icon-bottom': this.iconPos === 'bottom' && this.label\n };\n\n if (this.loading) {\n iconClasses[`cax-button-loading-icon pi-spin ${this.loadingIcon ?? ''}`] = true;\n } else if (this.icon) {\n iconClasses[this.icon] = true;\n }\n\n return iconClasses;\n }\n\n get buttonClass() {\n return {\n 'cax-button cax-component': true,\n 'cax-button-icon-only': (this.icon || this.iconTemplate || this.loadingIcon || this.loadingIconTemplate) && !this.label,\n 'cax-button-center-icon': !this.label,\n 'cax-button-vertical': (this.iconPos === 'top' || this.iconPos === 'bottom') && this.label,\n 'cax-button-loading': this.loading,\n 'cax-button-link': this.link,\n [`cax-button-${this.severity}`]: this.severity,\n 'cax-button-raised': this.raised,\n 'cax-button-rounded': this.rounded,\n 'cax-button-text': this.text,\n 'cax-button-outlined': this.outlined,\n 'cax-button-sm': this.size === 'small',\n 'cax-button-lg': this.size === 'large',\n 'cax-button-plain': this.plain,\n [`${this.styleClass}`]: this.styleClass\n };\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'icon':\n this.iconTemplate = item.template;\n break;\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n badgeStyleClass() {\n return {\n 'cax-badge cax-component': true,\n 'cax-badge-no-gutter': this.badge && String(this.badge).length === 1\n };\n }\n\n public focus() {\n this.el.nativeElement.firstChild.focus();\n }\n}\n","<button\r\n [attr.type]=\"type\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [ngStyle]=\"style\"\r\n [disabled]=\"disabled || loading\"\r\n [ngClass]=\"buttonClass\"\r\n (click)=\"onClick.emit($event)\"\r\n (focus)=\"onFocus.emit($event)\"\r\n (blur)=\"onBlur.emit($event)\"\r\n caxRipple\r\n [attr.data-pc-name]=\"'button'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.tabindex]=\"tabindex\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n>\r\n <!-- Center Icon when there's no label -->\r\n <ng-container *ngIf=\"!label\">\r\n <span *ngIf=\"loading\" class=\"cax-button-icon-center spin\" [ngClass]=\"icon\" [attr.aria-hidden]=\"true\"></span>\r\n <span *ngIf=\"!loading && icon\" class=\"cax-button-icon-center\" [ngClass]=\"icon\"></span>\r\n </ng-container>\r\n\r\n <!-- Left and Right Icons with Label -->\r\n <ng-container class=\"cax-button-content-wrapper\" *ngIf=\"label\">\r\n <!-- Left Icon or Loading Spinner -->\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"!loadingIconTemplate\">\r\n <span *ngIf=\"loadingIcon\" [ngClass]=\"iconClass()\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'loadingicon'\"></span>\r\n <SpinnerIcon *ngIf=\"!loadingIcon\" [styleClass]=\"spinnerIconClass()\" [spin]=\"true\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'loadingicon'\" />\r\n </ng-container>\r\n <ng-template [ngIf]=\"loadingIconTemplate\" *ngTemplateOutlet=\"loadingIconTemplate; context: { class: iconClass() }\"></ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && leftIcon\">\r\n <span class=\"cax-button-icon-left\" [ngClass]=\"leftIcon\"></span>\r\n </ng-container>\r\n\r\n <!-- Label -->\r\n <span class=\"cax-button-label\">{{ label }}</span>\r\n\r\n <!-- Right Icon -->\r\n <ng-container *ngIf=\"rightIcon\">\r\n <span class=\"cax-button-icon-right\" [ngClass]=\"rightIcon\"></span>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Badge -->\r\n <span [ngClass]=\"badgeStyleClass()\" [class]=\"badgeClass\" *ngIf=\"badge\" [attr.data-pc-section]=\"'badge'\">{{ badge }}</span>\r\n</button>\r\n","import { Directive, ElementRef, Input, AfterViewInit, OnDestroy, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { ObjectUtils } from 'cax-design-system/utils';\nimport { booleanAttribute } from '@angular/core';\n\ntype ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom';\n\nconst INTERNAL_BUTTON_CLASSES = {\n button: 'cax-button',\n component: 'cax-component',\n iconOnly: 'cax-button-icon-only',\n disabled: 'cax-disabled',\n loading: 'cax-button-loading',\n labelOnly: 'cax-button-loading-label-only'\n} as const;\n\n@Directive({\n selector: '[caxButton]',\n standalone: true,\n host: {\n class: 'cax-element'\n }\n})\nexport class ButtonDirective implements AfterViewInit, OnDestroy {\n @Input() iconPos: ButtonIconPosition = 'left';\n @Input() loadingIcon: string | undefined;\n @Input() get label(): string | undefined {\n return this._label as string;\n }\n set label(val: string) {\n this._label = val;\n if (this.initialized) {\n this.updateLabel();\n this.updateIcon();\n this.setStyleClass();\n }\n }\n\n @Input() get icon(): string {\n return this._icon as string;\n }\n set icon(val: string) {\n this._icon = val;\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n }\n\n @Input() get loading(): boolean {\n return this._loading;\n }\n set loading(val: boolean) {\n this._loading = val;\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n }\n\n @Input() severity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined;\n @Input({ transform: booleanAttribute }) raised: boolean = false;\n @Input({ transform: booleanAttribute }) rounded: boolean = false;\n @Input({ transform: booleanAttribute }) text: boolean = false;\n @Input({ transform: booleanAttribute }) outlined: boolean = false;\n @Input() size: 'small' | 'large' | undefined | null = null;\n @Input({ transform: booleanAttribute }) plain: boolean = false;\n\n public _label: string | undefined;\n public _icon: string | undefined;\n public _loading: boolean = false;\n public initialized: boolean | undefined;\n\n private get htmlElement(): HTMLElement {\n return this.el.nativeElement as HTMLElement;\n }\n\n private _internalClasses: string[] = Object.values(INTERNAL_BUTTON_CLASSES);\n\n constructor(\n public el: ElementRef,\n @Inject(DOCUMENT) private document: Document\n ) {}\n\n ngAfterViewInit() {\n DomHandler.addMultipleClasses(this.htmlElement, this.getStyleClass().join(' '));\n\n this.createIcon();\n this.createLabel();\n\n this.initialized = true;\n }\n\n getStyleClass(): string[] {\n const styleClass: string[] = [INTERNAL_BUTTON_CLASSES.button, INTERNAL_BUTTON_CLASSES.component];\n\n if (this.icon && !this.label && ObjectUtils.isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n\n if (this.loading) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.disabled, INTERNAL_BUTTON_CLASSES.loading);\n\n if (!this.icon && this.label) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.labelOnly);\n }\n\n if (this.icon && !this.label && !ObjectUtils.isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n }\n\n if (this.text) {\n styleClass.push('cax-button-text');\n }\n\n if (this.severity) {\n styleClass.push(`cax-button-${this.severity}`);\n }\n\n if (this.plain) {\n styleClass.push('cax-button-plain');\n }\n\n if (this.raised) {\n styleClass.push('cax-button-raised');\n }\n\n if (this.size) {\n styleClass.push(`cax-button-${this.size}`);\n }\n\n if (this.outlined) {\n styleClass.push('cax-button-outlined');\n }\n\n if (this.rounded) {\n styleClass.push('cax-button-rounded');\n }\n\n if (this.size === 'small') {\n styleClass.push('cax-button-sm');\n }\n\n if (this.size === 'large') {\n styleClass.push('cax-button-lg');\n }\n\n return styleClass;\n }\n\n setStyleClass() {\n const styleClass = this.getStyleClass();\n this.htmlElement.classList.remove(...this._internalClasses);\n this.htmlElement.classList.add(...styleClass);\n }\n\n createLabel() {\n const created = DomHandler.findSingle(this.htmlElement, '.cax-button-label');\n if (!created && this.label) {\n let labelElement = this.document.createElement('span');\n if (this.icon && !this.label) {\n labelElement.setAttribute('aria-hidden', 'true');\n }\n\n labelElement.className = 'cax-button-label';\n labelElement.appendChild(this.document.createTextNode(this.label));\n\n this.htmlElement.appendChild(labelElement);\n }\n }\n\n createIcon() {\n const created = DomHandler.findSingle(this.htmlElement, '.cax-button-icon');\n if (!created && (this.icon || this.loading)) {\n let iconElement = this.document.createElement('span');\n iconElement.className = 'cax-button-icon';\n iconElement.setAttribute('aria-hidden', 'true');\n let iconPosClass = this.label ? 'cax-button-icon-' + this.iconPos : null;\n\n if (iconPosClass) {\n DomHandler.addClass(iconElement, iconPosClass);\n }\n\n let iconClass = this.getIconClass();\n\n if (iconClass) {\n DomHandler.addMultipleClasses(iconElement, iconClass);\n }\n\n this.htmlElement.insertBefore(iconElement, this.htmlElement.firstChild);\n }\n }\n\n updateLabel() {\n let labelElement = DomHandler.findSingle(this.htmlElement, '.cax-button-label');\n\n if (!this.label) {\n labelElement && this.htmlElement.removeChild(labelElement);\n return;\n }\n\n labelElement ? (labelElement.textContent = this.label) : this.createLabel();\n }\n\n updateIcon() {\n let iconElement = DomHandler.findSingle(this.htmlElement, '.cax-button-icon');\n let labelElement = DomHandler.findSingle(this.htmlElement, '.cax-button-label');\n\n if (iconElement) {\n if (this.iconPos) {\n iconElement.className = 'cax-button-icon ' + (labelElement ? 'cax-button-icon-' + this.iconPos : '') + ' ' + this.getIconClass();\n } else {\n iconElement.className = 'cax-button-icon ' + this.getIconClass();\n }\n } else {\n this.createIcon();\n }\n }\n\n getIconClass() {\n return this.loading ? 'cax-button-loading-icon pi-spin ' + (this.loadingIcon ?? 'pi pi-spinner') : this.icon || 'cax-hidden';\n }\n\n ngOnDestroy() {\n this.initialized = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonDirective } from './button.directive';\nimport { Button } from './button';\nimport { SharedModule } from 'cax-design-system/api';\n\n@NgModule({\n imports: [ButtonDirective, Button],\n exports: [ButtonDirective, Button, SharedModule]\n})\nexport class ButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;MAsBa,MAAM,CAAA;AAoCI,IAAA,EAAA,CAAA;IAnCV,IAAI,GAAW,QAAQ,CAAC;IACxB,OAAO,GAAuB,MAAM,CAAC;AACrC,IAAA,IAAI,CAAqB;AACzB,IAAA,KAAK,CAAqB;AAC1B,IAAA,SAAS,CAAqB;AAC9B,IAAA,QAAQ,CAAqB;AAC7B,IAAA,KAAK,CAAqB;AACK,IAAA,QAAQ,CAAsB;IAC9B,OAAO,GAAY,KAAK,CAAC;AACxD,IAAA,WAAW,CAAqB;IACD,MAAM,GAAY,KAAK,CAAC;IACxB,OAAO,GAAY,KAAK,CAAC;IACzB,IAAI,GAAY,KAAK,CAAC;IACtB,KAAK,GAAY,KAAK,CAAC;AACtD,IAAA,QAAQ,CAA+G;IACxF,QAAQ,GAAY,KAAK,CAAC;IAC1B,IAAI,GAAY,KAAK,CAAC;AACvB,IAAA,QAAQ,CAAqB;AAC3D,IAAA,IAAI,CAAgC;AACpC,IAAA,KAAK,CAA8C;AACnD,IAAA,UAAU,CAAqB;AAC/B,IAAA,UAAU,CAAqB;AAC/B,IAAA,SAAS,CAAqB;AACC,IAAA,SAAS,CAAsB;AAE7D,IAAA,OAAO,GAA6B,IAAI,YAAY,EAAE,CAAC;AACvD,IAAA,OAAO,GAA6B,IAAI,YAAY,EAAc,CAAC;AACnE,IAAA,MAAM,GAA6B,IAAI,YAAY,EAAc,CAAC;AAE5E,IAAA,eAAe,CAA+B;AAC9C,IAAA,mBAAmB,CAA+B;AAClD,IAAA,YAAY,CAA+B;AAEb,IAAA,SAAS,CAAqC;AAE5E,IAAA,WAAA,CAAmB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;KAAI;IAErC,gBAAgB,GAAA;QACZ,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAClC,aAAA,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC9B,aAAA,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAI,CAAA,EAAA,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAC;KAC3E;IAED,SAAS,GAAA;AACL,QAAA,MAAM,WAAW,GAAG;AAChB,YAAA,iBAAiB,EAAE,IAAI;YACvB,sBAAsB,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK;YAC7D,uBAAuB,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK;YAC/D,qBAAqB,EAAE,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK;YAC3D,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK;SACpE,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,WAAW,CAAC,CAAmC,gCAAA,EAAA,IAAI,CAAC,WAAW,IAAI,EAAE,CAAE,CAAA,CAAC,GAAG,IAAI,CAAC;SACnF;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AAClB,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SACjC;AAED,QAAA,OAAO,WAAW,CAAC;KACtB;AAED,IAAA,IAAI,WAAW,GAAA;QACX,OAAO;AACH,YAAA,0BAA0B,EAAE,IAAI;YAChC,sBAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,KAAK;AACvH,YAAA,wBAAwB,EAAE,CAAC,IAAI,CAAC,KAAK;AACrC,YAAA,qBAAqB,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,KAAK,IAAI,CAAC,KAAK;YAC1F,oBAAoB,EAAE,IAAI,CAAC,OAAO;YAClC,iBAAiB,EAAE,IAAI,CAAC,IAAI;YAC5B,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ;YAC9C,mBAAmB,EAAE,IAAI,CAAC,MAAM;YAChC,oBAAoB,EAAE,IAAI,CAAC,OAAO;YAClC,iBAAiB,EAAE,IAAI,CAAC,IAAI;YAC5B,qBAAqB,EAAE,IAAI,CAAC,QAAQ;AACpC,YAAA,eAAe,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;AACtC,YAAA,eAAe,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;YACtC,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU;SAC1C,CAAC;KACL;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,SAAS;AACV,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM;AACV,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;AACV,gBAAA,KAAK,aAAa;AACd,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACzC,MAAM;AACV,gBAAA;AACI,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM;aACb;AACL,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;QACX,OAAO;AACH,YAAA,yBAAyB,EAAE,IAAI;AAC/B,YAAA,qBAAqB,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;SACvE,CAAC;KACL;IAEM,KAAK,GAAA;QACR,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;KAC5C;uGA9GQ,MAAM,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAM,yNAQK,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAChB,gBAAgB,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAEhB,gBAAgB,CAChB,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,gBAAgB,CAChB,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,gBAAgB,6BAChB,gBAAgB,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAEhB,gBAAgB,CAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAChB,gBAAgB,CAChB,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,eAAe,CAMf,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,gBAAgB,yNAUnB,WAAW,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxDhC,kwEAgDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlCc,IAAI,EAAE,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAAE,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,2EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,MAAM,EAAE,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,kFAAE,WAAW,EAAA,QAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQzE,MAAM,EAAA,UAAA,EAAA,CAAA;kBAZlB,SAAS;+BACI,YAAY,EAAA,UAAA,EAEV,IAAI,EAAA,OAAA,EACP,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAClE,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,aAAa;wBACpB,sBAAsB,EAAE,UAAU,IAAI,SAAS;AAClD,qBAAA,EAAA,QAAA,EAAA,kwEAAA,EAAA,CAAA;+EAGQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACkC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAC7B,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACkC,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACE,KAAK,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAC7B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACkC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACC,QAAQ,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAC5B,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACkC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAE5B,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAMuB,SAAS,EAAA,CAAA;sBAAtC,eAAe;uBAAC,WAAW,CAAA;;;AEhDhC,MAAM,uBAAuB,GAAG;AAC5B,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,QAAQ,EAAE,sBAAsB;AAChC,IAAA,QAAQ,EAAE,cAAc;AACxB,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,SAAS,EAAE,+BAA+B;CACpC,CAAC;MASE,eAAe,CAAA;AAyDb,IAAA,EAAA,CAAA;AACmB,IAAA,QAAA,CAAA;IAzDrB,OAAO,GAAuB,MAAM,CAAC;AACrC,IAAA,WAAW,CAAqB;AACzC,IAAA,IAAa,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAgB,CAAC;KAChC;IACD,IAAI,KAAK,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AAClB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;KACJ;AAED,IAAA,IAAa,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAe,CAAC;KAC/B;IACD,IAAI,IAAI,CAAC,GAAW,EAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;KACJ;AAED,IAAA,IAAa,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IACD,IAAI,OAAO,CAAC,GAAY,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AACpB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;KACJ;AAEQ,IAAA,QAAQ,CAA+G;IACxF,MAAM,GAAY,KAAK,CAAC;IACxB,OAAO,GAAY,KAAK,CAAC;IACzB,IAAI,GAAY,KAAK,CAAC;IACtB,QAAQ,GAAY,KAAK,CAAC;IACzD,IAAI,GAAyC,IAAI,CAAC;IACnB,KAAK,GAAY,KAAK,CAAC;AAExD,IAAA,MAAM,CAAqB;AAC3B,IAAA,KAAK,CAAqB;IAC1B,QAAQ,GAAY,KAAK,CAAC;AAC1B,IAAA,WAAW,CAAsB;AAExC,IAAA,IAAY,WAAW,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAA4B,CAAC;KAC/C;AAEO,IAAA,gBAAgB,GAAa,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAE5E,WACW,CAAA,EAAc,EACK,QAAkB,EAAA;QADrC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACK,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAC5C;IAEJ,eAAe,GAAA;AACX,QAAA,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhF,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;AAEnB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3B;IAED,aAAa,GAAA;QACT,MAAM,UAAU,GAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAEjG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;AAC/E,YAAA,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;SACrD;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAEnF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AAC1B,gBAAA,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;aACtD;YAED,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;AAChF,gBAAA,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACX,YAAA,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACtC;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,UAAU,CAAC,IAAI,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAC;SAClD;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACvC;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACxC;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,UAAU,CAAC,IAAI,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC,CAAC;SAC9C;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAC1C;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACzC;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACvB,YAAA,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACpC;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACvB,YAAA,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACpC;AAED,QAAA,OAAO,UAAU,CAAC;KACrB;IAED,aAAa,GAAA;AACT,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;KACjD;IAED,WAAW,GAAA;AACP,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE;YACxB,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC1B,gBAAA,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;aACpD;AAED,YAAA,YAAY,CAAC,SAAS,GAAG,kBAAkB,CAAC;AAC5C,YAAA,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAEnE,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SAC9C;KACJ;IAED,UAAU,GAAA;AACN,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACtD,YAAA,WAAW,CAAC,SAAS,GAAG,iBAAiB,CAAC;AAC1C,YAAA,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAChD,YAAA,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,kBAAkB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEzE,IAAI,YAAY,EAAE;AACd,gBAAA,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;aAClD;AAED,YAAA,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpC,IAAI,SAAS,EAAE;AACX,gBAAA,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;aACzD;AAED,YAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAC3E;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AAEhF,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC3D,OAAO;SACV;AAED,QAAA,YAAY,IAAI,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;KAC/E;IAED,UAAU,GAAA;AACN,QAAA,IAAI,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAC9E,QAAA,IAAI,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAEhF,IAAI,WAAW,EAAE;AACb,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,WAAW,CAAC,SAAS,GAAG,kBAAkB,IAAI,YAAY,GAAG,kBAAkB,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;aACpI;iBAAM;gBACH,WAAW,CAAC,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;aACpE;SACJ;aAAM;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;KACJ;IAED,YAAY,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,GAAG,kCAAkC,IAAI,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;KAChI;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC5B;AA3MQ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,4CA0DZ,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FA1DX,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAsCJ,gBAAgB,CAChB,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,gBAAgB,0BAChB,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAChB,gBAAgB,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAEhB,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FA3C3B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,aAAa;AACvB,qBAAA;AACJ,iBAAA,CAAA;;0BA2DQ,MAAM;2BAAC,QAAQ,CAAA;yCAzDX,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACO,KAAK,EAAA,CAAA;sBAAjB,KAAK;gBAYO,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAWO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAWG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACkC,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBACE,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAC7B,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACkC,KAAK,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;;;MC1D7B,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAZ,YAAY,EAAA,OAAA,EAAA,CAHX,eAAe,EAAE,MAAM,aACvB,eAAe,EAAE,MAAM,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;wGAEtC,YAAY,EAAA,OAAA,EAAA,CAHM,MAAM,EACE,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAEtC,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC;AACnD,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-button.mjs","sources":["../../src/app/components/button/button.ts","../../src/app/components/button/button.html","../../src/app/components/button/button.directive.ts","../../src/app/components/button/button.module.ts","../../src/app/components/button/cax-design-system-button.ts"],"sourcesContent":["import { AfterContentInit, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, TemplateRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { CaxTemplate } from 'cax-design-system/api';\nimport { booleanAttribute, numberAttribute } from '@angular/core';\nimport { NgClass, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { Ripple } from 'cax-design-system/ripple';\nimport { AutoFocus } from 'cax-design-system/autofocus';\nimport { SpinnerIcon } from 'cax-design-system/icons/spinner';\n\ntype ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom';\n\n@Component({\n selector: 'cax-button',\n templateUrl: './button.html',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, NgStyle, NgClass, Ripple, AutoFocus, SpinnerIcon],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element',\n '[class.cax-disabled]': 'disabled' || 'loading'\n }\n})\nexport class Button implements AfterContentInit {\n @Input() type: string = 'button';\n @Input() iconPos: ButtonIconPosition = 'left';\n @Input() icon: string | undefined;\n @Input() badge: string | undefined;\n @Input() rightIcon: string | undefined;\n @Input() leftIcon: string | undefined;\n @Input() label: string | undefined;\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n @Input({ transform: booleanAttribute }) loading: boolean = false;\n @Input() loadingIcon: string | undefined;\n @Input({ transform: booleanAttribute }) raised: boolean = false;\n @Input({ transform: booleanAttribute }) rounded: boolean = false;\n @Input({ transform: booleanAttribute }) text: boolean = false;\n @Input({ transform: booleanAttribute }) plain: boolean = false;\n @Input() severity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined;\n @Input({ transform: booleanAttribute }) outlined: boolean = false;\n @Input({ transform: booleanAttribute }) link: boolean = false;\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n @Input() size: 'small' | 'medium' | 'large' | undefined = 'medium';\n @Input() style: { [klass: string]: any } | null | undefined;\n @Input() styleClass: string | undefined;\n @Input() badgeClass: string | undefined;\n @Input() ariaLabel: string | undefined;\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n\n @Output() onClick: EventEmitter<MouseEvent> = new EventEmitter();\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n\n contentTemplate: TemplateRef<any> | undefined;\n loadingIconTemplate: TemplateRef<any> | undefined;\n iconTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n constructor(public el: ElementRef) {}\n\n spinnerIconClass(): string {\n return Object.entries(this.iconClass())\n .filter(([, value]) => !!value)\n .reduce((acc, [key]) => acc + ` ${key}`, 'cax-button-loading-icon');\n }\n\n iconClass() {\n const iconClasses = {\n 'cax-button-icon': true,\n 'cax-button-icon-left': this.iconPos === 'left' && this.label,\n 'cax-button-icon-right': this.iconPos === 'right' && this.label,\n 'cax-button-icon-top': this.iconPos === 'top' && this.label,\n 'cax-button-icon-bottom': this.iconPos === 'bottom' && this.label\n };\n\n if (this.loading) {\n iconClasses[`cax-button-loading-icon pi-spin ${this.loadingIcon ?? ''}`] = true;\n } else if (this.icon) {\n iconClasses[this.icon] = true;\n }\n\n return iconClasses;\n }\n\n get buttonClass() {\n return {\n 'cax-button cax-component': true,\n 'cax-button-icon-only': (this.icon || this.iconTemplate || this.loadingIcon || this.loadingIconTemplate) && !this.label,\n 'cax-button-center-icon': !this.label,\n 'cax-button-vertical': (this.iconPos === 'top' || this.iconPos === 'bottom') && this.label,\n 'cax-button-loading': this.loading,\n 'cax-button-link': this.link,\n [`cax-button-${this.severity}`]: this.severity,\n 'cax-button-raised': this.raised,\n 'cax-button-rounded': this.rounded,\n 'cax-button-text': this.text,\n 'cax-button-outlined': this.outlined,\n 'cax-button-sm': this.size === 'small',\n 'cax-button-md': this.size === 'medium',\n 'cax-button-lg': this.size === 'large',\n 'cax-button-plain': this.plain,\n [`${this.styleClass}`]: this.styleClass\n };\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'icon':\n this.iconTemplate = item.template;\n break;\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n badgeStyleClass() {\n return {\n 'cax-badge cax-component': true,\n 'cax-badge-no-gutter': this.badge && String(this.badge).length === 1\n };\n }\n\n public focus() {\n this.el.nativeElement.firstChild.focus();\n }\n}\n","<button\r\n [attr.type]=\"type\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [ngStyle]=\"style\"\r\n [disabled]=\"disabled || loading\"\r\n [ngClass]=\"buttonClass\"\r\n (click)=\"onClick.emit($event)\"\r\n (focus)=\"onFocus.emit($event)\"\r\n (blur)=\"onBlur.emit($event)\"\r\n caxRipple\r\n [attr.data-pc-name]=\"'button'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.tabindex]=\"tabindex\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n>\r\n <ng-container *ngIf=\"loading\" class=\"cax-button-content-wrapper\">\r\n <ng-container class=\"cax-button-loading-container\">\r\n <SpinnerIcon [styleClass]=\"spinnerIconClass()\" class=\"cax-main-loader cax-button-label\" [spin]=\"true\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'loadingicon'\" />\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <!-- Center Icon when there's no label -->\r\n <ng-container *ngIf=\"!label\">\r\n <span *ngIf=\"icon\" class=\"cax-button-icon-center\" [ngClass]=\"icon\"></span>\r\n </ng-container>\r\n\r\n <!-- Left and Right Icons with Label -->\r\n <ng-container class=\"cax-button-content-wrapper\" *ngIf=\"label\">\r\n <!-- Left Icon -->\r\n <ng-container *ngIf=\"leftIcon\">\r\n <span class=\"cax-button-icon-left\" [ngClass]=\"leftIcon\"></span>\r\n </ng-container>\r\n <!-- Label -->\r\n <span class=\"cax-button-label\">{{ label }}</span>\r\n <!-- Right Icon -->\r\n <ng-container *ngIf=\"rightIcon\">\r\n <span class=\"cax-button-icon-right\" [ngClass]=\"rightIcon\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Badge -->\r\n <span [ngClass]=\"badgeStyleClass()\" [class]=\"badgeClass\" *ngIf=\"badge\" [attr.data-pc-section]=\"'badge'\">{{ badge }}</span>\r\n</button>\r\n","import { Directive, ElementRef, Input, AfterViewInit, OnDestroy, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { ObjectUtils } from 'cax-design-system/utils';\nimport { booleanAttribute } from '@angular/core';\n\ntype ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom';\n\nconst INTERNAL_BUTTON_CLASSES = {\n button: 'cax-button',\n component: 'cax-component',\n iconOnly: 'cax-button-icon-only',\n disabled: 'cax-disabled',\n loading: 'cax-button-loading',\n labelOnly: 'cax-button-loading-label-only'\n} as const;\n\n@Directive({\n selector: '[caxButton]',\n standalone: true,\n host: {\n class: 'cax-element'\n }\n})\nexport class ButtonDirective implements AfterViewInit, OnDestroy {\n @Input() iconPos: ButtonIconPosition = 'left';\n @Input() loadingIcon: string | undefined;\n @Input() get label(): string | undefined {\n return this._label as string;\n }\n set label(val: string) {\n this._label = val;\n if (this.initialized) {\n this.updateLabel();\n this.updateIcon();\n this.setStyleClass();\n }\n }\n\n @Input() get icon(): string {\n return this._icon as string;\n }\n set icon(val: string) {\n this._icon = val;\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n }\n\n @Input() get loading(): boolean {\n return this._loading;\n }\n set loading(val: boolean) {\n this._loading = val;\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n }\n\n @Input() severity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined;\n @Input({ transform: booleanAttribute }) raised: boolean = false;\n @Input({ transform: booleanAttribute }) rounded: boolean = false;\n @Input({ transform: booleanAttribute }) text: boolean = false;\n @Input({ transform: booleanAttribute }) outlined: boolean = false;\n @Input() size: 'small' | 'large' | undefined | null = null;\n @Input({ transform: booleanAttribute }) plain: boolean = false;\n\n public _label: string | undefined;\n public _icon: string | undefined;\n public _loading: boolean = false;\n public initialized: boolean | undefined;\n\n private get htmlElement(): HTMLElement {\n return this.el.nativeElement as HTMLElement;\n }\n\n private _internalClasses: string[] = Object.values(INTERNAL_BUTTON_CLASSES);\n\n constructor(\n public el: ElementRef,\n @Inject(DOCUMENT) private document: Document\n ) {}\n\n ngAfterViewInit() {\n DomHandler.addMultipleClasses(this.htmlElement, this.getStyleClass().join(' '));\n\n this.createIcon();\n this.createLabel();\n\n this.initialized = true;\n }\n\n getStyleClass(): string[] {\n const styleClass: string[] = [INTERNAL_BUTTON_CLASSES.button, INTERNAL_BUTTON_CLASSES.component];\n\n if (this.icon && !this.label && ObjectUtils.isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n\n if (this.loading) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.disabled, INTERNAL_BUTTON_CLASSES.loading);\n\n if (!this.icon && this.label) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.labelOnly);\n }\n\n if (this.icon && !this.label && !ObjectUtils.isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n }\n\n if (this.text) {\n styleClass.push('cax-button-text');\n }\n\n if (this.severity) {\n styleClass.push(`cax-button-${this.severity}`);\n }\n\n if (this.plain) {\n styleClass.push('cax-button-plain');\n }\n\n if (this.raised) {\n styleClass.push('cax-button-raised');\n }\n\n if (this.size) {\n styleClass.push(`cax-button-${this.size}`);\n }\n\n if (this.outlined) {\n styleClass.push('cax-button-outlined');\n }\n\n if (this.rounded) {\n styleClass.push('cax-button-rounded');\n }\n\n if (this.size === 'small') {\n styleClass.push('cax-button-sm');\n }\n\n if (this.size === 'large') {\n styleClass.push('cax-button-lg');\n }\n\n return styleClass;\n }\n\n setStyleClass() {\n const styleClass = this.getStyleClass();\n this.htmlElement.classList.remove(...this._internalClasses);\n this.htmlElement.classList.add(...styleClass);\n }\n\n createLabel() {\n const created = DomHandler.findSingle(this.htmlElement, '.cax-button-label');\n if (!created && this.label) {\n let labelElement = this.document.createElement('span');\n if (this.icon && !this.label) {\n labelElement.setAttribute('aria-hidden', 'true');\n }\n\n labelElement.className = 'cax-button-label';\n labelElement.appendChild(this.document.createTextNode(this.label));\n\n this.htmlElement.appendChild(labelElement);\n }\n }\n\n createIcon() {\n const created = DomHandler.findSingle(this.htmlElement, '.cax-button-icon');\n if (!created && (this.icon || this.loading)) {\n let iconElement = this.document.createElement('span');\n iconElement.className = 'cax-button-icon';\n iconElement.setAttribute('aria-hidden', 'true');\n let iconPosClass = this.label ? 'cax-button-icon-' + this.iconPos : null;\n\n if (iconPosClass) {\n DomHandler.addClass(iconElement, iconPosClass);\n }\n\n let iconClass = this.getIconClass();\n\n if (iconClass) {\n DomHandler.addMultipleClasses(iconElement, iconClass);\n }\n\n this.htmlElement.insertBefore(iconElement, this.htmlElement.firstChild);\n }\n }\n\n updateLabel() {\n let labelElement = DomHandler.findSingle(this.htmlElement, '.cax-button-label');\n\n if (!this.label) {\n labelElement && this.htmlElement.removeChild(labelElement);\n return;\n }\n\n labelElement ? (labelElement.textContent = this.label) : this.createLabel();\n }\n\n updateIcon() {\n let iconElement = DomHandler.findSingle(this.htmlElement, '.cax-button-icon');\n let labelElement = DomHandler.findSingle(this.htmlElement, '.cax-button-label');\n\n if (iconElement) {\n if (this.iconPos) {\n iconElement.className = 'cax-button-icon ' + (labelElement ? 'cax-button-icon-' + this.iconPos : '') + ' ' + this.getIconClass();\n } else {\n iconElement.className = 'cax-button-icon ' + this.getIconClass();\n }\n } else {\n this.createIcon();\n }\n }\n\n getIconClass() {\n return this.loading ? 'cax-button-loading-icon pi-spin ' + (this.loadingIcon ?? 'pi pi-spinner') : this.icon || 'cax-hidden';\n }\n\n ngOnDestroy() {\n this.initialized = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonDirective } from './button.directive';\nimport { Button } from './button';\nimport { SharedModule } from 'cax-design-system/api';\n\n@NgModule({\n imports: [ButtonDirective, Button],\n exports: [ButtonDirective, Button, SharedModule]\n})\nexport class ButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -243,13 +243,13 @@ class Checkbox {
|
|
|
243
243
|
return !this.indeterminate && (this.binary ? this.model === this.trueValue : ObjectUtils.contains(this.value, this.model));
|
|
244
244
|
}
|
|
245
245
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Checkbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
246
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Checkbox, selector: "cax-checkbox", inputs: { size: "size", value: "value", name: "name", disabled: ["disabled", "disabled", booleanAttribute], binary: ["binary", "binary", booleanAttribute], label: "label", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass", formControl: "formControl", checkboxIcon: "checkboxIcon", readonly: ["readonly", "readonly", booleanAttribute], required: ["required", "required", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], trueValue: "trueValue", falseValue: "falseValue", variant: "variant", indeterminate: ["indeterminate", "indeterminate", booleanAttribute], model: "model" }, outputs: { indeterminateChange: "indeterminateChange", onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [CHECKBOX_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-checkbox cax-component': true,\r\n 'cax-checkbox-checked': checked(),\r\n 'cax-checkbox-indeterminate': indeterminate,\r\n 'cax-checkbox-disabled': disabled,\r\n 'cax-checkbox-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled'\r\n}\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'checkbox'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-cax-hidden-accessible]=\"true\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"checkbox\"\r\n [value]=\"value\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked()\"\r\n [attr.indeterminate]=\"indeterminate ? 'true' : null\"\r\n [attr.tabindex]=\"tabindex\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-checked]=\"checked()\"\r\n (change)=\"handleChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div\r\n class=\"cax-checkbox-box\"\r\n [ngClass]=\"{ 'cax-highlight': checked(), 'cax-disabled': disabled, 'cax-focus': focused,\r\n 'cax-checkbox-indeterminate': indeterminate, \r\n 'cax-checkbox-sm': size == 'sm',\r\n 'cax-checkbox-md': size == 'md',\r\n 'cax-checkbox-lg': size == 'lg', }\"\r\n (click)=\"onClick($event, input, true)\"\r\n [attr.data-cax-highlight]=\"checked()\"\r\n [attr.data-cax-disabled]=\"disabled\"\r\n [attr.data-cax-focused]=\"focused\"\r\n [attr.data-pc-section]=\"'input'\"\r\n >\r\n <ng-container *ngIf=\"indeterminate\">\r\n <span class=\"cax cax-
|
|
246
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Checkbox, selector: "cax-checkbox", inputs: { size: "size", value: "value", name: "name", disabled: ["disabled", "disabled", booleanAttribute], binary: ["binary", "binary", booleanAttribute], label: "label", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass", formControl: "formControl", checkboxIcon: "checkboxIcon", readonly: ["readonly", "readonly", booleanAttribute], required: ["required", "required", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], trueValue: "trueValue", falseValue: "falseValue", variant: "variant", indeterminate: ["indeterminate", "indeterminate", booleanAttribute], model: "model" }, outputs: { indeterminateChange: "indeterminateChange", onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [CHECKBOX_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-checkbox cax-component': true,\r\n 'cax-checkbox-checked': checked(),\r\n 'cax-checkbox-indeterminate': indeterminate,\r\n 'cax-checkbox-disabled': disabled,\r\n 'cax-checkbox-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled'\r\n}\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'checkbox'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-cax-hidden-accessible]=\"true\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"checkbox\"\r\n [value]=\"value\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked()\"\r\n [attr.indeterminate]=\"indeterminate ? 'true' : null\"\r\n [attr.tabindex]=\"tabindex\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-checked]=\"checked()\"\r\n (change)=\"handleChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div\r\n class=\"cax-checkbox-box\"\r\n [ngClass]=\"{ 'cax-highlight': checked(), 'cax-disabled': disabled, 'cax-focus': focused,\r\n 'cax-checkbox-indeterminate': indeterminate, \r\n 'cax-checkbox-sm': size == 'sm',\r\n 'cax-checkbox-md': size == 'md',\r\n 'cax-checkbox-lg': size == 'lg', }\"\r\n (click)=\"onClick($event, input, true)\"\r\n [attr.data-cax-highlight]=\"checked()\"\r\n [attr.data-cax-disabled]=\"disabled\"\r\n [attr.data-cax-focused]=\"focused\"\r\n [attr.data-pc-section]=\"'input'\"\r\n >\r\n <ng-container *ngIf=\"indeterminate\">\r\n <span class=\"cax cax-minus cax-checkbox-leaf-indeterminate cax-checkbox-icon\"></span> \r\n </ng-container>\r\n <ng-container *ngIf=\"checked() && !indeterminate\">\r\n <ng-container *ngIf=\"!checkboxIconTemplate\">\r\n <span *ngIf=\"checkboxIcon\" class=\"cax-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <!-- <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'cax-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" /> -->\r\n <ng-container *ngIf=\"!checkboxIcon\" >\r\n <svg\r\n width=\"11\"\r\n height=\"10\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.role]=\"role\"\r\n >\r\n <path\r\n d=\"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z\"\r\n fill=\"currentColor\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1\"\r\n />\r\n </svg>\r\n\r\n </ng-container>\r\n </ng-container>\r\n <span *ngIf=\"checkboxIconTemplate\" class=\"cax-checkbox-icon\" [attr.data-pc-section]=\"'icon'\">\r\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<label\r\n (click)=\"onClick($event, input, true)\"\r\n [class]=\"labelStyleClass\"\r\n [ngClass]=\"{\r\n 'cax-checkbox-label': true, \r\n 'cax-checkbox-label-active': checked(), \r\n 'cax-disabled': disabled, \r\n 'cax-checkbox-label-focus': focused,\r\n 'cax-checkbox-label-sm': size === 'sm',\r\n 'cax-checkbox-label-md': size === 'md',\r\n 'cax-checkbox-label-lg': size === 'lg'\r\n }\"\r\n *ngIf=\"label\"\r\n [attr.for]=\"inputId\"\r\n [attr.data-pc-section]=\"'label'\"\r\n>\r\n {{ label }}</label\r\n>\r\n", styles: ["@layer cax{.cax-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.cax-checkbox-disabled{cursor:default!important;pointer-events:none}.cax-checkbox-box{display:flex;justify-content:center;align-items:center}cax-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.cax-checkbox-label{line-height:1}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.AutoFocus, selector: "[caxAutoFocus]", inputs: ["autofocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
247
247
|
}
|
|
248
248
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Checkbox, decorators: [{
|
|
249
249
|
type: Component,
|
|
250
250
|
args: [{ selector: 'cax-checkbox', providers: [CHECKBOX_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
251
251
|
class: 'cax-element'
|
|
252
|
-
}, template: "<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-checkbox cax-component': true,\r\n 'cax-checkbox-checked': checked(),\r\n 'cax-checkbox-indeterminate': indeterminate,\r\n 'cax-checkbox-disabled': disabled,\r\n 'cax-checkbox-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled'\r\n}\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'checkbox'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-cax-hidden-accessible]=\"true\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"checkbox\"\r\n [value]=\"value\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked()\"\r\n [attr.indeterminate]=\"indeterminate ? 'true' : null\"\r\n [attr.tabindex]=\"tabindex\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-checked]=\"checked()\"\r\n (change)=\"handleChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div\r\n class=\"cax-checkbox-box\"\r\n [ngClass]=\"{ 'cax-highlight': checked(), 'cax-disabled': disabled, 'cax-focus': focused,\r\n 'cax-checkbox-indeterminate': indeterminate, \r\n 'cax-checkbox-sm': size == 'sm',\r\n 'cax-checkbox-md': size == 'md',\r\n 'cax-checkbox-lg': size == 'lg', }\"\r\n (click)=\"onClick($event, input, true)\"\r\n [attr.data-cax-highlight]=\"checked()\"\r\n [attr.data-cax-disabled]=\"disabled\"\r\n [attr.data-cax-focused]=\"focused\"\r\n [attr.data-pc-section]=\"'input'\"\r\n >\r\n <ng-container *ngIf=\"indeterminate\">\r\n <span class=\"cax cax-
|
|
252
|
+
}, template: "<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-checkbox cax-component': true,\r\n 'cax-checkbox-checked': checked(),\r\n 'cax-checkbox-indeterminate': indeterminate,\r\n 'cax-checkbox-disabled': disabled,\r\n 'cax-checkbox-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled'\r\n}\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'checkbox'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-cax-hidden-accessible]=\"true\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"checkbox\"\r\n [value]=\"value\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked()\"\r\n [attr.indeterminate]=\"indeterminate ? 'true' : null\"\r\n [attr.tabindex]=\"tabindex\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-checked]=\"checked()\"\r\n (change)=\"handleChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div\r\n class=\"cax-checkbox-box\"\r\n [ngClass]=\"{ 'cax-highlight': checked(), 'cax-disabled': disabled, 'cax-focus': focused,\r\n 'cax-checkbox-indeterminate': indeterminate, \r\n 'cax-checkbox-sm': size == 'sm',\r\n 'cax-checkbox-md': size == 'md',\r\n 'cax-checkbox-lg': size == 'lg', }\"\r\n (click)=\"onClick($event, input, true)\"\r\n [attr.data-cax-highlight]=\"checked()\"\r\n [attr.data-cax-disabled]=\"disabled\"\r\n [attr.data-cax-focused]=\"focused\"\r\n [attr.data-pc-section]=\"'input'\"\r\n >\r\n <ng-container *ngIf=\"indeterminate\">\r\n <span class=\"cax cax-minus cax-checkbox-leaf-indeterminate cax-checkbox-icon\"></span> \r\n </ng-container>\r\n <ng-container *ngIf=\"checked() && !indeterminate\">\r\n <ng-container *ngIf=\"!checkboxIconTemplate\">\r\n <span *ngIf=\"checkboxIcon\" class=\"cax-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <!-- <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'cax-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" /> -->\r\n <ng-container *ngIf=\"!checkboxIcon\" >\r\n <svg\r\n width=\"11\"\r\n height=\"10\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.role]=\"role\"\r\n >\r\n <path\r\n d=\"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z\"\r\n fill=\"currentColor\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1\"\r\n />\r\n </svg>\r\n\r\n </ng-container>\r\n </ng-container>\r\n <span *ngIf=\"checkboxIconTemplate\" class=\"cax-checkbox-icon\" [attr.data-pc-section]=\"'icon'\">\r\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<label\r\n (click)=\"onClick($event, input, true)\"\r\n [class]=\"labelStyleClass\"\r\n [ngClass]=\"{\r\n 'cax-checkbox-label': true, \r\n 'cax-checkbox-label-active': checked(), \r\n 'cax-disabled': disabled, \r\n 'cax-checkbox-label-focus': focused,\r\n 'cax-checkbox-label-sm': size === 'sm',\r\n 'cax-checkbox-label-md': size === 'md',\r\n 'cax-checkbox-label-lg': size === 'lg'\r\n }\"\r\n *ngIf=\"label\"\r\n [attr.for]=\"inputId\"\r\n [attr.data-pc-section]=\"'label'\"\r\n>\r\n {{ label }}</label\r\n>\r\n", styles: ["@layer cax{.cax-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.cax-checkbox-disabled{cursor:default!important;pointer-events:none}.cax-checkbox-box{display:flex;justify-content:center;align-items:center}cax-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.cax-checkbox-label{line-height:1}}\n"] }]
|
|
253
253
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.caxConfig }], propDecorators: { size: [{
|
|
254
254
|
type: Input
|
|
255
255
|
}], value: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-checkbox.mjs","sources":["../../src/app/components/checkbox/checkbox.ts","../../src/app/components/checkbox/checkbox.html","../../src/app/components/checkbox/checkbox.module.ts","../../src/app/components/checkbox/cax-design-system-checkbox.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n numberAttribute,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { CaxTemplate, caxConfig } from 'cax-design-system/api';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { ObjectUtils } from 'cax-design-system/utils';\nimport { CheckboxChangeEvent } from './checkbox.interface';\n\nexport const CHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Checkbox),\n multi: true\n};\n/**\n * Checkbox is an extension to standard checkbox element with theming.\n * @group Components\n */\n@Component({\n selector: 'cax-checkbox',\n templateUrl: './checkbox.html',\n providers: [CHECKBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./checkbox.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Checkbox implements ControlValueAccessor {\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * Value of the checkbox.\n * @group Props\n */\n @Input() value: any;\n /**\n * Name of the checkbox group.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Allows to select a boolean value instead of multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) binary: boolean | undefined;\n /**\n * Label of the checkbox.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the label.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\n /**\n * Form control value.\n * @group Props\n */\n @Input() formControl: FormControl | undefined;\n /**\n * Icon class of the checkbox icon.\n * @group Props\n */\n @Input() checkboxIcon: string | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that checkbox must be checked before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Value in checked state.\n * @group Props\n */\n @Input() trueValue: any = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n @Input() falseValue: any = false;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Callback to invoke on value change.\n * @param {CheckboxChangeEvent} event - Custom value change event.\n * @group Emits\n */\n @Input({ transform: booleanAttribute }) indeterminate: boolean = false;\n\n // New event emitter for indeterminate change\n @Output() indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() onChange: EventEmitter<CheckboxChangeEvent> = new EventEmitter();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n @ContentChildren(CaxTemplate) templates: Nullable<QueryList<CaxTemplate>>;\n\n checkboxIconTemplate: TemplateRef<any>;\n\n @Input() model: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean = false;\n\n constructor(\n public cd: ChangeDetectorRef,\n private readonly injector: Injector,\n public config: caxConfig\n ) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this.checkboxIconTemplate = item.template;\n break;\n }\n });\n }\n\n onClick(event, checkbox, focus: boolean) {\n event.preventDefault();\n\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.updateModel(event);\n\n if (focus) {\n checkbox.focus();\n }\n }\n\n updateModel(event) {\n let newModelValue;\n\n /*\n * When `formControlName` or `formControl` is used - `writeValue` is not called after control changes.\n * Otherwise it is causing multiple references to the actual value: there is one array reference inside the component and another one in the control value.\n * `selfControl` is the source of truth of references, it is made to avoid reference loss.\n * */\n const selfControl = this.injector.get<NgControl | null>(NgControl, null, { optional: true, self: true });\n\n const currentModelValue = selfControl && !this.formControl ? selfControl.value : this.model;\n\n if (!this.binary) {\n if (this.checked()) newModelValue = currentModelValue.filter((val) => !ObjectUtils.equals(val, this.value));\n else newModelValue = currentModelValue ? [...currentModelValue, this.value] : [this.value];\n\n this.onModelChange(newModelValue);\n this.model = newModelValue;\n\n if (this.formControl) {\n this.formControl.setValue(newModelValue);\n }\n } else {\n if (this.indeterminate) {\n this.indeterminate = false; // Reset indeterminate state on user interaction\n this.indeterminateChange.emit(this.indeterminate);\n }\n newModelValue = this.checked() ? this.falseValue : this.trueValue;\n this.model = newModelValue;\n this.onModelChange(newModelValue);\n }\n\n this.onChange.emit({ checked: newModelValue, originalEvent: event });\n }\n\n handleChange(event) {\n if (!this.readonly) {\n this.updateModel(event);\n }\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n writeValue(model: any): void {\n this.model = model;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n setTimeout(() => {\n this.disabled = val;\n this.cd.markForCheck();\n });\n }\n\n checked() {\n return !this.indeterminate && (this.binary ? this.model === this.trueValue : ObjectUtils.contains(this.value, this.model));\n }\n}\n","<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-checkbox cax-component': true,\r\n 'cax-checkbox-checked': checked(),\r\n 'cax-checkbox-indeterminate': indeterminate,\r\n 'cax-checkbox-disabled': disabled,\r\n 'cax-checkbox-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled'\r\n}\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'checkbox'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-cax-hidden-accessible]=\"true\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"checkbox\"\r\n [value]=\"value\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked()\"\r\n [attr.indeterminate]=\"indeterminate ? 'true' : null\"\r\n [attr.tabindex]=\"tabindex\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-checked]=\"checked()\"\r\n (change)=\"handleChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div\r\n class=\"cax-checkbox-box\"\r\n [ngClass]=\"{ 'cax-highlight': checked(), 'cax-disabled': disabled, 'cax-focus': focused,\r\n 'cax-checkbox-indeterminate': indeterminate, \r\n 'cax-checkbox-sm': size == 'sm',\r\n 'cax-checkbox-md': size == 'md',\r\n 'cax-checkbox-lg': size == 'lg', }\"\r\n (click)=\"onClick($event, input, true)\"\r\n [attr.data-cax-highlight]=\"checked()\"\r\n [attr.data-cax-disabled]=\"disabled\"\r\n [attr.data-cax-focused]=\"focused\"\r\n [attr.data-pc-section]=\"'input'\"\r\n >\r\n <ng-container *ngIf=\"indeterminate\">\r\n <span class=\"cax cax-leaf cax-checkbox-leaf-indeterminate cax-checkbox-icon\"></span> \r\n </ng-container>\r\n <ng-container *ngIf=\"checked() && !indeterminate\">\r\n <ng-container *ngIf=\"!checkboxIconTemplate\">\r\n <span *ngIf=\"checkboxIcon\" class=\"cax-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <!-- <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'cax-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" /> -->\r\n <ng-container *ngIf=\"!checkboxIcon\" >\r\n <svg\r\n width=\"11\"\r\n height=\"10\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.role]=\"role\"\r\n >\r\n <path\r\n d=\"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z\"\r\n fill=\"currentColor\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1\"\r\n />\r\n </svg>\r\n\r\n </ng-container>\r\n </ng-container>\r\n <span *ngIf=\"checkboxIconTemplate\" class=\"cax-checkbox-icon\" [attr.data-pc-section]=\"'icon'\">\r\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<label\r\n (click)=\"onClick($event, input, true)\"\r\n [class]=\"labelStyleClass\"\r\n [ngClass]=\"{\r\n 'cax-checkbox-label': true, \r\n 'cax-checkbox-label-active': checked(), \r\n 'cax-disabled': disabled, \r\n 'cax-checkbox-label-focus': focused,\r\n 'cax-checkbox-label-sm': size === 'sm',\r\n 'cax-checkbox-label-md': size === 'md',\r\n 'cax-checkbox-label-lg': size === 'lg'\r\n }\"\r\n *ngIf=\"label\"\r\n [attr.for]=\"inputId\"\r\n [attr.data-pc-section]=\"'label'\"\r\n>\r\n {{ label }}</label\r\n>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { Checkbox } from './checkbox';\n\n@NgModule({\n imports: [CommonModule, AutoFocusModule, SharedModule],\n exports: [Checkbox, SharedModule],\n declarations: [Checkbox]\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-checkbox.mjs","sources":["../../src/app/components/checkbox/checkbox.ts","../../src/app/components/checkbox/checkbox.html","../../src/app/components/checkbox/checkbox.module.ts","../../src/app/components/checkbox/cax-design-system-checkbox.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n numberAttribute,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { CaxTemplate, caxConfig } from 'cax-design-system/api';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { ObjectUtils } from 'cax-design-system/utils';\nimport { CheckboxChangeEvent } from './checkbox.interface';\n\nexport const CHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Checkbox),\n multi: true\n};\n/**\n * Checkbox is an extension to standard checkbox element with theming.\n * @group Components\n */\n@Component({\n selector: 'cax-checkbox',\n templateUrl: './checkbox.html',\n providers: [CHECKBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./checkbox.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Checkbox implements ControlValueAccessor {\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * Value of the checkbox.\n * @group Props\n */\n @Input() value: any;\n /**\n * Name of the checkbox group.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Allows to select a boolean value instead of multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) binary: boolean | undefined;\n /**\n * Label of the checkbox.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the label.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\n /**\n * Form control value.\n * @group Props\n */\n @Input() formControl: FormControl | undefined;\n /**\n * Icon class of the checkbox icon.\n * @group Props\n */\n @Input() checkboxIcon: string | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that checkbox must be checked before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Value in checked state.\n * @group Props\n */\n @Input() trueValue: any = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n @Input() falseValue: any = false;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Callback to invoke on value change.\n * @param {CheckboxChangeEvent} event - Custom value change event.\n * @group Emits\n */\n @Input({ transform: booleanAttribute }) indeterminate: boolean = false;\n\n // New event emitter for indeterminate change\n @Output() indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() onChange: EventEmitter<CheckboxChangeEvent> = new EventEmitter();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n @ContentChildren(CaxTemplate) templates: Nullable<QueryList<CaxTemplate>>;\n\n checkboxIconTemplate: TemplateRef<any>;\n\n @Input() model: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean = false;\n\n constructor(\n public cd: ChangeDetectorRef,\n private readonly injector: Injector,\n public config: caxConfig\n ) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this.checkboxIconTemplate = item.template;\n break;\n }\n });\n }\n\n onClick(event, checkbox, focus: boolean) {\n event.preventDefault();\n\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.updateModel(event);\n\n if (focus) {\n checkbox.focus();\n }\n }\n\n updateModel(event) {\n let newModelValue;\n\n /*\n * When `formControlName` or `formControl` is used - `writeValue` is not called after control changes.\n * Otherwise it is causing multiple references to the actual value: there is one array reference inside the component and another one in the control value.\n * `selfControl` is the source of truth of references, it is made to avoid reference loss.\n * */\n const selfControl = this.injector.get<NgControl | null>(NgControl, null, { optional: true, self: true });\n\n const currentModelValue = selfControl && !this.formControl ? selfControl.value : this.model;\n\n if (!this.binary) {\n if (this.checked()) newModelValue = currentModelValue.filter((val) => !ObjectUtils.equals(val, this.value));\n else newModelValue = currentModelValue ? [...currentModelValue, this.value] : [this.value];\n\n this.onModelChange(newModelValue);\n this.model = newModelValue;\n\n if (this.formControl) {\n this.formControl.setValue(newModelValue);\n }\n } else {\n if (this.indeterminate) {\n this.indeterminate = false; // Reset indeterminate state on user interaction\n this.indeterminateChange.emit(this.indeterminate);\n }\n newModelValue = this.checked() ? this.falseValue : this.trueValue;\n this.model = newModelValue;\n this.onModelChange(newModelValue);\n }\n\n this.onChange.emit({ checked: newModelValue, originalEvent: event });\n }\n\n handleChange(event) {\n if (!this.readonly) {\n this.updateModel(event);\n }\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n writeValue(model: any): void {\n this.model = model;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n setTimeout(() => {\n this.disabled = val;\n this.cd.markForCheck();\n });\n }\n\n checked() {\n return !this.indeterminate && (this.binary ? this.model === this.trueValue : ObjectUtils.contains(this.value, this.model));\n }\n}\n","<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-checkbox cax-component': true,\r\n 'cax-checkbox-checked': checked(),\r\n 'cax-checkbox-indeterminate': indeterminate,\r\n 'cax-checkbox-disabled': disabled,\r\n 'cax-checkbox-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled'\r\n}\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'checkbox'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-cax-hidden-accessible]=\"true\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"checkbox\"\r\n [value]=\"value\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked()\"\r\n [attr.indeterminate]=\"indeterminate ? 'true' : null\"\r\n [attr.tabindex]=\"tabindex\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-checked]=\"checked()\"\r\n (change)=\"handleChange($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div\r\n class=\"cax-checkbox-box\"\r\n [ngClass]=\"{ 'cax-highlight': checked(), 'cax-disabled': disabled, 'cax-focus': focused,\r\n 'cax-checkbox-indeterminate': indeterminate, \r\n 'cax-checkbox-sm': size == 'sm',\r\n 'cax-checkbox-md': size == 'md',\r\n 'cax-checkbox-lg': size == 'lg', }\"\r\n (click)=\"onClick($event, input, true)\"\r\n [attr.data-cax-highlight]=\"checked()\"\r\n [attr.data-cax-disabled]=\"disabled\"\r\n [attr.data-cax-focused]=\"focused\"\r\n [attr.data-pc-section]=\"'input'\"\r\n >\r\n <ng-container *ngIf=\"indeterminate\">\r\n <span class=\"cax cax-minus cax-checkbox-leaf-indeterminate cax-checkbox-icon\"></span> \r\n </ng-container>\r\n <ng-container *ngIf=\"checked() && !indeterminate\">\r\n <ng-container *ngIf=\"!checkboxIconTemplate\">\r\n <span *ngIf=\"checkboxIcon\" class=\"cax-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <!-- <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'cax-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" /> -->\r\n <ng-container *ngIf=\"!checkboxIcon\" >\r\n <svg\r\n width=\"11\"\r\n height=\"10\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.role]=\"role\"\r\n >\r\n <path\r\n d=\"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z\"\r\n fill=\"currentColor\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1\"\r\n />\r\n </svg>\r\n\r\n </ng-container>\r\n </ng-container>\r\n <span *ngIf=\"checkboxIconTemplate\" class=\"cax-checkbox-icon\" [attr.data-pc-section]=\"'icon'\">\r\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<label\r\n (click)=\"onClick($event, input, true)\"\r\n [class]=\"labelStyleClass\"\r\n [ngClass]=\"{\r\n 'cax-checkbox-label': true, \r\n 'cax-checkbox-label-active': checked(), \r\n 'cax-disabled': disabled, \r\n 'cax-checkbox-label-focus': focused,\r\n 'cax-checkbox-label-sm': size === 'sm',\r\n 'cax-checkbox-label-md': size === 'md',\r\n 'cax-checkbox-label-lg': size === 'lg'\r\n }\"\r\n *ngIf=\"label\"\r\n [attr.for]=\"inputId\"\r\n [attr.data-pc-section]=\"'label'\"\r\n>\r\n {{ label }}</label\r\n>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { Checkbox } from './checkbox';\n\n@NgModule({\n imports: [CommonModule, AutoFocusModule, SharedModule],\n exports: [Checkbox, SharedModule],\n declarations: [Checkbox]\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|