@acorex/components 22.1.0-next.0 → 22.1.0-next.2
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/combo-box/README.md +12 -3
- package/fesm2022/acorex-components-action-sheet.mjs +1 -0
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +372 -30
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +2 -2
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +19 -3
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +4 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +2 -2
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +4 -4
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-fab.mjs +2 -2
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +724 -175
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +2 -2
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +26 -6
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +9 -2
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +1 -1
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +7 -6
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +4 -2
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +6 -6
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +19 -9
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +9 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/lookup/README.md +13 -8
- package/package.json +3 -3
- package/select-box/README.md +5 -0
- package/types/acorex-components-action-sheet.d.ts +9 -1
- package/types/acorex-components-combo-box.d.ts +147 -18
- package/types/acorex-components-decorators.d.ts +1 -0
- package/types/acorex-components-dialog.d.ts +9 -0
- package/types/acorex-components-lookup.d.ts +260 -90
- package/types/acorex-components-menu.d.ts +2 -0
- package/types/acorex-components-notification.d.ts +11 -1
- package/types/acorex-components-popover.d.ts +4 -1
- package/types/acorex-components-popup.d.ts +9 -1
- package/types/acorex-components-select-box.d.ts +10 -4
- package/types/acorex-components-toast.d.ts +10 -1
package/combo-box/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @acorex/components/combo-box
|
|
2
2
|
|
|
3
|
-
A minimal, accessible combo box component for selecting
|
|
3
|
+
A minimal, accessible combo box component for selecting one or more values from a list, built on top of `@angular/aria/combobox`.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
@@ -14,13 +14,22 @@ const items: AXComboBoxItem[] = [
|
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
```html
|
|
17
|
-
<ax-combo-box [items]="items" [(
|
|
17
|
+
<ax-combo-box [items]="items" [(ngModel)]="selected" placeholder="Select a fruit"></ax-combo-box>
|
|
18
|
+
|
|
19
|
+
<!-- Multi-select: model value is an array -->
|
|
20
|
+
<ax-combo-box [items]="items" [multiple]="true" [(ngModel)]="selectedValues" placeholder="Select fruits"></ax-combo-box>
|
|
18
21
|
```
|
|
19
22
|
|
|
23
|
+
Value binding uses the signal `value` model (`FormValueControl`) — prefer `[(ngModel)]` (or `[(value)]` / signal forms). No `ControlValueAccessor`.
|
|
24
|
+
|
|
20
25
|
- `id`: used for typeahead filtering and list identity
|
|
21
26
|
- `text`: shown in the list and trigger/input
|
|
22
|
-
- `value`: written
|
|
27
|
+
- `value`: written when the item is selected (`string | number`)
|
|
28
|
+
- `multiple`: when `true`, select multiple items (chips in the trigger; model is an array)
|
|
23
29
|
- `searchable="true"` (default): a text input with typeahead filtering on `id`
|
|
24
30
|
- `searchable="false"`: a select-like, read-only trigger
|
|
31
|
+
- `adaptivityEnabled="true"` (default): on small screens the list opens as a bottom actionsheet instead of a dropdown; set `false` to always use the anchored dropdown
|
|
32
|
+
- `caption`: title shown in the actionsheet header (falls back to `placeholder`)
|
|
33
|
+
- `alternate`: when `true`, list rows use alternating background colors for easier scanning
|
|
25
34
|
- `look`: the same editor-container look schemes as other editors like `ax-text-box`
|
|
26
35
|
- `ax-prefix` / `ax-suffix`: project decorators into the editor container, same as `ax-text-box`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-action-sheet.mjs","sources":["../../../../packages/components/action-sheet/src/lib/action-sheet.class.ts","../../../../packages/components/action-sheet/src/lib/action-sheet.service.ts","../../../../packages/components/action-sheet/src/lib/action-sheet.component.ts","../../../../packages/components/action-sheet/src/lib/action-sheet.component.html","../../../../packages/components/action-sheet/src/lib/action-sheet.module.ts","../../../../packages/components/action-sheet/src/acorex-components-action-sheet.ts"],"sourcesContent":["import { AXComponentCloseEvent, AXStyleColorType } from '@acorex/cdk/common';\nimport { AXOverlayRef } from '@acorex/cdk/overlay';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport { Directive, input, TemplateRef, Type } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport interface AXActionSheetItem {\n name?: string;\n text: string;\n icon?: string;\n disabled?: boolean;\n color?: AXStyleColorType;\n onClick?: () => void;\n suffix?: {\n text: string;\n };\n break?: boolean;\n group?: {\n name?: string;\n title?: string;\n };\n}\n\nexport type AXActionSheetContentType = TemplateRef<unknown> | Type<unknown>;\n\nexport interface AXActionSheetConfig {\n title?: string;\n subTitle?: string;\n closeButton?: boolean;\n header?: boolean;\n /** @deprecated Use `inputs` instead to pass data to the action sheet content component. */\n data?: unknown;\n /** Input values to pass to the content component */\n inputs?: unknown;\n closeOnBackdropClick?: boolean;\n items?: AXActionSheetItem[];\n content?: AXActionSheetContentType;\n draggable?: boolean;\n dragUp?: boolean;\n}\n\n/**\n * Reference to an open action sheet, providing methods to interact with it.\n */\nexport interface AXActionSheetRef<TResult = unknown> {\n /** Closes the action sheet with optional result data */\n close: (data?: TResult) => void;\n /** Sets input values on the content component */\n setInputs: (values: AXComponentInputs) => void;\n /** Observable that emits when the action sheet is closed */\n onClose: Subject<TResult>;\n}\n\n/**\n * Base class for components that are displayed inside an action sheet.\n * Extend this class to get access to the action sheet reference and helper methods.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class MyActionSheetContent extends AXActionSheetComponentBase {\n * save() {\n * this.close({ saved: true });\n * }\n * }\n * ```\n */\n@Directive()\nexport abstract class AXActionSheetComponentBase {\n /** Reference to the parent action sheet */\n __actionSheet__ = input<AXActionSheetRef>();\n\n /**\n * Closes the action sheet with optional result data.\n * @param data - Optional data to pass to the close handler\n */\n close(data: any = null) {\n this.__actionSheet__()?.close(data);\n }\n}\n\nexport interface AXActionSheetEvent {\n overlayRef?: AXOverlayRef<unknown>;\n nativeEvent?: Event;\n isUserInteraction: boolean;\n data: {\n state: 'open' | 'close' | 'dragStart' | 'dragEnd' | 'fullScreen' | 'normalSize';\n };\n}\n\n/**\n * @internal\n * Internal reference used by action sheet service to manage overlay instances\n */\nexport interface AXActionSheetInternalRef {\n overlayRef: AXOverlayRef<unknown>;\n close: (result?: AXComponentCloseEvent) => void;\n}\n","import { AXComponentCloseEvent } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport { ComponentRef, inject, Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport {\n AXActionSheetConfig,\n AXActionSheetEvent,\n AXActionSheetInternalRef,\n AXActionSheetRef,\n} from './action-sheet.class';\nimport { AXActionSheetComponent } from './action-sheet.component';\n\n/**\n * @deprecated Use `AXActionSheetRef` instead\n */\nexport interface AXActionSheetDialogRef<TResult = unknown> {\n close: (e?: TResult) => void;\n setInputs: (values: AXComponentInputs) => void;\n closed: Subject<{ data?: TResult }>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXActionSheetService {\n private overlayService = inject(AXOverlayService);\n private readonly actionSheetEvent = new Subject<AXActionSheetEvent>();\n actionSheetEvent$ = this.actionSheetEvent.asObservable();\n\n /**\n * Opens an action sheet with the specified configuration.\n * This method creates and displays an action sheet component with the provided options.\n * The action sheet will slide up from the bottom of the screen and can be dismissed\n * by tapping outside, pressing escape, or calling the close method.\n *\n * @param config - The configuration object that defines the action sheet's appearance and behavior.\n * Must include at least a title or content property. Will be merged with default config.\n * @param isUserInteraction - Whether the action sheet is opened by user interaction (default: true).\n * This affects how the action sheet handles accessibility and focus management.\n * @returns A promise that resolves to a dialog reference containing methods to control the action sheet.\n * The reference includes methods like close(), setInputs() and a closed observable for tracking dialog state.\n * @example\n * ```typescript\n * const dialogRef = await actionSheetService.open({\n * title: 'Choose an option',\n * content: MyCustomComponent,\n * inputs: { userId: 123, userName: 'John' }\n * });\n *\n * // Update inputs dynamically\n * dialogRef.setInputs({ userName: 'Jane' });\n *\n * dialogRef.closed.subscribe(result => {\n * console.log('Action sheet closed with:', result.data);\n * });\n * ```\n */\n async open<TResult = any>(config: AXActionSheetConfig, isUserInteraction = true): Promise<AXActionSheetRef<TResult>> {\n const defaultConfig: AXActionSheetConfig = {\n title: 'action-sheet.title',\n closeButton: true,\n closeOnBackdropClick: true,\n header: true,\n };\n config = Object.assign(defaultConfig, config);\n\n const closed = new Subject<{ data?: TResult }>();\n const onClose = new Subject<TResult>();\n // Using let because internalRef is assigned after overlayRef is created\n // eslint-disable-next-line prefer-const\n let internalRef: AXActionSheetInternalRef;\n\n const closeActionSheet = (result?: AXComponentCloseEvent) => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n onClose.next(result?.data as TResult);\n onClose.complete();\n if (result?.data) {\n closed.next({ data: result.data as TResult });\n } else {\n closed.next({});\n }\n closed.complete();\n }\n };\n\n // Create the action sheet reference that will be passed to content components\n const actionSheetRef: AXActionSheetRef<TResult> = {\n close: (data?: TResult) => {\n const component = internalRef?.overlayRef.instance;\n if (component && 'close' in component) {\n (component as unknown as AXActionSheetComponent).close(data);\n } else {\n closeActionSheet({ data } as AXComponentCloseEvent);\n }\n },\n setInputs: (values: AXComponentInputs) => {\n const ref = internalRef?.overlayRef.instance;\n if (ref && ref instanceof ComponentRef) {\n const componentInstance = ref.instance as AXActionSheetComponent;\n componentInstance.setContentInputs(values);\n } else if (ref && 'setContentInputs' in ref) {\n (ref as unknown as AXActionSheetComponent).setContentInputs(values);\n }\n },\n onClose,\n };\n\n const overlayRef = await this.overlayService.create<AXActionSheetComponent>(AXActionSheetComponent, {\n inputs: {\n data: config,\n onClose: closeActionSheet,\n __actionSheetRef__: actionSheetRef,\n },\n centered: false,\n panelClass: ['ax-action-sheet-panel'],\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: config.closeOnBackdropClick,\n },\n onDispose: () => {\n // Clean up when disposed externally (e.g., backdrop click)\n closed.next({});\n closed.complete();\n },\n });\n\n internalRef = {\n overlayRef,\n close: closeActionSheet,\n };\n\n // Set the overlayRef input after creation\n if (overlayRef.instance && 'setInput' in overlayRef.instance) {\n (overlayRef.instance as { setInput: (name: string, value: unknown) => void }).setInput('overlayRef', overlayRef);\n }\n\n // Positioning is handled by CSS via .ax-action-sheet-panel class\n\n this.actionSheetEvent.next({\n overlayRef,\n data: { state: 'open' },\n isUserInteraction,\n });\n\n const axDialogRef: AXActionSheetRef<TResult> = {\n close: actionSheetRef.close,\n setInputs: actionSheetRef.setInputs,\n onClose: actionSheetRef.onClose,\n };\n\n return axDialogRef;\n }\n\n /**\n * Sets the current state of action sheet events.\n * This method is used internally to track action sheet lifecycle events such as open, close,\n * drag start, drag end, and full screen transitions. It emits events through the actionSheetEvent$\n * observable for external subscribers to monitor action sheet state changes.\n *\n * @param event - The action sheet event to emit. Contains information about the event type,\n * associated data, user interaction status, and overlay reference.\n * @returns void\n */\n setActionSheetEventState(event: AXActionSheetEvent): void {\n this.actionSheetEvent.next(event);\n }\n}\n","import {\n AXClosableComponent,\n AXComponent,\n AXComponentCloseEvent,\n AXFocusableComponent,\n MXBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXOverlayRef } from '@acorex/cdk/overlay';\nimport { AXDecoratorCloseButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXComponentInputs, AXComponentType } from '@acorex/core/components';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ComponentRef,\n computed,\n DOCUMENT,\n inject,\n input,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n signal,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXActionSheetConfig, AXActionSheetItem, AXActionSheetRef } from './action-sheet.class';\nimport { AXActionSheetService } from './action-sheet.service';\n\n/**\n * A component for displaying an action sheet, which is a menu that slides up from the bottom of the screen.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-action-sheet',\n templateUrl: './action-sheet.component.html',\n styleUrls: ['./action-sheet.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n '(keydown.escape)': 'onKeydownHandler()',\n },\n providers: [\n { provide: AXComponent, useExisting: AXActionSheetComponent },\n {\n provide: AXClosableComponent,\n useExisting: AXActionSheetComponent,\n },\n {\n provide: AXFocusableComponent,\n useExisting: AXActionSheetComponent,\n },\n ],\n imports: [\n AXDecoratorGenericComponent,\n AXDecoratorCloseButtonComponent,\n NgTemplateOutlet,\n AXTranslatorPipe,\n AsyncPipe,\n ],\n})\nexport class AXActionSheetComponent extends MXBaseComponent implements OnInit, AfterViewInit, OnDestroy {\n /** Action sheet configuration data */\n data = input.required<AXActionSheetConfig>();\n\n /** @internal Callback function to close the action sheet */\n onClose = input<(result?: AXComponentCloseEvent) => void>();\n\n /** @internal Overlay reference for event tracking */\n overlayRef = input<AXOverlayRef<unknown>>();\n\n /** @internal Reference to the action sheet for content components */\n __actionSheetRef__ = input<AXActionSheetRef>();\n\n @ViewChild('contentContainer', { read: ViewContainerRef })\n private contentContainerRef: ViewContainerRef;\n\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n private renderer = inject(Renderer2);\n private actionSheetService = inject(AXActionSheetService);\n\n private onMouseMoveListenerFn = () => undefined;\n private onMouseUpListenerFn = () => undefined;\n private onTouchMoveListenerFn = () => undefined;\n private onTouchUpListenerFn = () => undefined;\n\n private isDragging = signal(false);\n private isFullScreen = signal(false);\n private curserOffset = signal(0);\n private actionSheetHeight = signal(0);\n private isActionSheetHeightSet = signal(false);\n private transitionDuration = signal(300);\n\n /**\n * @ignore\n */\n private _componentRef: ComponentRef<unknown> | null = null;\n\n /** Template content if data.content is a TemplateRef */\n protected templateContent = computed(() => {\n const content = this.data().content;\n return content instanceof TemplateRef ? content : null;\n });\n\n /** Component content if data.content is a component Type */\n protected componentContent = computed(() => {\n const content = this.data().content;\n return typeof content === 'function' ? (content as AXComponentType<unknown>) : null;\n });\n\n /** Template context for ngTemplateOutlet */\n protected templateContext = computed((): { $implicit: AXActionSheetConfig; ref: AXActionSheetComponent } => ({\n $implicit: this.data(),\n ref: this,\n }));\n\n /** Whether content has been rendered (for component content) */\n protected isContentRendered = signal(false);\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit();\n\n // Enter animation: start with height 0 and animate to natural height\n if (isPlatformBrowser(this.platformID)) {\n const hostElement = this.getHostElement();\n hostElement.style.height = '0';\n hostElement.style.overflow = 'hidden';\n\n // Use requestAnimationFrame to ensure the initial height is applied before animating\n requestAnimationFrame(() => {\n hostElement.style.transitionDuration = `${this.transitionDuration()}ms`;\n hostElement.style.height = 'auto';\n // Get the natural height\n const naturalHeight = hostElement.scrollHeight;\n hostElement.style.height = '0';\n\n requestAnimationFrame(() => {\n hostElement.style.height = `${naturalHeight}px`;\n // After animation completes, set height to auto for flexibility\n setTimeout(() => {\n hostElement.style.height = 'auto';\n hostElement.style.overflow = '';\n }, this.transitionDuration());\n });\n });\n }\n\n if (isPlatformBrowser(this.platformID) && this.data().draggable) {\n this.onMouseMoveListenerFn = this.renderer.listen(this.document, 'mousemove', (e) => {\n if (this.isDragging()) {\n e.preventDefault();\n this.getHostElement().style.height = `${this.heightCalculator(e.clientY) + this.curserOffset()}px`;\n }\n });\n this.onTouchMoveListenerFn = this.renderer.listen(this.document, 'touchmove', (e) => {\n if (this.isDragging()) {\n e.preventDefault();\n this.getHostElement().style.height = `${this.heightCalculator(e.touches[0].clientY) + this.curserOffset()}px`;\n }\n });\n this.onMouseUpListenerFn = this.renderer.listen(this.document, 'mouseup', (e) => {\n if (this.isDragging()) {\n this.isDragging.set(false);\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragEnd' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.snapToFinalPosition();\n }\n });\n this.onTouchUpListenerFn = this.renderer.listen(this.document, 'touchend', (e) => {\n if (this.isDragging()) {\n this.isDragging.set(false);\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragEnd' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.snapToFinalPosition();\n }\n });\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n // Render component content after view is initialized (ViewChild is available)\n this.renderComponentContent();\n }\n\n /**\n * Renders the component content if provided.\n * Uses ViewContainerRef to create the component and properly set inputs.\n */\n private renderComponentContent(): void {\n const componentType = this.componentContent();\n if (!componentType || !this.contentContainerRef) return;\n\n const config = this.data();\n\n // Create the component using ViewContainerRef\n const componentRef = this.contentContainerRef.createComponent(componentType);\n this._componentRef = componentRef;\n\n // Get component input definitions to check before setting inputs\n const inputDefs = (componentRef.componentType as unknown as { ɵcmp?: { inputs?: Record<string, unknown> } })?.ɵcmp\n ?.inputs;\n\n // Set data inputs (legacy support - deprecated)\n if (config?.data && typeof config.data === 'object') {\n Object.entries(config.data).forEach(([key, value]) => {\n (componentRef.instance as Record<string, unknown>)[key] = value;\n });\n }\n\n // Set inputs using setInput for proper change detection\n if (config?.inputs && typeof config.inputs === 'object') {\n Object.entries(config.inputs).forEach(([key, value]) => {\n if (inputDefs && key in inputDefs) {\n componentRef.setInput(key, value);\n }\n });\n }\n\n // Set action sheet reference (only if the component has this input)\n if (inputDefs && '__actionSheet__' in inputDefs) {\n componentRef.setInput('__actionSheet__', this.__actionSheetRef__());\n }\n\n // Subscribe to close event if available\n const instance = componentRef.instance as {\n onClosed?: { subscribe: (fn: (e: AXComponentCloseEvent) => void) => void };\n };\n if (instance.onClosed) {\n instance.onClosed.subscribe((e: AXComponentCloseEvent) => {\n this.close(e);\n });\n }\n\n this.isContentRendered.set(true);\n this.cdr.markForCheck();\n }\n\n /**\n * Sets input values on the content component.\n * @param values - Object containing input values to set\n */\n setContentInputs(values: AXComponentInputs): void {\n if (this._componentRef) {\n Object.entries(values).forEach(([key, value]) => {\n this._componentRef.setInput(key, value);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.onMouseMoveListenerFn();\n this.onMouseUpListenerFn();\n this.onTouchMoveListenerFn();\n this.onTouchUpListenerFn();\n\n // Clean up component reference\n if (this._componentRef) {\n this._componentRef.destroy();\n this._componentRef = null;\n }\n }\n\n protected handleMouseDown(e: MouseEvent) {\n if (!this.data().draggable || e.button !== 0) return;\n e.preventDefault();\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragStart' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.handleDown(e.clientY);\n }\n\n protected handleTouchDown(e: TouchEvent) {\n if (!this.data().draggable || (e.target as HTMLElement).className.includes('close')) return;\n e.preventDefault();\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragStart' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.handleDown(e.touches[0].clientY);\n }\n\n private handleDown(clientY: number) {\n this.isDragging.set(true);\n this.getHostElement().style.transitionDuration = '0ms';\n\n if (isPlatformBrowser(this.platformID)) {\n this.curserOffset.set(\n clientY - (this.document.documentElement.clientHeight - this.getHostElement().clientHeight),\n );\n }\n\n if (!this.isActionSheetHeightSet()) {\n this.actionSheetHeight.set(this.getHostElement().clientHeight);\n this.isActionSheetHeightSet.set(true);\n }\n }\n\n private snapToFinalPosition(): void {\n this.getHostElement().style.transitionDuration = `${this.transitionDuration()}ms`;\n const currentHeight = this.getHostElement().clientHeight;\n const initialHeight = this.actionSheetHeight();\n const windowHeight = this.document.documentElement.clientHeight;\n\n if (currentHeight < initialHeight * 0.75) {\n this.close(null);\n return;\n }\n if (this.isFullScreen() && currentHeight < windowHeight * 0.9) {\n this.getHostElement().style.height = `${initialHeight}px`;\n this.isFullScreen.set(false);\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'normalSize' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n return;\n }\n if (this.data().dragUp && currentHeight > (windowHeight + initialHeight) / 3) {\n this.getHostElement().style.height = '100vh';\n this.isFullScreen.set(true);\n this.document.body.parentElement.style.overscrollBehaviorY = 'contain';\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'fullScreen' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n return;\n }\n this.getHostElement().style.height = `${initialHeight}px`;\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'normalSize' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n }\n\n private heightCalculator(clientY: number): number {\n if (this.data().dragUp) {\n return this.document.documentElement.clientHeight - clientY;\n }\n if (clientY >= this.document.documentElement.clientHeight - this.actionSheetHeight()) {\n return this.document.documentElement.clientHeight - clientY;\n }\n return (\n this.actionSheetHeight() + (this.document.documentElement.clientHeight - clientY - this.actionSheetHeight()) / 10\n );\n }\n\n /**\n * Handles click events on action sheet items.\n * This method is called when a user clicks on an action sheet item. It closes the action sheet\n * with the clicked item as the result data and executes the item's onClick callback if provided.\n *\n * @param item - The action sheet item that was clicked. Contains the item's data and optional onClick callback.\n * @returns void\n */\n onItemClick(item: AXActionSheetItem): void {\n this.close(item);\n if (item?.onClick) item.onClick();\n }\n\n /**\n * Closes the action sheet with optional result data.\n * This method initiates the closing animation of the action sheet and eventually closes the dialog.\n * The closing process includes a height animation and cleanup of event listeners.\n *\n * @param e - The result data to pass when closing the action sheet. Can be any value including null.\n * If an AXActionSheetItem is passed, it represents the selected item.\n * @param isUserInteraction - Whether the close action was triggered by user interaction (default: true).\n * This affects how the action sheet handles accessibility and event tracking.\n * @returns void\n */\n close(e: unknown = null, isUserInteraction = true): void {\n this.getHostElement().style.height = `${this.getHostElement().clientHeight}px`;\n setTimeout(() => {\n this.getHostElement().style.height = '0vh';\n });\n setTimeout(() => {\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'close' },\n isUserInteraction,\n overlayRef: this.overlayRef(),\n });\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback({\n component: this._componentRef?.instance,\n htmlElement: this.getHostElement(),\n data: e,\n });\n }\n }, this.transitionDuration());\n }\n\n /**\n * @ignore\n */\n protected onKeydownHandler() {\n const focusedOrHasFocused = this.getHostElement().matches(':focus-within');\n if (this.data().closeButton && focusedOrHasFocused) {\n this.close(null);\n }\n }\n}\n","@if (data().draggable) {\n <div (mousedown)=\"handleMouseDown($event)\" (touchstart)=\"handleTouchDown($event)\" class=\"ax-drag-handle-container\">\n <div class=\"ax-drag-handle\"></div>\n </div>\n}\n@if (data().header) {\n <ax-header\n [class.draggable-header]=\"data().draggable\"\n (mousedown)=\"data().draggable ? handleMouseDown($event) : null\"\n (touchstart)=\"data().draggable ? handleTouchDown($event) : null\"\n >\n <ax-prefix>\n <ax-title class=\"line-clamp-1\">{{ data().title | translate | async }}</ax-title>\n\n @if (data().subTitle) {\n <ax-subtitle class=\"line-clamp-2\">\n {{ data().subTitle }}\n </ax-subtitle>\n }\n </ax-prefix>\n @if (data().closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n </ax-header>\n}\n@if (data().content) {\n @if (templateContent()) {\n <ng-container *ngTemplateOutlet=\"templateContent(); context: templateContext()\"></ng-container>\n }\n <!-- Component content container - always present but only populated when componentContent() is truthy -->\n <ng-container #contentContainer></ng-container>\n}\n\n<div class=\"ax-action-list ax-action-list-vertical\">\n @for (item of data().items; let i = $index; track i) {\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <div\n class=\"ax-action-item ax-{{ item.color || 'default' }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n [tabindex]=\"i\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"ax-action-item-prefix\">\n @if (item.icon) {\n <span class=\"ax-item-icon\" [class]=\"item.icon\"></span>\n }\n <ax-text>{{ item.text | translate | async }}</ax-text>\n </div>\n <div class=\"ax-action-item-suffix\"></div>\n </div>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { AXActionSheetComponent } from './action-sheet.component';\nimport { AXActionSheetService } from './action-sheet.service';\n\n@NgModule({\n imports: [AXActionSheetComponent],\n exports: [AXActionSheetComponent],\n providers: [AXActionSheetService],\n})\nexport class AXActionSheetModule {}\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-action-sheet.mjs","sources":["../../../../packages/components/action-sheet/src/lib/action-sheet.class.ts","../../../../packages/components/action-sheet/src/lib/action-sheet.service.ts","../../../../packages/components/action-sheet/src/lib/action-sheet.component.ts","../../../../packages/components/action-sheet/src/lib/action-sheet.component.html","../../../../packages/components/action-sheet/src/lib/action-sheet.module.ts","../../../../packages/components/action-sheet/src/acorex-components-action-sheet.ts"],"sourcesContent":["import { AXComponentCloseEvent, AXStyleColorType } from '@acorex/cdk/common';\nimport { AXOverlayRef } from '@acorex/cdk/overlay';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport { Directive, ElementRef, input, TemplateRef, Type } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport interface AXActionSheetItem {\n name?: string;\n text: string;\n icon?: string;\n disabled?: boolean;\n color?: AXStyleColorType;\n onClick?: () => void;\n suffix?: {\n text: string;\n };\n break?: boolean;\n group?: {\n name?: string;\n title?: string;\n };\n}\n\nexport type AXActionSheetContentType = TemplateRef<unknown> | Type<unknown>;\n\nexport interface AXActionSheetConfig {\n title?: string;\n subTitle?: string;\n closeButton?: boolean;\n header?: boolean;\n /** @deprecated Use `inputs` instead to pass data to the action sheet content component. */\n data?: unknown;\n /** Input values to pass to the content component */\n inputs?: unknown;\n closeOnBackdropClick?: boolean;\n items?: AXActionSheetItem[];\n content?: AXActionSheetContentType;\n draggable?: boolean;\n dragUp?: boolean;\n /**\n * Element used to resolve inherited visual context for overlays rendered\n * outside the originating DOM subtree.\n *\n * This affects Appearance, Light/Dark theme, Contrast, Size, and supported\n * Density context. It does not affect overlay positioning.\n */\n contextElement?: HTMLElement | ElementRef<HTMLElement>;\n}\n\n/**\n * Reference to an open action sheet, providing methods to interact with it.\n */\nexport interface AXActionSheetRef<TResult = unknown> {\n /** Closes the action sheet with optional result data */\n close: (data?: TResult) => void;\n /** Sets input values on the content component */\n setInputs: (values: AXComponentInputs) => void;\n /** Observable that emits when the action sheet is closed */\n onClose: Subject<TResult>;\n}\n\n/**\n * Base class for components that are displayed inside an action sheet.\n * Extend this class to get access to the action sheet reference and helper methods.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class MyActionSheetContent extends AXActionSheetComponentBase {\n * save() {\n * this.close({ saved: true });\n * }\n * }\n * ```\n */\n@Directive()\nexport abstract class AXActionSheetComponentBase {\n /** Reference to the parent action sheet */\n __actionSheet__ = input<AXActionSheetRef>();\n\n /**\n * Closes the action sheet with optional result data.\n * @param data - Optional data to pass to the close handler\n */\n close(data: any = null) {\n this.__actionSheet__()?.close(data);\n }\n}\n\nexport interface AXActionSheetEvent {\n overlayRef?: AXOverlayRef<unknown>;\n nativeEvent?: Event;\n isUserInteraction: boolean;\n data: {\n state: 'open' | 'close' | 'dragStart' | 'dragEnd' | 'fullScreen' | 'normalSize';\n };\n}\n\n/**\n * @internal\n * Internal reference used by action sheet service to manage overlay instances\n */\nexport interface AXActionSheetInternalRef {\n overlayRef: AXOverlayRef<unknown>;\n close: (result?: AXComponentCloseEvent) => void;\n}\n","import { AXComponentCloseEvent } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport { ComponentRef, inject, Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport {\n AXActionSheetConfig,\n AXActionSheetEvent,\n AXActionSheetInternalRef,\n AXActionSheetRef,\n} from './action-sheet.class';\nimport { AXActionSheetComponent } from './action-sheet.component';\n\n/**\n * @deprecated Use `AXActionSheetRef` instead\n */\nexport interface AXActionSheetDialogRef<TResult = unknown> {\n close: (e?: TResult) => void;\n setInputs: (values: AXComponentInputs) => void;\n closed: Subject<{ data?: TResult }>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXActionSheetService {\n private overlayService = inject(AXOverlayService);\n private readonly actionSheetEvent = new Subject<AXActionSheetEvent>();\n actionSheetEvent$ = this.actionSheetEvent.asObservable();\n\n /**\n * Opens an action sheet with the specified configuration.\n * This method creates and displays an action sheet component with the provided options.\n * The action sheet will slide up from the bottom of the screen and can be dismissed\n * by tapping outside, pressing escape, or calling the close method.\n *\n * @param config - The configuration object that defines the action sheet's appearance and behavior.\n * Must include at least a title or content property. Will be merged with default config.\n * @param isUserInteraction - Whether the action sheet is opened by user interaction (default: true).\n * This affects how the action sheet handles accessibility and focus management.\n * @returns A promise that resolves to a dialog reference containing methods to control the action sheet.\n * The reference includes methods like close(), setInputs() and a closed observable for tracking dialog state.\n * @example\n * ```typescript\n * const dialogRef = await actionSheetService.open({\n * title: 'Choose an option',\n * content: MyCustomComponent,\n * inputs: { userId: 123, userName: 'John' }\n * });\n *\n * // Update inputs dynamically\n * dialogRef.setInputs({ userName: 'Jane' });\n *\n * dialogRef.closed.subscribe(result => {\n * console.log('Action sheet closed with:', result.data);\n * });\n * ```\n */\n async open<TResult = any>(config: AXActionSheetConfig, isUserInteraction = true): Promise<AXActionSheetRef<TResult>> {\n const defaultConfig: AXActionSheetConfig = {\n title: 'action-sheet.title',\n closeButton: true,\n closeOnBackdropClick: true,\n header: true,\n };\n config = Object.assign(defaultConfig, config);\n\n const closed = new Subject<{ data?: TResult }>();\n const onClose = new Subject<TResult>();\n // Using let because internalRef is assigned after overlayRef is created\n // eslint-disable-next-line prefer-const\n let internalRef: AXActionSheetInternalRef;\n\n const closeActionSheet = (result?: AXComponentCloseEvent) => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n onClose.next(result?.data as TResult);\n onClose.complete();\n if (result?.data) {\n closed.next({ data: result.data as TResult });\n } else {\n closed.next({});\n }\n closed.complete();\n }\n };\n\n // Create the action sheet reference that will be passed to content components\n const actionSheetRef: AXActionSheetRef<TResult> = {\n close: (data?: TResult) => {\n const component = internalRef?.overlayRef.instance;\n if (component && 'close' in component) {\n (component as unknown as AXActionSheetComponent).close(data);\n } else {\n closeActionSheet({ data } as AXComponentCloseEvent);\n }\n },\n setInputs: (values: AXComponentInputs) => {\n const ref = internalRef?.overlayRef.instance;\n if (ref && ref instanceof ComponentRef) {\n const componentInstance = ref.instance as AXActionSheetComponent;\n componentInstance.setContentInputs(values);\n } else if (ref && 'setContentInputs' in ref) {\n (ref as unknown as AXActionSheetComponent).setContentInputs(values);\n }\n },\n onClose,\n };\n\n const overlayRef = await this.overlayService.create<AXActionSheetComponent>(AXActionSheetComponent, {\n inputs: {\n data: config,\n onClose: closeActionSheet,\n __actionSheetRef__: actionSheetRef,\n },\n contextElement: config.contextElement,\n centered: false,\n panelClass: ['ax-action-sheet-panel'],\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: config.closeOnBackdropClick,\n },\n onDispose: () => {\n // Clean up when disposed externally (e.g., backdrop click)\n closed.next({});\n closed.complete();\n },\n });\n\n internalRef = {\n overlayRef,\n close: closeActionSheet,\n };\n\n // Set the overlayRef input after creation\n if (overlayRef.instance && 'setInput' in overlayRef.instance) {\n (overlayRef.instance as { setInput: (name: string, value: unknown) => void }).setInput('overlayRef', overlayRef);\n }\n\n // Positioning is handled by CSS via .ax-action-sheet-panel class\n\n this.actionSheetEvent.next({\n overlayRef,\n data: { state: 'open' },\n isUserInteraction,\n });\n\n const axDialogRef: AXActionSheetRef<TResult> = {\n close: actionSheetRef.close,\n setInputs: actionSheetRef.setInputs,\n onClose: actionSheetRef.onClose,\n };\n\n return axDialogRef;\n }\n\n /**\n * Sets the current state of action sheet events.\n * This method is used internally to track action sheet lifecycle events such as open, close,\n * drag start, drag end, and full screen transitions. It emits events through the actionSheetEvent$\n * observable for external subscribers to monitor action sheet state changes.\n *\n * @param event - The action sheet event to emit. Contains information about the event type,\n * associated data, user interaction status, and overlay reference.\n * @returns void\n */\n setActionSheetEventState(event: AXActionSheetEvent): void {\n this.actionSheetEvent.next(event);\n }\n}\n","import {\n AXClosableComponent,\n AXComponent,\n AXComponentCloseEvent,\n AXFocusableComponent,\n MXBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXOverlayRef } from '@acorex/cdk/overlay';\nimport { AXDecoratorCloseButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXComponentInputs, AXComponentType } from '@acorex/core/components';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ComponentRef,\n computed,\n DOCUMENT,\n inject,\n input,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n signal,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXActionSheetConfig, AXActionSheetItem, AXActionSheetRef } from './action-sheet.class';\nimport { AXActionSheetService } from './action-sheet.service';\n\n/**\n * A component for displaying an action sheet, which is a menu that slides up from the bottom of the screen.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-action-sheet',\n templateUrl: './action-sheet.component.html',\n styleUrls: ['./action-sheet.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n '(keydown.escape)': 'onKeydownHandler()',\n },\n providers: [\n { provide: AXComponent, useExisting: AXActionSheetComponent },\n {\n provide: AXClosableComponent,\n useExisting: AXActionSheetComponent,\n },\n {\n provide: AXFocusableComponent,\n useExisting: AXActionSheetComponent,\n },\n ],\n imports: [\n AXDecoratorGenericComponent,\n AXDecoratorCloseButtonComponent,\n NgTemplateOutlet,\n AXTranslatorPipe,\n AsyncPipe,\n ],\n})\nexport class AXActionSheetComponent extends MXBaseComponent implements OnInit, AfterViewInit, OnDestroy {\n /** Action sheet configuration data */\n data = input.required<AXActionSheetConfig>();\n\n /** @internal Callback function to close the action sheet */\n onClose = input<(result?: AXComponentCloseEvent) => void>();\n\n /** @internal Overlay reference for event tracking */\n overlayRef = input<AXOverlayRef<unknown>>();\n\n /** @internal Reference to the action sheet for content components */\n __actionSheetRef__ = input<AXActionSheetRef>();\n\n @ViewChild('contentContainer', { read: ViewContainerRef })\n private contentContainerRef: ViewContainerRef;\n\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n private renderer = inject(Renderer2);\n private actionSheetService = inject(AXActionSheetService);\n\n private onMouseMoveListenerFn = () => undefined;\n private onMouseUpListenerFn = () => undefined;\n private onTouchMoveListenerFn = () => undefined;\n private onTouchUpListenerFn = () => undefined;\n\n private isDragging = signal(false);\n private isFullScreen = signal(false);\n private curserOffset = signal(0);\n private actionSheetHeight = signal(0);\n private isActionSheetHeightSet = signal(false);\n private transitionDuration = signal(300);\n\n /**\n * @ignore\n */\n private _componentRef: ComponentRef<unknown> | null = null;\n\n /** Template content if data.content is a TemplateRef */\n protected templateContent = computed(() => {\n const content = this.data().content;\n return content instanceof TemplateRef ? content : null;\n });\n\n /** Component content if data.content is a component Type */\n protected componentContent = computed(() => {\n const content = this.data().content;\n return typeof content === 'function' ? (content as AXComponentType<unknown>) : null;\n });\n\n /** Template context for ngTemplateOutlet */\n protected templateContext = computed((): { $implicit: AXActionSheetConfig; ref: AXActionSheetComponent } => ({\n $implicit: this.data(),\n ref: this,\n }));\n\n /** Whether content has been rendered (for component content) */\n protected isContentRendered = signal(false);\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit();\n\n // Enter animation: start with height 0 and animate to natural height\n if (isPlatformBrowser(this.platformID)) {\n const hostElement = this.getHostElement();\n hostElement.style.height = '0';\n hostElement.style.overflow = 'hidden';\n\n // Use requestAnimationFrame to ensure the initial height is applied before animating\n requestAnimationFrame(() => {\n hostElement.style.transitionDuration = `${this.transitionDuration()}ms`;\n hostElement.style.height = 'auto';\n // Get the natural height\n const naturalHeight = hostElement.scrollHeight;\n hostElement.style.height = '0';\n\n requestAnimationFrame(() => {\n hostElement.style.height = `${naturalHeight}px`;\n // After animation completes, set height to auto for flexibility\n setTimeout(() => {\n hostElement.style.height = 'auto';\n hostElement.style.overflow = '';\n }, this.transitionDuration());\n });\n });\n }\n\n if (isPlatformBrowser(this.platformID) && this.data().draggable) {\n this.onMouseMoveListenerFn = this.renderer.listen(this.document, 'mousemove', (e) => {\n if (this.isDragging()) {\n e.preventDefault();\n this.getHostElement().style.height = `${this.heightCalculator(e.clientY) + this.curserOffset()}px`;\n }\n });\n this.onTouchMoveListenerFn = this.renderer.listen(this.document, 'touchmove', (e) => {\n if (this.isDragging()) {\n e.preventDefault();\n this.getHostElement().style.height = `${this.heightCalculator(e.touches[0].clientY) + this.curserOffset()}px`;\n }\n });\n this.onMouseUpListenerFn = this.renderer.listen(this.document, 'mouseup', (e) => {\n if (this.isDragging()) {\n this.isDragging.set(false);\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragEnd' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.snapToFinalPosition();\n }\n });\n this.onTouchUpListenerFn = this.renderer.listen(this.document, 'touchend', (e) => {\n if (this.isDragging()) {\n this.isDragging.set(false);\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragEnd' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.snapToFinalPosition();\n }\n });\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n // Render component content after view is initialized (ViewChild is available)\n this.renderComponentContent();\n }\n\n /**\n * Renders the component content if provided.\n * Uses ViewContainerRef to create the component and properly set inputs.\n */\n private renderComponentContent(): void {\n const componentType = this.componentContent();\n if (!componentType || !this.contentContainerRef) return;\n\n const config = this.data();\n\n // Create the component using ViewContainerRef\n const componentRef = this.contentContainerRef.createComponent(componentType);\n this._componentRef = componentRef;\n\n // Get component input definitions to check before setting inputs\n const inputDefs = (componentRef.componentType as unknown as { ɵcmp?: { inputs?: Record<string, unknown> } })?.ɵcmp\n ?.inputs;\n\n // Set data inputs (legacy support - deprecated)\n if (config?.data && typeof config.data === 'object') {\n Object.entries(config.data).forEach(([key, value]) => {\n (componentRef.instance as Record<string, unknown>)[key] = value;\n });\n }\n\n // Set inputs using setInput for proper change detection\n if (config?.inputs && typeof config.inputs === 'object') {\n Object.entries(config.inputs).forEach(([key, value]) => {\n if (inputDefs && key in inputDefs) {\n componentRef.setInput(key, value);\n }\n });\n }\n\n // Set action sheet reference (only if the component has this input)\n if (inputDefs && '__actionSheet__' in inputDefs) {\n componentRef.setInput('__actionSheet__', this.__actionSheetRef__());\n }\n\n // Subscribe to close event if available\n const instance = componentRef.instance as {\n onClosed?: { subscribe: (fn: (e: AXComponentCloseEvent) => void) => void };\n };\n if (instance.onClosed) {\n instance.onClosed.subscribe((e: AXComponentCloseEvent) => {\n this.close(e);\n });\n }\n\n this.isContentRendered.set(true);\n this.cdr.markForCheck();\n }\n\n /**\n * Sets input values on the content component.\n * @param values - Object containing input values to set\n */\n setContentInputs(values: AXComponentInputs): void {\n if (this._componentRef) {\n Object.entries(values).forEach(([key, value]) => {\n this._componentRef.setInput(key, value);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.onMouseMoveListenerFn();\n this.onMouseUpListenerFn();\n this.onTouchMoveListenerFn();\n this.onTouchUpListenerFn();\n\n // Clean up component reference\n if (this._componentRef) {\n this._componentRef.destroy();\n this._componentRef = null;\n }\n }\n\n protected handleMouseDown(e: MouseEvent) {\n if (!this.data().draggable || e.button !== 0) return;\n e.preventDefault();\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragStart' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.handleDown(e.clientY);\n }\n\n protected handleTouchDown(e: TouchEvent) {\n if (!this.data().draggable || (e.target as HTMLElement).className.includes('close')) return;\n e.preventDefault();\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragStart' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.handleDown(e.touches[0].clientY);\n }\n\n private handleDown(clientY: number) {\n this.isDragging.set(true);\n this.getHostElement().style.transitionDuration = '0ms';\n\n if (isPlatformBrowser(this.platformID)) {\n this.curserOffset.set(\n clientY - (this.document.documentElement.clientHeight - this.getHostElement().clientHeight),\n );\n }\n\n if (!this.isActionSheetHeightSet()) {\n this.actionSheetHeight.set(this.getHostElement().clientHeight);\n this.isActionSheetHeightSet.set(true);\n }\n }\n\n private snapToFinalPosition(): void {\n this.getHostElement().style.transitionDuration = `${this.transitionDuration()}ms`;\n const currentHeight = this.getHostElement().clientHeight;\n const initialHeight = this.actionSheetHeight();\n const windowHeight = this.document.documentElement.clientHeight;\n\n if (currentHeight < initialHeight * 0.75) {\n this.close(null);\n return;\n }\n if (this.isFullScreen() && currentHeight < windowHeight * 0.9) {\n this.getHostElement().style.height = `${initialHeight}px`;\n this.isFullScreen.set(false);\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'normalSize' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n return;\n }\n if (this.data().dragUp && currentHeight > (windowHeight + initialHeight) / 3) {\n this.getHostElement().style.height = '100vh';\n this.isFullScreen.set(true);\n this.document.body.parentElement.style.overscrollBehaviorY = 'contain';\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'fullScreen' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n return;\n }\n this.getHostElement().style.height = `${initialHeight}px`;\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'normalSize' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n }\n\n private heightCalculator(clientY: number): number {\n if (this.data().dragUp) {\n return this.document.documentElement.clientHeight - clientY;\n }\n if (clientY >= this.document.documentElement.clientHeight - this.actionSheetHeight()) {\n return this.document.documentElement.clientHeight - clientY;\n }\n return (\n this.actionSheetHeight() + (this.document.documentElement.clientHeight - clientY - this.actionSheetHeight()) / 10\n );\n }\n\n /**\n * Handles click events on action sheet items.\n * This method is called when a user clicks on an action sheet item. It closes the action sheet\n * with the clicked item as the result data and executes the item's onClick callback if provided.\n *\n * @param item - The action sheet item that was clicked. Contains the item's data and optional onClick callback.\n * @returns void\n */\n onItemClick(item: AXActionSheetItem): void {\n this.close(item);\n if (item?.onClick) item.onClick();\n }\n\n /**\n * Closes the action sheet with optional result data.\n * This method initiates the closing animation of the action sheet and eventually closes the dialog.\n * The closing process includes a height animation and cleanup of event listeners.\n *\n * @param e - The result data to pass when closing the action sheet. Can be any value including null.\n * If an AXActionSheetItem is passed, it represents the selected item.\n * @param isUserInteraction - Whether the close action was triggered by user interaction (default: true).\n * This affects how the action sheet handles accessibility and event tracking.\n * @returns void\n */\n close(e: unknown = null, isUserInteraction = true): void {\n this.getHostElement().style.height = `${this.getHostElement().clientHeight}px`;\n setTimeout(() => {\n this.getHostElement().style.height = '0vh';\n });\n setTimeout(() => {\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'close' },\n isUserInteraction,\n overlayRef: this.overlayRef(),\n });\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback({\n component: this._componentRef?.instance,\n htmlElement: this.getHostElement(),\n data: e,\n });\n }\n }, this.transitionDuration());\n }\n\n /**\n * @ignore\n */\n protected onKeydownHandler() {\n const focusedOrHasFocused = this.getHostElement().matches(':focus-within');\n if (this.data().closeButton && focusedOrHasFocused) {\n this.close(null);\n }\n }\n}\n","@if (data().draggable) {\n <div (mousedown)=\"handleMouseDown($event)\" (touchstart)=\"handleTouchDown($event)\" class=\"ax-drag-handle-container\">\n <div class=\"ax-drag-handle\"></div>\n </div>\n}\n@if (data().header) {\n <ax-header\n [class.draggable-header]=\"data().draggable\"\n (mousedown)=\"data().draggable ? handleMouseDown($event) : null\"\n (touchstart)=\"data().draggable ? handleTouchDown($event) : null\"\n >\n <ax-prefix>\n <ax-title class=\"line-clamp-1\">{{ data().title | translate | async }}</ax-title>\n\n @if (data().subTitle) {\n <ax-subtitle class=\"line-clamp-2\">\n {{ data().subTitle }}\n </ax-subtitle>\n }\n </ax-prefix>\n @if (data().closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n </ax-header>\n}\n@if (data().content) {\n @if (templateContent()) {\n <ng-container *ngTemplateOutlet=\"templateContent(); context: templateContext()\"></ng-container>\n }\n <!-- Component content container - always present but only populated when componentContent() is truthy -->\n <ng-container #contentContainer></ng-container>\n}\n\n<div class=\"ax-action-list ax-action-list-vertical\">\n @for (item of data().items; let i = $index; track i) {\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <div\n class=\"ax-action-item ax-{{ item.color || 'default' }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n [tabindex]=\"i\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"ax-action-item-prefix\">\n @if (item.icon) {\n <span class=\"ax-item-icon\" [class]=\"item.icon\"></span>\n }\n <ax-text>{{ item.text | translate | async }}</ax-text>\n </div>\n <div class=\"ax-action-item-suffix\"></div>\n </div>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { AXActionSheetComponent } from './action-sheet.component';\nimport { AXActionSheetService } from './action-sheet.service';\n\n@NgModule({\n imports: [AXActionSheetComponent],\n exports: [AXActionSheetComponent],\n providers: [AXActionSheetService],\n})\nexport class AXActionSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -484,7 +484,7 @@ class AXButtonComponent extends MXButtonBaseComponent {
|
|
|
484
484
|
{ provide: AXComponent, useExisting: AXButtonComponent },
|
|
485
485
|
{ provide: AXButtonItemComponent, useExisting: AXButtonComponent },
|
|
486
486
|
{ provide: AXFocusableComponent, useExisting: AXButtonComponent },
|
|
487
|
-
], queries: [{ propertyName: "loadingIcon", first: true, predicate: AXLoadingComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button\n [axRipple]\n [attr.type]=\"type()\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (click)=\"_handleClick($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n class=\"{{ color }}\n {{ interactiveLook }} \n {{ selected ? 'ax-state-selected' : '' }} \n {{ disabled ? 'ax-state-disabled' : '' }}\"\n>\n <ng-content select=\"ax-loading, ax-loading-spinner\"> </ng-content>\n\n @if (showIcon()) {\n <ng-content select=\"ax-prefix, ax-icon\"> </ng-content>\n }\n\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if (text && !loadingText() && !iconOnly()) {\n <span class=\"ax-button-text\">{{ text | translate | async }}</span>\n }\n\n @if (loadingText()) {\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n\n <ng-content></ng-content>\n</button>\n", styles: ["@layer properties;@layer components{ax-button{display:inline-flex;border-radius:var(--ax-sys-border-radius)}ax-button button{position:relative;display:flex;height:var(--ax-sys-size-base);width:100%;cursor:pointer;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);border-radius:inherit;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);-webkit-user-select:none;user-select:none}ax-button button.ax-state-disabled,ax-button button.ax-state-loading{cursor:not-allowed;opacity:50%}ax-button.ax-xs button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 4);line-height:calc(var(--spacing, .25rem) * 4)}ax-button.ax-sm button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button button,ax-button.ax-md button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button.ax-lg button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button.ax-xl button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 6);line-height:calc(var(--spacing, .25rem) * 6)}ax-button .ax-button-text{text-wrap:nowrap}ax-button.ax-button-icon.ax-xs button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-sm button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon button,ax-button.ax-button-icon.ax-md button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-lg button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-xl button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 3);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon button ax-icon,ax-button.ax-button-icon button ax-prefix,ax-button.ax-button-icon button i{font-size:1.125em}ax-button ax-dropdown-panel{position:absolute}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
487
|
+
], queries: [{ propertyName: "loadingIcon", first: true, predicate: AXLoadingComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button\n [axRipple]\n [attr.type]=\"type()\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (click)=\"_handleClick($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n class=\"{{ color }}\n {{ interactiveLook }} \n {{ selected ? 'ax-state-selected' : '' }} \n {{ disabled ? 'ax-state-disabled' : '' }}\"\n>\n <ng-content select=\"ax-loading, ax-loading-spinner\"> </ng-content>\n\n @if (showIcon()) {\n <ng-content select=\"ax-prefix, ax-icon\"> </ng-content>\n }\n\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if (text && !loadingText() && !iconOnly()) {\n <span class=\"ax-button-text\">{{ text | translate | async }}</span>\n }\n\n @if (loadingText()) {\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n\n <ng-content></ng-content>\n</button>\n", styles: ["@layer properties;@layer components{ax-button{--ax-comp-button-shadow-rest: var(--ax-sys-effect-control-rest);--ax-comp-button-shadow-hover: var(--ax-sys-effect-control-hover);--ax-comp-button-shadow-active: var(--ax-sys-effect-control-active);--ax-comp-button-shadow-subtle-rest: var(--ax-sys-effect-control-subtle-rest);--ax-comp-button-shadow-subtle-hover: var(--ax-sys-effect-control-subtle-hover);--ax-comp-button-highlight-rest: var(--ax-sys-highlight-control);--ax-comp-button-highlight-hover: var(--ax-sys-highlight-control);--ax-comp-button-highlight-subtle: var(--ax-sys-highlight-control-subtle);--ax-comp-button-inner-border-rest: var(--ax-sys-inner-border-control);--ax-comp-button-inner-border-hover: var(--ax-sys-inner-border-control);--ax-comp-button-inner-border-active: var(--ax-sys-inner-border-control);--ax-comp-button-bevel-rest: var(--ax-sys-bevel-control-rest);--ax-comp-button-bevel-hover: var(--ax-sys-bevel-control-hover);--ax-comp-button-bevel-active: var(--ax-sys-bevel-control-active);--ax-comp-button-bevel-disabled: var(--ax-sys-bevel-control-disabled);--ax-comp-button-inset-shadow-active: var(--ax-sys-effect-control-active);--ax-comp-button-background-image-rest: var(--ax-sys-gradient-control-rest);--ax-comp-button-background-image-hover: var(--ax-sys-gradient-control-hover);--ax-comp-button-background-image-active: var(--ax-sys-gradient-control-active);--ax-comp-button-surface-overlay-rest: var(--ax-sys-surface-overlay-control-rest);--ax-comp-button-surface-overlay-hover: var(--ax-sys-surface-overlay-control-hover);--ax-comp-button-surface-overlay-active: var(--ax-sys-surface-overlay-control-active);--ax-comp-button-surface-overlay-subtle-rest: var(--ax-sys-surface-overlay-control-subtle-rest);--ax-comp-button-surface-overlay-subtle-hover: var(--ax-sys-surface-overlay-control-subtle-hover);--ax-comp-button-surface-overlay-subtle-active: var(--ax-sys-surface-overlay-control-subtle-active, var(--ax-sys-surface-overlay-control-active));--ax-comp-button-contrast-inner-border-rest: var(--ax-sys-contrast-inner-border-control);--ax-comp-button-contrast-inner-border-hover: var(--ax-sys-contrast-inner-border-control);--ax-comp-button-contrast-inner-border-active: var(--ax-sys-contrast-inner-border-control);--ax-comp-button-contrast-surface-overlay-rest: var(--ax-sys-contrast-surface-overlay-control);--ax-comp-button-transform-rest: var(--ax-sys-transform-control-rest);--ax-comp-button-transform-hover: var(--ax-sys-transform-control-hover);--ax-comp-button-transform-active: var(--ax-sys-transform-control-active);--ax-comp-button-transform-disabled: var(--ax-sys-transform-control-disabled);--ax-comp-button-transition-duration: var(--ax-sys-motion-duration);--ax-comp-button-transition-timing: var(--ax-sys-motion-timing);display:inline-flex;border-radius:var(--ax-sys-border-radius)}ax-button button{position:relative;display:flex;height:var(--ax-sys-size-base);width:100%;cursor:pointer;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);border-radius:inherit;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);-webkit-user-select:none;user-select:none;transition-property:box-shadow,background-image,border-color,background-color,color,transform;transition-duration:var(--ax-comp-button-transition-duration);transition-timing-function:var(--ax-comp-button-transition-timing);transform:var(--ax-comp-button-transform-rest)}ax-button button.ax-state-disabled,ax-button button.ax-state-loading{cursor:not-allowed;opacity:50%;box-shadow:var(--ax-comp-button-contrast-inner-border-rest),var(--ax-comp-button-inner-border-rest);background-image:none;transform:var(--ax-comp-button-transform-disabled)}ax-button button.ax-solid-interactive{box-shadow:var(--ax-comp-button-contrast-inner-border-rest),var(--ax-comp-button-inner-border-rest),var(--ax-comp-button-bevel-rest),var(--ax-comp-button-highlight-rest),var(--ax-comp-button-shadow-rest);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-rest),var(--ax-comp-button-surface-overlay-rest)),var(--ax-comp-button-background-image-rest)}ax-button button.ax-solid-interactive.ax-default{border-color:rgba(var(--ax-sys-color-border-surface));--ax-comp-button-highlight-rest: 0 0 #0000;--ax-comp-button-highlight-hover: 0 0 #0000;--ax-comp-button-shadow-rest: var(--ax-sys-effect-control-neutral-rest);--ax-comp-button-shadow-hover: var(--ax-sys-effect-control-neutral-hover);--ax-comp-button-shadow-active: var(--ax-sys-effect-control-neutral-active);--ax-comp-button-inset-shadow-active: var(--ax-sys-effect-control-neutral-active);--ax-comp-button-bevel-rest: var(--ax-sys-bevel-control-neutral-rest);--ax-comp-button-bevel-hover: var(--ax-sys-bevel-control-neutral-hover);--ax-comp-button-bevel-active: var(--ax-sys-bevel-control-neutral-active);--ax-comp-button-bevel-disabled: var(--ax-sys-bevel-control-neutral-disabled);--ax-comp-button-inner-border-rest: var(--ax-sys-inner-border-control-neutral-rest);--ax-comp-button-inner-border-hover: var(--ax-sys-inner-border-control-neutral-hover);--ax-comp-button-inner-border-active: var(--ax-sys-inner-border-control-neutral-active);--ax-comp-button-background-image-rest: var(--ax-sys-gradient-control-neutral-rest);--ax-comp-button-background-image-hover: var(--ax-sys-gradient-control-neutral-hover);--ax-comp-button-background-image-active: var(--ax-sys-gradient-control-neutral-active)}ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):hover{box-shadow:var(--ax-comp-button-contrast-inner-border-hover),var(--ax-comp-button-inner-border-hover),var(--ax-comp-button-bevel-hover),var(--ax-comp-button-highlight-hover),var(--ax-comp-button-shadow-hover);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-hover),var(--ax-comp-button-surface-overlay-hover)),var(--ax-comp-button-background-image-hover);transform:var(--ax-comp-button-transform-hover)}ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):focus,ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):focus-within,ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):focus-visible{box-shadow:var(--ax-comp-button-contrast-inner-border-rest),var(--ax-comp-button-inner-border-rest),var(--ax-comp-button-bevel-rest),var(--ax-comp-button-highlight-rest),var(--ax-comp-button-shadow-rest);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-rest),var(--ax-comp-button-surface-overlay-rest)),var(--ax-comp-button-background-image-rest);transform:var(--ax-comp-button-transform-rest)}ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):active{box-shadow:var(--ax-comp-button-contrast-inner-border-active),var(--ax-comp-button-inner-border-active),var(--ax-comp-button-bevel-active),var(--ax-comp-button-inset-shadow-active);background-image:linear-gradient(var(--ax-comp-button-surface-overlay-active),var(--ax-comp-button-surface-overlay-active)),var(--ax-comp-button-background-image-active);transform:var(--ax-comp-button-transform-active)}ax-button button.ax-outline-interactive{box-shadow:var(--ax-comp-button-contrast-inner-border-rest);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-rest),var(--ax-comp-button-surface-overlay-subtle-rest))}ax-button button.ax-outline-interactive:not(.ax-state-disabled,.ax-state-loading):hover{box-shadow:var(--ax-comp-button-contrast-inner-border-hover),var(--ax-comp-button-highlight-subtle),var(--ax-comp-button-shadow-subtle-hover);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-hover),var(--ax-comp-button-surface-overlay-subtle-hover))}ax-button button.ax-outline-interactive:not(.ax-state-disabled,.ax-state-loading):active{box-shadow:var(--ax-comp-button-contrast-inner-border-active),var(--ax-comp-button-inset-shadow-active);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-active),var(--ax-comp-button-surface-overlay-subtle-active));transform:var(--ax-comp-button-transform-active)}ax-button button.ax-twotone-interactive{box-shadow:var(--ax-comp-button-contrast-inner-border-rest),var(--ax-comp-button-highlight-subtle),var(--ax-comp-button-shadow-subtle-rest);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-rest),var(--ax-comp-button-surface-overlay-subtle-rest))}ax-button button.ax-twotone-interactive:not(.ax-state-disabled,.ax-state-loading):hover{box-shadow:var(--ax-comp-button-contrast-inner-border-hover),var(--ax-comp-button-highlight-subtle),var(--ax-comp-button-shadow-subtle-hover);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-hover),var(--ax-comp-button-surface-overlay-subtle-hover))}ax-button button.ax-twotone-interactive:not(.ax-state-disabled,.ax-state-loading):active{box-shadow:var(--ax-comp-button-contrast-inner-border-active),var(--ax-comp-button-inset-shadow-active);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-active),var(--ax-comp-button-surface-overlay-subtle-active));transform:var(--ax-comp-button-transform-active)}ax-button button.ax-blank-interactive{box-shadow:var(--ax-comp-button-contrast-inner-border-rest)}ax-button button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):hover{box-shadow:var(--ax-comp-button-contrast-inner-border-hover),var(--ax-comp-button-shadow-subtle-rest);background-image:linear-gradient(var(--ax-comp-button-surface-overlay-subtle-hover),var(--ax-comp-button-surface-overlay-subtle-hover))}ax-button button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):active{box-shadow:var(--ax-comp-button-contrast-inner-border-active),var(--ax-comp-button-inset-shadow-active);background-image:linear-gradient(var(--ax-comp-button-surface-overlay-active),var(--ax-comp-button-surface-overlay-active));transform:var(--ax-comp-button-transform-active)}ax-button button.ax-link-interactive{box-shadow:none;background-image:none;transform:none}ax-button.ax-xs button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 4);line-height:calc(var(--spacing, .25rem) * 4)}ax-button.ax-sm button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button button,ax-button.ax-md button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button.ax-lg button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button.ax-xl button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 6);line-height:calc(var(--spacing, .25rem) * 6)}ax-button .ax-button-text{text-wrap:nowrap}ax-button.ax-button-icon.ax-xs button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-sm button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon button,ax-button.ax-button-icon.ax-md button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-lg button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-xl button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 3);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon button ax-icon,ax-button.ax-button-icon button ax-prefix,ax-button.ax-button-icon button i{font-size:1.125em}ax-button ax-dropdown-panel{position:absolute}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
488
488
|
}
|
|
489
489
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXButtonComponent, decorators: [{
|
|
490
490
|
type: Component,
|
|
@@ -501,7 +501,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
501
501
|
{ provide: AXComponent, useExisting: AXButtonComponent },
|
|
502
502
|
{ provide: AXButtonItemComponent, useExisting: AXButtonComponent },
|
|
503
503
|
{ provide: AXFocusableComponent, useExisting: AXButtonComponent },
|
|
504
|
-
], imports: [AXRippleDirective, AXTranslationModule, CommonModule], template: "<button\n [axRipple]\n [attr.type]=\"type()\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (click)=\"_handleClick($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n class=\"{{ color }}\n {{ interactiveLook }} \n {{ selected ? 'ax-state-selected' : '' }} \n {{ disabled ? 'ax-state-disabled' : '' }}\"\n>\n <ng-content select=\"ax-loading, ax-loading-spinner\"> </ng-content>\n\n @if (showIcon()) {\n <ng-content select=\"ax-prefix, ax-icon\"> </ng-content>\n }\n\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if (text && !loadingText() && !iconOnly()) {\n <span class=\"ax-button-text\">{{ text | translate | async }}</span>\n }\n\n @if (loadingText()) {\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n\n <ng-content></ng-content>\n</button>\n", styles: ["@layer properties;@layer components{ax-button{display:inline-flex;border-radius:var(--ax-sys-border-radius)}ax-button button{position:relative;display:flex;height:var(--ax-sys-size-base);width:100%;cursor:pointer;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);border-radius:inherit;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);-webkit-user-select:none;user-select:none}ax-button button.ax-state-disabled,ax-button button.ax-state-loading{cursor:not-allowed;opacity:50%}ax-button.ax-xs button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 4);line-height:calc(var(--spacing, .25rem) * 4)}ax-button.ax-sm button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button button,ax-button.ax-md button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button.ax-lg button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button.ax-xl button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 6);line-height:calc(var(--spacing, .25rem) * 6)}ax-button .ax-button-text{text-wrap:nowrap}ax-button.ax-button-icon.ax-xs button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-sm button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon button,ax-button.ax-button-icon.ax-md button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-lg button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-xl button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 3);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon button ax-icon,ax-button.ax-button-icon button ax-prefix,ax-button.ax-button-icon button i{font-size:1.125em}ax-button ax-dropdown-panel{position:absolute}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
504
|
+
], imports: [AXRippleDirective, AXTranslationModule, CommonModule], template: "<button\n [axRipple]\n [attr.type]=\"type()\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (click)=\"_handleClick($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n class=\"{{ color }}\n {{ interactiveLook }} \n {{ selected ? 'ax-state-selected' : '' }} \n {{ disabled ? 'ax-state-disabled' : '' }}\"\n>\n <ng-content select=\"ax-loading, ax-loading-spinner\"> </ng-content>\n\n @if (showIcon()) {\n <ng-content select=\"ax-prefix, ax-icon\"> </ng-content>\n }\n\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if (text && !loadingText() && !iconOnly()) {\n <span class=\"ax-button-text\">{{ text | translate | async }}</span>\n }\n\n @if (loadingText()) {\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n\n <ng-content></ng-content>\n</button>\n", styles: ["@layer properties;@layer components{ax-button{--ax-comp-button-shadow-rest: var(--ax-sys-effect-control-rest);--ax-comp-button-shadow-hover: var(--ax-sys-effect-control-hover);--ax-comp-button-shadow-active: var(--ax-sys-effect-control-active);--ax-comp-button-shadow-subtle-rest: var(--ax-sys-effect-control-subtle-rest);--ax-comp-button-shadow-subtle-hover: var(--ax-sys-effect-control-subtle-hover);--ax-comp-button-highlight-rest: var(--ax-sys-highlight-control);--ax-comp-button-highlight-hover: var(--ax-sys-highlight-control);--ax-comp-button-highlight-subtle: var(--ax-sys-highlight-control-subtle);--ax-comp-button-inner-border-rest: var(--ax-sys-inner-border-control);--ax-comp-button-inner-border-hover: var(--ax-sys-inner-border-control);--ax-comp-button-inner-border-active: var(--ax-sys-inner-border-control);--ax-comp-button-bevel-rest: var(--ax-sys-bevel-control-rest);--ax-comp-button-bevel-hover: var(--ax-sys-bevel-control-hover);--ax-comp-button-bevel-active: var(--ax-sys-bevel-control-active);--ax-comp-button-bevel-disabled: var(--ax-sys-bevel-control-disabled);--ax-comp-button-inset-shadow-active: var(--ax-sys-effect-control-active);--ax-comp-button-background-image-rest: var(--ax-sys-gradient-control-rest);--ax-comp-button-background-image-hover: var(--ax-sys-gradient-control-hover);--ax-comp-button-background-image-active: var(--ax-sys-gradient-control-active);--ax-comp-button-surface-overlay-rest: var(--ax-sys-surface-overlay-control-rest);--ax-comp-button-surface-overlay-hover: var(--ax-sys-surface-overlay-control-hover);--ax-comp-button-surface-overlay-active: var(--ax-sys-surface-overlay-control-active);--ax-comp-button-surface-overlay-subtle-rest: var(--ax-sys-surface-overlay-control-subtle-rest);--ax-comp-button-surface-overlay-subtle-hover: var(--ax-sys-surface-overlay-control-subtle-hover);--ax-comp-button-surface-overlay-subtle-active: var(--ax-sys-surface-overlay-control-subtle-active, var(--ax-sys-surface-overlay-control-active));--ax-comp-button-contrast-inner-border-rest: var(--ax-sys-contrast-inner-border-control);--ax-comp-button-contrast-inner-border-hover: var(--ax-sys-contrast-inner-border-control);--ax-comp-button-contrast-inner-border-active: var(--ax-sys-contrast-inner-border-control);--ax-comp-button-contrast-surface-overlay-rest: var(--ax-sys-contrast-surface-overlay-control);--ax-comp-button-transform-rest: var(--ax-sys-transform-control-rest);--ax-comp-button-transform-hover: var(--ax-sys-transform-control-hover);--ax-comp-button-transform-active: var(--ax-sys-transform-control-active);--ax-comp-button-transform-disabled: var(--ax-sys-transform-control-disabled);--ax-comp-button-transition-duration: var(--ax-sys-motion-duration);--ax-comp-button-transition-timing: var(--ax-sys-motion-timing);display:inline-flex;border-radius:var(--ax-sys-border-radius)}ax-button button{position:relative;display:flex;height:var(--ax-sys-size-base);width:100%;cursor:pointer;align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2);border-radius:inherit;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);-webkit-user-select:none;user-select:none;transition-property:box-shadow,background-image,border-color,background-color,color,transform;transition-duration:var(--ax-comp-button-transition-duration);transition-timing-function:var(--ax-comp-button-transition-timing);transform:var(--ax-comp-button-transform-rest)}ax-button button.ax-state-disabled,ax-button button.ax-state-loading{cursor:not-allowed;opacity:50%;box-shadow:var(--ax-comp-button-contrast-inner-border-rest),var(--ax-comp-button-inner-border-rest);background-image:none;transform:var(--ax-comp-button-transform-disabled)}ax-button button.ax-solid-interactive{box-shadow:var(--ax-comp-button-contrast-inner-border-rest),var(--ax-comp-button-inner-border-rest),var(--ax-comp-button-bevel-rest),var(--ax-comp-button-highlight-rest),var(--ax-comp-button-shadow-rest);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-rest),var(--ax-comp-button-surface-overlay-rest)),var(--ax-comp-button-background-image-rest)}ax-button button.ax-solid-interactive.ax-default{border-color:rgba(var(--ax-sys-color-border-surface));--ax-comp-button-highlight-rest: 0 0 #0000;--ax-comp-button-highlight-hover: 0 0 #0000;--ax-comp-button-shadow-rest: var(--ax-sys-effect-control-neutral-rest);--ax-comp-button-shadow-hover: var(--ax-sys-effect-control-neutral-hover);--ax-comp-button-shadow-active: var(--ax-sys-effect-control-neutral-active);--ax-comp-button-inset-shadow-active: var(--ax-sys-effect-control-neutral-active);--ax-comp-button-bevel-rest: var(--ax-sys-bevel-control-neutral-rest);--ax-comp-button-bevel-hover: var(--ax-sys-bevel-control-neutral-hover);--ax-comp-button-bevel-active: var(--ax-sys-bevel-control-neutral-active);--ax-comp-button-bevel-disabled: var(--ax-sys-bevel-control-neutral-disabled);--ax-comp-button-inner-border-rest: var(--ax-sys-inner-border-control-neutral-rest);--ax-comp-button-inner-border-hover: var(--ax-sys-inner-border-control-neutral-hover);--ax-comp-button-inner-border-active: var(--ax-sys-inner-border-control-neutral-active);--ax-comp-button-background-image-rest: var(--ax-sys-gradient-control-neutral-rest);--ax-comp-button-background-image-hover: var(--ax-sys-gradient-control-neutral-hover);--ax-comp-button-background-image-active: var(--ax-sys-gradient-control-neutral-active)}ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):hover{box-shadow:var(--ax-comp-button-contrast-inner-border-hover),var(--ax-comp-button-inner-border-hover),var(--ax-comp-button-bevel-hover),var(--ax-comp-button-highlight-hover),var(--ax-comp-button-shadow-hover);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-hover),var(--ax-comp-button-surface-overlay-hover)),var(--ax-comp-button-background-image-hover);transform:var(--ax-comp-button-transform-hover)}ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):focus,ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):focus-within,ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):focus-visible{box-shadow:var(--ax-comp-button-contrast-inner-border-rest),var(--ax-comp-button-inner-border-rest),var(--ax-comp-button-bevel-rest),var(--ax-comp-button-highlight-rest),var(--ax-comp-button-shadow-rest);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-rest),var(--ax-comp-button-surface-overlay-rest)),var(--ax-comp-button-background-image-rest);transform:var(--ax-comp-button-transform-rest)}ax-button button.ax-solid-interactive:not(.ax-state-disabled,.ax-state-loading):active{box-shadow:var(--ax-comp-button-contrast-inner-border-active),var(--ax-comp-button-inner-border-active),var(--ax-comp-button-bevel-active),var(--ax-comp-button-inset-shadow-active);background-image:linear-gradient(var(--ax-comp-button-surface-overlay-active),var(--ax-comp-button-surface-overlay-active)),var(--ax-comp-button-background-image-active);transform:var(--ax-comp-button-transform-active)}ax-button button.ax-outline-interactive{box-shadow:var(--ax-comp-button-contrast-inner-border-rest);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-rest),var(--ax-comp-button-surface-overlay-subtle-rest))}ax-button button.ax-outline-interactive:not(.ax-state-disabled,.ax-state-loading):hover{box-shadow:var(--ax-comp-button-contrast-inner-border-hover),var(--ax-comp-button-highlight-subtle),var(--ax-comp-button-shadow-subtle-hover);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-hover),var(--ax-comp-button-surface-overlay-subtle-hover))}ax-button button.ax-outline-interactive:not(.ax-state-disabled,.ax-state-loading):active{box-shadow:var(--ax-comp-button-contrast-inner-border-active),var(--ax-comp-button-inset-shadow-active);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-active),var(--ax-comp-button-surface-overlay-subtle-active));transform:var(--ax-comp-button-transform-active)}ax-button button.ax-twotone-interactive{box-shadow:var(--ax-comp-button-contrast-inner-border-rest),var(--ax-comp-button-highlight-subtle),var(--ax-comp-button-shadow-subtle-rest);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-rest),var(--ax-comp-button-surface-overlay-subtle-rest))}ax-button button.ax-twotone-interactive:not(.ax-state-disabled,.ax-state-loading):hover{box-shadow:var(--ax-comp-button-contrast-inner-border-hover),var(--ax-comp-button-highlight-subtle),var(--ax-comp-button-shadow-subtle-hover);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-hover),var(--ax-comp-button-surface-overlay-subtle-hover))}ax-button button.ax-twotone-interactive:not(.ax-state-disabled,.ax-state-loading):active{box-shadow:var(--ax-comp-button-contrast-inner-border-active),var(--ax-comp-button-inset-shadow-active);background-image:linear-gradient(var(--ax-comp-button-contrast-surface-overlay-rest),var(--ax-comp-button-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-button-surface-overlay-subtle-active),var(--ax-comp-button-surface-overlay-subtle-active));transform:var(--ax-comp-button-transform-active)}ax-button button.ax-blank-interactive{box-shadow:var(--ax-comp-button-contrast-inner-border-rest)}ax-button button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):hover{box-shadow:var(--ax-comp-button-contrast-inner-border-hover),var(--ax-comp-button-shadow-subtle-rest);background-image:linear-gradient(var(--ax-comp-button-surface-overlay-subtle-hover),var(--ax-comp-button-surface-overlay-subtle-hover))}ax-button button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):active{box-shadow:var(--ax-comp-button-contrast-inner-border-active),var(--ax-comp-button-inset-shadow-active);background-image:linear-gradient(var(--ax-comp-button-surface-overlay-active),var(--ax-comp-button-surface-overlay-active));transform:var(--ax-comp-button-transform-active)}ax-button button.ax-link-interactive{box-shadow:none;background-image:none;transform:none}ax-button.ax-xs button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 4);line-height:calc(var(--spacing, .25rem) * 4)}ax-button.ax-sm button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button button,ax-button.ax-md button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button.ax-lg button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 5);line-height:calc(var(--spacing, .25rem) * 5)}ax-button.ax-xl button{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: calc(var(--spacing, .25rem) * 6);line-height:calc(var(--spacing, .25rem) * 6)}ax-button .ax-button-text{text-wrap:nowrap}ax-button.ax-button-icon.ax-xs button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-sm button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 1);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon button,ax-button.ax-button-icon.ax-md button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-lg button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon.ax-xl button{width:var(--ax-sys-size-base);height:var(--ax-sys-size-base);padding:calc(var(--spacing, .25rem) * 3);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-button.ax-button-icon button ax-icon,ax-button.ax-button-icon button ax-prefix,ax-button.ax-button-icon button i{font-size:1.125em}ax-button ax-dropdown-panel{position:absolute}}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
505
505
|
}], propDecorators: { iconOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconOnly", required: false }] }], loadingIcon: [{ type: i0.ContentChild, args: [i0.forwardRef(() => AXLoadingComponent), { isSignal: true }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], loadingText: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingText", required: false }] }, { type: i0.Output, args: ["loadingTextChange"] }], __hostClass: [{
|
|
506
506
|
type: HostBinding,
|
|
507
507
|
args: ['class']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-button.mjs","sources":["../../../../packages/components/button/src/lib/button-item.component.ts","../../../../packages/components/button/src/lib/button-item-list.component.ts","../../../../packages/components/button/src/lib/button.component.ts","../../../../packages/components/button/src/lib/button.component.html","../../../../packages/components/button/src/lib/button.module.ts","../../../../packages/components/button/src/acorex-components-button.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXComponent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\n\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { classes } from 'polytype';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n selected?: boolean;\n iconOnly?: boolean;\n color?: AXStyleColorType;\n loading?: boolean;\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-item',\n template: `\n <div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n @if (text) {\n <ax-text>{{ text | translate | async }}</ax-text>\n }\n </div>\n <div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"> </ng-content>\n </div>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n imports: [CommonModule, AXDecoratorGenericComponent, AXTranslationModule],\n providers: [{ provide: AXComponent, useExisting: AXButtonItemComponent }],\n styleUrl: './button-item.component.css',\n})\nexport class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\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 * Handles click events on the button item host element.\n * Emits the onClick event if the component is not disabled.\n *\n * @param e - The mouse event that triggered the click.\n * @ignore\n */\n @HostListener('click', ['$event'])\n __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 * Handles focus events on the button item host element.\n * Emits the onFocus event.\n *\n * @param e - The focus event that was triggered.\n * @ignore\n */\n @HostListener('focus', ['$event'])\n __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * Handles blur events on the button item host element.\n * Emits the onBlur event.\n *\n * @param e - The blur event that was triggered.\n * @ignore\n */\n @HostListener('blur', ['$event'])\n __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n /**\n * Generates the CSS classes for the button item host element.\n * Includes classes for icon-only state, disabled state, selected state, divided state, and color.\n *\n * @returns string - The space-separated CSS class names.\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 'ax-action-item': true,\n };\n cssClasses[`${this.color}`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * Sets the tabindex attribute for keyboard navigation.\n *\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import {\n AXClickEvent,\n AXClosableComponent,\n AXComponent,\n AXItemClickEvent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport {\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Output,\n QueryList,\n ViewEncapsulation,\n afterNextRender,\n inject,\n input,\n} from '@angular/core';\nimport { AXButtonItemComponent, AXButtonItemListItem } from './button-item.component';\n\n/**\n * A component for rendering a list of button items with optional dividers between them.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-item-list',\n template: `\n @for (item of items(); track item.name) {\n <ax-button-item\n [text]=\"item.text\"\n [name]=\"item.name\"\n [disabled]=\"isDisabled(item)\"\n [color]=\"item.color\"\n [selected]=\"item.selected\"\n (onClick)=\"_handleOnItemClick($event)\"\n >\n @if (item.loading) {\n <ax-loading class=\"ax-button-item-loading\"></ax-loading>\n } @else if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n }\n </ax-button-item>\n @if (item.divided) {\n <ax-divider></ax-divider>\n }\n }\n <ng-content></ng-content>\n `,\n styleUrls: ['./button-item-list.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonItemComponent, AXDecoratorGenericComponent, AXDecoratorIconComponent, AXLoadingComponent],\n providers: [{ provide: AXComponent, useExisting: AXButtonItemListComponent }],\n})\nexport class AXButtonItemListComponent extends MXInteractiveComponent {\n private parent = inject<AXClosableComponent>(AXClosableComponent, { optional: true });\n\n @ContentChildren(AXButtonItemComponent)\n protected _contentButtons: QueryList<AXButtonItemComponent>;\n\n /**\n * The list of button items to display.\n *\n * @defaultValue []\n */\n items = input<AXButtonItemListItem[]>([]);\n\n /**\n * Determines if the parent closable component should be closed automatically when\n * an item is clicked.\n *\n * @defaultValue true\n */\n closeParentOnClick = input(true);\n\n /**\n * Locks interaction for all items when any item is loading.\n *\n * @defaultValue false\n */\n lockOnLoading = input(false);\n\n /**\n * Emits an event when an item is clicked.\n * The event contains details about the clicked item.\n *\n * @event {AXItemClickEvent<AXButtonItemComponent>} - The event object containing clicked item details.\n */\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonItemComponent>> = new EventEmitter<\n AXItemClickEvent<AXButtonItemComponent>\n >();\n\n /**\n * Initializes the button item list component.\n * Sets up content change detection and initializes content after the next render.\n *\n * @ignore\n */\n constructor() {\n super();\n afterNextRender(() => {\n this._initContents();\n this._contentButtons.changes.subscribe(() => {\n this._initContents();\n });\n });\n }\n\n protected isDisabled(item: AXButtonItemListItem): boolean {\n if (item.disabled) {\n return true;\n }\n if (item.loading) {\n return true;\n }\n if (this.lockOnLoading() && this.hasAnyLoadingItem()) {\n return true;\n }\n return false;\n }\n\n protected hasAnyLoadingItem(): boolean {\n return this.items().some((item) => !!item.loading);\n }\n /**\n * Initializes the content of the button item list.\n * Binds events and properties to content button items and marks for change detection.\n *\n * @ignore\n */\n private _initContents() {\n this._bindEvents();\n this._bindProps();\n this.cdr.markForCheck();\n }\n\n /**\n * Binds click events to content button items.\n * Subscribes to onClick events of child button items if not already subscribed.\n *\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons?.forEach((b) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c) => {\n this._handleOnItemClick(c);\n });\n });\n }\n\n /**\n * Binds properties to content button items.\n * Sets the disabled state of child button items based on the parent's disabled state.\n *\n * @ignore\n */\n private _bindProps() {\n this._contentButtons?.forEach((b) => {\n b.disabled = b.disabled ?? this.disabled;\n });\n }\n\n /**\n * Handles click events from button items.\n * Closes the parent component if available and emits the item click event.\n *\n * @param e - The click event from the button item.\n * @ignore\n */\n protected _handleOnItemClick(e: AXClickEvent) {\n if (this.closeParentOnClick()) {\n this.parent?.close();\n }\n this._emitOnItemClickEvent(e, e.component);\n }\n\n /**\n * Emits the onItemClick event with details about the clicked item.\n *\n * @param e - The click event from the button item.\n * @param item - The button item component that was clicked.\n * @ignore\n */\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: this.getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n }\n\n /**\n * Closes the parent closable component if available.\n */\n public closeParent(): void {\n this.parent?.close();\n }\n\n /**\n * Generates the CSS classes for the button item list host element.\n * Includes classes for action list and vertical layout.\n *\n * @returns string - The space-separated CSS class names.\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-action-list ax-action-list-vertical`;\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXRippleDirective,\n MXButtonBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n ViewEncapsulation,\n computed,\n contentChild,\n input,\n model,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.css'],\n inputs: ['disabled', 'size', 'tabIndex', 'color', 'look', 'text', 'toggleable', 'selected'],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'selectedChange',\n 'toggleableChange',\n 'lookChange',\n 'colorChange',\n 'disabledChange',\n ],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n imports: [AXRippleDirective, AXTranslationModule, CommonModule],\n})\nexport class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n iconOnly = input(false);\n\n protected showIcon = computed(() => {\n return !this.hasLoadingIcon();\n });\n protected loadingIcon = contentChild(AXLoadingComponent);\n protected hasLoadingIcon = computed(() => this.loadingIcon() != null);\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * Specifies the type of button to be used in the action sheet.\n *\n * @defaultValue 'button'\n */\n type = input<AXButtonType>('button');\n\n /**\n * Defines the text displayed while the action sheet is loading.\n *\n * @defaultValue null\n */\n loadingText = model<string | null>(null);\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Triggers a click event on the button element.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const list = Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n if (this.iconOnly()) {\n list.push('ax-button-icon');\n }\n return list;\n }\n\n protected override emitOnFocusEvent(e?: FocusEvent): void {\n this.getButton()?.classList.add('ax-state-focus');\n super.emitOnFocusEvent(e);\n }\n\n protected override emitOnBlurEvent(e?: FocusEvent): void {\n this.getButton()?.classList.remove('ax-state-focus');\n super.emitOnBlurEvent(e);\n }\n\n override focus() {\n this.getButton()?.focus();\n }\n\n override blur() {\n this.getButton()?.blur();\n }\n}\n","<button\n [axRipple]\n [attr.type]=\"type()\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (click)=\"_handleClick($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n class=\"{{ color }}\n {{ interactiveLook }} \n {{ selected ? 'ax-state-selected' : '' }} \n {{ disabled ? 'ax-state-disabled' : '' }}\"\n>\n <ng-content select=\"ax-loading, ax-loading-spinner\"> </ng-content>\n\n @if (showIcon()) {\n <ng-content select=\"ax-prefix, ax-icon\"> </ng-content>\n }\n\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if (text && !loadingText() && !iconOnly()) {\n <span class=\"ax-button-text\">{{ text | translate | async }}</span>\n }\n\n @if (loadingText()) {\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n\n <ng-content></ng-content>\n</button>\n","import { NgModule } from '@angular/core';\nimport { AXButtonItemListComponent } from './button-item-list.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\n\n@NgModule({\n imports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent],\n exports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-button.mjs","sources":["../../../../packages/components/button/src/lib/button-item.component.ts","../../../../packages/components/button/src/lib/button-item-list.component.ts","../../../../packages/components/button/src/lib/button.component.ts","../../../../packages/components/button/src/lib/button.component.html","../../../../packages/components/button/src/lib/button.module.ts","../../../../packages/components/button/src/acorex-components-button.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXComponent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\n\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { classes } from 'polytype';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n selected?: boolean;\n iconOnly?: boolean;\n color?: AXStyleColorType;\n loading?: boolean;\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-item',\n template: `\n <div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n @if (text) {\n <ax-text>{{ text | translate | async }}</ax-text>\n }\n </div>\n <div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"> </ng-content>\n </div>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n imports: [CommonModule, AXDecoratorGenericComponent, AXTranslationModule],\n providers: [{ provide: AXComponent, useExisting: AXButtonItemComponent }],\n styleUrl: './button-item.component.css',\n})\nexport class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\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 * Handles click events on the button item host element.\n * Emits the onClick event if the component is not disabled.\n *\n * @param e - The mouse event that triggered the click.\n * @ignore\n */\n @HostListener('click', ['$event'])\n __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 * Handles focus events on the button item host element.\n * Emits the onFocus event.\n *\n * @param e - The focus event that was triggered.\n * @ignore\n */\n @HostListener('focus', ['$event'])\n __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * Handles blur events on the button item host element.\n * Emits the onBlur event.\n *\n * @param e - The blur event that was triggered.\n * @ignore\n */\n @HostListener('blur', ['$event'])\n __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n /**\n * Generates the CSS classes for the button item host element.\n * Includes classes for icon-only state, disabled state, selected state, divided state, and color.\n *\n * @returns string - The space-separated CSS class names.\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 'ax-action-item': true,\n };\n cssClasses[`${this.color}`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * Sets the tabindex attribute for keyboard navigation.\n *\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import {\n AXClickEvent,\n AXClosableComponent,\n AXComponent,\n AXItemClickEvent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport {\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Output,\n QueryList,\n ViewEncapsulation,\n afterNextRender,\n inject,\n input,\n} from '@angular/core';\nimport { AXButtonItemComponent, AXButtonItemListItem } from './button-item.component';\n\n/**\n * A component for rendering a list of button items with optional dividers between them.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-item-list',\n template: `\n @for (item of items(); track item.name) {\n <ax-button-item\n [text]=\"item.text\"\n [name]=\"item.name\"\n [disabled]=\"isDisabled(item)\"\n [color]=\"item.color\"\n [selected]=\"item.selected\"\n (onClick)=\"_handleOnItemClick($event)\"\n >\n @if (item.loading) {\n <ax-loading class=\"ax-button-item-loading\"></ax-loading>\n } @else if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n }\n </ax-button-item>\n @if (item.divided) {\n <ax-divider></ax-divider>\n }\n }\n <ng-content></ng-content>\n `,\n styleUrls: ['./button-item-list.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonItemComponent, AXDecoratorGenericComponent, AXDecoratorIconComponent, AXLoadingComponent],\n providers: [{ provide: AXComponent, useExisting: AXButtonItemListComponent }],\n})\nexport class AXButtonItemListComponent extends MXInteractiveComponent {\n private parent = inject<AXClosableComponent>(AXClosableComponent, { optional: true });\n\n @ContentChildren(AXButtonItemComponent)\n protected _contentButtons: QueryList<AXButtonItemComponent>;\n\n /**\n * The list of button items to display.\n *\n * @defaultValue []\n */\n items = input<AXButtonItemListItem[]>([]);\n\n /**\n * Determines if the parent closable component should be closed automatically when\n * an item is clicked.\n *\n * @defaultValue true\n */\n closeParentOnClick = input(true);\n\n /**\n * Locks interaction for all items when any item is loading.\n *\n * @defaultValue false\n */\n lockOnLoading = input(false);\n\n /**\n * Emits an event when an item is clicked.\n * The event contains details about the clicked item.\n *\n * @event {AXItemClickEvent<AXButtonItemComponent>} - The event object containing clicked item details.\n */\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonItemComponent>> = new EventEmitter<\n AXItemClickEvent<AXButtonItemComponent>\n >();\n\n /**\n * Initializes the button item list component.\n * Sets up content change detection and initializes content after the next render.\n *\n * @ignore\n */\n constructor() {\n super();\n afterNextRender(() => {\n this._initContents();\n this._contentButtons.changes.subscribe(() => {\n this._initContents();\n });\n });\n }\n\n protected isDisabled(item: AXButtonItemListItem): boolean {\n if (item.disabled) {\n return true;\n }\n if (item.loading) {\n return true;\n }\n if (this.lockOnLoading() && this.hasAnyLoadingItem()) {\n return true;\n }\n return false;\n }\n\n protected hasAnyLoadingItem(): boolean {\n return this.items().some((item) => !!item.loading);\n }\n /**\n * Initializes the content of the button item list.\n * Binds events and properties to content button items and marks for change detection.\n *\n * @ignore\n */\n private _initContents() {\n this._bindEvents();\n this._bindProps();\n this.cdr.markForCheck();\n }\n\n /**\n * Binds click events to content button items.\n * Subscribes to onClick events of child button items if not already subscribed.\n *\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons?.forEach((b) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c) => {\n this._handleOnItemClick(c);\n });\n });\n }\n\n /**\n * Binds properties to content button items.\n * Sets the disabled state of child button items based on the parent's disabled state.\n *\n * @ignore\n */\n private _bindProps() {\n this._contentButtons?.forEach((b) => {\n b.disabled = b.disabled ?? this.disabled;\n });\n }\n\n /**\n * Handles click events from button items.\n * Closes the parent component if available and emits the item click event.\n *\n * @param e - The click event from the button item.\n * @ignore\n */\n protected _handleOnItemClick(e: AXClickEvent) {\n if (this.closeParentOnClick()) {\n this.parent?.close();\n }\n this._emitOnItemClickEvent(e, e.component);\n }\n\n /**\n * Emits the onItemClick event with details about the clicked item.\n *\n * @param e - The click event from the button item.\n * @param item - The button item component that was clicked.\n * @ignore\n */\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: this.getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n }\n\n /**\n * Closes the parent closable component if available.\n */\n public closeParent(): void {\n this.parent?.close();\n }\n\n /**\n * Generates the CSS classes for the button item list host element.\n * Includes classes for action list and vertical layout.\n *\n * @returns string - The space-separated CSS class names.\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-action-list ax-action-list-vertical`;\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXRippleDirective,\n MXButtonBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n ViewEncapsulation,\n computed,\n contentChild,\n input,\n model,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.css'],\n inputs: ['disabled', 'size', 'tabIndex', 'color', 'look', 'text', 'toggleable', 'selected'],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'selectedChange',\n 'toggleableChange',\n 'lookChange',\n 'colorChange',\n 'disabledChange',\n ],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n imports: [AXRippleDirective, AXTranslationModule, CommonModule],\n})\nexport class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n iconOnly = input(false);\n\n protected showIcon = computed(() => {\n return !this.hasLoadingIcon();\n });\n protected loadingIcon = contentChild(AXLoadingComponent);\n protected hasLoadingIcon = computed(() => this.loadingIcon() != null);\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * Specifies the type of button to be used in the action sheet.\n *\n * @defaultValue 'button'\n */\n type = input<AXButtonType>('button');\n\n /**\n * Defines the text displayed while the action sheet is loading.\n *\n * @defaultValue null\n */\n loadingText = model<string | null>(null);\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Triggers a click event on the button element.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const list = Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n if (this.iconOnly()) {\n list.push('ax-button-icon');\n }\n return list;\n }\n\n protected override emitOnFocusEvent(e?: FocusEvent): void {\n this.getButton()?.classList.add('ax-state-focus');\n super.emitOnFocusEvent(e);\n }\n\n protected override emitOnBlurEvent(e?: FocusEvent): void {\n this.getButton()?.classList.remove('ax-state-focus');\n super.emitOnBlurEvent(e);\n }\n\n override focus() {\n this.getButton()?.focus();\n }\n\n override blur() {\n this.getButton()?.blur();\n }\n}\n","<button\n [axRipple]\n [attr.type]=\"type()\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (click)=\"_handleClick($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n class=\"{{ color }}\n {{ interactiveLook }} \n {{ selected ? 'ax-state-selected' : '' }} \n {{ disabled ? 'ax-state-disabled' : '' }}\"\n>\n <ng-content select=\"ax-loading, ax-loading-spinner\"> </ng-content>\n\n @if (showIcon()) {\n <ng-content select=\"ax-prefix, ax-icon\"> </ng-content>\n }\n\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if (text && !loadingText() && !iconOnly()) {\n <span class=\"ax-button-text\">{{ text | translate | async }}</span>\n }\n\n @if (loadingText()) {\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n\n <ng-content></ng-content>\n</button>\n","import { NgModule } from '@angular/core';\nimport { AXButtonItemListComponent } from './button-item-list.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\n\n@NgModule({\n imports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent],\n exports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|