@acorex/components 7.4.8 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/button/lib/button.module.d.ts +2 -1
  2. package/common/lib/classes/datalist.class.d.ts +3 -3
  3. package/common/lib/components/selection-base.component.class.d.ts +3 -9
  4. package/datetime-box/lib/datetime-box.component.d.ts +2 -1
  5. package/dialog/lib/dialog.class.d.ts +4 -2
  6. package/dialog/lib/dialog.service.d.ts +3 -2
  7. package/dropdown/lib/dropdown-box.component.d.ts +1 -0
  8. package/esm2022/action-sheet/lib/action-sheet.component.mjs +2 -2
  9. package/esm2022/alert/lib/alert.component.mjs +6 -7
  10. package/esm2022/avatar/lib/avatar.component.mjs +2 -2
  11. package/esm2022/button/lib/button.component.mjs +2 -2
  12. package/esm2022/button/lib/button.module.mjs +4 -3
  13. package/esm2022/common/lib/classes/datalist.class.mjs +52 -1
  14. package/esm2022/common/lib/components/selection-base.component.class.mjs +13 -36
  15. package/esm2022/common/lib/components/value-component.class.mjs +3 -3
  16. package/esm2022/datetime-box/lib/datetime-box.component.mjs +7 -4
  17. package/esm2022/dialog/lib/dialog.class.mjs +1 -1
  18. package/esm2022/dialog/lib/dialog.component.mjs +3 -17
  19. package/esm2022/dialog/lib/dialog.service.mjs +47 -24
  20. package/esm2022/dropdown/lib/dropdown-box.component.mjs +8 -5
  21. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +3 -3
  22. package/esm2022/form/lib/form-field.component.mjs +2 -2
  23. package/esm2022/label/lib/label.component.mjs +2 -2
  24. package/esm2022/list/acorex-components-list.mjs +5 -0
  25. package/esm2022/list/index.mjs +3 -0
  26. package/esm2022/list/lib/list.component.mjs +221 -0
  27. package/esm2022/list/lib/list.module.mjs +22 -0
  28. package/esm2022/loading/lib/loading.module.mjs +22 -8
  29. package/esm2022/loading/lib/loading.service.mjs +9 -13
  30. package/esm2022/menu/index.mjs +4 -1
  31. package/esm2022/menu/lib/class/root-menu.class.mjs +3 -0
  32. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +96 -0
  33. package/esm2022/menu/lib/menu.component.mjs +4 -4
  34. package/esm2022/menu/lib/menu.module.mjs +11 -16
  35. package/esm2022/menu/lib/menu2.component.mjs +45 -0
  36. package/esm2022/mixin/lib/datalist.class.mjs +46 -2
  37. package/esm2022/notification/lib/notification.component.mjs +7 -7
  38. package/esm2022/popover/lib/popover.component.mjs +8 -5
  39. package/esm2022/popup/lib/popup.component.mjs +1 -2
  40. package/esm2022/popup/lib/popup.service.mjs +1 -2
  41. package/esm2022/progress-bar/lib/progress-bar.component.mjs +2 -2
  42. package/esm2022/result/lib/result.component.mjs +2 -2
  43. package/esm2022/select-box/index.mjs +2 -1
  44. package/esm2022/select-box/lib/select-box.component.mjs +3 -3
  45. package/esm2022/select-box/lib/select-box.module.mjs +15 -6
  46. package/esm2022/select-box/lib/select-box2.component.mjs +97 -0
  47. package/esm2022/selection-list/lib/selection-list.component.mjs +22 -7
  48. package/esm2022/tabs/lib/tabs.component.mjs +2 -2
  49. package/esm2022/text-area/lib/text-area.component.mjs +14 -6
  50. package/esm2022/toast/lib/toast.component.mjs +5 -5
  51. package/fesm2022/acorex-components-action-sheet.mjs +2 -2
  52. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  53. package/fesm2022/acorex-components-alert.mjs +5 -6
  54. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  55. package/fesm2022/acorex-components-avatar.mjs +2 -2
  56. package/fesm2022/acorex-components-button.mjs +5 -4
  57. package/fesm2022/acorex-components-button.mjs.map +1 -1
  58. package/fesm2022/acorex-components-common.mjs +65 -37
  59. package/fesm2022/acorex-components-common.mjs.map +1 -1
  60. package/fesm2022/acorex-components-datetime-box.mjs +6 -3
  61. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  62. package/fesm2022/acorex-components-dialog.mjs +47 -38
  63. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  64. package/fesm2022/acorex-components-dropdown.mjs +9 -7
  65. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  66. package/fesm2022/acorex-components-form.mjs +2 -2
  67. package/fesm2022/acorex-components-form.mjs.map +1 -1
  68. package/fesm2022/acorex-components-label.mjs +2 -2
  69. package/fesm2022/acorex-components-label.mjs.map +1 -1
  70. package/fesm2022/acorex-components-list.mjs +246 -0
  71. package/fesm2022/acorex-components-list.mjs.map +1 -0
  72. package/fesm2022/acorex-components-loading.mjs +23 -15
  73. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  74. package/fesm2022/acorex-components-menu.mjs +148 -21
  75. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  76. package/fesm2022/acorex-components-mixin.mjs +46 -1
  77. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  78. package/fesm2022/acorex-components-notification.mjs +7 -7
  79. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  80. package/fesm2022/acorex-components-popover.mjs +7 -4
  81. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  82. package/fesm2022/acorex-components-popup.mjs +0 -2
  83. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  84. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  85. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  86. package/fesm2022/acorex-components-result.mjs +2 -2
  87. package/fesm2022/acorex-components-select-box.mjs +116 -18
  88. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  89. package/fesm2022/acorex-components-selection-list.mjs +21 -6
  90. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  91. package/fesm2022/acorex-components-tabs.mjs +2 -2
  92. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  93. package/fesm2022/acorex-components-text-area.mjs +13 -5
  94. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  95. package/fesm2022/acorex-components-toast.mjs +3 -3
  96. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  97. package/list/README.md +3 -0
  98. package/list/index.d.ts +2 -0
  99. package/list/lib/list.component.d.ts +59 -0
  100. package/list/lib/list.module.d.ts +9 -0
  101. package/loading/lib/loading.module.d.ts +3 -2
  102. package/menu/index.d.ts +3 -0
  103. package/menu/lib/class/root-menu.class.d.ts +4 -0
  104. package/menu/lib/menu-item/menu-item.component.d.ts +22 -0
  105. package/menu/lib/menu.component.d.ts +3 -3
  106. package/menu/lib/menu.module.d.ts +10 -7
  107. package/menu/lib/menu2.component.d.ts +12 -0
  108. package/mixin/lib/base-components.class.d.ts +2 -2
  109. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  110. package/mixin/lib/button-mixin.class.d.ts +2 -2
  111. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  112. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  113. package/mixin/lib/datalist-component.class.d.ts +10 -10
  114. package/mixin/lib/datalist.class.d.ts +38 -0
  115. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  116. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  117. package/mixin/lib/mixin.class.d.ts +61 -61
  118. package/mixin/lib/page-component.class.d.ts +2 -2
  119. package/mixin/lib/selection-component.class.d.ts +2 -2
  120. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  121. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  122. package/mixin/lib/value-mixin.class.d.ts +8 -8
  123. package/notification/lib/notification.component.d.ts +3 -3
  124. package/package.json +7 -1
  125. package/popover/lib/popover.component.d.ts +2 -1
  126. package/select-box/index.d.ts +1 -0
  127. package/select-box/lib/select-box.module.d.ts +15 -12
  128. package/select-box/lib/select-box2.component.d.ts +25 -0
  129. package/selection-list/lib/selection-list.component.d.ts +5 -1
  130. package/text-area/lib/text-area.component.d.ts +10 -3
  131. package/toast/lib/toast.component.d.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-form.mjs","sources":["../../../../libs/components/form/src/lib/form.config.ts","../../../../libs/components/form/src/lib/form-field.component.ts","../../../../libs/components/form/src/lib/form.component.ts","../../../../libs/components/form/src/lib/validation-rule.widget.ts","../../../../libs/components/form/src/lib/validation-summary.component.ts","../../../../libs/components/form/src/lib/form.module.ts","../../../../libs/components/form/src/acorex-components-form.ts"],"sourcesContent":["import { InjectionToken, inject } from '@angular/core';\nimport { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { set } from 'lodash-es';\nimport { AXValidationRuleTypes } from './validation.class';\nimport { AXTranslator } from '@acorex/core/translation';\n\n\nexport interface AXFormConfig {\n validation: {\n rules: {\n [key: string]: {\n rule: AXValidationRuleTypes,\n value: unknown,\n message: string\n }\n }\n },\n\n}\n\nexport const AX_FORM_CONFIG = new InjectionToken<AXFormConfig>(\n 'AX_FORM_CONFIG',\n {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, \"form\", AX_FORM_CONFIG);\n return AXFormDefaultConfig;\n },\n }\n);\n\n\nexport const AXFormDefaultConfig: AXFormConfig = {\n validation: {\n rules: {\n email: {\n rule: 'regex',\n value:\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: AXTranslator.get('validation.messages.email'),\n },\n phone: {\n rule: 'regex',\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\n message: AXTranslator.get('validation.messages.phone'),\n },\n }\n }\n};\n\n\nexport type PartialFormConfig = Partial<AXFormConfig>;\n\nexport function formConfig(config: PartialFormConfig = {}): AXFormConfig {\n const result = {\n ...AXFormDefaultConfig,\n ...config,\n };\n return result\n}","import { MXBaseComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-form-field',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormFieldComponent extends MXBaseComponent {\n}\n","import { AXEvent, AXValueChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXFormValidationResult } from './validation.class';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXFormValidationEvent extends AXEvent {\n result: AXFormValidationResult;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport type AXFormUpdateOn = 'change' | 'blur' | 'submit';\nexport type AXFormMessageStyle = 'bottom' | 'float';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form',\n template:\n '<form (submit)=\"_handleSubmit($event)\" (reset)=\"_handleReset()\" class=\"ax-{{messageStyle}}-error\"><ng-content></ng-content></form>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends MXBaseComponent {\n @Input()\n messageStyle: AXFormMessageStyle = 'bottom';\n\n @Output()\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\n\n @Output()\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\n\n private _updateOn: AXFormUpdateOn = 'blur';\n @Input()\n public get updateOn(): AXFormUpdateOn {\n return this._updateOn;\n }\n public set updateOn(v: AXFormUpdateOn) {\n this.setOption({\n name: 'updateOn',\n value: v,\n afterCallback: (oldValue?, newValue?) => {\n this._bindEvents();\n },\n });\n }\n\n @Input()\n validateInitValues = false;\n\n private _observer?: MutationObserver;\n private _subs: Subscription[] = [];\n\n protected _handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n this.validate();\n }\n\n protected _handleReset() {\n this.clear();\n }\n\n private _getComponenets() {\n return Array.from(this.getHostElement()\n .querySelectorAll('[ax-form-input=\"true\"]'))\n .map((c) => (c as any).__axContext__)\n .filter((c) => c != null);\n }\n\n ngAfterViewInit(): void {\n if (this.validateInitValues) {\n this._validateInitValues();\n }\n this._bindEvents();\n\n // const config = { attributes: false, childList: true, subtree: true };\n // const callback = (mutationList, observer) => {\n // this._bindEvents();\n // };\n\n // // Create an observer instance linked to the callback function\n // if (typeof MutationObserver !== 'undefined') {\n // this._observer = new MutationObserver(callback);\n // }\n\n // this._observer.observe(this.getHostElement(), config);\n }\n\n private _bindEvents() {\n this._clearSubs();\n const widgets = this._getComponenets();\n //\n widgets.forEach((w) => {\n if (this.updateOn == 'change') {\n this._subs.push(\n w.onValueChanged?.subscribe((v: AXValueChangedEvent) => {\n if (v.isUserInteraction) w.validate();\n }),\n );\n } else if (this.updateOn == 'blur') {\n this._subs.push(\n w.onBlur?.subscribe((v) => {\n w.validate();\n }),\n );\n }\n });\n }\n\n private _clearSubs() {\n this._subs.forEach((c) => c?.unsubscribe());\n this._subs = [];\n }\n\n private _validateInitValues() {\n this._getComponenets()\n .filter((c) => c['value'])\n .forEach((c) => c.validate());\n }\n\n validate(...args: string[]): Promise<AXFormValidationResult> {\n const widgets = this._getComponenets();\n if (widgets.length === 0) {\n this._emitOnValidateEvent({ result: true });\n return Promise.resolve({ result: true });\n }\n //\n return new Promise<AXFormValidationResult>((resolve) => {\n Promise.all(\n widgets\n .filter((c) => args == null || args.length == 0 || args.includes(c.name))\n .map((c) => c.validate()),\n ).then((rules: any) => {\n const failed = rules.filter((c: any) => !c.result);\n if (failed.length) {\n this._emitOnValidateEvent({\n result: false,\n items: failed,\n });\n resolve({\n result: false,\n items: failed,\n });\n } else {\n this._emitOnValidateEvent({ result: true });\n resolve({ result: true });\n }\n });\n });\n }\n\n private _emitOnValidateEvent(e: AXFormValidationResult) {\n this.onValidate.emit({\n component: this,\n result: e,\n htmlElement: this.getHostElement(),\n });\n }\n\n clear() {\n const widgets = this._getComponenets();\n widgets.forEach((w) => {\n if (typeof w?.clear === 'function') w.clear(false);\n });\n }\n\n ngOnDestroy(): void {\n this._observer?.disconnect();\n this._clearSubs();\n }\n}\n","import { AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXTranslator } from '@acorex/core/translation';\nimport {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnInit,\n Optional,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AX_FORM_CONFIG } from './form.config';\nimport { AXValidationRule, AXValidationRuleResult, AXValidationRuleTypes } from './validation.class';\n\n@Component({\n selector: 'ax-validation-rule',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXValidationRuleComponent extends MXBaseComponent implements AXValidationRule, OnInit {\n private _config = inject(AX_FORM_CONFIG);\n\n @Input()\n rule: AXValidationRuleTypes = 'required';\n\n @Input()\n message: string;\n\n @Input()\n showMessage = true;\n\n @Input()\n value: any;\n\n @Input()\n enabled = true;\n\n ngOnInit() {\n super.ngOnInit();\n (this.getHostElement() as any).validate = this.validate.bind(this);\n }\n\n /**\n * @ignore\n */\n constructor(\n @Optional()\n @Inject(AXValuableComponent)\n private control: AXValuableComponent,\n ) {\n super();\n }\n\n validate(value: any): Promise<AXValidationRuleResult> {\n if (this.enabled === false) {\n return Promise.resolve({ result: true });\n }\n if (this.rule == 'custom') {\n const regRule = this._config.validation.rules[this.value];\n if (regRule) {\n return this._internalValidate(regRule.rule, value, this.message || regRule.message, regRule.value);\n }\n }\n return this._internalValidate(this.rule, value, this.message, this.value);\n }\n\n private _internalValidate(\n type: string,\n value?: any,\n message?: string,\n ruleValue?: any,\n ): Promise<AXValidationRuleResult> {\n return new Promise<AXValidationRuleResult>((resolve) => {\n switch (type) {\n case 'required':\n resolve({\n message: this.showMessage\n ? message || AXTranslator.get('validation.messages.required', { name: this.control?.name })\n : '',\n result: !this._isNullOrEmpty(value),\n });\n break;\n case 'regex':\n const ex = new RegExp(ruleValue);\n resolve({\n message: this.showMessage ? message || AXTranslator.get('validation.messages.regex') : '',\n result: ex.test(value),\n });\n break;\n case 'callback':\n if (typeof ruleValue === 'function') {\n const res: any = {};\n res.message = this.showMessage ? message : null;\n const val = ruleValue({ value, message });\n if (val instanceof Promise) {\n val\n .then((c) => {\n res.result = c;\n })\n .catch((c) => {\n res.result = false;\n })\n .finally(() => {\n resolve(res);\n });\n } else {\n res.result = val;\n resolve(res);\n }\n } else {\n resolve({\n message: AXTranslator.get('validation.messages.invalid-rull-fn'),\n result: false,\n });\n }\n break;\n default:\n resolve({\n message: AXTranslator.get('validation.messages.invalid-rull-name'),\n result: false,\n });\n }\n });\n }\n\n private _isNullOrEmpty(value: any): boolean {\n return (\n value === undefined ||\n value === null ||\n Number.isNaN(value) ||\n (Array.isArray(value) && value.length == 0) ||\n (typeof value === 'string' && value.trim().length === 0)\n );\n }\n}\n","import { AXTranslator } from \"@acorex/core/translation\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, ViewEncapsulation } from \"@angular/core\";\nimport { AXEvent, MXBaseComponent } from \"@acorex/components/common\";\nimport { AXToastService } from \"@acorex/components/toast\";\nimport { AXFormComponent } from \"./form.component\";\n\n\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert'\n\n@Component({\n selector: 'ax-validation-summary',\n template: `\n <ax-alert color=\"danger\" *ngIf=\"displayMode=='alert' && _content\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed($event)\">\n <ax-icon></ax-icon>\n <ax-title>{{title}}</ax-title>\n <ax-content>\n <div [innerHTML]=\"_content\">\n </div>\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-alert>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXValidationSummaryComponent extends MXBaseComponent {\n\n protected _content?: string = '';\n\n private _title: string = AXTranslator.get('validation.messages.title');\n\n @Input()\n public get title(): string {\n return this._title;\n }\n public set title(v: string) {\n this._title = v;\n }\n\n\n @Input()\n displayMode: AXValidationSummaryDisplayMode = 'toast';\n\n @Input()\n timeOut?: number;\n\n @Input()\n autoHide = false;\n\n protected _timeOut: number;\n\n constructor(\n private _tosatService: AXToastService,\n @Optional()\n @Inject(AXFormComponent)\n private _parent: AXFormComponent\n ) {\n super();\n //\n _parent.onValidate.subscribe((c: any) => {\n if (!c.result.result) {\n this._content = `<ul>${c.result.items.map(c => `<li>${c.message}</li>`).join('')}</ul>`;\n this._timeOut = this.autoHide ? (this.timeOut ?? Math.max(c.result.items.length * 1500, 2000)) : 0;\n //\n if (this.displayMode == 'toast') {\n this._tosatService.show({\n color: 'danger',\n closeButton: true,\n timeOut: this._timeOut,\n content: this._content,\n title: this.title,\n location: \"bottom-center\"\n });\n }\n }\n else {\n this._content = '';\n }\n this.cdr.markForCheck();\n });\n }\n\n protected _handleOnDismissed(e: AXEvent) {\n this._content = '';\n }\n}","import { AXAlertModule } from '@acorex/components/alert';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormComponent } from './form.component';\nimport { AXValidationRuleComponent } from './validation-rule.widget';\nimport { AXValidationSummaryComponent } from './validation-summary.component';\n\n@NgModule({\n declarations: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleComponent,\n AXValidationSummaryComponent,\n ],\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule],\n exports: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleComponent,\n AXValidationSummaryComponent,\n ],\n providers: [],\n})\nexport class AXFormModule {\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAoBa,cAAc,GAAG,IAAI,cAAc,CAC5C,gBAAgB,EAChB;AACI,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;AACV,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACxC,QAAA,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACpC,QAAA,OAAO,mBAAmB,CAAC;KAC9B;AACJ,CAAA,EACH;AAGW,MAAA,mBAAmB,GAAiB;AAC7C,IAAA,UAAU,EAAE;AACR,QAAA,KAAK,EAAE;AACH,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,KAAK,EACD,uJAAuJ;AAC3J,gBAAA,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC;AACzD,aAAA;AACD,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,KAAK,EAAE,8CAA8C;AACrD,gBAAA,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC;AACzD,aAAA;AACJ,SAAA;AACJ,KAAA;EACH;AAKc,SAAA,UAAU,CAAC,MAAA,GAA4B,EAAE,EAAA;AACrD,IAAA,MAAM,MAAM,GAAG;AACX,QAAA,GAAG,mBAAmB;AACtB,QAAA,GAAG,MAAM;KACZ,CAAC;AACF,IAAA,OAAO,MAAM,CAAA;AACjB;;AC9CM,MAAO,oBAAqB,SAAQ,eAAe,CAAA;8GAA5C,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,4EALrB,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,q4DAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAK1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,eAAe,EAAA,QAAA,EACf,2BAA2B,EAEtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,q4DAAA,CAAA,EAAA,CAAA;;;ACAjD;;;AAGG;AACG,MAAO,qBAAsB,SAAQ,OAAO,CAAA;AAEjD,CAAA;AASD;;;;AAIG;AAQG,MAAO,eAAgB,SAAQ,eAAe,CAAA;AAPpD,IAAA,WAAA,GAAA;;QASE,IAAY,CAAA,YAAA,GAAuB,QAAQ,CAAC;AAG5C,QAAA,IAAA,CAAA,UAAU,GAAwC,IAAI,YAAY,EAAyB,CAAC;AAG5F,QAAA,IAAA,CAAA,cAAc,GAAiC,IAAI,YAAY,EAAkB,CAAC;QAE1E,IAAS,CAAA,SAAA,GAAmB,MAAM,CAAC;QAgB3C,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;QAGnB,IAAK,CAAA,KAAA,GAAmB,EAAE,CAAC;AAuHpC,KAAA;AAzIC,IAAA,IACW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAW,QAAQ,CAAC,CAAiB,EAAA;QACnC,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,aAAa,EAAE,CAAC,QAAS,EAAE,QAAS,KAAI;gBACtC,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;AACF,SAAA,CAAC,CAAC;KACJ;AAQS,IAAA,aAAa,CAAC,CAAc,EAAA;QACpC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAES,YAAY,GAAA;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;IAEO,eAAe,GAAA;AACrB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;aACpC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,KAAM,CAAS,CAAC,aAAa,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;KAC7B;IAED,eAAe,GAAA;QACb,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC5B,SAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;KAapB;IAEO,WAAW,GAAA;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;;AAEvC,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACpB,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE;AAC7B,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAsB,KAAI;oBACrD,IAAI,CAAC,CAAC,iBAAiB;wBAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACvC,CAAC,CACH,CAAC;AACH,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;AAClC,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KAAI;oBACxB,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACd,CAAC,CACH,CAAC;AACH,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAEO,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;IAEO,mBAAmB,GAAA;QACzB,IAAI,CAAC,eAAe,EAAE;aACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;aACzB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;KACjC;IAED,QAAQ,CAAC,GAAG,IAAc,EAAA;AACxB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACvC,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,SAAA;;AAED,QAAA,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,KAAI;YACrD,OAAO,CAAC,GAAG,CACT,OAAO;iBACJ,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxE,iBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC5B,CAAC,IAAI,CAAC,CAAC,KAAU,KAAI;AACpB,gBAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,IAAI,CAAC,oBAAoB,CAAC;AACxB,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,KAAK,EAAE,MAAM;AACd,qBAAA,CAAC,CAAC;AACH,oBAAA,OAAO,CAAC;AACN,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,KAAK,EAAE,MAAM;AACd,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,oBAAA,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3B,iBAAA;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,oBAAoB,CAAC,CAAyB,EAAA;AACpD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACnB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACnC,SAAA,CAAC,CAAC;KACJ;IAED,KAAK,GAAA;AACH,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACvC,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACpB,YAAA,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,UAAU;AAAE,gBAAA,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;8GAnJU,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,yPAJxB,oIAAoI,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAI3H,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,QAAQ,EACN,oIAAoI;oBACtI,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;8BAGC,YAAY,EAAA,CAAA;sBADX,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,MAAM;gBAIP,cAAc,EAAA,CAAA;sBADb,MAAM;gBAKI,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAeN,kBAAkB,EAAA,CAAA;sBADjB,KAAK;;;AC3CF,MAAO,yBAA0B,SAAQ,eAAe,CAAA;IAkB5D,QAAQ,GAAA;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,cAAc,EAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpE;AAED;;AAEG;AACH,IAAA,WAAA,CAGU,OAA4B,EAAA;AAEpC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqB;AA5B9B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QAGzC,IAAI,CAAA,IAAA,GAA0B,UAAU,CAAC;QAMzC,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;QAMnB,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;KAgBd;AAED,IAAA,QAAQ,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;AACzB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,YAAA,IAAI,OAAO,EAAE;gBACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACpG,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;AAEO,IAAA,iBAAiB,CACvB,IAAY,EACZ,KAAW,EACX,OAAgB,EAChB,SAAe,EAAA;AAEf,QAAA,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,KAAI;AACrD,YAAA,QAAQ,IAAI;AACV,gBAAA,KAAK,UAAU;AACb,oBAAA,OAAO,CAAC;wBACN,OAAO,EAAE,IAAI,CAAC,WAAW;AACvB,8BAAE,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3F,8BAAE,EAAE;AACN,wBAAA,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;AACpC,qBAAA,CAAC,CAAC;oBACH,MAAM;AACR,gBAAA,KAAK,OAAO;AACV,oBAAA,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;AACjC,oBAAA,OAAO,CAAC;AACN,wBAAA,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,EAAE;AACzF,wBAAA,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,qBAAA,CAAC,CAAC;oBACH,MAAM;AACR,gBAAA,KAAK,UAAU;AACb,oBAAA,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;wBACnC,MAAM,GAAG,GAAQ,EAAE,CAAC;AACpB,wBAAA,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC;wBAChD,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC1C,IAAI,GAAG,YAAY,OAAO,EAAE;4BAC1B,GAAG;AACA,iCAAA,IAAI,CAAC,CAAC,CAAC,KAAI;AACV,gCAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACjB,6BAAC,CAAC;AACD,iCAAA,KAAK,CAAC,CAAC,CAAC,KAAI;AACX,gCAAA,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;AACrB,6BAAC,CAAC;iCACD,OAAO,CAAC,MAAK;gCACZ,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,6BAAC,CAAC,CAAC;AACN,yBAAA;AAAM,6BAAA;AACL,4BAAA,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;4BACjB,OAAO,CAAC,GAAG,CAAC,CAAC;AACd,yBAAA;AACF,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,CAAC;AACN,4BAAA,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,qCAAqC,CAAC;AAChE,4BAAA,MAAM,EAAE,KAAK;AACd,yBAAA,CAAC,CAAC;AACJ,qBAAA;oBACD,MAAM;AACR,gBAAA;AACE,oBAAA,OAAO,CAAC;AACN,wBAAA,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,uCAAuC,CAAC;AAClE,wBAAA,MAAM,EAAE,KAAK;AACd,qBAAA,CAAC,CAAC;AACN,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,cAAc,CAAC,KAAU,EAAA;QAC/B,QACE,KAAK,KAAK,SAAS;AACnB,YAAA,KAAK,KAAK,IAAI;AACd,YAAA,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;AACnB,aAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;AAC3C,aAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EACxD;KACH;AAlHU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBA4B1B,mBAAmB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AA5BlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,+LAJ1B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAID,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA,CAAA;;0BA4BI,QAAQ;;0BACR,MAAM;2BAAC,mBAAmB,CAAA;4CAxB7B,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAIN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;;;ACPF,MAAO,4BAA6B,SAAQ,eAAe,CAAA;AAM/D,IAAA,IACW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAW,KAAK,CAAC,CAAS,EAAA;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;KACjB;IAcD,WACU,CAAA,aAA6B,EAG7B,OAAwB,EAAA;AAEhC,QAAA,KAAK,EAAE,CAAC;QALA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAG7B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;QA5BxB,IAAQ,CAAA,QAAA,GAAY,EAAE,CAAC;AAEzB,QAAA,IAAA,CAAA,MAAM,GAAW,YAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAYvE,IAAW,CAAA,WAAA,GAAmC,OAAO,CAAC;QAMtD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAYf,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAM,KAAI;AACtC,YAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;AACpB,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAA,IAAA,EAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAO,IAAA,EAAA,CAAC,CAAC,OAAO,CAAO,KAAA,CAAA,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,KAAA,CAAO,CAAC;AACxF,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;;AAEnG,gBAAA,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE;AAC/B,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACtB,wBAAA,KAAK,EAAE,QAAQ;AACf,wBAAA,WAAW,EAAE,IAAI;wBACjB,OAAO,EAAE,IAAI,CAAC,QAAQ;wBACtB,OAAO,EAAE,IAAI,CAAC,QAAQ;wBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,wBAAA,QAAQ,EAAE,eAAe;AAC1B,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AACI,iBAAA;AACH,gBAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACpB,aAAA;AACD,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;KACJ;AAES,IAAA,kBAAkB,CAAC,CAAU,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AA3DU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kDA6B7B,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AA7Bd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAlB7B,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,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,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,oHAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBApBxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA,CAAA;;0BA6BI,QAAQ;;0BACR,MAAM;2BAAC,eAAe,CAAA;4CAtBd,KAAK,EAAA,CAAA;sBADf,KAAK;gBAUN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;;;MCxBK,YAAY,CAAA;8GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAdrB,oBAAoB;YACpB,eAAe;YACf,yBAAyB;YACzB,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAEpB,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CAEtE,oBAAoB;YACpB,eAAe;YACf,yBAAyB;YACzB,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA;AAInB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YATb,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAS7D,YAAY,EAAA,UAAA,EAAA,CAAA;kBAhBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,eAAe;wBACf,yBAAyB;wBACzB,4BAA4B;AAC7B,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,CAAC;AACzE,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,eAAe;wBACf,yBAAyB;wBACzB,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACzBD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-form.mjs","sources":["../../../../libs/components/form/src/lib/form.config.ts","../../../../libs/components/form/src/lib/form-field.component.ts","../../../../libs/components/form/src/lib/form.component.ts","../../../../libs/components/form/src/lib/validation-rule.widget.ts","../../../../libs/components/form/src/lib/validation-summary.component.ts","../../../../libs/components/form/src/lib/form.module.ts","../../../../libs/components/form/src/acorex-components-form.ts"],"sourcesContent":["import { InjectionToken, inject } from '@angular/core';\nimport { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { set } from 'lodash-es';\nimport { AXValidationRuleTypes } from './validation.class';\nimport { AXTranslator } from '@acorex/core/translation';\n\n\nexport interface AXFormConfig {\n validation: {\n rules: {\n [key: string]: {\n rule: AXValidationRuleTypes,\n value: unknown,\n message: string\n }\n }\n },\n\n}\n\nexport const AX_FORM_CONFIG = new InjectionToken<AXFormConfig>(\n 'AX_FORM_CONFIG',\n {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, \"form\", AX_FORM_CONFIG);\n return AXFormDefaultConfig;\n },\n }\n);\n\n\nexport const AXFormDefaultConfig: AXFormConfig = {\n validation: {\n rules: {\n email: {\n rule: 'regex',\n value:\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: AXTranslator.get('validation.messages.email'),\n },\n phone: {\n rule: 'regex',\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\n message: AXTranslator.get('validation.messages.phone'),\n },\n }\n }\n};\n\n\nexport type PartialFormConfig = Partial<AXFormConfig>;\n\nexport function formConfig(config: PartialFormConfig = {}): AXFormConfig {\n const result = {\n ...AXFormDefaultConfig,\n ...config,\n };\n return result\n}","import { MXBaseComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-form-field',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormFieldComponent extends MXBaseComponent {\n}\n","import { AXEvent, AXValueChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXFormValidationResult } from './validation.class';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXFormValidationEvent extends AXEvent {\n result: AXFormValidationResult;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport type AXFormUpdateOn = 'change' | 'blur' | 'submit';\nexport type AXFormMessageStyle = 'bottom' | 'float';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form',\n template:\n '<form (submit)=\"_handleSubmit($event)\" (reset)=\"_handleReset()\" class=\"ax-{{messageStyle}}-error\"><ng-content></ng-content></form>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends MXBaseComponent {\n @Input()\n messageStyle: AXFormMessageStyle = 'bottom';\n\n @Output()\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\n\n @Output()\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\n\n private _updateOn: AXFormUpdateOn = 'blur';\n @Input()\n public get updateOn(): AXFormUpdateOn {\n return this._updateOn;\n }\n public set updateOn(v: AXFormUpdateOn) {\n this.setOption({\n name: 'updateOn',\n value: v,\n afterCallback: (oldValue?, newValue?) => {\n this._bindEvents();\n },\n });\n }\n\n @Input()\n validateInitValues = false;\n\n private _observer?: MutationObserver;\n private _subs: Subscription[] = [];\n\n protected _handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n this.validate();\n }\n\n protected _handleReset() {\n this.clear();\n }\n\n private _getComponenets() {\n return Array.from(this.getHostElement()\n .querySelectorAll('[ax-form-input=\"true\"]'))\n .map((c) => (c as any).__axContext__)\n .filter((c) => c != null);\n }\n\n ngAfterViewInit(): void {\n if (this.validateInitValues) {\n this._validateInitValues();\n }\n this._bindEvents();\n\n // const config = { attributes: false, childList: true, subtree: true };\n // const callback = (mutationList, observer) => {\n // this._bindEvents();\n // };\n\n // // Create an observer instance linked to the callback function\n // if (typeof MutationObserver !== 'undefined') {\n // this._observer = new MutationObserver(callback);\n // }\n\n // this._observer.observe(this.getHostElement(), config);\n }\n\n private _bindEvents() {\n this._clearSubs();\n const widgets = this._getComponenets();\n //\n widgets.forEach((w) => {\n if (this.updateOn == 'change') {\n this._subs.push(\n w.onValueChanged?.subscribe((v: AXValueChangedEvent) => {\n if (v.isUserInteraction) w.validate();\n }),\n );\n } else if (this.updateOn == 'blur') {\n this._subs.push(\n w.onBlur?.subscribe((v) => {\n w.validate();\n }),\n );\n }\n });\n }\n\n private _clearSubs() {\n this._subs.forEach((c) => c?.unsubscribe());\n this._subs = [];\n }\n\n private _validateInitValues() {\n this._getComponenets()\n .filter((c) => c['value'])\n .forEach((c) => c.validate());\n }\n\n validate(...args: string[]): Promise<AXFormValidationResult> {\n const widgets = this._getComponenets();\n if (widgets.length === 0) {\n this._emitOnValidateEvent({ result: true });\n return Promise.resolve({ result: true });\n }\n //\n return new Promise<AXFormValidationResult>((resolve) => {\n Promise.all(\n widgets\n .filter((c) => args == null || args.length == 0 || args.includes(c.name))\n .map((c) => c.validate()),\n ).then((rules: any) => {\n const failed = rules.filter((c: any) => !c.result);\n if (failed.length) {\n this._emitOnValidateEvent({\n result: false,\n items: failed,\n });\n resolve({\n result: false,\n items: failed,\n });\n } else {\n this._emitOnValidateEvent({ result: true });\n resolve({ result: true });\n }\n });\n });\n }\n\n private _emitOnValidateEvent(e: AXFormValidationResult) {\n this.onValidate.emit({\n component: this,\n result: e,\n htmlElement: this.getHostElement(),\n });\n }\n\n clear() {\n const widgets = this._getComponenets();\n widgets.forEach((w) => {\n if (typeof w?.clear === 'function') w.clear(false);\n });\n }\n\n ngOnDestroy(): void {\n this._observer?.disconnect();\n this._clearSubs();\n }\n}\n","import { AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXTranslator } from '@acorex/core/translation';\nimport {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnInit,\n Optional,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AX_FORM_CONFIG } from './form.config';\nimport { AXValidationRule, AXValidationRuleResult, AXValidationRuleTypes } from './validation.class';\n\n@Component({\n selector: 'ax-validation-rule',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXValidationRuleComponent extends MXBaseComponent implements AXValidationRule, OnInit {\n private _config = inject(AX_FORM_CONFIG);\n\n @Input()\n rule: AXValidationRuleTypes = 'required';\n\n @Input()\n message: string;\n\n @Input()\n showMessage = true;\n\n @Input()\n value: any;\n\n @Input()\n enabled = true;\n\n ngOnInit() {\n super.ngOnInit();\n (this.getHostElement() as any).validate = this.validate.bind(this);\n }\n\n /**\n * @ignore\n */\n constructor(\n @Optional()\n @Inject(AXValuableComponent)\n private control: AXValuableComponent,\n ) {\n super();\n }\n\n validate(value: any): Promise<AXValidationRuleResult> {\n if (this.enabled === false) {\n return Promise.resolve({ result: true });\n }\n if (this.rule == 'custom') {\n const regRule = this._config.validation.rules[this.value];\n if (regRule) {\n return this._internalValidate(regRule.rule, value, this.message || regRule.message, regRule.value);\n }\n }\n return this._internalValidate(this.rule, value, this.message, this.value);\n }\n\n private _internalValidate(\n type: string,\n value?: any,\n message?: string,\n ruleValue?: any,\n ): Promise<AXValidationRuleResult> {\n return new Promise<AXValidationRuleResult>((resolve) => {\n switch (type) {\n case 'required':\n resolve({\n message: this.showMessage\n ? message || AXTranslator.get('validation.messages.required', { name: this.control?.name })\n : '',\n result: !this._isNullOrEmpty(value),\n });\n break;\n case 'regex':\n const ex = new RegExp(ruleValue);\n resolve({\n message: this.showMessage ? message || AXTranslator.get('validation.messages.regex') : '',\n result: ex.test(value),\n });\n break;\n case 'callback':\n if (typeof ruleValue === 'function') {\n const res: any = {};\n res.message = this.showMessage ? message : null;\n const val = ruleValue({ value, message });\n if (val instanceof Promise) {\n val\n .then((c) => {\n res.result = c;\n })\n .catch((c) => {\n res.result = false;\n })\n .finally(() => {\n resolve(res);\n });\n } else {\n res.result = val;\n resolve(res);\n }\n } else {\n resolve({\n message: AXTranslator.get('validation.messages.invalid-rull-fn'),\n result: false,\n });\n }\n break;\n default:\n resolve({\n message: AXTranslator.get('validation.messages.invalid-rull-name'),\n result: false,\n });\n }\n });\n }\n\n private _isNullOrEmpty(value: any): boolean {\n return (\n value === undefined ||\n value === null ||\n Number.isNaN(value) ||\n (Array.isArray(value) && value.length == 0) ||\n (typeof value === 'string' && value.trim().length === 0)\n );\n }\n}\n","import { AXTranslator } from \"@acorex/core/translation\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, ViewEncapsulation } from \"@angular/core\";\nimport { AXEvent, MXBaseComponent } from \"@acorex/components/common\";\nimport { AXToastService } from \"@acorex/components/toast\";\nimport { AXFormComponent } from \"./form.component\";\n\n\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert'\n\n@Component({\n selector: 'ax-validation-summary',\n template: `\n <ax-alert color=\"danger\" *ngIf=\"displayMode=='alert' && _content\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed($event)\">\n <ax-icon></ax-icon>\n <ax-title>{{title}}</ax-title>\n <ax-content>\n <div [innerHTML]=\"_content\">\n </div>\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-alert>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXValidationSummaryComponent extends MXBaseComponent {\n\n protected _content?: string = '';\n\n private _title: string = AXTranslator.get('validation.messages.title');\n\n @Input()\n public get title(): string {\n return this._title;\n }\n public set title(v: string) {\n this._title = v;\n }\n\n\n @Input()\n displayMode: AXValidationSummaryDisplayMode = 'toast';\n\n @Input()\n timeOut?: number;\n\n @Input()\n autoHide = false;\n\n protected _timeOut: number;\n\n constructor(\n private _tosatService: AXToastService,\n @Optional()\n @Inject(AXFormComponent)\n private _parent: AXFormComponent\n ) {\n super();\n //\n _parent.onValidate.subscribe((c: any) => {\n if (!c.result.result) {\n this._content = `<ul>${c.result.items.map(c => `<li>${c.message}</li>`).join('')}</ul>`;\n this._timeOut = this.autoHide ? (this.timeOut ?? Math.max(c.result.items.length * 1500, 2000)) : 0;\n //\n if (this.displayMode == 'toast') {\n this._tosatService.show({\n color: 'danger',\n closeButton: true,\n timeOut: this._timeOut,\n content: this._content,\n title: this.title,\n location: \"bottom-center\"\n });\n }\n }\n else {\n this._content = '';\n }\n this.cdr.markForCheck();\n });\n }\n\n protected _handleOnDismissed(e: AXEvent) {\n this._content = '';\n }\n}","import { AXAlertModule } from '@acorex/components/alert';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormComponent } from './form.component';\nimport { AXValidationRuleComponent } from './validation-rule.widget';\nimport { AXValidationSummaryComponent } from './validation-summary.component';\n\n@NgModule({\n declarations: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleComponent,\n AXValidationSummaryComponent,\n ],\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule],\n exports: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleComponent,\n AXValidationSummaryComponent,\n ],\n providers: [],\n})\nexport class AXFormModule {\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -32,13 +32,13 @@ class AXLabelComponent extends MXBaseComponent {
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
33
33
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXLabelComponent, selector: "ax-label", inputs: { required: "required" }, outputs: { requiredChange: "requiredChange" }, providers: [
34
34
  { provide: MXBaseComponent, useExisting: AXLabelComponent }
35
- ], usesInheritance: true, ngImport: i0, template: "<label [attr.for]=\"target\">\n <ng-content></ng-content>\n <span class=\"ax-state-required\" *ngIf=\"required\">&nbsp;*</span>\n</label>", styles: ["ax-label label{display:block;font-weight:500;font-size:.875rem;cursor:inherit;margin-bottom:.25rem;color:rgba(var(--ax-color-text-default))}ax-label label .ax-state-required{color:rgba(var(--ax-color-danger-500))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
35
+ ], usesInheritance: true, ngImport: i0, template: "<label [attr.for]=\"target\">\n <ng-content></ng-content>\n <span class=\"ax-state-required\" *ngIf=\"required\">&nbsp;*</span>\n</label>", styles: ["ax-label label{display:block;font-weight:500;font-size:.875rem;cursor:inherit;margin-bottom:.5rem;color:rgba(var(--ax-color-text-default))}ax-label label .ax-state-required{color:rgba(var(--ax-color-danger-500))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLabelComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'ax-label', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
40
40
  { provide: MXBaseComponent, useExisting: AXLabelComponent }
41
- ], template: "<label [attr.for]=\"target\">\n <ng-content></ng-content>\n <span class=\"ax-state-required\" *ngIf=\"required\">&nbsp;*</span>\n</label>", styles: ["ax-label label{display:block;font-weight:500;font-size:.875rem;cursor:inherit;margin-bottom:.25rem;color:rgba(var(--ax-color-text-default))}ax-label label .ax-state-required{color:rgba(var(--ax-color-danger-500))}\n"] }]
41
+ ], template: "<label [attr.for]=\"target\">\n <ng-content></ng-content>\n <span class=\"ax-state-required\" *ngIf=\"required\">&nbsp;*</span>\n</label>", styles: ["ax-label label{display:block;font-weight:500;font-size:.875rem;cursor:inherit;margin-bottom:.5rem;color:rgba(var(--ax-color-text-default))}ax-label label .ax-state-required{color:rgba(var(--ax-color-danger-500))}\n"] }]
42
42
  }], propDecorators: { requiredChange: [{
43
43
  type: Output
44
44
  }], required: [{
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-label.mjs","sources":["../../../../libs/components/label/src/lib/label.component.ts","../../../../libs/components/label/src/lib/label.component.html","../../../../libs/components/label/src/lib/label.module.ts","../../../../libs/components/label/src/acorex-components-label.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: MXBaseComponent, useExisting: AXLabelComponent }\n ]\n})\nexport class AXLabelComponent extends MXBaseComponent {\n\n @Output()\n requiredChange = new EventEmitter<boolean>();\n\n private _required: boolean = false;\n @Input()\n public get required(): boolean {\n return this._required;\n }\n public set required(v: boolean) {\n this.setOption({\n name: 'required',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n private _target: string;\n public get target(): string {\n return this._target;\n }\n public set target(v: string) {\n this._target = v;\n this.cdr.markForCheck();\n }\n}\n","<label [attr.for]=\"target\">\n <ng-content></ng-content>\n <span class=\"ax-state-required\" *ngIf=\"required\">&nbsp;*</span>\n</label>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLabelComponent } from './label.component';\n\nconst COMPONENT = [AXLabelComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXLabelModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-label.mjs","sources":["../../../../libs/components/label/src/lib/label.component.ts","../../../../libs/components/label/src/lib/label.component.html","../../../../libs/components/label/src/lib/label.module.ts","../../../../libs/components/label/src/acorex-components-label.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: MXBaseComponent, useExisting: AXLabelComponent }\n ]\n})\nexport class AXLabelComponent extends MXBaseComponent {\n\n @Output()\n requiredChange = new EventEmitter<boolean>();\n\n private _required: boolean = false;\n @Input()\n public get required(): boolean {\n return this._required;\n }\n public set required(v: boolean) {\n this.setOption({\n name: 'required',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n private _target: string;\n public get target(): string {\n return this._target;\n }\n public set target(v: string) {\n this._target = v;\n this.cdr.markForCheck();\n }\n}\n","<label [attr.for]=\"target\">\n <ng-content></ng-content>\n <span class=\"ax-state-required\" *ngIf=\"required\">&nbsp;*</span>\n</label>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLabelComponent } from './label.component';\n\nconst COMPONENT = [AXLabelComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXLabelModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,246 @@
1
+ import * as i0 from '@angular/core';
2
+ import { forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostListener, HostBinding, NgModule } from '@angular/core';
3
+ import { MXSelectionValueComponent, AXComponent, AXFocusableComponent, AXValuableComponent } from '@acorex/components/common';
4
+ import { Subscription, BehaviorSubject, debounceTime, distinctUntilChanged } from 'rxjs';
5
+ import { DataSource } from '@angular/cdk/collections';
6
+ import * as i1 from '@angular/cdk/scrolling';
7
+ import { CdkVirtualScrollableElement, ScrollingModule } from '@angular/cdk/scrolling';
8
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
9
+ import * as i2 from '@angular/common';
10
+ import { CommonModule } from '@angular/common';
11
+
12
+ class AXListDataSource extends DataSource {
13
+ get cachedItems() {
14
+ return this._cachedData || [];
15
+ }
16
+ /**
17
+ * @ignore
18
+ */
19
+ constructor(config) {
20
+ super();
21
+ this.config = config;
22
+ this.pageSize = 20;
23
+ this.debounceTime = 300;
24
+ this._cachedData = new Array(this.config.pageSize);
25
+ this.fetchedPages = new Set();
26
+ this.subscription = new Subscription();
27
+ this.initiated = false;
28
+ this.dataStream = new BehaviorSubject(this._cachedData);
29
+ this.loadingState = new BehaviorSubject(true);
30
+ this.source = config.source;
31
+ if (config.pageSize)
32
+ this.pageSize = config.pageSize;
33
+ if (config.debounceTime)
34
+ this.debounceTime = config.debounceTime;
35
+ }
36
+ connect(collectionViewer) {
37
+ this.subscription.add(collectionViewer.viewChange
38
+ .pipe(debounceTime(this.debounceTime))
39
+ .pipe(distinctUntilChanged())
40
+ .subscribe(range => {
41
+ const startPage = this.getPageForIndex(range.start);
42
+ const endPage = this.getPageForIndex(range.end - 1);
43
+ for (let i = startPage; i <= endPage; i++) {
44
+ this.fetchPage(i);
45
+ }
46
+ }));
47
+ return this.dataStream;
48
+ }
49
+ disconnect() {
50
+ this.subscription.unsubscribe();
51
+ }
52
+ getPageForIndex(index) {
53
+ return Math.floor(index / this.pageSize);
54
+ }
55
+ fetchPage(page) {
56
+ if (this.fetchedPages.has(page)) {
57
+ return;
58
+ }
59
+ this.loadingState.next(true);
60
+ this.fetchedPages.add(page);
61
+ if (Array.isArray(this.source)) {
62
+ this._cachedData = this.source;
63
+ this.dataStream.next(this._cachedData);
64
+ this.loadingState.next(false);
65
+ }
66
+ else if (typeof this.source == 'function') {
67
+ const promise = this.source({
68
+ take: this.pageSize,
69
+ skip: this.pageSize * page
70
+ });
71
+ promise.then(result => {
72
+ if (!this.initiated) {
73
+ this._cachedData = new Array(result.total);
74
+ this.initiated = true;
75
+ }
76
+ this._cachedData.splice(page * this.pageSize, this.pageSize, ...result.items);
77
+ this.dataStream.next(this._cachedData);
78
+ }).finally(() => {
79
+ this.loadingState.next(false);
80
+ });
81
+ }
82
+ }
83
+ }
84
+ class AXListComponent extends MXSelectionValueComponent {
85
+ constructor() {
86
+ super(...arguments);
87
+ this.source = [];
88
+ this.itemHeight = 40;
89
+ this.checkbox = true;
90
+ this.isLoading = true;
91
+ this.hasItems = false;
92
+ }
93
+ trackByIdx(i) {
94
+ return i;
95
+ }
96
+ ngOnInit() {
97
+ super.ngOnInit();
98
+ this.dataSource = new AXListDataSource({
99
+ source: this.source
100
+ });
101
+ this.dataSource.loadingState.subscribe(data => {
102
+ this.isLoading = data;
103
+ });
104
+ this.dataSource.dataStream.subscribe(data => {
105
+ this.hasItems = data.length > 0;
106
+ });
107
+ }
108
+ ngAfterViewInit() {
109
+ super.ngAfterViewInit();
110
+ }
111
+ _handleOnItemClick(e, item) {
112
+ if (this.readonly || this.disabled) {
113
+ e.preventDefault();
114
+ e.stopPropagation();
115
+ return;
116
+ }
117
+ if (this.isItemDisabled(item)) {
118
+ return;
119
+ }
120
+ this.toggleSelect(item);
121
+ }
122
+ _handleKeydown(e) {
123
+ if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {
124
+ this.focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);
125
+ e.preventDefault();
126
+ }
127
+ if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {
128
+ if (this.readonly || this.disabled) {
129
+ e.preventDefault();
130
+ e.stopPropagation();
131
+ return;
132
+ }
133
+ const id = document.activeElement?.closest('li')?.dataset?.id;
134
+ this.toggleSelect(id);
135
+ e.preventDefault();
136
+ e.stopPropagation();
137
+ }
138
+ }
139
+ focusItemByNav(sign) {
140
+ const list = this.getHostElement().querySelector('ul');
141
+ const fn = (s) => list.querySelector(s);
142
+ const itemDiv = document.activeElement?.closest('li') ||
143
+ fn(`li.ax-state-selected`) ||
144
+ fn(`li`);
145
+ const next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling);
146
+ if (next) {
147
+ next.focus();
148
+ }
149
+ }
150
+ /**
151
+ * @ignore
152
+ */
153
+ get __hostClass() {
154
+ const _class = `ax-default`;
155
+ return this.itemTemplate ? '' : _class;
156
+ }
157
+ getItemByKey(key) {
158
+ const cachedItem = this.dataSource.cachedItems.find(c => c && c[this.valueField] == key);
159
+ return cachedItem || { [this.valueField]: key, [this.textField]: key };
160
+ }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXListComponent, selector: "ax-list", inputs: { id: "id", name: "name", disabled: "disabled", readonly: "readonly", valueField: "valueField", textField: "textField", disabledField: "disabledField", multiple: "multiple", source: "source", itemHeight: "itemHeight", itemTemplate: "itemTemplate", emptyTemplate: "emptyTemplate", loadingTemplate: "loadingTemplate", checkbox: "checkbox" }, outputs: { onValueChanged: "onValueChanged", disabledChange: "disabledChange", readOnlyChange: "readOnlyChange", onBlur: "onBlur", onFocus: "onFocus" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
163
+ { provide: AXComponent, useExisting: AXListComponent },
164
+ { provide: AXFocusableComponent, useExisting: AXListComponent },
165
+ { provide: AXValuableComponent, useExisting: AXListComponent },
166
+ {
167
+ provide: NG_VALUE_ACCESSOR,
168
+ useExisting: forwardRef(() => AXListComponent),
169
+ multi: true,
170
+ },
171
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.CdkVirtualScrollableElement }], ngImport: i0, template: "<ng-content select=\"ax-header\"></ng-content>\n<cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n class=\"ax-list-items-container\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of dataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\" (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"item\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\" tabindex=\"0\" />\n <span [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n</cdk-virtual-scroll-viewport>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && !hasItems && isLoading===false\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n</ng-container>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>Loading...</li>\n </ng-template>\n</ng-template>\n<ng-content select=\"ax-footer\"></ng-content>", styles: ["ax-list{width:100%;height:100%;display:flex;flex-direction:column}ax-list.ax-default .cdk-virtual-scroll-viewport li{padding-inline-start:.75rem;padding-inline-end:1rem;position:relative;height:var(--ax-size-default);display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer}ax-list.ax-default .cdk-virtual-scroll-viewport li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-visible{outline:transparent;background-color:rgba(var(--ax-color-primary-100))}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-label-container{display:flex;align-items:center}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-checkbox-label{margin-inline-start:.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-selected-icon{color:rgba(var(--ax-color-primary-500));font-size:1.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport li.ax-state-selected:not(ax-list.ax-default .cdk-virtual-scroll-viewport li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-visible){background-color:rgba(var(--ax-color-default))!important;color:rgba(var(--ax-color-default-fore))!important}ax-list.ax-default .cdk-virtual-scroll-viewport li.ax-state-disabled{cursor:not-allowed;opacity:.5}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListComponent, decorators: [{
174
+ type: Component,
175
+ args: [{ selector: 'ax-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: [
176
+ 'id',
177
+ 'name',
178
+ 'disabled',
179
+ 'readonly',
180
+ 'valueField',
181
+ 'textField',
182
+ 'disabledField',
183
+ 'multiple'
184
+ ], outputs: [
185
+ 'onValueChanged',
186
+ 'disabledChange',
187
+ 'readOnlyChange',
188
+ 'onBlur',
189
+ 'onFocus'
190
+ ], hostDirectives: [
191
+ {
192
+ directive: CdkVirtualScrollableElement
193
+ }
194
+ ], providers: [
195
+ { provide: AXComponent, useExisting: AXListComponent },
196
+ { provide: AXFocusableComponent, useExisting: AXListComponent },
197
+ { provide: AXValuableComponent, useExisting: AXListComponent },
198
+ {
199
+ provide: NG_VALUE_ACCESSOR,
200
+ useExisting: forwardRef(() => AXListComponent),
201
+ multi: true,
202
+ },
203
+ ], template: "<ng-content select=\"ax-header\"></ng-content>\n<cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n class=\"ax-list-items-container\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of dataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\" (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"item\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\" tabindex=\"0\" />\n <span [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n</cdk-virtual-scroll-viewport>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && !hasItems && isLoading===false\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n</ng-container>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>Loading...</li>\n </ng-template>\n</ng-template>\n<ng-content select=\"ax-footer\"></ng-content>", styles: ["ax-list{width:100%;height:100%;display:flex;flex-direction:column}ax-list.ax-default .cdk-virtual-scroll-viewport li{padding-inline-start:.75rem;padding-inline-end:1rem;position:relative;height:var(--ax-size-default);display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer}ax-list.ax-default .cdk-virtual-scroll-viewport li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-visible{outline:transparent;background-color:rgba(var(--ax-color-primary-100))}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-label-container{display:flex;align-items:center}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-checkbox-label{margin-inline-start:.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-selected-icon{color:rgba(var(--ax-color-primary-500));font-size:1.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport li.ax-state-selected:not(ax-list.ax-default .cdk-virtual-scroll-viewport li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-visible){background-color:rgba(var(--ax-color-default))!important;color:rgba(var(--ax-color-default-fore))!important}ax-list.ax-default .cdk-virtual-scroll-viewport li.ax-state-disabled{cursor:not-allowed;opacity:.5}\n"] }]
204
+ }], propDecorators: { source: [{
205
+ type: Input
206
+ }], itemHeight: [{
207
+ type: Input
208
+ }], itemTemplate: [{
209
+ type: Input
210
+ }], emptyTemplate: [{
211
+ type: Input
212
+ }], loadingTemplate: [{
213
+ type: Input
214
+ }], checkbox: [{
215
+ type: Input
216
+ }], _handleKeydown: [{
217
+ type: HostListener,
218
+ args: ['keydown', ['$event']]
219
+ }], __hostClass: [{
220
+ type: HostBinding,
221
+ args: ['class']
222
+ }] } });
223
+
224
+ const COMPONENT = [AXListComponent];
225
+ const MODULES = [CommonModule, ScrollingModule];
226
+ class AXListModule {
227
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
228
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXListModule, declarations: [AXListComponent], imports: [CommonModule, ScrollingModule], exports: [AXListComponent] }); }
229
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListModule, imports: [MODULES] }); }
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListModule, decorators: [{
232
+ type: NgModule,
233
+ args: [{
234
+ declarations: [...COMPONENT],
235
+ imports: [...MODULES],
236
+ exports: [...COMPONENT],
237
+ providers: [],
238
+ }]
239
+ }] });
240
+
241
+ /**
242
+ * Generated bundle index. Do not edit.
243
+ */
244
+
245
+ export { AXListComponent, AXListDataSource, AXListModule };
246
+ //# sourceMappingURL=acorex-components-list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-list.mjs","sources":["../../../../libs/components/list/src/lib/list.component.ts","../../../../libs/components/list/src/lib/list.component.html","../../../../libs/components/list/src/lib/list.module.ts","../../../../libs/components/list/src/acorex-components-list.ts"],"sourcesContent":["import { Component, ViewEncapsulation, ChangeDetectionStrategy, OnInit, AfterViewInit, Input, TemplateRef, HostBinding, HostListener, forwardRef } from '@angular/core';\nimport { AXDataListFetchCallbackResult, AXDataListItems, MXSelectionValueComponent, AXComponent, AXFocusableComponent, AXValuableComponent } from '@acorex/components/common';\nimport { BehaviorSubject, Observable, Subscription, debounceTime, distinctUntilChanged, of } from 'rxjs';\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { CdkVirtualScrollableElement } from '@angular/cdk/scrolling';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nexport class AXListDataSource<T = any> extends DataSource<T> {\n private pageSize = 20;\n private debounceTime = 300;\n private _cachedData: T[] = new Array(this.config.pageSize);\n private fetchedPages = new Set<number>();\n private subscription = new Subscription();\n private initiated = false;\n private source: AXDataListItems;\n\n public dataStream = new BehaviorSubject<T[]>(this._cachedData);\n public loadingState = new BehaviorSubject<boolean>(true);\n public get cachedItems(): T[] {\n return this._cachedData || [];\n }\n\n\n\n /**\n * @ignore\n */\n constructor(public config: { source: AXDataListItems, pageSize?: number, debounceTime?: number }) {\n super();\n this.source = config.source;\n if (config.pageSize)\n this.pageSize = config.pageSize;\n if (config.debounceTime)\n this.debounceTime = config.debounceTime;\n }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n this.subscription.add(\n collectionViewer.viewChange\n .pipe(debounceTime(this.debounceTime))\n .pipe(distinctUntilChanged())\n .subscribe(range => {\n const startPage = this.getPageForIndex(range.start);\n const endPage = this.getPageForIndex(range.end - 1);\n for (let i = startPage; i <= endPage; i++) {\n this.fetchPage(i);\n }\n }));\n return this.dataStream;\n }\n\n disconnect(): void {\n this.subscription.unsubscribe();\n }\n\n private getPageForIndex(index: number): number {\n return Math.floor(index / this.pageSize);\n }\n\n private fetchPage(page: number) {\n if (this.fetchedPages.has(page)) {\n return;\n }\n this.loadingState.next(true);\n this.fetchedPages.add(page);\n if (Array.isArray(this.source)) {\n this._cachedData = this.source;\n this.dataStream.next(this._cachedData);\n this.loadingState.next(false);\n }\n else if (typeof this.source == 'function') {\n const promise = this.source({\n take: this.pageSize,\n skip: this.pageSize * page\n }) as Promise<AXDataListFetchCallbackResult>;\n promise.then(result => {\n if (!this.initiated) {\n this._cachedData = new Array(result.total);\n this.initiated = true;\n }\n this._cachedData.splice(page * this.pageSize, this.pageSize,\n ...result.items);\n this.dataStream.next(this._cachedData);\n }).finally(() => {\n this.loadingState.next(false);\n });\n }\n }\n}\n\n\n@Component({\n selector: 'ax-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'id',\n 'name',\n 'disabled',\n 'readonly',\n 'valueField',\n 'textField',\n 'disabledField',\n 'multiple'\n ],\n outputs: [\n 'onValueChanged',\n 'disabledChange',\n 'readOnlyChange',\n 'onBlur',\n 'onFocus'\n ],\n hostDirectives: [\n {\n directive: CdkVirtualScrollableElement\n }\n ],\n providers: [\n { provide: AXComponent, useExisting: AXListComponent },\n { provide: AXFocusableComponent, useExisting: AXListComponent },\n { provide: AXValuableComponent, useExisting: AXListComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXListComponent),\n multi: true,\n },\n ],\n})\nexport class AXListComponent extends MXSelectionValueComponent implements OnInit, AfterViewInit {\n\n @Input()\n source: AXDataListItems = [];\n\n @Input()\n itemHeight: number | 'auto' = 40;\n\n @Input()\n itemTemplate: TemplateRef<unknown>\n\n @Input()\n emptyTemplate: TemplateRef<unknown>\n\n @Input()\n loadingTemplate: TemplateRef<unknown>\n\n\n @Input()\n checkbox = true;\n\n protected dataSource: AXListDataSource<unknown>;\n protected isLoading = true;\n protected hasItems = false;\n\n trackByIdx(i) {\n return i;\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.dataSource = new AXListDataSource<unknown>({\n source: this.source\n });\n this.dataSource.loadingState.subscribe(data => {\n this.isLoading = data;\n });\n this.dataSource.dataStream.subscribe(data => {\n this.hasItems = data.length > 0;\n });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n }\n\n _handleOnItemClick(e: MouseEvent, item: any) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (this.isItemDisabled(item)) {\n return;\n }\n this.toggleSelect(item);\n }\n\n\n @HostListener('keydown', ['$event'])\n _handleKeydown(e: KeyboardEvent) {\n if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {\n this.focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);\n e.preventDefault();\n }\n if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n const id = document.activeElement?.closest('li')?.dataset?.id;\n this.toggleSelect(id);\n e.preventDefault();\n e.stopPropagation()\n }\n }\n\n\n private focusItemByNav(sign: -1 | 1): void {\n const list = this.getHostElement().querySelector('ul');\n const fn = (s) => list.querySelector<HTMLDivElement>(s);\n const itemDiv: HTMLElement =\n document.activeElement?.closest('li') ||\n fn(`li.ax-state-selected`) ||\n fn(`li`);\n const next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling) as HTMLElement;\n if (next) {\n next.focus();\n }\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n get __hostClass(): string {\n const _class = `ax-default`;\n return this.itemTemplate ? '' : _class;\n }\n\n getItemByKey(key: unknown): unknown {\n const cachedItem = this.dataSource.cachedItems.find(c => c && c[this.valueField] == key);\n return cachedItem || { [this.valueField]: key, [this.textField]: key };\n }\n\n}\n","<ng-content select=\"ax-header\"></ng-content>\n<cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n class=\"ax-list-items-container\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of dataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\" (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"item\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\" tabindex=\"0\" />\n <span [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n</cdk-virtual-scroll-viewport>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && !hasItems && isLoading===false\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n</ng-container>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>Loading...</li>\n </ng-template>\n</ng-template>\n<ng-content select=\"ax-footer\"></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXListComponent } from './list.component';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\nconst COMPONENT = [AXListComponent];\nconst MODULES = [CommonModule, ScrollingModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXListModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,9 +5,9 @@ import { CommonModule } from '@angular/common';
5
5
  import * as i1$1 from '@angular/cdk/portal';
6
6
  import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
7
7
  import { MXBaseComponent } from '@acorex/components/common';
8
+ import { Dialog, DialogModule } from '@angular/cdk/dialog';
8
9
  import { asyncScheduler, BehaviorSubject } from 'rxjs';
9
10
  import { observeOn, finalize } from 'rxjs/operators';
10
- import { Dialog } from '@angular/cdk/dialog';
11
11
  import { OverlayModule } from '@angular/cdk/overlay';
12
12
 
13
13
  class AXLoadingSpinnerComponent {
@@ -176,18 +176,18 @@ class AXLoadingService {
176
176
  const bg = dialogRef.overlayRef.backdropElement;
177
177
  const ov = dialogRef.overlayRef.overlayElement;
178
178
  ce.style.position = 'relative';
179
- ov.style.position = "absolute";
179
+ ov.style.position = 'absolute';
180
180
  ce.appendChild(bg);
181
181
  ce.appendChild(ov);
182
182
  setTimeout(() => {
183
- ov.style.position = "absolute";
183
+ ov.style.position = 'absolute';
184
184
  }, 0);
185
185
  }
186
186
  return id;
187
187
  // TODO: diabled focus and click, maybe we need a service and directive for it
188
188
  }
189
189
  hide(id) {
190
- const f = this.dialog.openDialogs.find(c => c.componentInstance.id === id.toString());
190
+ const f = this.dialog.openDialogs.find((c) => c.componentInstance.id === id.toString());
191
191
  if (f) {
192
192
  f.close();
193
193
  }
@@ -206,7 +206,7 @@ class AXLoadingService {
206
206
  return loaderStates.get(this.getLoaderId(loaderId)) ?? false;
207
207
  }
208
208
  else {
209
- return [...loaderStates.values()].filter(state => state).length > 0;
209
+ return [...loaderStates.values()].filter((state) => state).length > 0;
210
210
  }
211
211
  }
212
212
  }
@@ -239,7 +239,6 @@ class AXLoadingService {
239
239
  }
240
240
  }
241
241
  else {
242
- // @ts-ignore - loadingStates[context] is surely defined in this branch
243
242
  this.loadingStates.get(context).set(loaderId, state);
244
243
  this.loadingStates$.get(context).get(loaderId).next(state);
245
244
  }
@@ -257,13 +256,10 @@ class AXLoadingService {
257
256
  return loaderId ?? DEFAULT_LOADER_ID;
258
257
  }
259
258
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
260
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingService, providedIn: 'root' }); }
259
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingService }); }
261
260
  }
262
261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingService, decorators: [{
263
- type: Injectable,
264
- args: [{
265
- providedIn: 'root',
266
- }]
262
+ type: Injectable
267
263
  }] });
268
264
 
269
265
  // This directive places an overlay with a loading spinner over its host element
@@ -299,12 +295,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
299
295
  args: ['axIsLoading']
300
296
  }] } });
301
297
 
302
- const COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent];
303
- const MODULES = [CommonModule, OverlayModule, PortalModule];
298
+ const COMPONENT = [
299
+ AXLoadingComponent,
300
+ AXLoadingDirective,
301
+ AXLoadingSpinnerComponent,
302
+ AXLoadingSpinnerComponent,
303
+ ];
304
+ const MODULES = [CommonModule, OverlayModule, DialogModule, PortalModule];
304
305
  class AXLoadingModule {
305
306
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
306
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent] }); }
307
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, imports: [MODULES] }); }
307
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent,
308
+ AXLoadingDirective,
309
+ AXLoadingSpinnerComponent,
310
+ AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, DialogModule, PortalModule], exports: [AXLoadingComponent,
311
+ AXLoadingDirective,
312
+ AXLoadingSpinnerComponent,
313
+ AXLoadingSpinnerComponent] }); }
314
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, providers: [AXLoadingService], imports: [MODULES] }); }
308
315
  }
309
316
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, decorators: [{
310
317
  type: NgModule,
@@ -312,6 +319,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
312
319
  declarations: [...COMPONENT],
313
320
  imports: [...MODULES],
314
321
  exports: [...COMPONENT],
322
+ providers: [AXLoadingService],
315
323
  }]
316
324
  }] });
317
325