@acorex/components 19.8.0-next.19 → 19.8.0-next.20
Sign up to get free protection for your applications and to get access to all the features.
- package/button-group/lib/button-group-item.component.d.ts +1 -1
- package/fesm2022/acorex-components-button-group.mjs +8 -4
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +56 -0
- package/fesm2022/acorex-components-kbd.mjs.map +1 -0
- package/kbd/README.md +3 -0
- package/kbd/index.d.ts +3 -0
- package/kbd/lib/kbd-item/kbd-item.component.d.ts +7 -0
- package/kbd/lib/kbd.component.d.ts +7 -0
- package/kbd/lib/kbd.module.d.ts +9 -0
- package/package.json +5 -1
@@ -74,6 +74,6 @@ export declare class AXButtonGroupItemComponent extends AXButtonGroupItemCompone
|
|
74
74
|
*/
|
75
75
|
tabindex: string;
|
76
76
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXButtonGroupItemComponent, never>;
|
77
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXButtonGroupItemComponent, "ax-button-group-item", never, { "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "divided": { "alias": "divided"; "required": false; }; "data": { "alias": "data"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; "disabledChange": "disabledChange"; }, never,
|
77
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXButtonGroupItemComponent, "ax-button-group-item", never, { "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "divided": { "alias": "divided"; "required": false; }; "data": { "alias": "data"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; "disabledChange": "disabledChange"; }, never, ["*"], false, never>;
|
78
78
|
}
|
79
79
|
export {};
|
@@ -158,11 +158,11 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook
|
|
158
158
|
}
|
159
159
|
}
|
160
160
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXButtonGroupComponent, isStandalone: false, selector: "ax-button-group", inputs: { disabled: "disabled", color: "color", look: "look", selection: "selection" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", lookChange: "lookChange", colorChange: "colorChange", disabledChange: "disabledChange", onClick: "onClick", selectionChange: "selectionChange" }, host: { listeners: { "click": "__hostClick($event)" }, properties: { "class": "this.__hostClass", "attr.role": "this.role" } }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonGroupItemComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n", styles: ["ax-button-group ax-button-group-item ax-button{--ax-sys-transition-duration: 0}ax-button-group ax-button-group-item.ax-state-selected ax-button{z-index:1}ax-button-group ax-button-group-item:not(:first-child,:last-child) ax-button{--ax-comp-button-border-radius: 0}ax-button-group ax-button-group-item:not(:first-child) ax-button{margin-inline-start:-1px}ax-button-group ax-button-group-item:first-child ax-button{--ax-comp-button-border-radius: 0;border-start-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}ax-button-group ax-button-group-item:last-child ax-button{--ax-comp-button-border-radius: 0;border-start-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXButtonGroupComponent, isStandalone: false, selector: "ax-button-group", inputs: { disabled: "disabled", color: "color", look: "look", selection: "selection" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", lookChange: "lookChange", colorChange: "colorChange", disabledChange: "disabledChange", onClick: "onClick", selectionChange: "selectionChange" }, host: { listeners: { "click": "__hostClick($event)" }, properties: { "class": "this.__hostClass", "attr.role": "this.role" } }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonGroupItemComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n", styles: ["ax-button-group{display:flex}ax-button-group ax-button-group-item ax-button{--ax-sys-transition-duration: 0}ax-button-group ax-button-group-item.ax-state-selected ax-button{z-index:1}ax-button-group ax-button-group-item:not(:first-child,:last-child) ax-button{--ax-comp-button-border-radius: 0}ax-button-group ax-button-group-item:not(:first-child) ax-button{margin-inline-start:-1px}ax-button-group ax-button-group-item:first-child ax-button{--ax-comp-button-border-radius: 0;border-start-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}ax-button-group ax-button-group-item:last-child ax-button{--ax-comp-button-border-radius: 0;border-start-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
162
162
|
}
|
163
163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXButtonGroupComponent, decorators: [{
|
164
164
|
type: Component,
|
165
|
-
args: [{ selector: 'ax-button-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['disabled', 'color', 'look'], outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'], standalone: false, template: "<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n", styles: ["ax-button-group ax-button-group-item ax-button{--ax-sys-transition-duration: 0}ax-button-group ax-button-group-item.ax-state-selected ax-button{z-index:1}ax-button-group ax-button-group-item:not(:first-child,:last-child) ax-button{--ax-comp-button-border-radius: 0}ax-button-group ax-button-group-item:not(:first-child) ax-button{margin-inline-start:-1px}ax-button-group ax-button-group-item:first-child ax-button{--ax-comp-button-border-radius: 0;border-start-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}ax-button-group ax-button-group-item:last-child ax-button{--ax-comp-button-border-radius: 0;border-start-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}\n"] }]
|
165
|
+
args: [{ selector: 'ax-button-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['disabled', 'color', 'look'], outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'], standalone: false, template: "<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n", styles: ["ax-button-group{display:flex}ax-button-group ax-button-group-item ax-button{--ax-sys-transition-duration: 0}ax-button-group ax-button-group-item.ax-state-selected ax-button{z-index:1}ax-button-group ax-button-group-item:not(:first-child,:last-child) ax-button{--ax-comp-button-border-radius: 0}ax-button-group ax-button-group-item:not(:first-child) ax-button{margin-inline-start:-1px}ax-button-group ax-button-group-item:first-child ax-button{--ax-comp-button-border-radius: 0;border-start-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}ax-button-group ax-button-group-item:last-child ax-button{--ax-comp-button-border-radius: 0;border-start-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}\n"] }]
|
166
166
|
}], propDecorators: { onClick: [{
|
167
167
|
type: Output
|
168
168
|
}], selectionChange: [{
|
@@ -266,7 +266,9 @@ class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColor
|
|
266
266
|
[look]="btnGroup.look"
|
267
267
|
[disabled]="disabled"
|
268
268
|
[selected]="color === 'ghost' ? selected : false"
|
269
|
-
|
269
|
+
>
|
270
|
+
<ng-content></ng-content>
|
271
|
+
</ax-button>
|
270
272
|
`, isInline: true, dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
271
273
|
}
|
272
274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXButtonGroupItemComponent, decorators: [{
|
@@ -280,7 +282,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
280
282
|
[look]="btnGroup.look"
|
281
283
|
[disabled]="disabled"
|
282
284
|
[selected]="color === 'ghost' ? selected : false"
|
283
|
-
|
285
|
+
>
|
286
|
+
<ng-content></ng-content>
|
287
|
+
</ax-button>
|
284
288
|
`,
|
285
289
|
encapsulation: ViewEncapsulation.None,
|
286
290
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-button-group.mjs","sources":["../../../../libs/components/button-group/src/lib/button-group.component.ts","../../../../libs/components/button-group/src/lib/button-group.component.html","../../../../libs/components/button-group/src/lib/button-group-item.component.ts","../../../../libs/components/button-group/src/lib/button-group.module.ts","../../../../libs/components/button-group/src/acorex-components-button-group.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXSelectionMode,\n MXColorLookComponent,\n MXInteractiveComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n effect,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\n\n/**\n * A component that groups multiple buttons together, allowing for consistent styling and behavior.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'color', 'look'],\n outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'],\n standalone: false,\n})\nexport class AXButtonGroupComponent\n extends classes(MXInteractiveComponent, MXColorLookComponent)\n implements AfterContentInit\n{\n #effect = effect(() => {\n if (this._contentButtons().length) {\n this._bindEvents();\n this._bindProps();\n }\n });\n /**\n * Fires when any button in the group is clicked.\n *\n * @event\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n private _contentButtons = contentChildren(AXButtonGroupItemComponent, { descendants: true });\n\n /**\n * Emitted when the selection mode changes.\n *\n * @event\n */\n @Output()\n selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n\n /**\n * @ignore\n */\n private _selection: AXSelectionMode;\n\n /**\n * Defines the selection mode for the component.\n */\n @Input()\n public get selection(): AXSelectionMode {\n return this._selection;\n }\n\n /**\n * Sets the selection mode for the component.\n *\n * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.\n */\n public set selection(value: AXSelectionMode) {\n this.setOption({\n name: 'selection',\n value: value,\n afterCallback: (o, n) => {\n if (value == 'none') {\n this.clearSelection();\n }\n },\n });\n }\n\n /**\n * @ignore\n */\n ngAfterContentInit() {\n this._bindEvents();\n this._bindProps();\n // this._contentButtons().subscribe(() => {\n // this._bindEvents();\n // this._bindProps();\n // });\n }\n\n /**\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons()?.forEach((b: any) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c: any) => {\n this._handleClickEvent(c, b);\n });\n });\n }\n\n /**\n * @ignore\n */\n private _bindProps() {\n this._contentButtons()?.forEach((b: any) => {\n if (b['originDisabled'] == null) {\n b['originDisabled'] = b.disabled;\n }\n if (this.look) b.look = this.look;\n if (this.color) b.color = this.color;\n b.disabled = b['originDisabled'] || this.disabled;\n b.toggleable = false;\n });\n }\n\n /**\n * Updates component properties based on internal option changes.\n */\n override internalOptionChanged() {\n this._bindProps();\n }\n\n /**\n * @ignore\n */\n private _handleClickEvent(e: AXClickEvent, button: AXButtonGroupItemComponent) {\n if (this.selection == 'multiple') {\n button.selected = !button.selected;\n } else if (this.selection == 'single') {\n this.clearSelection();\n button.selected = true;\n } else {\n button.selected = false;\n }\n }\n\n /**\n * @ignore\n */\n private clearSelection() {\n this._contentButtons()?.forEach((c: AXButtonGroupItemComponent) => {\n c.selected = false;\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): { [key: string]: boolean } {\n const cssClasses = {\n 'ax-state-disabled': this.disabled,\n };\n cssClasses[`ax-${this.color || 'primary'}`] = true;\n cssClasses[`ax-${this.look || 'default'}`] = true;\n return cssClasses;\n }\n /**\n * @ignore\n */\n @HostBinding('attr.role') get role() {\n return 'group';\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n}\n","<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n","import {\n AXClickEvent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n color?: AXStyleColorType;\n}\n\n/**\n * Represents a button item with optional content like icons, text, and dropdowns.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group-item',\n template: `\n <ax-button\n [color]=\"selected ? color : 'ghost'\"\n [text]=\"text\"\n [look]=\"btnGroup.look\"\n [disabled]=\"disabled\"\n [selected]=\"color === 'ghost' ? selected : false\"\n ></ax-button>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n standalone: false,\n})\nexport class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n btnGroup = inject(AXButtonGroupComponent);\n /**\n * Text displayed on the button item.\n */\n @Input()\n text: string;\n\n /**\n * @ignore\n */\n private _selected: boolean;\n\n /**\n * Indicates whether the button item is selected.\n *\n * @param v - A boolean indicating the selected state.\n * Updates the view when the value changes.\n */\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n /**\n * Whether the item is visually separated from other items.\n * @defaultValue false\n */\n @Input()\n divided = false;\n\n /**\n * Data associated with the button item.\n */\n @Input()\n data: unknown;\n\n /**\n * The name of the button item.\n */\n @Input()\n name: string;\n\n /**\n * Emitted when the button item is clicked.\n * @event\n * The emitted value is an `AXClickEvent` object containing event details.\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n /**\n * @ignore\n */\n @HostListener('focus', ['$event'])\n private __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostListener('blur', ['$event'])\n private __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nconst COMPONENT = [AXButtonGroupComponent, AXButtonGroupItemComponent];\nconst MODULES = [CommonModule, AXDecoratorModule, AXButtonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-button-group.mjs","sources":["../../../../libs/components/button-group/src/lib/button-group.component.ts","../../../../libs/components/button-group/src/lib/button-group.component.html","../../../../libs/components/button-group/src/lib/button-group-item.component.ts","../../../../libs/components/button-group/src/lib/button-group.module.ts","../../../../libs/components/button-group/src/acorex-components-button-group.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXSelectionMode,\n MXColorLookComponent,\n MXInteractiveComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n effect,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\n\n/**\n * A component that groups multiple buttons together, allowing for consistent styling and behavior.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'color', 'look'],\n outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'],\n standalone: false,\n})\nexport class AXButtonGroupComponent\n extends classes(MXInteractiveComponent, MXColorLookComponent)\n implements AfterContentInit\n{\n #effect = effect(() => {\n if (this._contentButtons().length) {\n this._bindEvents();\n this._bindProps();\n }\n });\n /**\n * Fires when any button in the group is clicked.\n *\n * @event\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n private _contentButtons = contentChildren(AXButtonGroupItemComponent, { descendants: true });\n\n /**\n * Emitted when the selection mode changes.\n *\n * @event\n */\n @Output()\n selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n\n /**\n * @ignore\n */\n private _selection: AXSelectionMode;\n\n /**\n * Defines the selection mode for the component.\n */\n @Input()\n public get selection(): AXSelectionMode {\n return this._selection;\n }\n\n /**\n * Sets the selection mode for the component.\n *\n * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.\n */\n public set selection(value: AXSelectionMode) {\n this.setOption({\n name: 'selection',\n value: value,\n afterCallback: (o, n) => {\n if (value == 'none') {\n this.clearSelection();\n }\n },\n });\n }\n\n /**\n * @ignore\n */\n ngAfterContentInit() {\n this._bindEvents();\n this._bindProps();\n // this._contentButtons().subscribe(() => {\n // this._bindEvents();\n // this._bindProps();\n // });\n }\n\n /**\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons()?.forEach((b: any) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c: any) => {\n this._handleClickEvent(c, b);\n });\n });\n }\n\n /**\n * @ignore\n */\n private _bindProps() {\n this._contentButtons()?.forEach((b: any) => {\n if (b['originDisabled'] == null) {\n b['originDisabled'] = b.disabled;\n }\n if (this.look) b.look = this.look;\n if (this.color) b.color = this.color;\n b.disabled = b['originDisabled'] || this.disabled;\n b.toggleable = false;\n });\n }\n\n /**\n * Updates component properties based on internal option changes.\n */\n override internalOptionChanged() {\n this._bindProps();\n }\n\n /**\n * @ignore\n */\n private _handleClickEvent(e: AXClickEvent, button: AXButtonGroupItemComponent) {\n if (this.selection == 'multiple') {\n button.selected = !button.selected;\n } else if (this.selection == 'single') {\n this.clearSelection();\n button.selected = true;\n } else {\n button.selected = false;\n }\n }\n\n /**\n * @ignore\n */\n private clearSelection() {\n this._contentButtons()?.forEach((c: AXButtonGroupItemComponent) => {\n c.selected = false;\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): { [key: string]: boolean } {\n const cssClasses = {\n 'ax-state-disabled': this.disabled,\n };\n cssClasses[`ax-${this.color || 'primary'}`] = true;\n cssClasses[`ax-${this.look || 'default'}`] = true;\n return cssClasses;\n }\n /**\n * @ignore\n */\n @HostBinding('attr.role') get role() {\n return 'group';\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n}\n","<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n","import {\n AXClickEvent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n color?: AXStyleColorType;\n}\n\n/**\n * Represents a button item with optional content like icons, text, and dropdowns.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group-item',\n template: `\n <ax-button\n [color]=\"selected ? color : 'ghost'\"\n [text]=\"text\"\n [look]=\"btnGroup.look\"\n [disabled]=\"disabled\"\n [selected]=\"color === 'ghost' ? selected : false\"\n >\n <ng-content></ng-content>\n </ax-button>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n standalone: false,\n})\nexport class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n btnGroup = inject(AXButtonGroupComponent);\n /**\n * Text displayed on the button item.\n */\n @Input()\n text: string;\n\n /**\n * @ignore\n */\n private _selected: boolean;\n\n /**\n * Indicates whether the button item is selected.\n *\n * @param v - A boolean indicating the selected state.\n * Updates the view when the value changes.\n */\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n /**\n * Whether the item is visually separated from other items.\n * @defaultValue false\n */\n @Input()\n divided = false;\n\n /**\n * Data associated with the button item.\n */\n @Input()\n data: unknown;\n\n /**\n * The name of the button item.\n */\n @Input()\n name: string;\n\n /**\n * Emitted when the button item is clicked.\n * @event\n * The emitted value is an `AXClickEvent` object containing event details.\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n /**\n * @ignore\n */\n @HostListener('focus', ['$event'])\n private __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostListener('blur', ['$event'])\n private __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nconst COMPONENT = [AXButtonGroupComponent, AXButtonGroupItemComponent];\nconst MODULES = [CommonModule, AXDecoratorModule, AXButtonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { input, signal, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, NgModule } from '@angular/core';
|
3
|
+
import { CommonModule } from '@angular/common';
|
4
|
+
|
5
|
+
class AXKBDItemComponent {
|
6
|
+
constructor() {
|
7
|
+
this.keys = input();
|
8
|
+
this.modifierKeys = signal(['Ctrl', 'Shift', 'Alt', 'Meta']);
|
9
|
+
}
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXKBDItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXKBDItemComponent, isStandalone: false, selector: "ax-kbd-item", inputs: { keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (typeof keys() === 'string') {\n <kbd>{{ keys() }}</kbd>\n} @else {\n @for (key of keys(); track $index; let last = $last) {\n <kbd>{{ key }}</kbd>\n @if (!last && modifierKeys().includes(key)) {\n <span>+</span>\n }\n }\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
12
|
+
}
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXKBDItemComponent, decorators: [{
|
14
|
+
type: Component,
|
15
|
+
args: [{ selector: 'ax-kbd-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (typeof keys() === 'string') {\n <kbd>{{ keys() }}</kbd>\n} @else {\n @for (key of keys(); track $index; let last = $last) {\n <kbd>{{ key }}</kbd>\n @if (!last && modifierKeys().includes(key)) {\n <span>+</span>\n }\n }\n}\n" }]
|
16
|
+
}] });
|
17
|
+
|
18
|
+
class AXKBDComponent {
|
19
|
+
constructor() {
|
20
|
+
this.look = input('outline');
|
21
|
+
}
|
22
|
+
get __hostClass() {
|
23
|
+
return `ax-${this.look()}`;
|
24
|
+
}
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXKBDComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.3", type: AXKBDComponent, isStandalone: false, selector: "ax-kbd", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, ngImport: i0, template: "<ng-content select=\"ax-kbd-item\"></ng-content>\n", styles: ["ax-kbd{display:flex;-webkit-user-select:none;user-select:none;line-height:normal;gap:var(--ax-comp-kbd-gap, 1rem)}ax-kbd ax-kbd-item{gap:.25rem;display:flex;align-items:center;gap:var(--ax-comp-kbd-item-gap, .25rem)}ax-kbd ax-kbd-item kbd{padding-inline:.5rem;padding-block:.125rem;border-radius:var(--ax-comp-kbd-item-border-radius, var(--ax-sys-border-radius));background-color:rgba(var(--ax-comp-kbd-item-bg-color, var(--ax-sys-color-ghost-200)))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
27
|
+
}
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXKBDComponent, decorators: [{
|
29
|
+
type: Component,
|
30
|
+
args: [{ selector: 'ax-kbd', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content select=\"ax-kbd-item\"></ng-content>\n", styles: ["ax-kbd{display:flex;-webkit-user-select:none;user-select:none;line-height:normal;gap:var(--ax-comp-kbd-gap, 1rem)}ax-kbd ax-kbd-item{gap:.25rem;display:flex;align-items:center;gap:var(--ax-comp-kbd-item-gap, .25rem)}ax-kbd ax-kbd-item kbd{padding-inline:.5rem;padding-block:.125rem;border-radius:var(--ax-comp-kbd-item-border-radius, var(--ax-sys-border-radius));background-color:rgba(var(--ax-comp-kbd-item-bg-color, var(--ax-sys-color-ghost-200)))}\n"] }]
|
31
|
+
}], propDecorators: { __hostClass: [{
|
32
|
+
type: HostBinding,
|
33
|
+
args: ['class']
|
34
|
+
}] } });
|
35
|
+
|
36
|
+
class AXKBDModule {
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXKBDModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
38
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXKBDModule, declarations: [AXKBDComponent, AXKBDItemComponent], imports: [CommonModule], exports: [AXKBDComponent, AXKBDItemComponent] }); }
|
39
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXKBDModule, imports: [CommonModule] }); }
|
40
|
+
}
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXKBDModule, decorators: [{
|
42
|
+
type: NgModule,
|
43
|
+
args: [{
|
44
|
+
declarations: [AXKBDComponent, AXKBDItemComponent],
|
45
|
+
imports: [CommonModule],
|
46
|
+
exports: [AXKBDComponent, AXKBDItemComponent],
|
47
|
+
providers: [],
|
48
|
+
}]
|
49
|
+
}] });
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Generated bundle index. Do not edit.
|
53
|
+
*/
|
54
|
+
|
55
|
+
export { AXKBDComponent, AXKBDItemComponent, AXKBDModule };
|
56
|
+
//# sourceMappingURL=acorex-components-kbd.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-components-kbd.mjs","sources":["../../../../libs/components/kbd/src/lib/kbd-item/kbd-item.component.ts","../../../../libs/components/kbd/src/lib/kbd-item/kbd-item.component.html","../../../../libs/components/kbd/src/lib/kbd.component.ts","../../../../libs/components/kbd/src/lib/kbd.component.html","../../../../libs/components/kbd/src/lib/kbd.module.ts","../../../../libs/components/kbd/src/acorex-components-kbd.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-kbd-item',\n templateUrl: './kbd-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AXKBDItemComponent {\n keys = input<string[] | string>();\n\n modifierKeys = signal(['Ctrl', 'Shift', 'Alt', 'Meta']);\n}\n","@if (typeof keys() === 'string') {\n <kbd>{{ keys() }}</kbd>\n} @else {\n @for (key of keys(); track $index; let last = $last) {\n <kbd>{{ key }}</kbd>\n @if (!last && modifierKeys().includes(key)) {\n <span>+</span>\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-kbd',\n templateUrl: './kbd.component.html',\n styleUrls: ['./kbd.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AXKBDComponent {\n look = input<'solid' | 'outline' | 'blank'>('outline');\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.look()}`;\n }\n}\n","<ng-content select=\"ax-kbd-item\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXKBDItemComponent } from './kbd-item/kbd-item.component';\nimport { AXKBDComponent } from './kbd.component';\n\n@NgModule({\n declarations: [AXKBDComponent, AXKBDItemComponent],\n imports: [CommonModule],\n exports: [AXKBDComponent, AXKBDItemComponent],\n providers: [],\n})\nexport class AXKBDModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/kbd/README.md
ADDED
package/kbd/index.d.ts
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class AXKBDItemComponent {
|
3
|
+
keys: import("@angular/core").InputSignal<string | string[]>;
|
4
|
+
modifierKeys: import("@angular/core").WritableSignal<string[]>;
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXKBDItemComponent, never>;
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXKBDItemComponent, "ax-kbd-item", never, { "keys": { "alias": "keys"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
7
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class AXKBDComponent {
|
3
|
+
look: import("@angular/core").InputSignal<"solid" | "outline" | "blank">;
|
4
|
+
private get __hostClass();
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXKBDComponent, never>;
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXKBDComponent, "ax-kbd", never, { "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, never, ["ax-kbd-item"], false, never>;
|
7
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "./kbd.component";
|
3
|
+
import * as i2 from "./kbd-item/kbd-item.component";
|
4
|
+
import * as i3 from "@angular/common";
|
5
|
+
export declare class AXKBDModule {
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXKBDModule, never>;
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXKBDModule, [typeof i1.AXKBDComponent, typeof i2.AXKBDItemComponent], [typeof i3.CommonModule], [typeof i1.AXKBDComponent, typeof i2.AXKBDItemComponent]>;
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXKBDModule>;
|
9
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@acorex/components",
|
3
|
-
"version": "19.8.0-next.
|
3
|
+
"version": "19.8.0-next.20",
|
4
4
|
"peerDependencies": {
|
5
5
|
"@angular/common": ">=19.0.0",
|
6
6
|
"@angular/core": ">=19.0.0",
|
@@ -165,6 +165,10 @@
|
|
165
165
|
"types": "./json-viewer/index.d.ts",
|
166
166
|
"default": "./fesm2022/acorex-components-json-viewer.mjs"
|
167
167
|
},
|
168
|
+
"./kbd": {
|
169
|
+
"types": "./kbd/index.d.ts",
|
170
|
+
"default": "./fesm2022/acorex-components-kbd.mjs"
|
171
|
+
},
|
168
172
|
"./label": {
|
169
173
|
"types": "./label/index.d.ts",
|
170
174
|
"default": "./fesm2022/acorex-components-label.mjs"
|