@acorex/components 7.0.21 → 7.0.23
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/color-picker/src/color-picker.component.d.ts +1 -5
- package/esm2020/button/src/button.component.mjs +2 -2
- package/esm2020/calendar/src/calendar.component.mjs +2 -2
- package/esm2020/chips/src/chips.component.mjs +2 -2
- package/esm2020/form/src/form-field.component.mjs +2 -2
- package/esm2020/form/src/form.component.mjs +18 -16
- package/esm2020/mixin/src/value-mixin.class.mjs +46 -26
- package/esm2020/number-box/src/number-box.component.mjs +3 -3
- package/esm2020/switch/src/switch.component.mjs +2 -2
- package/fesm2015/acorex-components-button.mjs +2 -2
- package/fesm2015/acorex-components-button.mjs.map +1 -1
- package/fesm2015/acorex-components-calendar.mjs +2 -3
- package/fesm2015/acorex-components-calendar.mjs.map +1 -1
- package/fesm2015/acorex-components-chips.mjs +2 -2
- package/fesm2015/acorex-components-chips.mjs.map +1 -1
- package/fesm2015/acorex-components-form.mjs +19 -17
- package/fesm2015/acorex-components-form.mjs.map +1 -1
- package/fesm2015/acorex-components-mixin.mjs +44 -24
- package/fesm2015/acorex-components-mixin.mjs.map +1 -1
- package/fesm2015/acorex-components-number-box.mjs +2 -2
- package/fesm2015/acorex-components-number-box.mjs.map +1 -1
- package/fesm2015/acorex-components-switch.mjs +2 -2
- package/fesm2015/acorex-components-switch.mjs.map +1 -1
- package/fesm2020/acorex-components-button.mjs +2 -2
- package/fesm2020/acorex-components-button.mjs.map +1 -1
- package/fesm2020/acorex-components-calendar.mjs +2 -3
- package/fesm2020/acorex-components-calendar.mjs.map +1 -1
- package/fesm2020/acorex-components-chips.mjs +2 -2
- package/fesm2020/acorex-components-chips.mjs.map +1 -1
- package/fesm2020/acorex-components-form.mjs +19 -17
- package/fesm2020/acorex-components-form.mjs.map +1 -1
- package/fesm2020/acorex-components-mixin.mjs +44 -24
- package/fesm2020/acorex-components-mixin.mjs.map +1 -1
- package/fesm2020/acorex-components-number-box.mjs +2 -2
- package/fesm2020/acorex-components-number-box.mjs.map +1 -1
- package/fesm2020/acorex-components-switch.mjs +2 -2
- package/fesm2020/acorex-components-switch.mjs.map +1 -1
- package/form/src/form.component.d.ts +10 -9
- package/mixin/src/value-mixin.class.d.ts +5 -5
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-mixin.mjs","sources":["../../../../projects/acorex/components/mixin/src/base-components.class.ts","../../../../projects/acorex/components/mixin/src/base-menu-mixin.class.ts","../../../../projects/acorex/components/mixin/src/button-mixin.class.ts","../../../../projects/acorex/components/mixin/src/clickable-mixin.class.ts","../../../../projects/acorex/components/mixin/src/color-look-mixing.class.ts","../../../../projects/acorex/components/mixin/src/datalist-component.class.ts","../../../../projects/acorex/components/mixin/src/datalist.class.ts","../../../../projects/acorex/components/mixin/src/dropdown-mixin.class.ts","../../../../projects/acorex/components/mixin/src/interactive-mixin.class.ts","../../../../projects/acorex/components/mixin/src/loading-mixin.class.ts","../../../../projects/acorex/components/mixin/src/selection-component.class.ts","../../../../projects/acorex/components/mixin/src/sizable-mixin.class.ts","../../../../projects/acorex/components/mixin/src/textbox-mixin.class.ts","../../../../projects/acorex/components/mixin/src/value-mixin.class.ts","../../../../projects/acorex/components/mixin/src/mixin.class.ts","../../../../projects/acorex/components/mixin/src/page-component.class.ts","../../../../projects/acorex/components/mixin/acorex-components-mixin.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef,\r\n EventEmitter,\r\n Inject,\r\n Injectable,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { Constructor } from './constratctor';\r\n\r\n/**\r\n * A token that specifies the size of component.\r\n */\r\nexport type AXElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport type AXComponentOptionChanging = { name: string; value?: any };\r\nexport type AXComponentOptionChanged = {\r\n name: string;\r\n newValue?: any;\r\n oldValue?: any;\r\n};\r\nexport type AXComponentSetOption = {\r\n name: string;\r\n value?: any;\r\n afterCallback?: (oldValue?: any, newValue?: any) => void;\r\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\r\n};\r\n\r\n@Injectable()\r\nexport class AXBaseComponent {\r\n\r\n id: string = `AX${Math.round(Math.random() * Math.pow(10, 10))}`;\r\n\r\n /**\r\n * A token that specifies the layout direction of component.\r\n */\r\n //rtl: boolean;\r\n\r\n #rtl: boolean;\r\n\r\n\r\n get rtl(): boolean {\r\n if (this.#rtl)\r\n return this.#rtl;\r\n else\r\n return this._getHostElement().classList.contains('ax-rtl') ||\r\n window\r\n .getComputedStyle(this._getHostElement(), null)\r\n .getPropertyValue('direction') === 'rtl';\r\n }\r\n\r\n set rtl(value: boolean) {\r\n this.#rtl = value;\r\n }\r\n\r\n\r\n #elementRef: ElementRef;\r\n _cdr: ChangeDetectorRef;\r\n\r\n _isInited: boolean;\r\n _isRendered: boolean;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(@Inject(Array) ...args: any[]) {\r\n this.#elementRef = args[0];\r\n this._cdr = args[1];\r\n }\r\n\r\n ngOnInit() {\r\n this._isInited = true;\r\n this._onInternalInit();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._isRendered = true;\r\n this._onInternalViewInit();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onInternalDestroy();\r\n }\r\n\r\n _getHostElement<T = HTMLElement>(): T {\r\n return this.#elementRef.nativeElement as T;\r\n }\r\n\r\n _getInnerElement<T = HTMLElement>(): T {\r\n return this._getHostElement().firstElementChild as unknown as T;\r\n }\r\n\r\n _onInternalInit() {\r\n (this._getHostElement() as any).__axContext__ = this;\r\n this._applyRtl();\r\n this.onInit();\r\n }\r\n\r\n _onInternalViewInit() {\r\n this.onViewInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n this.onDestroy();\r\n }\r\n\r\n onInit() { }\r\n\r\n\r\n onViewInit() { }\r\n\r\n onDestroy() { }\r\n\r\n _applyRtl() {\r\n if (this.rtl) {\r\n this._getHostElement().classList.add('ax-rtl');\r\n }\r\n }\r\n\r\n _onOptionChanging(option: AXComponentOptionChanging) {\r\n return option?.value;\r\n }\r\n _onOptionChanged(option: AXComponentOptionChanged): void { }\r\n\r\n _setOption(option: AXComponentSetOption) {\r\n const oldValue = this[option.name];\r\n const newValue = this._onOptionChanging({\r\n name: option.name,\r\n value: option.value,\r\n });\r\n //TODO : check real changes\r\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\r\n if (oldValue != newValue) {\r\n this[`_${option.name}`] = option.value;\r\n this._onOptionChanged({ name: option.name, newValue, oldValue });\r\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\r\n if (emitter) emitter.emit(newValue);\r\n }\r\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\r\n }\r\n}\r\n\r\nexport function _BaseComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n };\r\n}\r\n\r\nexport const BASE_INPUTS = ['rtl'];\r\nexport const BASE_OUTPUT = [];\r\n","import { AXItemClickEvent } from '@acorex/components/common';\r\nimport { EventEmitter } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _BaseMenuComponentMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n textField: string = 'text';\r\n\r\n valueField: string = 'id';\r\n\r\n #isLoading: boolean = false;\r\n\r\n #loadedItems: any = [];\r\n\r\n visibleField: string;\r\n\r\n disableField: string = 'disabled';\r\n\r\n hasChildField: string;\r\n\r\n iconField: string = 'icon';\r\n\r\n openMode: 'click' | 'hover' = 'click';\r\n\r\n displayMode: 'horizontal' | 'vertical' | 'sidemenu' = 'sidemenu';\r\n\r\n dividerField: string = 'divider';\r\n\r\n onMenuItemClick: EventEmitter<AXItemClickEvent<any>> = new EventEmitter<\r\n AXItemClickEvent<any>\r\n >();\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n #items: any = [];\r\n get items(): any {\r\n return this.#items;\r\n }\r\n set items(v: any) {\r\n if (Array.isArray(v)) {\r\n this.#items = v;\r\n } else if (typeof v === 'function') {\r\n this.#items = v;\r\n } else {\r\n this.#items = [];\r\n }\r\n }\r\n\r\n get displayItems() {\r\n if (Array.isArray(this.items)) {\r\n return this.#items || [];\r\n } else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get isLoading() {\r\n return this.#isLoading;\r\n }\r\n\r\n _formatData(v: any[]) {\r\n return _.unionBy(\r\n v.map((o, i) => {\r\n if (typeof o == 'object') return o;\r\n else {\r\n const no: any = {};\r\n no[this.valueField] = o;\r\n no[\r\n Array.isArray(this.textField) ? this.textField[0] : this.textField\r\n ] = o;\r\n return no;\r\n }\r\n }),\r\n this.valueField\r\n );\r\n }\r\n\r\n _findNode(parentId: number, _children: any, source: any) {\r\n if (source.length > 0) {\r\n source.forEach((element) => {\r\n if (element[this.valueField] == parentId) {\r\n element.children = _children;\r\n } else {\r\n if (element?.children)\r\n this._findNode(parentId, _children, element.children);\r\n }\r\n });\r\n }\r\n }\r\n\r\n _fetchData(parentId?: number, searchText?: string) {\r\n return new Promise((resolve) => {\r\n if (this.#isLoading) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n this.#items({\r\n parentId: parentId,\r\n searchQuery: searchText,\r\n })\r\n .then((c) => {\r\n if (Array.isArray(c)) {\r\n if (parentId) {\r\n resolve(this._findNode(parentId, c, this.displayItems));\r\n } else {\r\n resolve((this.#loadedItems = c));\r\n }\r\n }\r\n this._cdr.markForCheck();\r\n })\r\n .finally(() => {\r\n this.#isLoading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n _onInternalInit() {\r\n if (typeof this.#items == 'function') {\r\n this._fetchData();\r\n }\r\n super._onInternalInit();\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField)\r\n ? this.textField.map((c) => item[c]).join(',')\r\n : item[this.textField];\r\n else return 'Loading...';\r\n }\r\n\r\n public refresh() {\r\n this._fetchData();\r\n }\r\n };\r\n}\r\n\r\nexport const BASEMENU_INPUTS = [\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\r\n 'tooltip',\r\n 'isOpen',\r\n 'isActive',\r\n 'visibleField',\r\n 'disableField',\r\n 'hasChildField',\r\n 'openMode',\r\n 'displayMode',\r\n 'dividerField',\r\n];\r\nexport const BASEMENU_OUTPUT = ['onMenuItemClick'];\r\n","import { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _ButtonComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n \r\n\r\n _text: string;\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get text(): string {\r\n return this._text;\r\n }\r\n set text(v: string) {\r\n this._setOption({\r\n name: 'text',\r\n value: v,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\r\n _toggleable?: boolean = false;\r\n /**\r\n * Provides visual styling that indicates if the Button is active\r\n */\r\n get toggleable(): boolean {\r\n return this._toggleable!;\r\n }\r\n set toggleable(value: boolean) {\r\n this._setOption({\r\n name: 'toggleable',\r\n value\r\n });\r\n }\r\n\r\n\r\n selectedChange: EventEmitter<boolean> = new EventEmitter();\r\n _selected?: boolean = false;\r\n /**\r\n * Indicates if the Button is selected or not\r\n */\r\n get selected(): boolean {\r\n return this._selected!;\r\n }\r\n set selected(value: boolean) {\r\n this._setOption({\r\n name: 'selected',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n\r\n get _classes() {\r\n const cssClasses = {\r\n 'ax-button-icon': !this.text,\r\n 'ax-state-disabled': this[\"disabled\"],\r\n 'ax-state-selected': this.selected\r\n };\r\n cssClasses[`ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`] = true;\r\n return cssClasses;\r\n }\r\n };\r\n}\r\n\r\nexport const BUTTON_INPUTS = [\r\n 'text',\r\n 'toggleable',\r\n 'selected',\r\n];\r\nexport const BUTTON_OUTPUT = ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange'];\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXClickEvent } from \"@acorex/components/common\";\r\n\r\n\r\nexport function _ClickableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase){\r\n return class extends Base {\r\n\r\n /**\r\n * Fires each time the user clicks the button.\r\n * @event\r\n */\r\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n _emitOnClickEvent(e: MouseEvent): void {\r\n this.onClick.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n}\r\n\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXStyleColorType, AXStyleLookType } from \"@acorex/components/common\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\nexport function _ColorLookComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\r\n _color: AXStyleColorType = 'primary';\r\n /**\r\n * Predefined color schemes\r\n */\r\n get color(): AXStyleColorType {\r\n return this._color;\r\n }\r\n set color(value: AXStyleColorType) {\r\n this._setOption({\r\n name: 'color',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\r\n _look?: AXStyleLookType = 'default';\r\n /**\r\n * Predefined look schemes\r\n */\r\n get look(): AXStyleLookType {\r\n return this._look!;\r\n }\r\n set look(value: AXStyleLookType) {\r\n this._setOption({\r\n name: 'look',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const COLOR_LOOK_INPUTS = [\r\n 'color',\r\n 'look',\r\n];\r\nexport const COLOR_LOOK_OUTPUT = ['lookChange', 'colorChange'];","import { unionBy, flatMapDeep } from 'lodash-es';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXDataListFetchDataCallback, AXDataListItems } from './datalist.class';\r\n\r\nexport function _DatalistComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n valueField: string = 'id';\r\n textField: string = 'text';\r\n childrenField: string;\r\n pageSize: number = 10;\r\n\r\n #currentPage: number = 0;\r\n #isLoading: boolean = false;\r\n #loadedItems: any[] = [];\r\n #flatItems: any[] = [];\r\n #totalItems: number = 0;\r\n\r\n #isLazy: boolean = false;\r\n\r\n get totalCount(): number {\r\n return this.#totalItems;\r\n }\r\n\r\n get isLazy(): boolean {\r\n return this.#isLazy;\r\n }\r\n\r\n get loadedCount(): number {\r\n return this.#loadedItems?.length || 0;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n #items: AXDataListItems = [];\r\n get items(): AXDataListItems {\r\n return this.#items;\r\n }\r\n set items(v: AXDataListItems) {\r\n if (Array.isArray(v)) {\r\n this.#items = this._formatData(v);\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n } else if (typeof v === 'function') {\r\n this.#isLazy = true;\r\n this.#items = v;\r\n } else {\r\n this.#items = [];\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n }\r\n }\r\n\r\n get displayItems(): any[] {\r\n if (Array.isArray(this.items)) {\r\n return (this.#items || []) as any[];\r\n } else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get flatItems(): any[] {\r\n return this.#flatItems || [];\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.#isLoading;\r\n }\r\n\r\n _formatData(v: any[]) {\r\n return unionBy(\r\n v.map((o, i) => {\r\n if (typeof o == 'object') return o;\r\n else {\r\n const no: any = {};\r\n no[this.valueField] = o;\r\n no[\r\n Array.isArray(this.textField) ? this.textField[0] : this.textField\r\n ] = o;\r\n return no;\r\n }\r\n }),\r\n this.valueField\r\n );\r\n // return v.map((o, i) => {\r\n // if (typeof o == 'object')\r\n // return o\r\n // else {\r\n // const no: any = {};\r\n // no[this.valueField] = o;\r\n // no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;\r\n // return no;\r\n // }\r\n // });\r\n }\r\n\r\n _fetchData(opts?: { searchQuery?: string }) {\r\n const skip = this.#currentPage * this.pageSize, take = this.pageSize;\r\n if (\r\n (this.loadedCount >= this.totalCount && this.totalCount != 0) ||\r\n this.#isLoading ||\r\n !this.#isLazy ||\r\n skip > this.totalCount\r\n ) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n const fetchFn = this.#items as AXDataListFetchDataCallback;\r\n fetchFn({ skip, take, searchQuery: opts?.searchQuery })\r\n .then((c) => {\r\n if (Array.isArray(c)) {\r\n this.#loadedItems = this._formatData(c);\r\n this.#totalItems = c.length;\r\n } else {\r\n this.#totalItems = c.total || c.items?.length || 0;\r\n this.#loadedItems = [\r\n ...new Set(this.#loadedItems.concat(this._formatData(c.items))),\r\n ];\r\n this.#currentPage++;\r\n }\r\n this._cdr.markForCheck();\r\n })\r\n .finally(() => {\r\n this.#isLoading = false;\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n });\r\n }\r\n }\r\n\r\n _onDataLoaded() { }\r\n\r\n #generateFlatItems(): void {\r\n const flattenFn = (item) => {\r\n return [item, flatMapDeep(item.children, flattenFn)];\r\n };\r\n this.#flatItems = flatMapDeep(this.displayItems, flattenFn);\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField)\r\n ? this.textField.map((c) => item[c]).join(',')\r\n : item[this.textField];\r\n else return 'Loading...';\r\n }\r\n\r\n _trackByFunction(item) {\r\n if (!item) return null;\r\n return item[this.valueField];\r\n }\r\n\r\n refresh() {\r\n this.empty();\r\n this._fetchData();\r\n }\r\n\r\n empty() {\r\n this.#isLoading = false;\r\n this.#currentPage = 0;\r\n if (this.#loadedItems) {\r\n this.#loadedItems.length = 0;\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport const DATALIST_INPUTS = ['pageSize', 'valueField', 'textField', 'items'];\r\nexport const DATALIST_OUTPUT = [];\r\n","\r\nexport interface AXDataListQuery {\r\n take?: number;\r\n skip?: number;\r\n searchQuery?: string;\r\n}\r\nexport interface AXDataListFetchCallbackResult {\r\n items: any[];\r\n total: number;\r\n};\r\n\r\nexport type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<any[] | AXDataListFetchCallbackResult>;\r\n\r\nexport type AXDataListItems = any[] | AXDataListFetchDataCallback;","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXEvent,AXConnectedPosition } from \"@acorex/components/common\";\r\n\r\n\r\n\r\nexport interface DropdownComponentInterface {\r\n open(): void;\r\n close(): void;\r\n toggle(): void;\r\n isOpen: boolean;\r\n}\r\n\r\n\r\nexport function _DropdownComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n\r\n abstract class Mixin extends Base {\r\n\r\n readonly: boolean = false;\r\n\r\n\r\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n\r\n //TODO: Circular dependency on AXPopverComponent\r\n abstract popover: any;\r\n\r\n position: AXConnectedPosition[] = [];\r\n\r\n _emitOnOpenedEvent() {\r\n\r\n this.onOpened.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n _emitOnClosedEvent() {\r\n this.onClosed.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n\r\n onInit(): void {\r\n super.onInit();\r\n this.popover.onOpened.subscribe(this.onOpened);\r\n this.popover.onClosed.subscribe(this.onClosed);\r\n }\r\n\r\n onViewInit() {\r\n // wait for documentElement\r\n setTimeout(() => {\r\n if (this.position.length == 0) {\r\n const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\r\n const list: AXConnectedPosition[] = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: offset\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -offset\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: offset\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetY: -offset\r\n },\r\n ];\r\n this.position.push(...list);\r\n }\r\n }, 500);\r\n }\r\n\r\n toggle() {\r\n if (this['disabled'] !== true) {\r\n this.popover.toggle();\r\n }\r\n }\r\n\r\n close() {\r\n if (!this.isOpen || this['disabled']) {\r\n return;\r\n }\r\n this.popover.close();\r\n (this as any)?.focus();\r\n }\r\n\r\n open() {\r\n if (this.isOpen || this['disabled']) {\r\n return;\r\n }\r\n this.popover.open();\r\n this.popover.focus();\r\n }\r\n\r\n get isOpen(): boolean {\r\n return this.popover?.isOpen;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n }\r\n\r\n return Mixin;\r\n}\r\n\r\n\r\nexport const DROPDOWN_INPUTS = [\r\n 'isOpen',\r\n 'fitParent',\r\n 'dropdownWidth',\r\n 'position'\r\n];\r\nexport const DROPDOWN_OUTPUT = ['onOpened', 'onClosed'];","import { coerceBooleanProperty, coerceNumberProperty } from \"@angular/cdk/coercion\";\r\nimport { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXFocusEvent } from \"@acorex/components/common\";\r\n\r\n\r\nexport function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n abstract class Mixin extends Base {\r\n\r\n #disabled: boolean = false;\r\n /**\r\n * If set to true, it disables the component.\r\n */\r\n get disabled(): boolean { return this.#disabled; }\r\n set disabled(value: boolean) {\r\n value = this._onOptionChanging({ name: 'disabled', value: value });\r\n if (value != this.disabled) {\r\n const oldValue = this.disabled;\r\n this.#disabled = coerceBooleanProperty(value);\r\n this._onOptionChanged({ name: 'disabled', oldValue, newValue: value });\r\n this._cdr.markForCheck();\r\n }\r\n }\r\n\r\n\r\n\r\n #tabIndex: number = 0;\r\n /**\r\n * Specifies the tabindex of the component.\r\n */\r\n get tabIndex(): number { return this.disabled ? -1 : this.#tabIndex; }\r\n set tabIndex(value: number) {\r\n this.#tabIndex = value != null ? coerceNumberProperty(value) : 0;\r\n }\r\n\r\n /**\r\n * Fires each time the component gets focused.\r\n * @event\r\n */\r\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnFocusEvent(e: FocusEvent): void {\r\n this.onFocus.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Fires each time the component gets blurred.\r\n * @event\r\n */\r\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnBlurEvent(e: FocusEvent): void {\r\n this.onBlur.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Focuses the component.\r\n */\r\n focus(): void {\r\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex=\"-1\"])');\r\n const focusable = this._getHostElement().querySelector<HTMLElement>(list.join(', '));\r\n if (focusable) {\r\n focusable.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Check component is focused or has any focused element.\r\n */\r\n hasFocus(): boolean {\r\n return this._getHostElement().matches(':focus-within') || this._getHostElement().matches(':focus');\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n return Mixin;\r\n}\r\n\r\nexport const INTERACTIVE_INPUTS = [\r\n 'disabled',\r\n 'tabIndex',\r\n];\r\nexport const INTERACTIVE_OUTPUT = ['onBlur', 'onFocus'];","import { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _LoadingComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loading: boolean = false;\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loadingIconClass: string;\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loadingText: string;\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n // if (!this.size) {\r\n // this.size = AXConfig.get('layout.size', 'sm');\r\n // }\r\n super._onInternalInit();\r\n }\r\n }\r\n}","import { AXObjectUtil } from '@acorex/core/utils';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXSelectionValueChangedEvent } from '@acorex/components/common';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SelectionComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n valueField: string = 'id';\r\n textField: string = 'text';\r\n disabledField: string = 'disabled';\r\n disabledCallback: (e: { item: any, index: number }) => boolean;\r\n multiple: boolean = false;\r\n selectionMode: 'value' | 'item' = 'value';\r\n\r\n\r\n\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get items(): any[] {\r\n return [];\r\n }\r\n\r\n get displayItems(): any[] {\r\n return [];\r\n }\r\n\r\n get flatItems(): any[] {\r\n return [];\r\n }\r\n\r\n\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> = new EventEmitter<AXSelectionValueChangedEvent>();\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args)\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n\r\n\r\n _value: any | any[];\r\n get value(): any | any[] {\r\n return this._value;\r\n }\r\n set value(v: any | any[]) {\r\n v = (this as any)._internalSetValue(v);\r\n if (v !== this._value) {\r\n const oldValue = AXObjectUtil.deepJSONClone(this._value);\r\n if (this.multiple) {\r\n this._value = Array.isArray(v) ? v : (v ? [v] : []);\r\n } else {\r\n this._value = Array.isArray(v) ? v[0] : v;\r\n }\r\n this.valueChange.emit(this._value);\r\n this.onValueChanged.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n isUserInteraction: false,\r\n oldValue,\r\n value: this._value,\r\n selectedKeys: this.selectedItems.map(c => c[this.valueField]),\r\n selectedItems: this.selectedItems.slice()\r\n });\r\n if (v == null || v == undefined || v == \"\") {\r\n (this as any)._setState('clear');\r\n }\r\n else {\r\n if (this._isInited) {\r\n (this as any).validate();\r\n }\r\n }\r\n this._renderSelection();\r\n }\r\n }\r\n\r\n _selectedItems: any[];\r\n get selectedItems(): any[] {\r\n return this._selectedItems || [];\r\n }\r\n\r\n _renderSelection() {\r\n const func = () => {\r\n if (this.value == null || this.value == undefined) {\r\n return [];\r\n }\r\n const items = this.flatItems;\r\n if (items.length > 0) {\r\n return items.filter(i => {\r\n if (Array.isArray(this.value)) {\r\n return this.value.some(ii => {\r\n if (typeof ii === 'object') {\r\n return i[this.valueField] === ii[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === ii;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return i[this.valueField] === this.value[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === this.value;\r\n }\r\n }\r\n });\r\n }\r\n if (Array.isArray(this.value)) {\r\n return this.value.map(ii => {\r\n if (typeof ii === 'object') {\r\n return ii;\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n fake[this.textField] = this.value;\r\n return fake;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return [this.value];\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n fake[this.textField] = this.value;\r\n return [fake];\r\n }\r\n }\r\n };\r\n this._selectedItems = func();\r\n }\r\n\r\n _getItemByDataMode(item: any) {\r\n return this.selectionMode === 'item' ? item : item[this.valueField];\r\n }\r\n\r\n _getItemValue(item: any) {\r\n return typeof item === 'object' ? item[this.valueField] : item;\r\n }\r\n\r\n unselectItems(...items: any[]) {\r\n if (!items || items.length === 0) {\r\n this.value = null;\r\n }\r\n else if (Array.isArray(this.value)) {\r\n this.value = this.value.filter(c => !items.some(d =>\r\n this._getItemValue(c) === this._getItemValue(d))\r\n );\r\n }\r\n else {\r\n this.value = null;\r\n }\r\n }\r\n\r\n selectItems(...items: any[]) {\r\n if (items && items.length) {\r\n if (this.multiple) {\r\n this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));\r\n }\r\n else {\r\n this.value = this._getItemByDataMode(items[0]);\r\n }\r\n }\r\n }\r\n\r\n toggleSelect(...items: any[]) {\r\n if (items && items.length) {\r\n items.forEach(item => {\r\n if (this.multiple) {\r\n this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);\r\n }\r\n else {\r\n this.selectItems(item)\r\n }\r\n });\r\n }\r\n }\r\n\r\n isItemSelected(item: any): boolean {\r\n return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);\r\n }\r\n\r\n isItemDisabled(item: any): boolean {\r\n return coerceBooleanProperty(item[this.disabledField]) === true || (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SELECTION_INPUTS = [\r\n 'valueField',\r\n 'textField',\r\n 'disabledField',\r\n 'disabledCallback',\r\n 'multiple',\r\n 'selectionMode'\r\n];\r\nexport const SELECTION_OUTPUT = ['onValueChanged', 'valueChanged'];","import { AXBaseComponent, AXElementSize } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SizableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n /**\r\n * A token that specifies the size of component.\r\n */\r\n size: AXElementSize;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SIZABLE_INPUTS = [\r\n 'size',\r\n];\r\nexport const SIZABLE_OUTPUT = [];","import { EventEmitter } from '@angular/core';\r\nimport { AXHtmlEvent } from '@acorex/components/common';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _TextboxComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n /**\r\n * A string value that specifies the type of text box.\r\n */\r\n type = 'text'\r\n\r\n /**\r\n * A string value that specifies the placeholder of text box.\r\n */\r\n placeholder: string = '';\r\n\r\n /**\r\n * A number value that specifies the maximum characters of text box.\r\n */\r\n maxLength: number;\r\n\r\n /**\r\n * Specifies that autocomplete is on or off.\r\n */\r\n autoComplete: string;\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyUp: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyPress: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n\r\n _emitOnKeydownEvent(e: KeyboardEvent) {\r\n this.onKeyDown.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n\r\n _emitOnKeyupEvent(e: KeyboardEvent) {\r\n this.onKeyUp.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n \r\n _emitOnKeypressEvent(e: KeyboardEvent) {\r\n this.onKeyPress.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}\r\n\r\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly','value','name']\r\nexport const TEXTBOX_OUTPUT = ['valueChange', 'onValueChanged']","import {\r\n coerceBooleanProperty,\r\n} from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXValueChangedEvent } from '@acorex/components/common';\r\n\r\nexport function _ValueComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n\r\n return class extends Base {\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<AXValueChangedEvent<any>>();\r\n\r\n valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n\r\n #readonly: boolean = false;\r\n\r\n /**\r\n * If set to true, user cannot change the value of component.\r\n */\r\n get readonly() {\r\n return this.#readonly;\r\n }\r\n set readonly(value: boolean) {\r\n this.#readonly = coerceBooleanProperty(value);\r\n }\r\n\r\n #allowNull: boolean = true;\r\n get allowNull() {\r\n return this.#allowNull;\r\n }\r\n set allowNull(value: boolean) {\r\n this.#allowNull = coerceBooleanProperty(value);\r\n }\r\n\r\n\r\n #name: string;\r\n get name() {\r\n return this.#name;\r\n }\r\n set name(value: string) {\r\n this.#name = value;\r\n }\r\n\r\n\r\n #isUserInteraction: boolean = false;\r\n\r\n get isUserInteraction(): boolean {\r\n return this.#isUserInteraction;\r\n }\r\n\r\n #value: any;\r\n get value(): any {\r\n return this._internalGetValue();\r\n }\r\n set value(v: any) {\r\n v = this._internalSetValue(v);\r\n //if (!this._isInited ) {\r\n const old = this.#value;\r\n // TODO: check real equality\r\n if (v != old) {\r\n this.#value = v;\r\n this._emitOnValueChangedEvent(old, this.#value);\r\n this._cdr.markForCheck();\r\n if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {\r\n this._setState('clear');\r\n } \r\n // else {\r\n // if (this._isInited) {\r\n // this.validate();\r\n // }\r\n // }\r\n }\r\n this.#isUserInteraction = false;\r\n //} \r\n }\r\n\r\n #state: 'clear' | 'success' | 'error' = 'clear';\r\n\r\n get state() {\r\n return this.#state;\r\n }\r\n\r\n _emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\r\n this.valueChange.emit(newValue);\r\n this.onValueChanged.emit({\r\n component: this,\r\n value: newValue,\r\n oldValue: oldValue,\r\n name: this.name,\r\n isUserInteraction: this.isUserInteraction\r\n });\r\n this._onValueChanged(oldValue, this.#value);\r\n }\r\n\r\n _internalSetValue(value: any) {\r\n return this._setValue(value);\r\n }\r\n\r\n _internalGetValue() {\r\n return this._getValue(this.#value);\r\n }\r\n\r\n _setValue(value: any) {\r\n return value;\r\n }\r\n\r\n _getValue(value: any) {\r\n return value;\r\n }\r\n\r\n _setUserInteraction() {\r\n this.#isUserInteraction = true;\r\n }\r\n\r\n _onValueChanged(oldValue: any, newValue: any): void { }\r\n\r\n _onInternalInit() {\r\n this._getHostElement().setAttribute('ax-form-input', 'true');\r\n super._onInternalInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n super.onDestroy();\r\n }\r\n\r\n\r\n\r\n clear() {\r\n this.value = null;\r\n }\r\n\r\n validate(): Promise<any> {\r\n const rules = Array.from(\r\n this._getHostElement().querySelectorAll('ax-validation-rule')\r\n ).filter((c) => (c as any).__axContext__.enabled);\r\n //\r\n if (!rules || rules.length === 0) {\r\n this._setState('clear');\r\n return Promise.resolve({ result: true, value: this.value, name: this.name, id: this.id });\r\n }\r\n\r\n return new Promise<any>((resolve) => {\r\n Promise.all(\r\n rules\r\n .filter((c) => typeof (c as any)?.validate === 'function')\r\n .map((c) => {\r\n return (c as any).validate(this.value);\r\n })\r\n ).then((d) => {\r\n const error = d.find((c) => c.result === false);\r\n if (error) {\r\n this._setState('error', error.message);\r\n resolve({ result: false, value: this.value, message: error.message, name: this.name, id: this.id });\r\n } else {\r\n this._setState('success');\r\n resolve({ result: true, value: this.value, name: this.name, id: this.id });\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n _setState(state: 'clear' | 'success' | 'error', ...args) {\r\n const container = this._getHostElement().classList.contains('ax-editor-container') ?\r\n this._getHostElement() :\r\n this._getHostElement().querySelector('.ax-editor-container');\r\n const formField = container?.closest('.ax-form-field');\r\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\r\n let target = container || this._getInnerElement();\r\n if (target?.querySelector('.ax-error-container')) {\r\n target = target.querySelector('.ax-error-container');\r\n }\r\n const parent = target?.parentElement;\r\n if (!target || !parent)\r\n return;\r\n\r\n switch (state) {\r\n case 'clear':\r\n this.#state = 'clear';\r\n if (parent.querySelector('span.ax-error-message')) {\r\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\r\n }\r\n label?.classList.remove('ax-state-error');\r\n target.classList.remove('ax-state-error', 'ax-state-success');\r\n break;\r\n case 'success':\r\n this._setState('clear');\r\n target.classList.add('ax-state-success');\r\n this.#state = 'success';\r\n break;\r\n case 'error':\r\n this._setState('clear');\r\n if (args[0]) {\r\n const span = document.createElement('span');\r\n span.innerText = args[0];\r\n span.classList.add('ax-error-message');\r\n parent.appendChild(span);\r\n }\r\n label?.classList.add('ax-state-error');\r\n target.classList.add('ax-state-error');\r\n\r\n this.#state = 'error';\r\n break;\r\n }\r\n this._cdr.markForCheck();\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const VALUE_INPUTS = [\r\n 'readonly',\r\n 'allowNull',\r\n 'value',\r\n 'name',\r\n 'checked'\r\n];\r\nexport const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];","import { _BaseComponenetMixin, AXBaseComponent } from \"./base-components.class\";\r\nimport { _BaseMenuComponentMixin } from \"./base-menu-mixin.class\";\r\nimport { _ButtonComponentMixin } from \"./button-mixin.class\";\r\nimport { _ClickableComponenetMixin } from \"./clickable-mixin.class\";\r\nimport { _ColorLookComponentMixin } from \"./color-look-mixing.class\";\r\nimport { _DatalistComponenetMixin } from \"./datalist-component.class\";\r\nimport { _DropdownComponenetMixin } from \"./dropdown-mixin.class\";\r\nimport { _InteractiveComponenetMixin } from \"./interactive-mixin.class\";\r\nimport { _SelectionComponenetMixin } from \"./selection-component.class\";\r\nimport { _SizableComponenetMixin } from \"./sizable-mixin.class\";\r\nimport { _TextboxComponenetMixin } from \"./textbox-mixin.class\";\r\nimport { _ValueComponenetMixin } from \"./value-mixin.class\";\r\n\r\n\r\nexport const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);\r\n\r\nexport const AXSizableComponentMixin = _SizableComponenetMixin(\r\n _BaseComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXInteractiveComponenetMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseClickableMixin = _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseButtonMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(\r\n _ColorLookComponentMixin(_ButtonComponentMixin(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueComponentMixin = _InteractiveComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n\r\n\r\nexport const AXBaseTextBoxMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionValueMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _DatalistComponenetMixin(\r\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueDropdownMixin = _InteractiveComponenetMixin(\r\n _DropdownComponenetMixin(\r\n _DatalistComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionDropdownMixin = _DropdownComponenetMixin(\r\n AXBaseSelectionValueMixin\r\n);\r\n\r\nexport const AXBaseDropdownMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(_DropdownComponenetMixin(AXBaseComponent))\r\n);\r\n\r\nexport const AXBaseMenuMixin = _BaseMenuComponentMixin(AXBaseComponent);\r\nexport const AXAvatarMixin = _ColorLookComponentMixin(AXBaseComponent);\r\n","import { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\nexport function _PageComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-mixin.mjs","sources":["../../../../projects/acorex/components/mixin/src/base-components.class.ts","../../../../projects/acorex/components/mixin/src/base-menu-mixin.class.ts","../../../../projects/acorex/components/mixin/src/button-mixin.class.ts","../../../../projects/acorex/components/mixin/src/clickable-mixin.class.ts","../../../../projects/acorex/components/mixin/src/color-look-mixing.class.ts","../../../../projects/acorex/components/mixin/src/datalist-component.class.ts","../../../../projects/acorex/components/mixin/src/datalist.class.ts","../../../../projects/acorex/components/mixin/src/dropdown-mixin.class.ts","../../../../projects/acorex/components/mixin/src/interactive-mixin.class.ts","../../../../projects/acorex/components/mixin/src/loading-mixin.class.ts","../../../../projects/acorex/components/mixin/src/selection-component.class.ts","../../../../projects/acorex/components/mixin/src/sizable-mixin.class.ts","../../../../projects/acorex/components/mixin/src/textbox-mixin.class.ts","../../../../projects/acorex/components/mixin/src/value-mixin.class.ts","../../../../projects/acorex/components/mixin/src/mixin.class.ts","../../../../projects/acorex/components/mixin/src/page-component.class.ts","../../../../projects/acorex/components/mixin/acorex-components-mixin.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef,\r\n EventEmitter,\r\n Inject,\r\n Injectable,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { Constructor } from './constratctor';\r\n\r\n/**\r\n * A token that specifies the size of component.\r\n */\r\nexport type AXElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport type AXComponentOptionChanging = { name: string; value?: any };\r\nexport type AXComponentOptionChanged = {\r\n name: string;\r\n newValue?: any;\r\n oldValue?: any;\r\n};\r\nexport type AXComponentSetOption = {\r\n name: string;\r\n value?: any;\r\n afterCallback?: (oldValue?: any, newValue?: any) => void;\r\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\r\n};\r\n\r\n@Injectable()\r\nexport class AXBaseComponent {\r\n\r\n id: string = `AX${Math.round(Math.random() * Math.pow(10, 10))}`;\r\n\r\n /**\r\n * A token that specifies the layout direction of component.\r\n */\r\n //rtl: boolean;\r\n\r\n #rtl: boolean;\r\n\r\n\r\n get rtl(): boolean {\r\n if (this.#rtl)\r\n return this.#rtl;\r\n else\r\n return this._getHostElement().classList.contains('ax-rtl') ||\r\n window\r\n .getComputedStyle(this._getHostElement(), null)\r\n .getPropertyValue('direction') === 'rtl';\r\n }\r\n\r\n set rtl(value: boolean) {\r\n this.#rtl = value;\r\n }\r\n\r\n\r\n #elementRef: ElementRef;\r\n _cdr: ChangeDetectorRef;\r\n\r\n _isInited: boolean;\r\n _isRendered: boolean;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(@Inject(Array) ...args: any[]) {\r\n this.#elementRef = args[0];\r\n this._cdr = args[1];\r\n }\r\n\r\n ngOnInit() {\r\n this._isInited = true;\r\n this._onInternalInit();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._isRendered = true;\r\n this._onInternalViewInit();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onInternalDestroy();\r\n }\r\n\r\n _getHostElement<T = HTMLElement>(): T {\r\n return this.#elementRef.nativeElement as T;\r\n }\r\n\r\n _getInnerElement<T = HTMLElement>(): T {\r\n return this._getHostElement().firstElementChild as unknown as T;\r\n }\r\n\r\n _onInternalInit() {\r\n (this._getHostElement() as any).__axContext__ = this;\r\n this._applyRtl();\r\n this.onInit();\r\n }\r\n\r\n _onInternalViewInit() {\r\n this.onViewInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n this.onDestroy();\r\n }\r\n\r\n onInit() { }\r\n\r\n\r\n onViewInit() { }\r\n\r\n onDestroy() { }\r\n\r\n _applyRtl() {\r\n if (this.rtl) {\r\n this._getHostElement().classList.add('ax-rtl');\r\n }\r\n }\r\n\r\n _onOptionChanging(option: AXComponentOptionChanging) {\r\n return option?.value;\r\n }\r\n _onOptionChanged(option: AXComponentOptionChanged): void { }\r\n\r\n _setOption(option: AXComponentSetOption) {\r\n const oldValue = this[option.name];\r\n const newValue = this._onOptionChanging({\r\n name: option.name,\r\n value: option.value,\r\n });\r\n //TODO : check real changes\r\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\r\n if (oldValue != newValue) {\r\n this[`_${option.name}`] = option.value;\r\n this._onOptionChanged({ name: option.name, newValue, oldValue });\r\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\r\n if (emitter) emitter.emit(newValue);\r\n }\r\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\r\n }\r\n}\r\n\r\nexport function _BaseComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n };\r\n}\r\n\r\nexport const BASE_INPUTS = ['rtl'];\r\nexport const BASE_OUTPUT = [];\r\n","import { AXItemClickEvent } from '@acorex/components/common';\r\nimport { EventEmitter } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _BaseMenuComponentMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n textField: string = 'text';\r\n\r\n valueField: string = 'id';\r\n\r\n #isLoading: boolean = false;\r\n\r\n #loadedItems: any = [];\r\n\r\n visibleField: string;\r\n\r\n disableField: string = 'disabled';\r\n\r\n hasChildField: string;\r\n\r\n iconField: string = 'icon';\r\n\r\n openMode: 'click' | 'hover' = 'click';\r\n\r\n displayMode: 'horizontal' | 'vertical' | 'sidemenu' = 'sidemenu';\r\n\r\n dividerField: string = 'divider';\r\n\r\n onMenuItemClick: EventEmitter<AXItemClickEvent<any>> = new EventEmitter<\r\n AXItemClickEvent<any>\r\n >();\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n #items: any = [];\r\n get items(): any {\r\n return this.#items;\r\n }\r\n set items(v: any) {\r\n if (Array.isArray(v)) {\r\n this.#items = v;\r\n } else if (typeof v === 'function') {\r\n this.#items = v;\r\n } else {\r\n this.#items = [];\r\n }\r\n }\r\n\r\n get displayItems() {\r\n if (Array.isArray(this.items)) {\r\n return this.#items || [];\r\n } else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get isLoading() {\r\n return this.#isLoading;\r\n }\r\n\r\n _formatData(v: any[]) {\r\n return _.unionBy(\r\n v.map((o, i) => {\r\n if (typeof o == 'object') return o;\r\n else {\r\n const no: any = {};\r\n no[this.valueField] = o;\r\n no[\r\n Array.isArray(this.textField) ? this.textField[0] : this.textField\r\n ] = o;\r\n return no;\r\n }\r\n }),\r\n this.valueField\r\n );\r\n }\r\n\r\n _findNode(parentId: number, _children: any, source: any) {\r\n if (source.length > 0) {\r\n source.forEach((element) => {\r\n if (element[this.valueField] == parentId) {\r\n element.children = _children;\r\n } else {\r\n if (element?.children)\r\n this._findNode(parentId, _children, element.children);\r\n }\r\n });\r\n }\r\n }\r\n\r\n _fetchData(parentId?: number, searchText?: string) {\r\n return new Promise((resolve) => {\r\n if (this.#isLoading) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n this.#items({\r\n parentId: parentId,\r\n searchQuery: searchText,\r\n })\r\n .then((c) => {\r\n if (Array.isArray(c)) {\r\n if (parentId) {\r\n resolve(this._findNode(parentId, c, this.displayItems));\r\n } else {\r\n resolve((this.#loadedItems = c));\r\n }\r\n }\r\n this._cdr.markForCheck();\r\n })\r\n .finally(() => {\r\n this.#isLoading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n _onInternalInit() {\r\n if (typeof this.#items == 'function') {\r\n this._fetchData();\r\n }\r\n super._onInternalInit();\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField)\r\n ? this.textField.map((c) => item[c]).join(',')\r\n : item[this.textField];\r\n else return 'Loading...';\r\n }\r\n\r\n public refresh() {\r\n this._fetchData();\r\n }\r\n };\r\n}\r\n\r\nexport const BASEMENU_INPUTS = [\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\r\n 'tooltip',\r\n 'isOpen',\r\n 'isActive',\r\n 'visibleField',\r\n 'disableField',\r\n 'hasChildField',\r\n 'openMode',\r\n 'displayMode',\r\n 'dividerField',\r\n];\r\nexport const BASEMENU_OUTPUT = ['onMenuItemClick'];\r\n","import { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _ButtonComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n \r\n\r\n _text: string;\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get text(): string {\r\n return this._text;\r\n }\r\n set text(v: string) {\r\n this._setOption({\r\n name: 'text',\r\n value: v,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\r\n _toggleable?: boolean = false;\r\n /**\r\n * Provides visual styling that indicates if the Button is active\r\n */\r\n get toggleable(): boolean {\r\n return this._toggleable!;\r\n }\r\n set toggleable(value: boolean) {\r\n this._setOption({\r\n name: 'toggleable',\r\n value\r\n });\r\n }\r\n\r\n\r\n selectedChange: EventEmitter<boolean> = new EventEmitter();\r\n _selected?: boolean = false;\r\n /**\r\n * Indicates if the Button is selected or not\r\n */\r\n get selected(): boolean {\r\n return this._selected!;\r\n }\r\n set selected(value: boolean) {\r\n this._setOption({\r\n name: 'selected',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n\r\n get _classes() {\r\n const cssClasses = {\r\n 'ax-button-icon': !this.text,\r\n 'ax-state-disabled': this[\"disabled\"],\r\n 'ax-state-selected': this.selected\r\n };\r\n cssClasses[`ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`] = true;\r\n return cssClasses;\r\n }\r\n };\r\n}\r\n\r\nexport const BUTTON_INPUTS = [\r\n 'text',\r\n 'toggleable',\r\n 'selected',\r\n];\r\nexport const BUTTON_OUTPUT = ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange'];\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXClickEvent } from \"@acorex/components/common\";\r\n\r\n\r\nexport function _ClickableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase){\r\n return class extends Base {\r\n\r\n /**\r\n * Fires each time the user clicks the button.\r\n * @event\r\n */\r\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\r\n\r\n _emitOnClickEvent(e: MouseEvent): void {\r\n this.onClick.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n}\r\n\r\n","import { EventEmitter } from \"@angular/core\";\r\nimport { AXStyleColorType, AXStyleLookType } from \"@acorex/components/common\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\nexport function _ColorLookComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\r\n _color: AXStyleColorType = 'primary';\r\n /**\r\n * Predefined color schemes\r\n */\r\n get color(): AXStyleColorType {\r\n return this._color;\r\n }\r\n set color(value: AXStyleColorType) {\r\n this._setOption({\r\n name: 'color',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\r\n _look?: AXStyleLookType = 'default';\r\n /**\r\n * Predefined look schemes\r\n */\r\n get look(): AXStyleLookType {\r\n return this._look!;\r\n }\r\n set look(value: AXStyleLookType) {\r\n this._setOption({\r\n name: 'look',\r\n value,\r\n afterCallback: () => {\r\n this._cdr.markForCheck();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const COLOR_LOOK_INPUTS = [\r\n 'color',\r\n 'look',\r\n];\r\nexport const COLOR_LOOK_OUTPUT = ['lookChange', 'colorChange'];","import { unionBy, flatMapDeep } from 'lodash-es';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXDataListFetchDataCallback, AXDataListItems } from './datalist.class';\r\n\r\nexport function _DatalistComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n valueField: string = 'id';\r\n textField: string = 'text';\r\n childrenField: string;\r\n pageSize: number = 10;\r\n\r\n #currentPage: number = 0;\r\n #isLoading: boolean = false;\r\n #loadedItems: any[] = [];\r\n #flatItems: any[] = [];\r\n #totalItems: number = 0;\r\n\r\n #isLazy: boolean = false;\r\n\r\n get totalCount(): number {\r\n return this.#totalItems;\r\n }\r\n\r\n get isLazy(): boolean {\r\n return this.#isLazy;\r\n }\r\n\r\n get loadedCount(): number {\r\n return this.#loadedItems?.length || 0;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n #items: AXDataListItems = [];\r\n get items(): AXDataListItems {\r\n return this.#items;\r\n }\r\n set items(v: AXDataListItems) {\r\n if (Array.isArray(v)) {\r\n this.#items = this._formatData(v);\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n } else if (typeof v === 'function') {\r\n this.#isLazy = true;\r\n this.#items = v;\r\n } else {\r\n this.#items = [];\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n }\r\n }\r\n\r\n get displayItems(): any[] {\r\n if (Array.isArray(this.items)) {\r\n return (this.#items || []) as any[];\r\n } else if (typeof this.#items == 'function') {\r\n return this.#loadedItems || [];\r\n }\r\n return [];\r\n }\r\n\r\n get flatItems(): any[] {\r\n return this.#flatItems || [];\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.#isLoading;\r\n }\r\n\r\n _formatData(v: any[]) {\r\n return unionBy(\r\n v.map((o, i) => {\r\n if (typeof o == 'object') return o;\r\n else {\r\n const no: any = {};\r\n no[this.valueField] = o;\r\n no[\r\n Array.isArray(this.textField) ? this.textField[0] : this.textField\r\n ] = o;\r\n return no;\r\n }\r\n }),\r\n this.valueField\r\n );\r\n // return v.map((o, i) => {\r\n // if (typeof o == 'object')\r\n // return o\r\n // else {\r\n // const no: any = {};\r\n // no[this.valueField] = o;\r\n // no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;\r\n // return no;\r\n // }\r\n // });\r\n }\r\n\r\n _fetchData(opts?: { searchQuery?: string }) {\r\n const skip = this.#currentPage * this.pageSize, take = this.pageSize;\r\n if (\r\n (this.loadedCount >= this.totalCount && this.totalCount != 0) ||\r\n this.#isLoading ||\r\n !this.#isLazy ||\r\n skip > this.totalCount\r\n ) {\r\n return;\r\n }\r\n if (this.#items) {\r\n this.#isLoading = true;\r\n const fetchFn = this.#items as AXDataListFetchDataCallback;\r\n fetchFn({ skip, take, searchQuery: opts?.searchQuery })\r\n .then((c) => {\r\n if (Array.isArray(c)) {\r\n this.#loadedItems = this._formatData(c);\r\n this.#totalItems = c.length;\r\n } else {\r\n this.#totalItems = c.total || c.items?.length || 0;\r\n this.#loadedItems = [\r\n ...new Set(this.#loadedItems.concat(this._formatData(c.items))),\r\n ];\r\n this.#currentPage++;\r\n }\r\n this._cdr.markForCheck();\r\n })\r\n .finally(() => {\r\n this.#isLoading = false;\r\n this._onDataLoaded();\r\n this.#generateFlatItems();\r\n });\r\n }\r\n }\r\n\r\n _onDataLoaded() { }\r\n\r\n #generateFlatItems(): void {\r\n const flattenFn = (item) => {\r\n return [item, flatMapDeep(item.children, flattenFn)];\r\n };\r\n this.#flatItems = flatMapDeep(this.displayItems, flattenFn);\r\n }\r\n\r\n _getItemDisplayTextTemplte(item) {\r\n if (item)\r\n return Array.isArray(this.textField)\r\n ? this.textField.map((c) => item[c]).join(',')\r\n : item[this.textField];\r\n else return 'Loading...';\r\n }\r\n\r\n _trackByFunction(item) {\r\n if (!item) return null;\r\n return item[this.valueField];\r\n }\r\n\r\n refresh() {\r\n this.empty();\r\n this._fetchData();\r\n }\r\n\r\n empty() {\r\n this.#isLoading = false;\r\n this.#currentPage = 0;\r\n if (this.#loadedItems) {\r\n this.#loadedItems.length = 0;\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport const DATALIST_INPUTS = ['pageSize', 'valueField', 'textField', 'items'];\r\nexport const DATALIST_OUTPUT = [];\r\n","\r\nexport interface AXDataListQuery {\r\n take?: number;\r\n skip?: number;\r\n searchQuery?: string;\r\n}\r\nexport interface AXDataListFetchCallbackResult {\r\n items: any[];\r\n total: number;\r\n};\r\n\r\nexport type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<any[] | AXDataListFetchCallbackResult>;\r\n\r\nexport type AXDataListItems = any[] | AXDataListFetchDataCallback;","import { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXEvent,AXConnectedPosition } from \"@acorex/components/common\";\r\n\r\n\r\n\r\nexport interface DropdownComponentInterface {\r\n open(): void;\r\n close(): void;\r\n toggle(): void;\r\n isOpen: boolean;\r\n}\r\n\r\n\r\nexport function _DropdownComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n\r\n abstract class Mixin extends Base {\r\n\r\n readonly: boolean = false;\r\n\r\n\r\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\r\n\r\n //TODO: Circular dependency on AXPopverComponent\r\n abstract popover: any;\r\n\r\n position: AXConnectedPosition[] = [];\r\n\r\n _emitOnOpenedEvent() {\r\n\r\n this.onOpened.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n _emitOnClosedEvent() {\r\n this.onClosed.emit({\r\n component: this,\r\n htmlElement: this._getHostElement()\r\n });\r\n }\r\n\r\n\r\n onInit(): void {\r\n super.onInit();\r\n this.popover.onOpened.subscribe(this.onOpened);\r\n this.popover.onClosed.subscribe(this.onClosed);\r\n }\r\n\r\n onViewInit() {\r\n // wait for documentElement\r\n setTimeout(() => {\r\n if (this.position.length == 0) {\r\n const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\r\n const list: AXConnectedPosition[] = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: offset\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -offset\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: offset\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetY: -offset\r\n },\r\n ];\r\n this.position.push(...list);\r\n }\r\n }, 500);\r\n }\r\n\r\n toggle() {\r\n if (this['disabled'] !== true) {\r\n this.popover.toggle();\r\n }\r\n }\r\n\r\n close() {\r\n if (!this.isOpen || this['disabled']) {\r\n return;\r\n }\r\n this.popover.close();\r\n (this as any)?.focus();\r\n }\r\n\r\n open() {\r\n if (this.isOpen || this['disabled']) {\r\n return;\r\n }\r\n this.popover.open();\r\n this.popover.focus();\r\n }\r\n\r\n get isOpen(): boolean {\r\n return this.popover?.isOpen;\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n }\r\n\r\n return Mixin;\r\n}\r\n\r\n\r\nexport const DROPDOWN_INPUTS = [\r\n 'isOpen',\r\n 'fitParent',\r\n 'dropdownWidth',\r\n 'position'\r\n];\r\nexport const DROPDOWN_OUTPUT = ['onOpened', 'onClosed'];","import { coerceBooleanProperty, coerceNumberProperty } from \"@angular/cdk/coercion\";\r\nimport { EventEmitter } from \"@angular/core\";\r\nimport { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\nimport { AXFocusEvent } from \"@acorex/components/common\";\r\n\r\n\r\nexport function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n abstract class Mixin extends Base {\r\n\r\n #disabled: boolean = false;\r\n /**\r\n * If set to true, it disables the component.\r\n */\r\n get disabled(): boolean { return this.#disabled; }\r\n set disabled(value: boolean) {\r\n value = this._onOptionChanging({ name: 'disabled', value: value });\r\n if (value != this.disabled) {\r\n const oldValue = this.disabled;\r\n this.#disabled = coerceBooleanProperty(value);\r\n this._onOptionChanged({ name: 'disabled', oldValue, newValue: value });\r\n this._cdr.markForCheck();\r\n }\r\n }\r\n\r\n\r\n\r\n #tabIndex: number = 0;\r\n /**\r\n * Specifies the tabindex of the component.\r\n */\r\n get tabIndex(): number { return this.disabled ? -1 : this.#tabIndex; }\r\n set tabIndex(value: number) {\r\n this.#tabIndex = value != null ? coerceNumberProperty(value) : 0;\r\n }\r\n\r\n /**\r\n * Fires each time the component gets focused.\r\n * @event\r\n */\r\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnFocusEvent(e: FocusEvent): void {\r\n this.onFocus.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Fires each time the component gets blurred.\r\n * @event\r\n */\r\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\r\n\r\n _emitOnBlurEvent(e: FocusEvent): void {\r\n this.onBlur.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n nativeEvent: e\r\n });\r\n }\r\n\r\n /**\r\n * Focuses the component.\r\n */\r\n focus(): void {\r\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex=\"-1\"])');\r\n const focusable = this._getHostElement().querySelector<HTMLElement>(list.join(', '));\r\n if (focusable) {\r\n focusable.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Check component is focused or has any focused element.\r\n */\r\n hasFocus(): boolean {\r\n return this._getHostElement().matches(':focus-within') || this._getHostElement().matches(':focus');\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n }\r\n return Mixin;\r\n}\r\n\r\nexport const INTERACTIVE_INPUTS = [\r\n 'disabled',\r\n 'tabIndex',\r\n];\r\nexport const INTERACTIVE_OUTPUT = ['onBlur', 'onFocus'];","import { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _LoadingComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loading: boolean = false;\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loadingIconClass: string;\r\n /**\r\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.\r\n */\r\n loadingText: string;\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n // if (!this.size) {\r\n // this.size = AXConfig.get('layout.size', 'sm');\r\n // }\r\n super._onInternalInit();\r\n }\r\n }\r\n}","import { AXObjectUtil } from '@acorex/core/utils';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXSelectionValueChangedEvent } from '@acorex/components/common';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SelectionComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n valueField: string = 'id';\r\n textField: string = 'text';\r\n disabledField: string = 'disabled';\r\n disabledCallback: (e: { item: any, index: number }) => boolean;\r\n multiple: boolean = false;\r\n selectionMode: 'value' | 'item' = 'value';\r\n\r\n\r\n\r\n /**\r\n * Defines the primary text to show inside the button.\r\n */\r\n get items(): any[] {\r\n return [];\r\n }\r\n\r\n get displayItems(): any[] {\r\n return [];\r\n }\r\n\r\n get flatItems(): any[] {\r\n return [];\r\n }\r\n\r\n\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> = new EventEmitter<AXSelectionValueChangedEvent>();\r\n\r\n\r\n constructor(...args: any[]) {\r\n super(...args)\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n\r\n\r\n _value: any | any[];\r\n get value(): any | any[] {\r\n return this._value;\r\n }\r\n set value(v: any | any[]) {\r\n v = (this as any)._internalSetValue(v);\r\n if (v !== this._value) {\r\n const oldValue = AXObjectUtil.deepJSONClone(this._value);\r\n if (this.multiple) {\r\n this._value = Array.isArray(v) ? v : (v ? [v] : []);\r\n } else {\r\n this._value = Array.isArray(v) ? v[0] : v;\r\n }\r\n this.valueChange.emit(this._value);\r\n this.onValueChanged.emit({\r\n component: this,\r\n htmlElement: this._getHostElement(),\r\n isUserInteraction: false,\r\n oldValue,\r\n value: this._value,\r\n selectedKeys: this.selectedItems.map(c => c[this.valueField]),\r\n selectedItems: this.selectedItems.slice()\r\n });\r\n if (v == null || v == undefined || v == \"\") {\r\n (this as any)._setState('clear');\r\n }\r\n else {\r\n if (this._isInited) {\r\n (this as any).validate();\r\n }\r\n }\r\n this._renderSelection();\r\n }\r\n }\r\n\r\n _selectedItems: any[];\r\n get selectedItems(): any[] {\r\n return this._selectedItems || [];\r\n }\r\n\r\n _renderSelection() {\r\n const func = () => {\r\n if (this.value == null || this.value == undefined) {\r\n return [];\r\n }\r\n const items = this.flatItems;\r\n if (items.length > 0) {\r\n return items.filter(i => {\r\n if (Array.isArray(this.value)) {\r\n return this.value.some(ii => {\r\n if (typeof ii === 'object') {\r\n return i[this.valueField] === ii[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === ii;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return i[this.valueField] === this.value[this.valueField];\r\n }\r\n else {\r\n return i[this.valueField] === this.value;\r\n }\r\n }\r\n });\r\n }\r\n if (Array.isArray(this.value)) {\r\n return this.value.map(ii => {\r\n if (typeof ii === 'object') {\r\n return ii;\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n fake[this.textField] = this.value;\r\n return fake;\r\n }\r\n });\r\n }\r\n else {\r\n if (typeof this.value === 'object') {\r\n return [this.value];\r\n }\r\n else {\r\n const fake: any = {};\r\n fake[this.valueField] = this.value;\r\n fake[this.textField] = this.value;\r\n return [fake];\r\n }\r\n }\r\n };\r\n this._selectedItems = func();\r\n }\r\n\r\n _getItemByDataMode(item: any) {\r\n return this.selectionMode === 'item' ? item : item[this.valueField];\r\n }\r\n\r\n _getItemValue(item: any) {\r\n return typeof item === 'object' ? item[this.valueField] : item;\r\n }\r\n\r\n unselectItems(...items: any[]) {\r\n if (!items || items.length === 0) {\r\n this.value = null;\r\n }\r\n else if (Array.isArray(this.value)) {\r\n this.value = this.value.filter(c => !items.some(d =>\r\n this._getItemValue(c) === this._getItemValue(d))\r\n );\r\n }\r\n else {\r\n this.value = null;\r\n }\r\n }\r\n\r\n selectItems(...items: any[]) {\r\n if (items && items.length) {\r\n if (this.multiple) {\r\n this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));\r\n }\r\n else {\r\n this.value = this._getItemByDataMode(items[0]);\r\n }\r\n }\r\n }\r\n\r\n toggleSelect(...items: any[]) {\r\n if (items && items.length) {\r\n items.forEach(item => {\r\n if (this.multiple) {\r\n this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);\r\n }\r\n else {\r\n this.selectItems(item)\r\n }\r\n });\r\n }\r\n }\r\n\r\n isItemSelected(item: any): boolean {\r\n return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);\r\n }\r\n\r\n isItemDisabled(item: any): boolean {\r\n return coerceBooleanProperty(item[this.disabledField]) === true || (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SELECTION_INPUTS = [\r\n 'valueField',\r\n 'textField',\r\n 'disabledField',\r\n 'disabledCallback',\r\n 'multiple',\r\n 'selectionMode'\r\n];\r\nexport const SELECTION_OUTPUT = ['onValueChanged', 'valueChanged'];","import { AXBaseComponent, AXElementSize } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _SizableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n /**\r\n * A token that specifies the size of component.\r\n */\r\n size: AXElementSize;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n\r\n _onInternalInit() {\r\n super._onInternalInit();\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const SIZABLE_INPUTS = [\r\n 'size',\r\n];\r\nexport const SIZABLE_OUTPUT = [];","import { EventEmitter } from '@angular/core';\r\nimport { AXHtmlEvent } from '@acorex/components/common';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\n\r\nexport function _TextboxComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n /**\r\n * A string value that specifies the type of text box.\r\n */\r\n type = 'text'\r\n\r\n /**\r\n * A string value that specifies the placeholder of text box.\r\n */\r\n placeholder: string = '';\r\n\r\n /**\r\n * A number value that specifies the maximum characters of text box.\r\n */\r\n maxLength: number;\r\n\r\n /**\r\n * Specifies that autocomplete is on or off.\r\n */\r\n autoComplete: string;\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyUp: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onKeyPress: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\r\n\r\n\r\n _emitOnKeydownEvent(e: KeyboardEvent) {\r\n this.onKeyDown.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n\r\n _emitOnKeyupEvent(e: KeyboardEvent) {\r\n this.onKeyUp.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n \r\n _emitOnKeypressEvent(e: KeyboardEvent) {\r\n this.onKeyPress.emit({\r\n component: this,\r\n nativeEvent: e\r\n });\r\n (this as any)._setUserInteraction();\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}\r\n\r\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly','value','name']\r\nexport const TEXTBOX_OUTPUT = ['valueChange', 'onValueChanged']","import { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { AXBaseComponent } from './base-components.class';\r\nimport { Constructor } from './constratctor';\r\nimport { AXValueChangedEvent } from '@acorex/components/common';\r\n\r\nexport function _ValueComponenetMixin<\r\n TBase extends Constructor<AXBaseComponent>\r\n>(Base: TBase) {\r\n return class extends Base {\r\n /**\r\n * Fires each time the user press a key.\r\n * @event\r\n */\r\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<\r\n AXValueChangedEvent<any>\r\n >();\r\n\r\n valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n #readonly: boolean = false;\r\n\r\n /**\r\n * If set to true, user cannot change the value of component.\r\n */\r\n get readonly() {\r\n return this.#readonly;\r\n }\r\n set readonly(value: boolean) {\r\n this.#readonly = coerceBooleanProperty(value);\r\n }\r\n\r\n #allowNull: boolean = true;\r\n get allowNull() {\r\n return this.#allowNull;\r\n }\r\n set allowNull(value: boolean) {\r\n this.#allowNull = coerceBooleanProperty(value);\r\n }\r\n\r\n #name: string;\r\n get name() {\r\n return this.#name;\r\n }\r\n set name(value: string) {\r\n this.#name = value;\r\n }\r\n\r\n #isUserInteraction: boolean = false;\r\n\r\n get isUserInteraction(): boolean {\r\n return this.#isUserInteraction;\r\n }\r\n\r\n #value: any;\r\n get value(): any {\r\n return this._internalGetValue();\r\n }\r\n set value(v: any) {\r\n v = this._internalSetValue(v);\r\n //if (!this._isInited ) {\r\n const old = this.#value;\r\n // TODO: check real equality\r\n if (v != old) {\r\n this.#value = v;\r\n this._emitOnValueChangedEvent(old, this.#value);\r\n this._cdr.markForCheck();\r\n if (\r\n v == null ||\r\n v == undefined ||\r\n v == '' ||\r\n (Array.isArray(v) && v.length == 0)\r\n ) {\r\n this._setState('clear');\r\n }\r\n // else {\r\n // if (this._isInited) {\r\n // this.validate();\r\n // }\r\n // }\r\n }\r\n this.#isUserInteraction = false;\r\n //}\r\n }\r\n\r\n #state: 'clear' | 'success' | 'error' = 'clear';\r\n\r\n get state() {\r\n return this.#state;\r\n }\r\n\r\n _emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\r\n this.valueChange.emit(newValue);\r\n this.onValueChanged.emit({\r\n component: this,\r\n value: newValue,\r\n oldValue: oldValue,\r\n name: this.name,\r\n isUserInteraction: this.isUserInteraction,\r\n });\r\n this._onValueChanged(oldValue, this.#value);\r\n }\r\n\r\n _internalSetValue(value: any) {\r\n return this._setValue(value);\r\n }\r\n\r\n _internalGetValue() {\r\n return this._getValue(this.#value);\r\n }\r\n\r\n _setValue(value: any) {\r\n return value;\r\n }\r\n\r\n _getValue(value: any) {\r\n return value;\r\n }\r\n\r\n _setUserInteraction() {\r\n this.#isUserInteraction = true;\r\n }\r\n\r\n _onValueChanged(oldValue: any, newValue: any): void {}\r\n\r\n _onInternalInit() {\r\n this._getHostElement().setAttribute('ax-form-input', 'true');\r\n super._onInternalInit();\r\n }\r\n\r\n _onInternalDestroy() {\r\n super.onDestroy();\r\n }\r\n\r\n clear() {\r\n this.value = null;\r\n }\r\n\r\n validate(): Promise<any> {\r\n const rules = Array.from(\r\n this._getHostElement().querySelectorAll('ax-validation-rule')\r\n ).filter(c => (c as any).__axContext__.enabled);\r\n //\r\n if (!rules || rules.length === 0) {\r\n this._setState('clear');\r\n return Promise.resolve({\r\n result: true,\r\n value: this.value,\r\n name: this.name,\r\n id: this.id,\r\n });\r\n }\r\n\r\n return new Promise<any>(resolve => {\r\n Promise.all(\r\n rules\r\n .filter(c => typeof (c as any)?.validate === 'function')\r\n .map(c => {\r\n return (c as any).validate(this.value);\r\n })\r\n ).then(d => {\r\n const error = d.find(c => c.result === false);\r\n if (error) {\r\n this._setState('error', error.message);\r\n resolve({\r\n result: false,\r\n value: this.value,\r\n message: error.message,\r\n name: this.name,\r\n id: this.id,\r\n });\r\n } else {\r\n this._setState('success');\r\n resolve({\r\n result: true,\r\n value: this.value,\r\n name: this.name,\r\n id: this.id,\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n _setState(state: 'clear' | 'success' | 'error', ...args) {\r\n const container = this._getHostElement().classList.contains(\r\n 'ax-editor-container'\r\n )\r\n ? this._getHostElement()\r\n : this._getHostElement().querySelector('.ax-editor-container');\r\n const formField = container?.closest('.ax-form-field');\r\n const label =\r\n formField?.querySelector('ax-label') ||\r\n formField?.querySelector('label');\r\n let target = container || this._getInnerElement();\r\n if (target?.querySelector('.ax-error-container')) {\r\n target = target.querySelector('.ax-error-container');\r\n }\r\n const parent = target?.parentElement;\r\n if (!target || !parent) return;\r\n\r\n switch (state) {\r\n case 'clear':\r\n this.#state = 'clear';\r\n if (parent.querySelector('span.ax-error-message')) {\r\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\r\n }\r\n label?.classList.remove('ax-state-error');\r\n target.classList.remove('ax-state-error', 'ax-state-success');\r\n break;\r\n case 'success':\r\n this._setState('clear');\r\n target.classList.add('ax-state-success');\r\n this.#state = 'success';\r\n break;\r\n case 'error':\r\n this._setState('clear');\r\n if (args[0]) {\r\n const span = document.createElement('span');\r\n span.innerText = args[0];\r\n span.classList.add('ax-error-message');\r\n parent.appendChild(span);\r\n }\r\n label?.classList.add('ax-state-error');\r\n target.classList.add('ax-state-error');\r\n\r\n this.#state = 'error';\r\n break;\r\n }\r\n this._cdr.markForCheck();\r\n }\r\n };\r\n}\r\n\r\nexport const VALUE_INPUTS = [\r\n 'readonly',\r\n 'allowNull',\r\n 'value',\r\n 'name',\r\n 'checked',\r\n];\r\nexport const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];\r\n","import { _BaseComponenetMixin, AXBaseComponent } from \"./base-components.class\";\r\nimport { _BaseMenuComponentMixin } from \"./base-menu-mixin.class\";\r\nimport { _ButtonComponentMixin } from \"./button-mixin.class\";\r\nimport { _ClickableComponenetMixin } from \"./clickable-mixin.class\";\r\nimport { _ColorLookComponentMixin } from \"./color-look-mixing.class\";\r\nimport { _DatalistComponenetMixin } from \"./datalist-component.class\";\r\nimport { _DropdownComponenetMixin } from \"./dropdown-mixin.class\";\r\nimport { _InteractiveComponenetMixin } from \"./interactive-mixin.class\";\r\nimport { _SelectionComponenetMixin } from \"./selection-component.class\";\r\nimport { _SizableComponenetMixin } from \"./sizable-mixin.class\";\r\nimport { _TextboxComponenetMixin } from \"./textbox-mixin.class\";\r\nimport { _ValueComponenetMixin } from \"./value-mixin.class\";\r\n\r\n\r\nexport const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);\r\n\r\nexport const AXSizableComponentMixin = _SizableComponenetMixin(\r\n _BaseComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXInteractiveComponenetMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseClickableMixin = _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(AXBaseComponent)\r\n);\r\n\r\nexport const AXBaseButtonMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ClickableComponenetMixin(\r\n _ColorLookComponentMixin(_ButtonComponentMixin(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueComponentMixin = _InteractiveComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n\r\n\r\nexport const AXBaseTextBoxMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionValueMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(\r\n _DatalistComponenetMixin(\r\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n )\r\n);\r\n\r\nexport const AXBaseValueDropdownMixin = _InteractiveComponenetMixin(\r\n _DropdownComponenetMixin(\r\n _DatalistComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\r\n )\r\n);\r\n\r\nexport const AXBaseSelectionDropdownMixin = _DropdownComponenetMixin(\r\n AXBaseSelectionValueMixin\r\n);\r\n\r\nexport const AXBaseDropdownMixin = _SizableComponenetMixin(\r\n _InteractiveComponenetMixin(_DropdownComponenetMixin(AXBaseComponent))\r\n);\r\n\r\nexport const AXBaseMenuMixin = _BaseMenuComponentMixin(AXBaseComponent);\r\nexport const AXAvatarMixin = _ColorLookComponentMixin(AXBaseComponent);\r\n","import { AXBaseComponent } from \"./base-components.class\";\r\nimport { Constructor } from \"./constratctor\";\r\n\r\nexport function _PageComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\r\n return class extends Base {\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(...args: any[]) {\r\n super(...args.slice(0, 2))\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
@@ -212,7 +212,7 @@ class AXNumberBoxComponent extends AXBaseTextBoxMixin {
|
|
212
212
|
}
|
213
213
|
}
|
214
214
|
AXNumberBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXNumberBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
215
|
-
AXNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", type: "type", autoComplete: "autoComplete", name: "name", checked: "checked", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { classAttribute: "ax-editor-container" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"
|
215
|
+
AXNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", type: "type", autoComplete: "autoComplete", name: "name", checked: "checked", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { classAttribute: "ax-editor-container" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\r\n<input\r\n #input\r\n class=\"ax-input\"\r\n type=\"text\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.autocomplete]=\"autoComplete\"\r\n [imask]=\"_maskObj\"\r\n [unmask]=\"'typed'\"\r\n [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [tabindex]=\"tabIndex\"\r\n [(ngModel)]=\"value\"\r\n (keydown)=\"_handleOnKeydownEvent($event)\"\r\n (keyup)=\"_emitOnKeyupEvent($event)\"\r\n (keypress)=\"_emitOnKeypressEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\" />\r\n\r\n<div class=\"ax-number-box-control\" *ngIf=\"showSpinButtons\">\r\n <button\r\n class=\"ax-general-button ax-button-icon\"\r\n (click)=\"_handleUpDownClick(1)\"\r\n tabindex=\"-1\">\r\n <span class=\"ax-icon ax-icon-arrow-up\"></span>\r\n </button>\r\n <button\r\n class=\"ax-general-button ax-button-icon\"\r\n (click)=\"_handleUpDownClick(-1)\">\r\n <span class=\"ax-icon ax-icon-arrow-down\" tabindex=\"-1\"></span>\r\n </button>\r\n</div>\r\n\r\n<!-- <div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-icon-arrow-fill ax-rotation-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-icon-arrow-fill -ax-rotation-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div> -->\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n", styles: [".ax-number-box-control{display:flex;height:100%;align-items:center;justify-content:center;margin-inline-end:.25rem;flex-direction:column}.ax-number-box-control .ax-general-button{display:flex;width:1.25rem;height:1rem;border-radius:.2rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
216
216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
|
217
217
|
type: Component,
|
218
218
|
args: [{ selector: 'ax-number-box', inputs: [
|
@@ -236,7 +236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
236
236
|
'onValueChanged',
|
237
237
|
'onBlur',
|
238
238
|
'onFocus'
|
239
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container' }, template: "<ng-content select=\"ax-prefix\"
|
239
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\r\n<input\r\n #input\r\n class=\"ax-input\"\r\n type=\"text\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.autocomplete]=\"autoComplete\"\r\n [imask]=\"_maskObj\"\r\n [unmask]=\"'typed'\"\r\n [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [tabindex]=\"tabIndex\"\r\n [(ngModel)]=\"value\"\r\n (keydown)=\"_handleOnKeydownEvent($event)\"\r\n (keyup)=\"_emitOnKeyupEvent($event)\"\r\n (keypress)=\"_emitOnKeypressEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\" />\r\n\r\n<div class=\"ax-number-box-control\" *ngIf=\"showSpinButtons\">\r\n <button\r\n class=\"ax-general-button ax-button-icon\"\r\n (click)=\"_handleUpDownClick(1)\"\r\n tabindex=\"-1\">\r\n <span class=\"ax-icon ax-icon-arrow-up\"></span>\r\n </button>\r\n <button\r\n class=\"ax-general-button ax-button-icon\"\r\n (click)=\"_handleUpDownClick(-1)\">\r\n <span class=\"ax-icon ax-icon-arrow-down\" tabindex=\"-1\"></span>\r\n </button>\r\n</div>\r\n\r\n<!-- <div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-icon-arrow-fill ax-rotation-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-icon-arrow-fill -ax-rotation-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div> -->\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n", styles: [".ax-number-box-control{display:flex;height:100%;align-items:center;justify-content:center;margin-inline-end:.25rem;flex-direction:column}.ax-number-box-control .ax-general-button{display:flex;width:1.25rem;height:1rem;border-radius:.2rem}\n"] }]
|
240
240
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { input: [{
|
241
241
|
type: ViewChild,
|
242
242
|
args: ['input']
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-number-box.mjs","sources":["../../../../projects/acorex/components/number-box/src/number-box.component.ts","../../../../projects/acorex/components/number-box/src/number-box.component.html","../../../../projects/acorex/components/number-box/src/number-box.module.ts","../../../../projects/acorex/components/number-box/acorex-components-number-box.ts"],"sourcesContent":["import IMask from 'imask';\r\nimport { IMaskDirective } from 'angular-imask';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\n\r\nimport { toNumber } from 'lodash-es';\r\nimport {\r\n AXBaseTextBoxMixin,\r\n AXComponentOptionChanged,\r\n} from '@acorex/components/mixin';\r\n\r\n/**\r\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-number-box',\r\n templateUrl: './number-box.component.html',\r\n styleUrls: ['./number-box.component.scss'],\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'size',\r\n 'value',\r\n 'placeholder',\r\n 'maxLength',\r\n 'allowNull',\r\n 'type',\r\n 'autoComplete',\r\n 'readonly',\r\n 'allowNull',\r\n 'value',\r\n 'name',\r\n 'checked',\r\n ],\r\n outputs: [\r\n 'valueChange',\r\n 'onValueChanged',\r\n 'onBlur',\r\n 'onFocus'\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-editor-container' },\r\n})\r\nexport class AXNumberBoxComponent extends AXBaseTextBoxMixin {\r\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\r\n\r\n private _thousandsSeparator: string;\r\n /**\r\n * A character value that specifies the separator character.\r\n */\r\n @Input()\r\n public get thousandsSeparator(): string {\r\n return this._thousandsSeparator;\r\n }\r\n public set thousandsSeparator(v: string) {\r\n this._setOption({\r\n name: 'thousandsSeparator',\r\n value: v ?? '',\r\n });\r\n }\r\n\r\n private _padDecimalZeros: boolean = false;\r\n /**\r\n * A character value that specifies the separator character.\r\n */\r\n @Input()\r\n public get padDecimalZeros(): boolean {\r\n return this._padDecimalZeros;\r\n }\r\n public set padDecimalZeros(v: boolean) {\r\n this._setOption({\r\n name: 'padDecimalZeros',\r\n value: v,\r\n });\r\n }\r\n\r\n /**\r\n * Specifies the value that is used to increment or decrement the **Integer** part of number\r\n */\r\n @Input()\r\n step: number = 1;\r\n\r\n private _decimals: number = 0;\r\n /**\r\n * Specifies the number of decimals that the user can enter\r\n */\r\n @Input()\r\n public get decimals(): number {\r\n return this._decimals;\r\n }\r\n public set decimals(v: number) {\r\n this._setOption({\r\n name: 'decimals',\r\n value: v ?? 0,\r\n });\r\n }\r\n\r\n /**\r\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\r\n */\r\n @Input()\r\n decimalStep: number | 'auto' = 'auto';\r\n\r\n /**\r\n * Specifies whether the Up and Down spin buttons will be rendered or not\r\n */\r\n @Input()\r\n showSpinButtons: boolean = true;\r\n\r\n private _minValue: number = Number.MIN_SAFE_INTEGER;\r\n /**\r\n * Specifies the smallest value that is valid\r\n */\r\n @Input()\r\n public get minValue(): number {\r\n return this._minValue;\r\n }\r\n public set minValue(v: number) {\r\n this._setOption({\r\n name: 'minValue',\r\n value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\r\n });\r\n }\r\n\r\n private _maxValue: number = Number.MAX_SAFE_INTEGER;\r\n /**\r\n * Specifies the greatest value that is valid\r\n */\r\n @Input()\r\n public get maxValue(): number {\r\n return this._maxValue;\r\n }\r\n public set maxValue(v: number) {\r\n this._setOption({\r\n name: 'maxValue',\r\n value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n _maskObj: IMask.MaskedNumber;\r\n\r\n @ViewChild(IMaskDirective)\r\n private _maskDirective: IMaskDirective<IMask.MaskedNumber>;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(elementRef: ElementRef, private cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onViewInit(): void {\r\n super.onViewInit();\r\n this._updateMask();\r\n }\r\n\r\n _onOptionChanged(option: AXComponentOptionChanged): void {\r\n super._onOptionChanged(option);\r\n this._updateMask();\r\n }\r\n\r\n focus(): void {\r\n this.input.nativeElement.focus()\r\n }\r\n\r\n private _updateMask() {\r\n if (!this._maskObj) {\r\n this._maskObj = IMask.createMask({\r\n mask: Number,\r\n min: this.minValue,\r\n max: this.maxValue,\r\n thousandsSeparator: this.thousandsSeparator || '',\r\n scale: this.decimals,\r\n radix: '.',\r\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\r\n });\r\n } else {\r\n this._maskObj.updateOptions({\r\n min: this.minValue,\r\n max: this.maxValue,\r\n thousandsSeparator: this.thousandsSeparator || '',\r\n scale: this.decimals,\r\n radix: '.',\r\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\r\n });\r\n }\r\n this._maskDirective?.maskRef?.updateValue();\r\n this._maskDirective?.maskRef?.updateControl();\r\n }\r\n\r\n _handleOnKeydownEvent(e: KeyboardEvent) {\r\n if (this.disabled || this.readonly) return;\r\n const ignore = () => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n this._setUserInteraction();\r\n const input = e.target as HTMLInputElement;\r\n const valStr = input.value;\r\n const decimalPointIndex = valStr.indexOf('.');\r\n const _cursorPos = input.selectionStart!;\r\n\r\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\r\n if (\r\n decimalPointIndex > 0 &&\r\n _cursorPos > decimalPointIndex &&\r\n this.decimals > 0\r\n ) {\r\n e.key === 'ArrowDown' ? this.decimalStepDown() : this.decimalStepUp();\r\n } else {\r\n e.key === 'ArrowDown' ? this.stepDown() : this.stepUp();\r\n }\r\n ignore();\r\n setTimeout(() => {\r\n input.setSelectionRange(_cursorPos, _cursorPos);\r\n }, 5);\r\n }\r\n super._emitOnKeydownEvent(e);\r\n }\r\n\r\n _handleUpDownClick(v: -1 | 1) {\r\n if (this.disabled || this.readonly) return;\r\n this._setUserInteraction();\r\n v == 1 ? this.stepUp() : this.stepDown();\r\n }\r\n\r\n _setValue(value: any) {\r\n if ((value == null || (value == 0 && !this._maskObj.value)) && this.allowNull) {\r\n return null;\r\n }\r\n const v = toNumber(value);\r\n if (v < this.minValue) return this.minValue;\r\n if (v > this.maxValue) return this.maxValue;\r\n return v;\r\n }\r\n\r\n stepUp() {\r\n if (!this.value) {\r\n this.value = Math.max(this.minValue, 0);\r\n }\r\n this.value += toNumber(this.step);\r\n }\r\n\r\n stepDown() {\r\n if (!this.value) {\r\n this.value = Math.max(this.minValue, 0);\r\n }\r\n this.value -= toNumber(this.step);\r\n }\r\n\r\n decimalStepUp() {\r\n if (!this.value) {\r\n this.value = Math.max(this.minValue, 0);\r\n }\r\n this.value += toNumber(\r\n this.decimalStep == 'auto'\r\n ? 1 / Math.pow(10, this.decimals)\r\n : this.decimalStep\r\n );\r\n }\r\n\r\n decimalStepDown() {\r\n if (!this.value) {\r\n this.value = Math.max(this.minValue, 0);\r\n }\r\n this.value -= toNumber(\r\n this.decimalStep == 'auto'\r\n ? 1 / Math.pow(10, this.decimals)\r\n : this.decimalStep\r\n );\r\n }\r\n}\r\n","<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" type=\"text\" [attr.placeholder]=\"placeholder\" [attr.autocomplete]=\"autoComplete\"\r\n [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\r\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\r\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [(ngModel)]=\"value\" (keydown)=\"_handleOnKeydownEvent($event)\"\r\n (keyup)=\"_emitOnKeyupEvent($event)\" (keypress)=\"_emitOnKeypressEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n\r\n<div class=\"ax-number-box-control\" *ngIf=\"showSpinButtons\">\r\n <button class=\"ax-general-button ax-button-icon\" (click)=\"_handleUpDownClick(1)\">\r\n <span class=\"ax-icon ax-icon-arrow-up\"></span>\r\n </button>\r\n <button class=\"ax-general-button ax-button-icon\" (click)=\"_handleUpDownClick(-1)\">\r\n <span class=\"ax-icon ax-icon-arrow-down\"></span>\r\n </button>\r\n</div>\r\n\r\n<!-- <div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-icon-arrow-fill ax-rotation-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-icon-arrow-fill -ax-rotation-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div> -->\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport {IMaskModule} from 'angular-imask';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXNumberBoxComponent } from './number-box.component';\r\n\r\nconst COMPONENT = [AXNumberBoxComponent];\r\nconst MODULES = [\r\n CommonModule,\r\n FormsModule,\r\n AXButtonModule,\r\n AXDecoratorModule,\r\n IMaskModule\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXNumberBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-number-box.mjs","sources":["../../../../projects/acorex/components/number-box/src/number-box.component.ts","../../../../projects/acorex/components/number-box/src/number-box.component.html","../../../../projects/acorex/components/number-box/src/number-box.module.ts","../../../../projects/acorex/components/number-box/acorex-components-number-box.ts"],"sourcesContent":["import IMask from 'imask';\r\nimport { IMaskDirective } from 'angular-imask';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\n\r\nimport { toNumber } from 'lodash-es';\r\nimport {\r\n AXBaseTextBoxMixin,\r\n AXComponentOptionChanged,\r\n} from '@acorex/components/mixin';\r\n\r\n/**\r\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-number-box',\r\n templateUrl: './number-box.component.html',\r\n styleUrls: ['./number-box.component.scss'],\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'size',\r\n 'value',\r\n 'placeholder',\r\n 'maxLength',\r\n 'allowNull',\r\n 'type',\r\n 'autoComplete',\r\n 'readonly',\r\n 'allowNull',\r\n 'value',\r\n 'name',\r\n 'checked',\r\n ],\r\n outputs: [\r\n 'valueChange',\r\n 'onValueChanged',\r\n 'onBlur',\r\n 'onFocus'\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-editor-container' },\r\n})\r\nexport class AXNumberBoxComponent extends AXBaseTextBoxMixin {\r\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\r\n\r\n private _thousandsSeparator: string;\r\n /**\r\n * A character value that specifies the separator character.\r\n */\r\n @Input()\r\n public get thousandsSeparator(): string {\r\n return this._thousandsSeparator;\r\n }\r\n public set thousandsSeparator(v: string) {\r\n this._setOption({\r\n name: 'thousandsSeparator',\r\n value: v ?? '',\r\n });\r\n }\r\n\r\n private _padDecimalZeros: boolean = false;\r\n /**\r\n * A character value that specifies the separator character.\r\n */\r\n @Input()\r\n public get padDecimalZeros(): boolean {\r\n return this._padDecimalZeros;\r\n }\r\n public set padDecimalZeros(v: boolean) {\r\n this._setOption({\r\n name: 'padDecimalZeros',\r\n value: v,\r\n });\r\n }\r\n\r\n /**\r\n * Specifies the value that is used to increment or decrement the **Integer** part of number\r\n */\r\n @Input()\r\n step: number = 1;\r\n\r\n private _decimals: number = 0;\r\n /**\r\n * Specifies the number of decimals that the user can enter\r\n */\r\n @Input()\r\n public get decimals(): number {\r\n return this._decimals;\r\n }\r\n public set decimals(v: number) {\r\n this._setOption({\r\n name: 'decimals',\r\n value: v ?? 0,\r\n });\r\n }\r\n\r\n /**\r\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\r\n */\r\n @Input()\r\n decimalStep: number | 'auto' = 'auto';\r\n\r\n /**\r\n * Specifies whether the Up and Down spin buttons will be rendered or not\r\n */\r\n @Input()\r\n showSpinButtons: boolean = true;\r\n\r\n private _minValue: number = Number.MIN_SAFE_INTEGER;\r\n /**\r\n * Specifies the smallest value that is valid\r\n */\r\n @Input()\r\n public get minValue(): number {\r\n return this._minValue;\r\n }\r\n public set minValue(v: number) {\r\n this._setOption({\r\n name: 'minValue',\r\n value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\r\n });\r\n }\r\n\r\n private _maxValue: number = Number.MAX_SAFE_INTEGER;\r\n /**\r\n * Specifies the greatest value that is valid\r\n */\r\n @Input()\r\n public get maxValue(): number {\r\n return this._maxValue;\r\n }\r\n public set maxValue(v: number) {\r\n this._setOption({\r\n name: 'maxValue',\r\n value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\r\n });\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n _maskObj: IMask.MaskedNumber;\r\n\r\n @ViewChild(IMaskDirective)\r\n private _maskDirective: IMaskDirective<IMask.MaskedNumber>;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(elementRef: ElementRef, private cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onViewInit(): void {\r\n super.onViewInit();\r\n this._updateMask();\r\n }\r\n\r\n _onOptionChanged(option: AXComponentOptionChanged): void {\r\n super._onOptionChanged(option);\r\n this._updateMask();\r\n }\r\n\r\n focus(): void {\r\n this.input.nativeElement.focus()\r\n }\r\n\r\n private _updateMask() {\r\n if (!this._maskObj) {\r\n this._maskObj = IMask.createMask({\r\n mask: Number,\r\n min: this.minValue,\r\n max: this.maxValue,\r\n thousandsSeparator: this.thousandsSeparator || '',\r\n scale: this.decimals,\r\n radix: '.',\r\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\r\n });\r\n } else {\r\n this._maskObj.updateOptions({\r\n min: this.minValue,\r\n max: this.maxValue,\r\n thousandsSeparator: this.thousandsSeparator || '',\r\n scale: this.decimals,\r\n radix: '.',\r\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\r\n });\r\n }\r\n this._maskDirective?.maskRef?.updateValue();\r\n this._maskDirective?.maskRef?.updateControl();\r\n }\r\n\r\n _handleOnKeydownEvent(e: KeyboardEvent) {\r\n if (this.disabled || this.readonly) return;\r\n const ignore = () => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n this._setUserInteraction();\r\n const input = e.target as HTMLInputElement;\r\n const valStr = input.value;\r\n const decimalPointIndex = valStr.indexOf('.');\r\n const _cursorPos = input.selectionStart!;\r\n\r\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\r\n if (\r\n decimalPointIndex > 0 &&\r\n _cursorPos > decimalPointIndex &&\r\n this.decimals > 0\r\n ) {\r\n e.key === 'ArrowDown' ? this.decimalStepDown() : this.decimalStepUp();\r\n } else {\r\n e.key === 'ArrowDown' ? this.stepDown() : this.stepUp();\r\n }\r\n ignore();\r\n setTimeout(() => {\r\n input.setSelectionRange(_cursorPos, _cursorPos);\r\n }, 5);\r\n }\r\n super._emitOnKeydownEvent(e);\r\n }\r\n\r\n _handleUpDownClick(v: -1 | 1) {\r\n if (this.disabled || this.readonly) return;\r\n this._setUserInteraction();\r\n v == 1 ? this.stepUp() : this.stepDown();\r\n }\r\n\r\n _setValue(value: any) {\r\n if ((value == null || (value == 0 && !this._maskObj.value)) && this.allowNull) {\r\n return null;\r\n }\r\n const v = toNumber(value);\r\n if (v < this.minValue) return this.minValue;\r\n if (v > this.maxValue) return this.maxValue;\r\n return v;\r\n }\r\n\r\n stepUp() {\r\n if (!this.value) {\r\n this.value = Math.max(this.minValue, 0);\r\n }\r\n this.value += toNumber(this.step);\r\n }\r\n\r\n stepDown() {\r\n if (!this.value) {\r\n this.value = Math.max(this.minValue, 0);\r\n }\r\n this.value -= toNumber(this.step);\r\n }\r\n\r\n decimalStepUp() {\r\n if (!this.value) {\r\n this.value = Math.max(this.minValue, 0);\r\n }\r\n this.value += toNumber(\r\n this.decimalStep == 'auto'\r\n ? 1 / Math.pow(10, this.decimals)\r\n : this.decimalStep\r\n );\r\n }\r\n\r\n decimalStepDown() {\r\n if (!this.value) {\r\n this.value = Math.max(this.minValue, 0);\r\n }\r\n this.value -= toNumber(\r\n this.decimalStep == 'auto'\r\n ? 1 / Math.pow(10, this.decimals)\r\n : this.decimalStep\r\n );\r\n }\r\n}\r\n","<ng-content select=\"ax-prefix\"> </ng-content>\r\n<input\r\n #input\r\n class=\"ax-input\"\r\n type=\"text\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.autocomplete]=\"autoComplete\"\r\n [imask]=\"_maskObj\"\r\n [unmask]=\"'typed'\"\r\n [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [tabindex]=\"tabIndex\"\r\n [(ngModel)]=\"value\"\r\n (keydown)=\"_handleOnKeydownEvent($event)\"\r\n (keyup)=\"_emitOnKeyupEvent($event)\"\r\n (keypress)=\"_emitOnKeypressEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\" />\r\n\r\n<div class=\"ax-number-box-control\" *ngIf=\"showSpinButtons\">\r\n <button\r\n class=\"ax-general-button ax-button-icon\"\r\n (click)=\"_handleUpDownClick(1)\"\r\n tabindex=\"-1\">\r\n <span class=\"ax-icon ax-icon-arrow-up\"></span>\r\n </button>\r\n <button\r\n class=\"ax-general-button ax-button-icon\"\r\n (click)=\"_handleUpDownClick(-1)\">\r\n <span class=\"ax-icon ax-icon-arrow-down\" tabindex=\"-1\"></span>\r\n </button>\r\n</div>\r\n\r\n<!-- <div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-icon-arrow-fill ax-rotation-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-icon-arrow-fill -ax-rotation-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div> -->\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport {IMaskModule} from 'angular-imask';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXNumberBoxComponent } from './number-box.component';\r\n\r\nconst COMPONENT = [AXNumberBoxComponent];\r\nconst MODULES = [\r\n CommonModule,\r\n FormsModule,\r\n AXButtonModule,\r\n AXDecoratorModule,\r\n IMaskModule\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXNumberBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAmBA;;;;AAIG;AAgCG,MAAO,oBAAqB,SAAQ,kBAAkB,CAAA;AAwG1D;;AAEG;IACH,WAAY,CAAA,UAAsB,EAAU,GAAsB,EAAA;AAChE,QAAA,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QADmB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAzF1D,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;AAe1C;;AAEG;QAEH,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;QAET,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;AAe9B;;AAEG;QAEH,IAAW,CAAA,WAAA,GAAoB,MAAM,CAAC;AAEtC;;AAEG;QAEH,IAAe,CAAA,eAAA,GAAY,IAAI,CAAC;AAExB,QAAA,IAAA,CAAA,SAAS,GAAW,MAAM,CAAC,gBAAgB,CAAC;AAe5C,QAAA,IAAA,CAAA,SAAS,GAAW,MAAM,CAAC,gBAAgB,CAAC;KA4BnD;AAzGD;;AAEG;AACH,IAAA,IACW,kBAAkB,GAAA;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;IACD,IAAW,kBAAkB,CAAC,CAAS,EAAA;QACrC,IAAI,CAAC,UAAU,CAAC;AACd,YAAA,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,CAAC,IAAI,EAAE;AACf,SAAA,CAAC,CAAC;KACJ;AAGD;;AAEG;AACH,IAAA,IACW,eAAe,GAAA;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAC9B;IACD,IAAW,eAAe,CAAC,CAAU,EAAA;QACnC,IAAI,CAAC,UAAU,CAAC;AACd,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,KAAK,EAAE,CAAC;AACT,SAAA,CAAC,CAAC;KACJ;AASD;;AAEG;AACH,IAAA,IACW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAW,QAAQ,CAAC,CAAS,EAAA;QAC3B,IAAI,CAAC,UAAU,CAAC;AACd,YAAA,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,CAAC,IAAI,CAAC;AACd,SAAA,CAAC,CAAC;KACJ;AAeD;;AAEG;AACH,IAAA,IACW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAW,QAAQ,CAAC,CAAS,EAAA;QAC3B,IAAI,CAAC,UAAU,CAAC;AACd,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB;AACvD,SAAA,CAAC,CAAC;KACJ;AAGD;;AAEG;AACH,IAAA,IACW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAW,QAAQ,CAAC,CAAS,EAAA;QAC3B,IAAI,CAAC,UAAU,CAAC;AACd,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB;AACvD,SAAA,CAAC,CAAC;KACJ;IAiBD,UAAU,GAAA;QACR,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAED,IAAA,gBAAgB,CAAC,MAAgC,EAAA;AAC/C,QAAA,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;KACjC;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC;AAC/B,gBAAA,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ;AAClB,gBAAA,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,EAAE;gBACjD,KAAK,EAAE,IAAI,CAAC,QAAQ;AACpB,gBAAA,KAAK,EAAE,GAAG;gBACV,kBAAkB,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe;AAC9D,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ;AAClB,gBAAA,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,EAAE;gBACjD,KAAK,EAAE,IAAI,CAAC,QAAQ;AACpB,gBAAA,KAAK,EAAE,GAAG;gBACV,kBAAkB,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe;AAC9D,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC5C,QAAA,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;KAC/C;AAED,IAAA,qBAAqB,CAAC,CAAgB,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3C,MAAM,MAAM,GAAG,MAAK;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AACtB,SAAC,CAAC;QACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;AAC3C,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9C,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,cAAe,CAAC;QAEzC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE;YAChD,IACE,iBAAiB,GAAG,CAAC;AACrB,gBAAA,UAAU,GAAG,iBAAiB;AAC9B,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,EACjB;AACA,gBAAA,CAAC,CAAC,GAAG,KAAK,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AACvE,aAAA;AAAM,iBAAA;AACL,gBAAA,CAAC,CAAC,GAAG,KAAK,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACzD,aAAA;AACD,YAAA,MAAM,EAAE,CAAC;YACT,UAAU,CAAC,MAAK;AACd,gBAAA,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;aACjD,EAAE,CAAC,CAAC,CAAC;AACP,SAAA;AACD,QAAA,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;KAC9B;AAED,IAAA,kBAAkB,CAAC,CAAS,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3C,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;KAC1C;AAED,IAAA,SAAS,CAAC,KAAU,EAAA;QAClB,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE;AAC7E,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AAC5C,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AAC5C,QAAA,OAAO,CAAC,CAAC;KACV;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACzC,SAAA;QACD,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACzC,SAAA;QACD,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACzC,SAAA;QACD,IAAI,CAAC,KAAK,IAAI,QAAQ,CACpB,IAAI,CAAC,WAAW,IAAI,MAAM;AACxB,cAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;AACjC,cAAE,IAAI,CAAC,WAAW,CACrB,CAAC;KACH;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACzC,SAAA;QACD,IAAI,CAAC,KAAK,IAAI,QAAQ,CACpB,IAAI,CAAC,WAAW,IAAI,MAAM;AACxB,cAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;AACjC,cAAE,IAAI,CAAC,WAAW,CACrB,CAAC;KACH;;iHAtOU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqGpB,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5J3B,s8DAqDA,EAAA,MAAA,EAAA,CAAA,kPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDEa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA/BhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGjB,MAAA,EAAA;wBACN,UAAU;wBACV,UAAU;wBACV,UAAU;wBACV,MAAM;wBACN,OAAO;wBACP,aAAa;wBACb,WAAW;wBACX,WAAW;wBACX,MAAM;wBACN,cAAc;wBACd,UAAU;wBACV,WAAW;wBACX,OAAO;wBACP,MAAM;wBACN,SAAS;qBACV,EACQ,OAAA,EAAA;wBACP,aAAa;wBACb,gBAAgB;wBAChB,QAAQ;wBACR,SAAS;AACV,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAA,QAAA,EAAA,s8DAAA,EAAA,MAAA,EAAA,CAAA,kPAAA,CAAA,EAAA,CAAA;iIAGlB,KAAK,EAAA,CAAA;sBAAxB,SAAS;uBAAC,OAAO,CAAA;gBAOP,kBAAkB,EAAA,CAAA;sBAD5B,KAAK;gBAgBK,eAAe,EAAA,CAAA;sBADzB,KAAK;gBAeN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAQK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAeN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAON,eAAe,EAAA,CAAA;sBADd,KAAK;gBAQK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAgBK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAiBE,cAAc,EAAA,CAAA;sBADrB,SAAS;uBAAC,cAAc,CAAA;;;AEpJ3B,MAAM,SAAS,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACzC,MAAM,OAAO,GAAG;IACZ,YAAY;IACZ,WAAW;IACX,cAAc;IACd,iBAAiB;IACjB,WAAW;CACd,CAAC;MAQW,iBAAiB,CAAA;;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,YAAA,EAAA,CAfX,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEnC,YAAY;QACZ,WAAW;QACX,cAAc;QACd,iBAAiB;AACjB,QAAA,WAAW,aANI,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAe1B,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAJb,OAAO,CAAA,EAAA,CAAA,CAAA;2FAIX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACrB,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AAChB,iBAAA,CAAA;;;ACtBD;;AAEG;;;;"}
|