ng-zorro-antd-extension 18.1.2 → 18.1.3

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 (25) hide show
  1. package/configurable-query/configurable-query.component.d.ts +12 -8
  2. package/configurable-query/configurable-query.module.d.ts +5 -3
  3. package/configurable-query/query-config.service.d.ts +3 -0
  4. package/dynamic-form/index.d.ts +5 -0
  5. package/dynamic-form/nzx-dynamic-form.module.d.ts +9 -0
  6. package/dynamic-form/package.json +3 -0
  7. package/dynamic-form/public-api.d.ts +5 -0
  8. package/esm2022/configurable-query/configurable-query.component.mjs +18 -12
  9. package/esm2022/configurable-query/configurable-query.module.mjs +9 -1
  10. package/esm2022/configurable-query/query-config.service.mjs +4 -1
  11. package/esm2022/dynamic-form/ng-zorro-antd-extension-dynamic-form.mjs +5 -0
  12. package/esm2022/dynamic-form/nzx-dynamic-form.module.mjs +23 -0
  13. package/esm2022/dynamic-form/public-api.mjs +6 -0
  14. package/esm2022/print/nzx-print-content.directive.mjs +2 -2
  15. package/esm2022/print/nzx-print.module.mjs +1 -1
  16. package/esm2022/util/lib/getElementByTag.mjs +15 -8
  17. package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs +27 -10
  18. package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs.map +1 -1
  19. package/fesm2022/ng-zorro-antd-extension-dynamic-form.mjs +35 -0
  20. package/fesm2022/ng-zorro-antd-extension-dynamic-form.mjs.map +1 -0
  21. package/fesm2022/ng-zorro-antd-extension-print.mjs.map +1 -1
  22. package/fesm2022/ng-zorro-antd-extension-util.mjs +13 -7
  23. package/fesm2022/ng-zorro-antd-extension-util.mjs.map +1 -1
  24. package/package.json +18 -12
  25. package/print/nzx-print-content.directive.d.ts +1 -1
@@ -1,3 +1,4 @@
1
+ import { isString } from './isString';
1
2
  /**
2
3
  * 获取当前document下所有指定标签
3
4
  * @param tagName 标签名
@@ -11,7 +12,7 @@ export function getElementByTag(tagName, identifier) {
11
12
  if (Array.isArray(identifier)) {
12
13
  identifiers = [...identifier];
13
14
  }
14
- else {
15
+ else if (isString(identifier)) {
15
16
  identifiers = [identifier];
16
17
  }
17
18
  }
@@ -19,13 +20,19 @@ export function getElementByTag(tagName, identifier) {
19
20
  const elements = document.getElementsByTagName(tagName);
20
21
  const length = elements.length;
21
22
  for (let index = 0; index < length; index++) {
22
- identifiers.forEach((s) => {
23
- if (elements[index].outerHTML.includes(s)) {
24
- const formateStr = elements[index].outerHTML.replace(/\/\*[\s\S]*?\*\//g, '');
25
- html.push(formateStr);
26
- }
27
- });
23
+ if (identifiers.length) {
24
+ identifiers.forEach((s) => {
25
+ if (elements[index].outerHTML.includes(s)) {
26
+ const formateStr = elements[index].outerHTML.replace(/\/\*[\s\S]*?\*\//g, '');
27
+ html.push(formateStr);
28
+ }
29
+ });
30
+ }
31
+ else {
32
+ const formateStr = elements[index].outerHTML.replace(/\/\*[\s\S]*?\*\//g, '');
33
+ html.push(formateStr);
34
+ }
28
35
  }
29
36
  return html.join('\r\n');
30
37
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RWxlbWVudEJ5VGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91dGlsL2xpYi9nZXRFbGVtZW50QnlUYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsT0FBb0MsRUFDcEMsVUFBOEI7SUFFOUIsSUFBSSxXQUFXLEdBQWEsRUFBRSxDQUFDO0lBQy9CLElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM5QixXQUFXLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sV0FBVyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7SUFDMUIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDL0IsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQzVDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNsRCxtQkFBbUIsRUFDbkIsRUFBRSxDQUNILENBQUM7Z0JBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIOiOt+WPluW9k+WJjWRvY3VtZW505LiL5omA5pyJ5oyH5a6a5qCH562+XG4gKiBAcGFyYW0gdGFnTmFtZSDmoIfnrb7lkI1cbiAqIEBwYXJhbSBpZGVudGlmaWVyIOWUr+S4gOagh+ivhuespu+8jOmAieWPluagh+etvuWGheWuuVxuICpcbiAqIEByZXR1cm5zIHN0cmluZyDmoIfnrb7lrZfnrKbkuLJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRCeVRhZyhcbiAgdGFnTmFtZToga2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwLFxuICBpZGVudGlmaWVyPzogc3RyaW5nIHwgc3RyaW5nW11cbik6IHN0cmluZyB7XG4gIGxldCBpZGVudGlmaWVyczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKGlkZW50aWZpZXIpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpZGVudGlmaWVyKSkge1xuICAgICAgaWRlbnRpZmllcnMgPSBbLi4uaWRlbnRpZmllcl07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkZW50aWZpZXJzID0gW2lkZW50aWZpZXJdO1xuICAgIH1cbiAgfVxuICBjb25zdCBodG1sOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZ05hbWUpO1xuICBjb25zdCBsZW5ndGggPSBlbGVtZW50cy5sZW5ndGg7XG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICBpZGVudGlmaWVycy5mb3JFYWNoKChzKSA9PiB7XG4gICAgICBpZiAoZWxlbWVudHNbaW5kZXhdLm91dGVySFRNTC5pbmNsdWRlcyhzKSkge1xuICAgICAgICBjb25zdCBmb3JtYXRlU3RyID0gZWxlbWVudHNbaW5kZXhdLm91dGVySFRNTC5yZXBsYWNlKFxuICAgICAgICAgIC9cXC9cXCpbXFxzXFxTXSo/XFwqXFwvL2csXG4gICAgICAgICAgJydcbiAgICAgICAgKTtcbiAgICAgICAgaHRtbC5wdXNoKGZvcm1hdGVTdHIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHJldHVybiBodG1sLmpvaW4oJ1xcclxcbicpO1xufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RWxlbWVudEJ5VGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy91dGlsL2xpYi9nZXRFbGVtZW50QnlUYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixPQUFvQyxFQUNwQyxVQUE4QjtJQUU5QixJQUFJLFdBQVcsR0FBYSxFQUFFLENBQUM7SUFDL0IsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzlCLFdBQVcsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDaEMsQ0FBQzthQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsV0FBVyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7SUFDMUIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDL0IsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQzVDLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDeEIsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMxQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDbEQsbUJBQW1CLEVBQ25CLEVBQUUsQ0FDSCxDQUFDO29CQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ2xELG1CQUFtQixFQUNuQixFQUFFLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnLi9pc1N0cmluZyc7XG5cbi8qKlxuICog6I635Y+W5b2T5YmNZG9jdW1lbnTkuIvmiYDmnInmjIflrprmoIfnrb5cbiAqIEBwYXJhbSB0YWdOYW1lIOagh+etvuWQjVxuICogQHBhcmFtIGlkZW50aWZpZXIg5ZSv5LiA5qCH6K+G56ym77yM6YCJ5Y+W5qCH562+5YaF5a65XG4gKlxuICogQHJldHVybnMgc3RyaW5nIOagh+etvuWtl+espuS4slxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudEJ5VGFnKFxuICB0YWdOYW1lOiBrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXAsXG4gIGlkZW50aWZpZXI/OiBzdHJpbmcgfCBzdHJpbmdbXVxuKTogc3RyaW5nIHtcbiAgbGV0IGlkZW50aWZpZXJzOiBzdHJpbmdbXSA9IFtdO1xuICBpZiAoaWRlbnRpZmllcikge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGlkZW50aWZpZXIpKSB7XG4gICAgICBpZGVudGlmaWVycyA9IFsuLi5pZGVudGlmaWVyXTtcbiAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKGlkZW50aWZpZXIpKSB7XG4gICAgICBpZGVudGlmaWVycyA9IFtpZGVudGlmaWVyXTtcbiAgICB9XG4gIH1cbiAgY29uc3QgaHRtbDogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWdOYW1lKTtcbiAgY29uc3QgbGVuZ3RoID0gZWxlbWVudHMubGVuZ3RoO1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgaWYgKGlkZW50aWZpZXJzLmxlbmd0aCkge1xuICAgICAgaWRlbnRpZmllcnMuZm9yRWFjaCgocykgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudHNbaW5kZXhdLm91dGVySFRNTC5pbmNsdWRlcyhzKSkge1xuICAgICAgICAgIGNvbnN0IGZvcm1hdGVTdHIgPSBlbGVtZW50c1tpbmRleF0ub3V0ZXJIVE1MLnJlcGxhY2UoXG4gICAgICAgICAgICAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nLFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApO1xuICAgICAgICAgIGh0bWwucHVzaChmb3JtYXRlU3RyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZvcm1hdGVTdHIgPSBlbGVtZW50c1tpbmRleF0ub3V0ZXJIVE1MLnJlcGxhY2UoXG4gICAgICAgIC9cXC9cXCpbXFxzXFxTXSo/XFwqXFwvL2csXG4gICAgICAgICcnXG4gICAgICApO1xuICAgICAgaHRtbC5wdXNoKGZvcm1hdGVTdHIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaHRtbC5qb2luKCdcXHJcXG4nKTtcbn1cbiJdfQ==
@@ -16,7 +16,11 @@ import * as i6 from 'ng-zorro-antd/button';
16
16
  import { NzButtonModule } from 'ng-zorro-antd/button';
17
17
  import * as i7 from 'ng-zorro-antd/core/transition-patch';
18
18
  import * as i8 from 'ng-zorro-antd/core/wave';
19
- import * as i9 from 'ng-zorro-antd/icon';
19
+ import * as i9 from 'ng-zorro-antd/card';
20
+ import { NzCardModule } from 'ng-zorro-antd/card';
21
+ import * as i10 from 'ng-zorro-antd/space';
22
+ import { NzSpaceModule } from 'ng-zorro-antd/space';
23
+ import * as i11 from 'ng-zorro-antd/icon';
20
24
  import { NzIconModule } from 'ng-zorro-antd/icon';
21
25
  import * as i3 from 'ng-zorro-antd/date-picker';
22
26
  import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
@@ -240,6 +244,7 @@ class NzxQueryConfigService {
240
244
  }
241
245
  }
242
246
  }
247
+ /** 添加controlType 类型控件 */
243
248
  addControlType(controlType) {
244
249
  const find = this.controlTypePoll.some((i) => i.key === controlType.key);
245
250
  if (find) {
@@ -247,6 +252,7 @@ class NzxQueryConfigService {
247
252
  }
248
253
  this.controlTypePoll.push(controlType);
249
254
  }
255
+ /** 删除controlType 类型控件 */
250
256
  removeControlType(key) {
251
257
  const find = this.controlTypePoll.some((i) => i.key === key);
252
258
  if (find) {
@@ -256,6 +262,7 @@ class NzxQueryConfigService {
256
262
  throw `ControlType:: ${key} not exists !`;
257
263
  }
258
264
  }
265
+ /** 刷新 */
259
266
  refreshControlType() {
260
267
  this.controlTypes$.next(this.controlTypePoll);
261
268
  }
@@ -355,13 +362,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
355
362
  * 支持模板自定义,在使用模板自定义时,要注意controlType应该设置为Template并且确保controlName与指令上的nzxControl应该相同
356
363
  */
357
364
  class NzxConfigurableQueryComponent {
358
- /** 查询组件出参*/
365
+ /** 组件最终的查询参数 */
359
366
  get queryParams() {
360
367
  return this._queryParams;
361
368
  }
362
369
  set queryParams(value) {
363
370
  this._queryParams = value;
364
371
  }
372
+ /** 判断当前组件是否展示展开折叠按钮 */
365
373
  get nzxCollapse() {
366
374
  return this.controls.some((i) => i.hasOwnProperty('collapse'));
367
375
  }
@@ -369,19 +377,21 @@ class NzxConfigurableQueryComponent {
369
377
  this.i18n = i18n;
370
378
  this.fb = fb;
371
379
  this.cd = cd;
372
- /** 配置项 */
380
+ /**
381
+ * 配置项用来生成查询表单
382
+ */
373
383
  this.controls = [];
374
- /** 查询表单排列方式 */
384
+ /** 查询表单排列方式默认start */
375
385
  this.nzxJustify = 'start';
376
- /** 查询项间隔 */
386
+ /** 查询项间隔默认为8 */
377
387
  this.nzxGutter = 8;
378
- /** 一行展示多少查询项 */
388
+ /** 一行展示多少查询项默认展示3个 */
379
389
  this.lineNumber = 3;
380
390
  /** 操作按钮所占栅格数,24则换行 */
381
391
  this.nzxBtnSpan = null;
382
- /** 初始化时,主动查询 */
392
+ /** 初始化时,是否主动触发查询 */
383
393
  this.initQuery = false;
384
- /** 缺省 固定参数 */
394
+ /** 缺省 固定参数会固定携带在抛出事件中 */
385
395
  this.fixedParams = {};
386
396
  /** 查询时会触发抛出查询参数 */
387
397
  this.queryChange = new EventEmitter();
@@ -549,6 +559,7 @@ class NzxConfigurableQueryComponent {
549
559
  this.destroy$.next();
550
560
  this.destroy$.complete();
551
561
  }
562
+ /** 计算展开收起icon、文案 */
552
563
  calculateText() {
553
564
  if (this.controls.some((i) => i.collapse === true)) {
554
565
  this.collapseIcon = 'down';
@@ -607,11 +618,11 @@ class NzxConfigurableQueryComponent {
607
618
  }
608
619
  }
609
620
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxConfigurableQueryComponent, deps: [{ token: i1$1.NzI18nService }, { token: i2.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
610
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NzxConfigurableQueryComponent, selector: "nzx-configurable-query", inputs: { controls: "controls", nzxJustify: "nzxJustify", nzxGutter: "nzxGutter", lineNumber: "lineNumber", nzxBtnSpan: "nzxBtnSpan", initQuery: "initQuery", fixedParams: "fixedParams" }, outputs: { queryChange: "queryChange", resetChange: "resetChange" }, queries: [{ propertyName: "controlTemplateList", predicate: NzxControlDirective, descendants: true }], viewQueries: [{ propertyName: "queyFormEl", first: true, predicate: ["queyForm"], descendants: true }], exportAs: ["NzxConfigurableQuery"], usesOnChanges: true, ngImport: i0, template: "<form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n <div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n <ng-container *ngFor=\"let config of controls; let i = index\">\n <div\n *ngIf=\"!config.hidden\"\n nz-col\n [nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n [hidden]=\"config.collapse\"\n [nzOrder]=\"i\"\n >\n <nzx-configurable-query-item\n *ngIf=\"config.controlName\"\n [form]=\"queryForm\"\n [control]=\"config\"\n ></nzx-configurable-query-item>\n </div>\n </ng-container>\n\n <div\n [nzOrder]=\"controls.length\"\n class=\"nzx-query-btn\"\n nz-col\n [nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n >\n <div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n <button\n nz-button\n nzType=\"primary\"\n type=\"button\"\n title=\"Enter\"\n (click)=\"search()\"\n >\n {{ locale['query'] }}\n </button>\n <button nz-button type=\"button\" title=\"ctrl+r\" (click)=\"reset()\">\n {{ locale['reset'] }}\n </button>\n <ng-content></ng-content>\n <a\n *ngIf=\"nzxCollapse\"\n nz-button\n nzType=\"link\"\n (click)=\"toggleCollapse()\"\n >\n {{ collapseText }}\n <i nz-icon [nzType]=\"collapseIcon\"></i>\n </a>\n </div>\n </div>\n </div>\n</form>\n", styles: [".nzx-query-container{padding:12px;background-color:#fff;border-radius:8px}.nzx-query-container [nz-form-label]{overflow:visible}.nzx-query-container .nzx-query-btn{flex-grow:2;max-width:none}.nzx-query-container .nzx-query-btn button{margin:0 4px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i3$2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i4.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i9.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: NzxConfigurableQueryItemComponent, selector: "nzx-configurable-query-item", inputs: ["form", "control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
621
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NzxConfigurableQueryComponent, selector: "nzx-configurable-query", inputs: { controls: "controls", nzxJustify: "nzxJustify", nzxGutter: "nzxGutter", lineNumber: "lineNumber", nzxBtnSpan: "nzxBtnSpan", initQuery: "initQuery", fixedParams: "fixedParams" }, outputs: { queryChange: "queryChange", resetChange: "resetChange" }, queries: [{ propertyName: "controlTemplateList", predicate: NzxControlDirective, descendants: true }], viewQueries: [{ propertyName: "queyFormEl", first: true, predicate: ["queyForm"], descendants: true }], exportAs: ["NzxConfigurableQuery"], usesOnChanges: true, ngImport: i0, template: "<nz-card>\n <form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n <div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n <ng-container *ngFor=\"let config of controls; let i = index\">\n <div\n *ngIf=\"!config.hidden\"\n nz-col\n [nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n [hidden]=\"config.collapse\"\n [nzOrder]=\"i\"\n >\n <nzx-configurable-query-item\n *ngIf=\"config.controlName\"\n [form]=\"queryForm\"\n [control]=\"config\"\n ></nzx-configurable-query-item>\n </div>\n </ng-container>\n\n <div\n class=\"nzx-query-btn\"\n nz-col\n [nzOrder]=\"controls.length\"\n [nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n >\n <div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n <nz-space>\n <button\n *nzSpaceItem\n nz-button\n nzType=\"primary\"\n type=\"button\"\n title=\"Enter\"\n (click)=\"search()\"\n >\n {{ locale['query'] }}\n </button>\n <button\n *nzSpaceItem\n nz-button\n type=\"button\"\n title=\"ctrl+r\"\n (click)=\"reset()\"\n >\n {{ locale['reset'] }}\n </button>\n <ng-container *nzSpaceItem>\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"nzxCollapse\">\n <a\n *nzSpaceItem\n nz-button\n nzType=\"link\"\n (click)=\"toggleCollapse()\"\n >\n {{ collapseText }}\n <i nz-icon [nzType]=\"collapseIcon\"></i>\n </a>\n </ng-container>\n </nz-space>\n </div>\n </div>\n </div>\n </form>\n</nz-card>\n", styles: [".nzx-query-container [nz-form-label]{overflow:visible}.nzx-query-container .nzx-query-btn{flex-grow:2;max-width:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i3$2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i4.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "component", type: i9.NzCardComponent, selector: "nz-card", inputs: ["nzBordered", "nzBorderless", "nzLoading", "nzHoverable", "nzBodyStyle", "nzCover", "nzActions", "nzType", "nzSize", "nzTitle", "nzExtra"], exportAs: ["nzCard"] }, { kind: "component", type: i10.NzSpaceComponent, selector: "nz-space, [nz-space]", inputs: ["nzDirection", "nzAlign", "nzSplit", "nzWrap", "nzSize"], exportAs: ["NzSpace"] }, { kind: "directive", type: i10.NzSpaceItemDirective, selector: "[nzSpaceItem]" }, { kind: "directive", type: i11.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: NzxConfigurableQueryItemComponent, selector: "nzx-configurable-query-item", inputs: ["form", "control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
611
622
  }
612
623
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxConfigurableQueryComponent, decorators: [{
613
624
  type: Component,
614
- args: [{ selector: 'nzx-configurable-query', changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'NzxConfigurableQuery', template: "<form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n <div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n <ng-container *ngFor=\"let config of controls; let i = index\">\n <div\n *ngIf=\"!config.hidden\"\n nz-col\n [nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n [hidden]=\"config.collapse\"\n [nzOrder]=\"i\"\n >\n <nzx-configurable-query-item\n *ngIf=\"config.controlName\"\n [form]=\"queryForm\"\n [control]=\"config\"\n ></nzx-configurable-query-item>\n </div>\n </ng-container>\n\n <div\n [nzOrder]=\"controls.length\"\n class=\"nzx-query-btn\"\n nz-col\n [nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n >\n <div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n <button\n nz-button\n nzType=\"primary\"\n type=\"button\"\n title=\"Enter\"\n (click)=\"search()\"\n >\n {{ locale['query'] }}\n </button>\n <button nz-button type=\"button\" title=\"ctrl+r\" (click)=\"reset()\">\n {{ locale['reset'] }}\n </button>\n <ng-content></ng-content>\n <a\n *ngIf=\"nzxCollapse\"\n nz-button\n nzType=\"link\"\n (click)=\"toggleCollapse()\"\n >\n {{ collapseText }}\n <i nz-icon [nzType]=\"collapseIcon\"></i>\n </a>\n </div>\n </div>\n </div>\n</form>\n", styles: [".nzx-query-container{padding:12px;background-color:#fff;border-radius:8px}.nzx-query-container [nz-form-label]{overflow:visible}.nzx-query-container .nzx-query-btn{flex-grow:2;max-width:none}.nzx-query-container .nzx-query-btn button{margin:0 4px}\n"] }]
625
+ args: [{ selector: 'nzx-configurable-query', changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'NzxConfigurableQuery', template: "<nz-card>\n <form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n <div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n <ng-container *ngFor=\"let config of controls; let i = index\">\n <div\n *ngIf=\"!config.hidden\"\n nz-col\n [nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n [hidden]=\"config.collapse\"\n [nzOrder]=\"i\"\n >\n <nzx-configurable-query-item\n *ngIf=\"config.controlName\"\n [form]=\"queryForm\"\n [control]=\"config\"\n ></nzx-configurable-query-item>\n </div>\n </ng-container>\n\n <div\n class=\"nzx-query-btn\"\n nz-col\n [nzOrder]=\"controls.length\"\n [nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n >\n <div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n <nz-space>\n <button\n *nzSpaceItem\n nz-button\n nzType=\"primary\"\n type=\"button\"\n title=\"Enter\"\n (click)=\"search()\"\n >\n {{ locale['query'] }}\n </button>\n <button\n *nzSpaceItem\n nz-button\n type=\"button\"\n title=\"ctrl+r\"\n (click)=\"reset()\"\n >\n {{ locale['reset'] }}\n </button>\n <ng-container *nzSpaceItem>\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"nzxCollapse\">\n <a\n *nzSpaceItem\n nz-button\n nzType=\"link\"\n (click)=\"toggleCollapse()\"\n >\n {{ collapseText }}\n <i nz-icon [nzType]=\"collapseIcon\"></i>\n </a>\n </ng-container>\n </nz-space>\n </div>\n </div>\n </div>\n </form>\n</nz-card>\n", styles: [".nzx-query-container [nz-form-label]{overflow:visible}.nzx-query-container .nzx-query-btn{flex-grow:2;max-width:none}\n"] }]
615
626
  }], ctorParameters: () => [{ type: i1$1.NzI18nService }, { type: i2.FormBuilder }, { type: i0.ChangeDetectorRef }], propDecorators: { controls: [{
616
627
  type: Input
617
628
  }], nzxJustify: [{
@@ -678,6 +689,8 @@ class NzxConfigurableQueryModule {
678
689
  NzButtonModule,
679
690
  NzSelectModule,
680
691
  NzDatePickerModule,
692
+ NzCardModule,
693
+ NzSpaceModule,
681
694
  NzIconModule,
682
695
  NzI18nModule], exports: [NzxControlDirective, NzxConfigurableQueryComponent] }); }
683
696
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxConfigurableQueryModule, imports: [CommonModule,
@@ -688,6 +701,8 @@ class NzxConfigurableQueryModule {
688
701
  NzButtonModule,
689
702
  NzSelectModule,
690
703
  NzDatePickerModule,
704
+ NzCardModule,
705
+ NzSpaceModule,
691
706
  NzIconModule,
692
707
  NzI18nModule] }); }
693
708
  }
@@ -713,6 +728,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
713
728
  NzButtonModule,
714
729
  NzSelectModule,
715
730
  NzDatePickerModule,
731
+ NzCardModule,
732
+ NzSpaceModule,
716
733
  NzIconModule,
717
734
  NzI18nModule,
718
735
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-zorro-antd-extension-configurable-query.mjs","sources":["../../../components/configurable-query/control.directive.ts","../../../components/configurable-query/controls/abstract.control.ts","../../../components/configurable-query/controls/date-picker.control.ts","../../../components/configurable-query/controls/input.control.ts","../../../components/configurable-query/controls/range-picker.control.ts","../../../components/configurable-query/controls/select.control.ts","../../../components/configurable-query/controls/template.control.ts","../../../components/configurable-query/query-config.service.ts","../../../components/configurable-query/configurable-query-item/configurable-query-item.component.ts","../../../components/configurable-query/configurable-query.component.ts","../../../components/configurable-query/configurable-query.component.html","../../../components/configurable-query/configurable-query.module.ts","../../../components/configurable-query/ng-zorro-antd-extension-configurable-query.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[nzxControl]',\r\n})\r\nexport class NzxControlDirective {\r\n @Input() nzxControl!: string;\r\n constructor(public templateRef: TemplateRef<unknown>) {}\r\n}\r\n","import { Directive, Input } from '@angular/core';\nimport { NzxQueryControlOptions } from '../type';\nimport { FormGroup } from '@angular/forms';\n\n/**\n * 用来动态添加control type类型控件,类型控件需要继承此控件\n */\n@Directive()\nexport abstract class NzxAbstractControl {\n @Input() form!: FormGroup<any>;\n @Input() control!: NzxQueryControlOptions;\n}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-date-picker-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-date-picker\n [ngStyle]=\"{ width: '100%' }\"\n [formControlName]=\"control.controlName!\"\n [nzPlaceHolder]=\"control.placeholder!\"\n >\n </nz-date-picker>\n </ng-container>\n `,\n})\nexport class NzxDatePickerControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-input-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <input\n nz-input\n type=\"text\"\n [placeholder]=\"control.placeholder\"\n [formControlName]=\"control.controlName!\"\n />\n </ng-container>\n `,\n})\nexport class NzxInputControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-range-picker-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-range-picker\n [ngStyle]=\"{ width: '100%' }\"\n [formControlName]=\"control.controlName!\"\n >\n </nz-range-picker>\n </ng-container>\n `,\n})\nexport class NzxRangePickerControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-select-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-select\n [formControlName]=\"control.controlName!\"\n [nzShowSearch]=\"control.nzxShowSearch ?? true\"\n [nzAllowClear]=\"control.nzxAllowClear ?? true\"\n [nzPlaceHolder]=\"control.placeholder!\"\n >\n <nz-option\n *ngFor=\"let item of control.menuList\"\n [nzValue]=\"item.value\"\n [nzLabel]=\"item.label\"\n >\n </nz-option>\n </nz-select>\n </ng-container>\n `,\n})\nexport class NzxSelectControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-template-control',\n template: `\n <ng-container\n *ngTemplateOutlet=\"\n control.templateRef!;\n context: { $implicit: form.get(control.controlName!), formGroup: form }\n \"\n >\n </ng-container>\n `,\n})\nexport class NzxTemplateControlComponent extends NzxAbstractControl {}\n","import { Inject, InjectionToken, Optional } from '@angular/core';\nimport { NzxQueryConfig, NzxQueryControlType } from './type';\n\nexport const QUERY_CONFIG = new InjectionToken<NzxQueryControlType[]>(\n 'QUERY_CONFIG'\n);\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\n\n/**\n * 用来动态添加control type类型控件\n */\n@Injectable({ providedIn: 'root' })\nexport class NzxQueryConfigService {\n private controlTypePoll: NzxQueryControlType[] = [\n { key: 'input', component: NzxInputControlComponent },\n { key: 'select', component: NzxSelectControlComponent },\n { key: 'Template', component: NzxTemplateControlComponent },\n { key: 'datePicker', component: NzxDatePickerControlComponent },\n { key: 'rangePicker', component: NzxRangePickerControlComponent },\n ];\n\n controlTypes$ = new BehaviorSubject<NzxQueryControlType[]>(\n this.controlTypePoll\n );\n\n constructor(\n @Optional()\n @Inject(QUERY_CONFIG)\n nzxQueryConfig: NzxQueryConfig\n ) {\n if (nzxQueryConfig) {\n if (\n nzxQueryConfig.controlTypes &&\n nzxQueryConfig.controlTypes.length > 0\n ) {\n nzxQueryConfig.controlTypes.forEach((i) => {\n this.addControlType(i);\n });\n this.refreshControlType();\n }\n }\n }\n\n addControlType(controlType: NzxQueryControlType) {\n const find = this.controlTypePoll.some((i) => i.key === controlType.key);\n if (find) {\n throw `ControlType:: ${controlType.key} already exists !`;\n }\n this.controlTypePoll.push(controlType);\n }\n\n removeControlType(key: string) {\n const find = this.controlTypePoll.some((i) => i.key === key);\n if (find) {\n this.controlTypePoll = this.controlTypePoll.filter((i) => i.key !== key);\n } else {\n throw `ControlType:: ${key} not exists !`;\n }\n }\n\n refreshControlType() {\n this.controlTypes$.next(this.controlTypePoll);\n }\n}\n","import {\n Component,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\nimport { Subject, takeUntil } from 'rxjs';\nimport { NzxQueryConfigService } from '../query-config.service';\nimport { NzxQueryControlOptions, NzxQueryControlType } from '../type';\n\n@Component({\n selector: 'nzx-configurable-query-item',\n template: `\n <nz-form-item>\n <nz-form-label *ngIf=\"control.label\" [nzSpan]=\"control.nzxLSpan || 6\">\n {{ control.label }}\n </nz-form-label>\n <nz-form-control\n [nzSpan]=\"control.nzxRSpan || 18\"\n [nzValidateStatus]=\"\n control?.controlInstance ?? $any(form.get(control.controlName!))\n \"\n [nzErrorTip]=\"control.errorTip\"\n >\n <ng-template #controlTemp></ng-template>\n </nz-form-control>\n </nz-form-item>\n `,\n})\nexport class NzxConfigurableQueryItemComponent implements OnInit, OnDestroy {\n @Input() form!: FormGroup;\n @Input() control!: NzxQueryControlOptions;\n\n @ViewChild('controlTemp', { static: true, read: ViewContainerRef })\n private controlTemplateView!: ViewContainerRef;\n\n private destroy$ = new Subject<void>();\n\n constructor(private nzxQueryConfigService: NzxQueryConfigService) {}\n\n ngOnInit(): void {\n this.nzxQueryConfigService.controlTypes$\n .pipe(takeUntil(this.destroy$))\n .subscribe((list) => {\n this.renderControl(list);\n });\n }\n\n ngOnDestroy(): void {\n if (this.destroy$) {\n this.destroy$.next();\n this.destroy$.complete();\n }\n }\n\n private renderControl(list: NzxQueryControlType[]) {\n this.controlTemplateView.clear();\n const config = list.find((i) => i.key === this.control.controlType);\n if (config) {\n const componentRef = this.controlTemplateView.createComponent(\n config.component as any\n );\n componentRef.setInput('control', this.control);\n componentRef.setInput('form', this.form);\n } else {\n throw `ControlType:: '${this.control.controlType}' is invalidate`;\n }\n }\n}\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { NzxQueryI18nInterface } from 'ng-zorro-antd-extension/i18n';\r\nimport { updateControlStatus } from 'ng-zorro-antd-extension/util';\r\nimport { NzJustify } from 'ng-zorro-antd/grid';\r\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\r\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\r\nimport { NzxControlDirective } from './control.directive';\r\nimport { NzxQueryControlOptions, NzxQueryParams } from './type';\r\n\r\n/**\r\n * 查询组件\r\n * 支持模板自定义,在使用模板自定义时,要注意controlType应该设置为Template并且确保controlName与指令上的nzxControl应该相同\r\n */\r\n\r\n@Component({\r\n selector: 'nzx-configurable-query',\r\n templateUrl: './configurable-query.component.html',\r\n styleUrls: ['./configurable-query.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'NzxConfigurableQuery',\r\n})\r\nexport class NzxConfigurableQueryComponent\r\n implements OnChanges, OnInit, AfterViewInit, AfterContentInit, OnDestroy\r\n{\r\n /** 配置项 */\r\n @Input() controls: Array<NzxQueryControlOptions> = [];\r\n /** 查询表单排列方式 */\r\n @Input() nzxJustify: NzJustify = 'start';\r\n /** 查询项间隔 */\r\n @Input() nzxGutter: number = 8;\r\n /** 一行展示多少查询项 */\r\n @Input() lineNumber: number = 3;\r\n /** 操作按钮所占栅格数,24则换行 */\r\n @Input() nzxBtnSpan: number | null = null;\r\n /** 初始化时,主动查询 */\r\n @Input() initQuery = false;\r\n /** 缺省 固定参数 */\r\n @Input() fixedParams = {};\r\n\r\n /** 查询时会触发抛出查询参数 */\r\n @Output() queryChange = new EventEmitter<NzxQueryParams>();\r\n /** 重置时会触发抛出查询参数 */\r\n @Output() resetChange = new EventEmitter<NzxQueryParams>();\r\n\r\n /** 查询组件出参*/\r\n get queryParams() {\r\n return this._queryParams;\r\n }\r\n set queryParams(value: any) {\r\n this._queryParams = value;\r\n }\r\n\r\n get nzxCollapse() {\r\n return this.controls.some((i) => i.hasOwnProperty('collapse'));\r\n }\r\n\r\n /** form 表单*/\r\n queryForm!: FormGroup;\r\n locale!: NzxQueryI18nInterface;\r\n collapseIcon: string = 'down';\r\n collapseText: string = '';\r\n\r\n private _queryParams: NzxQueryParams = {};\r\n /** 重置时用来给查询框默认值 */\r\n private defaultValue: NzxQueryParams = {};\r\n private cacheParams: NzxQueryParams = {};\r\n private destroy$ = new Subject<void>();\r\n\r\n @ViewChild('queyForm') private queyFormEl!: ElementRef<HTMLFormElement>;\r\n @ContentChildren(NzxControlDirective, { descendants: true })\r\n controlTemplateList!: QueryList<NzxControlDirective>;\r\n\r\n constructor(\r\n private i18n: NzI18nService,\r\n private fb: FormBuilder,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n this.queryForm = this.fb.group({});\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['controls'] && !changes['controls'].isFirstChange()) {\r\n const controls = changes['controls'].currentValue;\r\n if (Array.isArray(controls)) {\r\n this.generateForm(controls);\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n this.locale = this.i18n.getLocaleData('Query');\r\n this.cd.markForCheck();\r\n });\r\n\r\n this.queryForm.valueChanges\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((val) => {\r\n this._queryParams = {\r\n ...val,\r\n ...this.fixedParams,\r\n };\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.queyFormEl) {\r\n fromEvent<KeyboardEvent>(this.queyFormEl.nativeElement, 'keydown')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((event) => {\r\n if (event.key === 'Enter') {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.search();\r\n }\r\n // 检查是否同时按下了Ctrl键(在Windows/Linux上)和S键\r\n if ((event.ctrlKey || event.metaKey) && event.key === 'r') {\r\n // 注意:event.metaKey用于兼容Mac的Command键\r\n event.preventDefault(); // 阻止浏览器默认的保存行为\r\n event.stopPropagation();\r\n this.reset();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.generateForm(this.controls);\r\n\r\n if (this.initQuery) {\r\n this.search();\r\n }\r\n }\r\n\r\n /** 设置查询值进行回显 */\r\n setQueryParams(cacheParams: NzxQueryParams): void {\r\n this.cacheParams = cacheParams;\r\n this.queryForm.patchValue(cacheParams);\r\n }\r\n\r\n /**\r\n * 根据controlName设置config值\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n */\r\n setControl(\r\n controlName: string,\r\n config: Partial<NzxQueryControlOptions>,\r\n defaultValueResettable = false\r\n ): void {\r\n const control = this.getControl(controlName);\r\n if (control) {\r\n Object.keys(config).forEach((key) => {\r\n (control as any)[key] = (config as any)[key];\r\n });\r\n this.generateControl(control, defaultValueResettable);\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n /**\r\n * 动态添加控件\r\n * @param config 配置项\r\n * @param position 添加位置 不传为末尾\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n */\r\n addControl(\r\n config: NzxQueryControlOptions,\r\n position?: number | undefined,\r\n defaultValueResettable = false\r\n ): void {\r\n const control = this.getControl(config.controlName);\r\n if (!control) {\r\n if (config && config['hasOwnProperty']('collapse')) {\r\n const hasCollapseProperty = this.controls.some((i) =>\r\n i['hasOwnProperty']('collapse')\r\n );\r\n if (hasCollapseProperty) {\r\n config.collapse = this.controls.some((i) => i.collapse === true);\r\n }\r\n }\r\n\r\n this.generateControl(config, defaultValueResettable);\r\n\r\n if (position === void 0 || position === null) {\r\n this.controls.push(config);\r\n } else {\r\n this.controls.splice(position - 1, 0, config);\r\n }\r\n this.calculateText();\r\n } else {\r\n throw `The control name: '${config.controlName}' already exists!`;\r\n }\r\n }\r\n\r\n /**\r\n * 根据控件名删除控件\r\n */\r\n removeControl(controlName: string): void {\r\n const control = this.getControl(controlName);\r\n if (control) {\r\n this.queryForm.removeControl(controlName);\r\n this.controls = this.controls.filter(\r\n (c) => c.controlName !== controlName\r\n );\r\n this.calculateText();\r\n } else {\r\n throw `The control name: '${controlName}' not find!`;\r\n }\r\n }\r\n\r\n /**\r\n * 根据controlName获取config项\r\n */\r\n getControl(\r\n controlName: string | undefined\r\n ): NzxQueryControlOptions | undefined {\r\n return this.controls.find((config) => config.controlName === controlName);\r\n }\r\n\r\n /**\r\n * 检索给定控件名称或路径的子控件。\r\n * 这个 getFormControl 签名支持字符串和 const 数组(.getFormControl(['foo', 'bar'] as const))\r\n */\r\n getFormControl(\r\n path: string | readonly (string | number)[]\r\n ): AbstractControl<any, any> | null {\r\n return this.queryForm.get(path);\r\n }\r\n\r\n /** 查询 */\r\n search(): void {\r\n if (this.queryForm.invalid) {\r\n updateControlStatus(this.queryForm);\r\n return;\r\n }\r\n this.queryChange.emit(this._queryParams);\r\n }\r\n\r\n /** 重置 */\r\n reset(): void {\r\n this.queryForm.reset(this.defaultValue);\r\n this.resetChange.emit(this._queryParams);\r\n }\r\n\r\n /**展开、收起*/\r\n toggleCollapse(): void {\r\n for (let index = 0; index < this.controls.length; index++) {\r\n const config = this.controls[index];\r\n const hasProperty = config.hasOwnProperty('collapse');\r\n if (hasProperty && config.collapse) {\r\n config.collapse = false;\r\n } else if (hasProperty && !config.collapse) {\r\n config.collapse = true;\r\n }\r\n }\r\n this.calculateText();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private calculateText() {\r\n if (this.controls.some((i) => i.collapse === true)) {\r\n this.collapseIcon = 'down';\r\n this.collapseText = this.locale.expand;\r\n } else {\r\n this.collapseIcon = 'up';\r\n this.collapseText = this.locale.collapse;\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n /** 清空表单控件 */\r\n private clearFormControl(): void {\r\n Object.keys(this.queryForm.controls).forEach((key) => {\r\n this.queryForm.removeControl(key);\r\n });\r\n }\r\n\r\n /** 生成 queryForm 表单 */\r\n private generateForm(controlConfigs: Array<NzxQueryControlOptions>): void {\r\n this.clearFormControl();\r\n\r\n for (const config of controlConfigs) {\r\n this.generateControl(config);\r\n }\r\n this.defaultValue = this.queryForm.getRawValue();\r\n\r\n if (this.cacheParams) {\r\n // 缓存回显查询条件\r\n this.queryForm.patchValue(this.cacheParams);\r\n }\r\n\r\n this.calculateText();\r\n }\r\n\r\n /**\r\n *\r\n * @param controlConfig control配置\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n *\r\n * 1. 生成单个表单控件并将其添加到queryForm中\r\n * 2. 如果没有templateRef根据controlName获取投影的templateList中的templateRef给 templateRef 赋值\r\n *\r\n **/\r\n private generateControl(\r\n config: NzxQueryControlOptions,\r\n defaultValueResettable = false\r\n ) {\r\n if (config.controlName) {\r\n if (!config?.templateRef) {\r\n const d = this.controlTemplateList.find(\r\n (d) => d.nzxControl === config.controlName\r\n );\r\n if (d) {\r\n config.templateRef = d.templateRef;\r\n }\r\n }\r\n\r\n this.queryForm.setControl(\r\n config.controlName,\r\n config.controlInstance ?? this.fb.control(config.default ?? null)\r\n );\r\n\r\n if (!defaultValueResettable) {\r\n const control = this.queryForm.get(config.controlName);\r\n this.defaultValue = {\r\n ...this.defaultValue,\r\n [config.controlName]: control.value,\r\n };\r\n }\r\n }\r\n }\r\n}\r\n","<form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n <div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n <ng-container *ngFor=\"let config of controls; let i = index\">\n <div\n *ngIf=\"!config.hidden\"\n nz-col\n [nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n [hidden]=\"config.collapse\"\n [nzOrder]=\"i\"\n >\n <nzx-configurable-query-item\n *ngIf=\"config.controlName\"\n [form]=\"queryForm\"\n [control]=\"config\"\n ></nzx-configurable-query-item>\n </div>\n </ng-container>\n\n <div\n [nzOrder]=\"controls.length\"\n class=\"nzx-query-btn\"\n nz-col\n [nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n >\n <div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n <button\n nz-button\n nzType=\"primary\"\n type=\"button\"\n title=\"Enter\"\n (click)=\"search()\"\n >\n {{ locale['query'] }}\n </button>\n <button nz-button type=\"button\" title=\"ctrl+r\" (click)=\"reset()\">\n {{ locale['reset'] }}\n </button>\n <ng-content></ng-content>\n <a\n *ngIf=\"nzxCollapse\"\n nz-button\n nzType=\"link\"\n (click)=\"toggleCollapse()\"\n >\n {{ collapseText }}\n <i nz-icon [nzType]=\"collapseIcon\"></i>\n </a>\n </div>\n </div>\n </div>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzxConfigurableQueryItemComponent } from './configurable-query-item/configurable-query-item.component';\nimport { NzxConfigurableQueryComponent } from './configurable-query.component';\nimport { NzxControlDirective } from './control.directive';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\nimport { NzxQueryConfigService, QUERY_CONFIG } from './query-config.service';\nimport { NzxQueryConfig } from './type';\n\n@NgModule({\n declarations: [\n NzxConfigurableQueryComponent,\n NzxControlDirective,\n NzxConfigurableQueryItemComponent,\n NzxInputControlComponent,\n NzxTemplateControlComponent,\n NzxSelectControlComponent,\n NzxDatePickerControlComponent,\n NzxRangePickerControlComponent,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n NzInputModule,\n NzFormModule,\n NzGridModule,\n NzButtonModule,\n NzSelectModule,\n NzDatePickerModule,\n NzIconModule,\n NzI18nModule,\n ],\n\n exports: [NzxControlDirective, NzxConfigurableQueryComponent],\n})\nexport class NzxConfigurableQueryModule {\n static forRoot(\n nzxQueryConfig: NzxQueryConfig\n ): ModuleWithProviders<NzxConfigurableQueryModule> {\n return {\n ngModule: NzxConfigurableQueryModule,\n providers: [\n {\n provide: QUERY_CONFIG,\n useValue: nzxQueryConfig,\n },\n ],\n };\n }\n\n static forChild(\n nzxQueryConfig: NzxQueryConfig\n ): ModuleWithProviders<NzxConfigurableQueryModule> {\n return {\n ngModule: NzxConfigurableQueryModule,\n providers: [\n {\n provide: QUERY_CONFIG,\n useValue: nzxQueryConfig,\n },\n NzxQueryConfigService,\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i1.NzxQueryConfigService","i4","i5","i10.NzxConfigurableQueryItemComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ng-zorro-antd-extension-configurable-query.mjs","sources":["../../../components/configurable-query/control.directive.ts","../../../components/configurable-query/controls/abstract.control.ts","../../../components/configurable-query/controls/date-picker.control.ts","../../../components/configurable-query/controls/input.control.ts","../../../components/configurable-query/controls/range-picker.control.ts","../../../components/configurable-query/controls/select.control.ts","../../../components/configurable-query/controls/template.control.ts","../../../components/configurable-query/query-config.service.ts","../../../components/configurable-query/configurable-query-item/configurable-query-item.component.ts","../../../components/configurable-query/configurable-query.component.ts","../../../components/configurable-query/configurable-query.component.html","../../../components/configurable-query/configurable-query.module.ts","../../../components/configurable-query/ng-zorro-antd-extension-configurable-query.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[nzxControl]',\r\n})\r\nexport class NzxControlDirective {\r\n @Input() nzxControl!: string;\r\n constructor(public templateRef: TemplateRef<unknown>) {}\r\n}\r\n","import { Directive, Input } from '@angular/core';\nimport { NzxQueryControlOptions } from '../type';\nimport { FormGroup } from '@angular/forms';\n\n/**\n * 用来动态添加control type类型控件,类型控件需要继承此控件\n */\n@Directive()\nexport abstract class NzxAbstractControl {\n @Input() form!: FormGroup<any>;\n @Input() control!: NzxQueryControlOptions;\n}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-date-picker-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-date-picker\n [ngStyle]=\"{ width: '100%' }\"\n [formControlName]=\"control.controlName!\"\n [nzPlaceHolder]=\"control.placeholder!\"\n >\n </nz-date-picker>\n </ng-container>\n `,\n})\nexport class NzxDatePickerControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-input-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <input\n nz-input\n type=\"text\"\n [placeholder]=\"control.placeholder\"\n [formControlName]=\"control.controlName!\"\n />\n </ng-container>\n `,\n})\nexport class NzxInputControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-range-picker-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-range-picker\n [ngStyle]=\"{ width: '100%' }\"\n [formControlName]=\"control.controlName!\"\n >\n </nz-range-picker>\n </ng-container>\n `,\n})\nexport class NzxRangePickerControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-select-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-select\n [formControlName]=\"control.controlName!\"\n [nzShowSearch]=\"control.nzxShowSearch ?? true\"\n [nzAllowClear]=\"control.nzxAllowClear ?? true\"\n [nzPlaceHolder]=\"control.placeholder!\"\n >\n <nz-option\n *ngFor=\"let item of control.menuList\"\n [nzValue]=\"item.value\"\n [nzLabel]=\"item.label\"\n >\n </nz-option>\n </nz-select>\n </ng-container>\n `,\n})\nexport class NzxSelectControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-template-control',\n template: `\n <ng-container\n *ngTemplateOutlet=\"\n control.templateRef!;\n context: { $implicit: form.get(control.controlName!), formGroup: form }\n \"\n >\n </ng-container>\n `,\n})\nexport class NzxTemplateControlComponent extends NzxAbstractControl {}\n","import { Inject, InjectionToken, Optional } from '@angular/core';\nimport { NzxQueryConfig, NzxQueryControlType } from './type';\n\nexport const QUERY_CONFIG = new InjectionToken<NzxQueryControlType[]>(\n 'QUERY_CONFIG'\n);\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\n\n/**\n * 用来动态添加control type类型控件\n */\n@Injectable({ providedIn: 'root' })\nexport class NzxQueryConfigService {\n private controlTypePoll: NzxQueryControlType[] = [\n { key: 'input', component: NzxInputControlComponent },\n { key: 'select', component: NzxSelectControlComponent },\n { key: 'Template', component: NzxTemplateControlComponent },\n { key: 'datePicker', component: NzxDatePickerControlComponent },\n { key: 'rangePicker', component: NzxRangePickerControlComponent },\n ];\n\n controlTypes$ = new BehaviorSubject<NzxQueryControlType[]>(\n this.controlTypePoll\n );\n\n constructor(\n @Optional()\n @Inject(QUERY_CONFIG)\n nzxQueryConfig: NzxQueryConfig\n ) {\n if (nzxQueryConfig) {\n if (\n nzxQueryConfig.controlTypes &&\n nzxQueryConfig.controlTypes.length > 0\n ) {\n nzxQueryConfig.controlTypes.forEach((i) => {\n this.addControlType(i);\n });\n this.refreshControlType();\n }\n }\n }\n\n /** 添加controlType 类型控件 */\n addControlType(controlType: NzxQueryControlType) {\n const find = this.controlTypePoll.some((i) => i.key === controlType.key);\n if (find) {\n throw `ControlType:: ${controlType.key} already exists !`;\n }\n this.controlTypePoll.push(controlType);\n }\n\n /** 删除controlType 类型控件 */\n removeControlType(key: string) {\n const find = this.controlTypePoll.some((i) => i.key === key);\n if (find) {\n this.controlTypePoll = this.controlTypePoll.filter((i) => i.key !== key);\n } else {\n throw `ControlType:: ${key} not exists !`;\n }\n }\n\n /** 刷新 */\n refreshControlType() {\n this.controlTypes$.next(this.controlTypePoll);\n }\n}\n","import {\n Component,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\nimport { Subject, takeUntil } from 'rxjs';\nimport { NzxQueryConfigService } from '../query-config.service';\nimport { NzxQueryControlOptions, NzxQueryControlType } from '../type';\n\n@Component({\n selector: 'nzx-configurable-query-item',\n template: `\n <nz-form-item>\n <nz-form-label *ngIf=\"control.label\" [nzSpan]=\"control.nzxLSpan || 6\">\n {{ control.label }}\n </nz-form-label>\n <nz-form-control\n [nzSpan]=\"control.nzxRSpan || 18\"\n [nzValidateStatus]=\"\n control?.controlInstance ?? $any(form.get(control.controlName!))\n \"\n [nzErrorTip]=\"control.errorTip\"\n >\n <ng-template #controlTemp></ng-template>\n </nz-form-control>\n </nz-form-item>\n `,\n})\nexport class NzxConfigurableQueryItemComponent implements OnInit, OnDestroy {\n @Input() form!: FormGroup;\n @Input() control!: NzxQueryControlOptions;\n\n @ViewChild('controlTemp', { static: true, read: ViewContainerRef })\n private controlTemplateView!: ViewContainerRef;\n\n private destroy$ = new Subject<void>();\n\n constructor(private nzxQueryConfigService: NzxQueryConfigService) {}\n\n ngOnInit(): void {\n this.nzxQueryConfigService.controlTypes$\n .pipe(takeUntil(this.destroy$))\n .subscribe((list) => {\n this.renderControl(list);\n });\n }\n\n ngOnDestroy(): void {\n if (this.destroy$) {\n this.destroy$.next();\n this.destroy$.complete();\n }\n }\n\n private renderControl(list: NzxQueryControlType[]) {\n this.controlTemplateView.clear();\n const config = list.find((i) => i.key === this.control.controlType);\n if (config) {\n const componentRef = this.controlTemplateView.createComponent(\n config.component as any\n );\n componentRef.setInput('control', this.control);\n componentRef.setInput('form', this.form);\n } else {\n throw `ControlType:: '${this.control.controlType}' is invalidate`;\n }\n }\n}\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { NzxQueryI18nInterface } from 'ng-zorro-antd-extension/i18n';\r\nimport { updateControlStatus } from 'ng-zorro-antd-extension/util';\r\nimport { NzJustify } from 'ng-zorro-antd/grid';\r\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\r\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\r\nimport { NzxControlDirective } from './control.directive';\r\nimport { NzxQueryControlOptions, NzxQueryParams } from './type';\r\n\r\n/**\r\n * 查询组件\r\n * 支持模板自定义,在使用模板自定义时,要注意controlType应该设置为Template并且确保controlName与指令上的nzxControl应该相同\r\n */\r\n\r\n@Component({\r\n selector: 'nzx-configurable-query',\r\n templateUrl: './configurable-query.component.html',\r\n styleUrls: ['./configurable-query.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'NzxConfigurableQuery',\r\n})\r\nexport class NzxConfigurableQueryComponent\r\n implements OnChanges, OnInit, AfterViewInit, AfterContentInit, OnDestroy\r\n{\r\n /**\r\n * 配置项用来生成查询表单\r\n */\r\n @Input() controls: Array<NzxQueryControlOptions> = [];\r\n /** 查询表单排列方式默认start */\r\n @Input() nzxJustify: NzJustify = 'start';\r\n /** 查询项间隔默认为8 */\r\n @Input() nzxGutter: number = 8;\r\n /** 一行展示多少查询项默认展示3个 */\r\n @Input() lineNumber: number = 3;\r\n /** 操作按钮所占栅格数,24则换行 */\r\n @Input() nzxBtnSpan: number | null = null;\r\n /** 初始化时,是否主动触发查询 */\r\n @Input() initQuery = false;\r\n /** 缺省 固定参数会固定携带在抛出事件中 */\r\n @Input() fixedParams = {};\r\n\r\n /** 查询时会触发抛出查询参数 */\r\n @Output() queryChange = new EventEmitter<NzxQueryParams>();\r\n /** 重置时会触发抛出查询参数 */\r\n @Output() resetChange = new EventEmitter<NzxQueryParams>();\r\n\r\n /** 组件最终的查询参数 */\r\n get queryParams() {\r\n return this._queryParams;\r\n }\r\n set queryParams(value: any) {\r\n this._queryParams = value;\r\n }\r\n\r\n /** 判断当前组件是否展示展开折叠按钮 */\r\n get nzxCollapse() {\r\n return this.controls.some((i) => i.hasOwnProperty('collapse'));\r\n }\r\n\r\n /** 内置 form 查询表单实例 */\r\n queryForm!: FormGroup;\r\n locale!: NzxQueryI18nInterface;\r\n collapseIcon: string = 'down';\r\n collapseText: string = '';\r\n\r\n private _queryParams: NzxQueryParams = {};\r\n /** 重置时用来给查询框默认值 */\r\n private defaultValue: NzxQueryParams = {};\r\n private cacheParams: NzxQueryParams = {};\r\n private destroy$ = new Subject<void>();\r\n\r\n @ViewChild('queyForm') private queyFormEl!: ElementRef<HTMLFormElement>;\r\n @ContentChildren(NzxControlDirective, { descendants: true })\r\n controlTemplateList!: QueryList<NzxControlDirective>;\r\n\r\n constructor(\r\n private i18n: NzI18nService,\r\n private fb: FormBuilder,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n this.queryForm = this.fb.group({});\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['controls'] && !changes['controls'].isFirstChange()) {\r\n const controls = changes['controls'].currentValue;\r\n if (Array.isArray(controls)) {\r\n this.generateForm(controls);\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n this.locale = this.i18n.getLocaleData('Query');\r\n this.cd.markForCheck();\r\n });\r\n\r\n this.queryForm.valueChanges\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((val) => {\r\n this._queryParams = {\r\n ...val,\r\n ...this.fixedParams,\r\n };\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.queyFormEl) {\r\n fromEvent<KeyboardEvent>(this.queyFormEl.nativeElement, 'keydown')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((event) => {\r\n if (event.key === 'Enter') {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.search();\r\n }\r\n // 检查是否同时按下了Ctrl键(在Windows/Linux上)和S键\r\n if ((event.ctrlKey || event.metaKey) && event.key === 'r') {\r\n // 注意:event.metaKey用于兼容Mac的Command键\r\n event.preventDefault(); // 阻止浏览器默认的保存行为\r\n event.stopPropagation();\r\n this.reset();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.generateForm(this.controls);\r\n\r\n if (this.initQuery) {\r\n this.search();\r\n }\r\n }\r\n\r\n /** 设置查询值进行回显 */\r\n setQueryParams(cacheParams: NzxQueryParams): void {\r\n this.cacheParams = cacheParams;\r\n this.queryForm.patchValue(cacheParams);\r\n }\r\n\r\n /**\r\n * 根据controlName设置config值\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n */\r\n setControl(\r\n controlName: string,\r\n config: Partial<NzxQueryControlOptions>,\r\n defaultValueResettable = false\r\n ): void {\r\n const control = this.getControl(controlName);\r\n if (control) {\r\n Object.keys(config).forEach((key) => {\r\n (control as any)[key] = (config as any)[key];\r\n });\r\n this.generateControl(control, defaultValueResettable);\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n /**\r\n * 动态添加控件\r\n * @param config 配置项\r\n * @param position 添加位置 不传为末尾\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n */\r\n addControl(\r\n config: NzxQueryControlOptions,\r\n position?: number | undefined,\r\n defaultValueResettable = false\r\n ): void {\r\n const control = this.getControl(config.controlName);\r\n if (!control) {\r\n if (config && config['hasOwnProperty']('collapse')) {\r\n const hasCollapseProperty = this.controls.some((i) =>\r\n i['hasOwnProperty']('collapse')\r\n );\r\n if (hasCollapseProperty) {\r\n config.collapse = this.controls.some((i) => i.collapse === true);\r\n }\r\n }\r\n\r\n this.generateControl(config, defaultValueResettable);\r\n\r\n if (position === void 0 || position === null) {\r\n this.controls.push(config);\r\n } else {\r\n this.controls.splice(position - 1, 0, config);\r\n }\r\n this.calculateText();\r\n } else {\r\n throw `The control name: '${config.controlName}' already exists!`;\r\n }\r\n }\r\n\r\n /**\r\n * 根据控件名删除控件\r\n */\r\n removeControl(controlName: string): void {\r\n const control = this.getControl(controlName);\r\n if (control) {\r\n this.queryForm.removeControl(controlName);\r\n this.controls = this.controls.filter(\r\n (c) => c.controlName !== controlName\r\n );\r\n this.calculateText();\r\n } else {\r\n throw `The control name: '${controlName}' not find!`;\r\n }\r\n }\r\n\r\n /**\r\n * 根据controlName获取config项\r\n */\r\n getControl(\r\n controlName: string | undefined\r\n ): NzxQueryControlOptions | undefined {\r\n return this.controls.find((config) => config.controlName === controlName);\r\n }\r\n\r\n /**\r\n * 检索给定控件名称或路径的子控件。\r\n * 这个 getFormControl 签名支持字符串和 const 数组(.getFormControl(['foo', 'bar'] as const))\r\n */\r\n getFormControl(\r\n path: string | readonly (string | number)[]\r\n ): AbstractControl<any, any> | null {\r\n return this.queryForm.get(path);\r\n }\r\n\r\n /** 查询 */\r\n search(): void {\r\n if (this.queryForm.invalid) {\r\n updateControlStatus(this.queryForm);\r\n return;\r\n }\r\n this.queryChange.emit(this._queryParams);\r\n }\r\n\r\n /** 重置 */\r\n reset(): void {\r\n this.queryForm.reset(this.defaultValue);\r\n this.resetChange.emit(this._queryParams);\r\n }\r\n\r\n /**展开、收起*/\r\n toggleCollapse(): void {\r\n for (let index = 0; index < this.controls.length; index++) {\r\n const config = this.controls[index];\r\n const hasProperty = config.hasOwnProperty('collapse');\r\n if (hasProperty && config.collapse) {\r\n config.collapse = false;\r\n } else if (hasProperty && !config.collapse) {\r\n config.collapse = true;\r\n }\r\n }\r\n this.calculateText();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n /** 计算展开收起icon、文案 */\r\n private calculateText() {\r\n if (this.controls.some((i) => i.collapse === true)) {\r\n this.collapseIcon = 'down';\r\n this.collapseText = this.locale.expand;\r\n } else {\r\n this.collapseIcon = 'up';\r\n this.collapseText = this.locale.collapse;\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n /** 清空表单控件 */\r\n private clearFormControl(): void {\r\n Object.keys(this.queryForm.controls).forEach((key) => {\r\n this.queryForm.removeControl(key);\r\n });\r\n }\r\n\r\n /** 生成 queryForm 表单 */\r\n private generateForm(controlConfigs: Array<NzxQueryControlOptions>): void {\r\n this.clearFormControl();\r\n\r\n for (const config of controlConfigs) {\r\n this.generateControl(config);\r\n }\r\n this.defaultValue = this.queryForm.getRawValue();\r\n\r\n if (this.cacheParams) {\r\n // 缓存回显查询条件\r\n this.queryForm.patchValue(this.cacheParams);\r\n }\r\n\r\n this.calculateText();\r\n }\r\n\r\n /**\r\n *\r\n * @param controlConfig control配置\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n *\r\n * 1. 生成单个表单控件并将其添加到queryForm中\r\n * 2. 如果没有templateRef根据controlName获取投影的templateList中的templateRef给 templateRef 赋值\r\n *\r\n **/\r\n private generateControl(\r\n config: NzxQueryControlOptions,\r\n defaultValueResettable = false\r\n ) {\r\n if (config.controlName) {\r\n if (!config?.templateRef) {\r\n const d = this.controlTemplateList.find(\r\n (d) => d.nzxControl === config.controlName\r\n );\r\n if (d) {\r\n config.templateRef = d.templateRef;\r\n }\r\n }\r\n\r\n this.queryForm.setControl(\r\n config.controlName,\r\n config.controlInstance ?? this.fb.control(config.default ?? null)\r\n );\r\n\r\n if (!defaultValueResettable) {\r\n const control = this.queryForm.get(config.controlName);\r\n this.defaultValue = {\r\n ...this.defaultValue,\r\n [config.controlName]: control.value,\r\n };\r\n }\r\n }\r\n }\r\n}\r\n","<nz-card>\n <form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n <div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n <ng-container *ngFor=\"let config of controls; let i = index\">\n <div\n *ngIf=\"!config.hidden\"\n nz-col\n [nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n [hidden]=\"config.collapse\"\n [nzOrder]=\"i\"\n >\n <nzx-configurable-query-item\n *ngIf=\"config.controlName\"\n [form]=\"queryForm\"\n [control]=\"config\"\n ></nzx-configurable-query-item>\n </div>\n </ng-container>\n\n <div\n class=\"nzx-query-btn\"\n nz-col\n [nzOrder]=\"controls.length\"\n [nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n >\n <div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n <nz-space>\n <button\n *nzSpaceItem\n nz-button\n nzType=\"primary\"\n type=\"button\"\n title=\"Enter\"\n (click)=\"search()\"\n >\n {{ locale['query'] }}\n </button>\n <button\n *nzSpaceItem\n nz-button\n type=\"button\"\n title=\"ctrl+r\"\n (click)=\"reset()\"\n >\n {{ locale['reset'] }}\n </button>\n <ng-container *nzSpaceItem>\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"nzxCollapse\">\n <a\n *nzSpaceItem\n nz-button\n nzType=\"link\"\n (click)=\"toggleCollapse()\"\n >\n {{ collapseText }}\n <i nz-icon [nzType]=\"collapseIcon\"></i>\n </a>\n </ng-container>\n </nz-space>\n </div>\n </div>\n </div>\n </form>\n</nz-card>\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzxConfigurableQueryItemComponent } from './configurable-query-item/configurable-query-item.component';\nimport { NzxConfigurableQueryComponent } from './configurable-query.component';\nimport { NzxControlDirective } from './control.directive';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\nimport { NzxQueryConfigService, QUERY_CONFIG } from './query-config.service';\nimport { NzxQueryConfig } from './type';\nimport { NzCardModule } from 'ng-zorro-antd/card';\nimport { NzSpaceModule } from 'ng-zorro-antd/space';\n\n@NgModule({\n declarations: [\n NzxConfigurableQueryComponent,\n NzxControlDirective,\n NzxConfigurableQueryItemComponent,\n NzxInputControlComponent,\n NzxTemplateControlComponent,\n NzxSelectControlComponent,\n NzxDatePickerControlComponent,\n NzxRangePickerControlComponent,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n NzInputModule,\n NzFormModule,\n NzGridModule,\n NzButtonModule,\n NzSelectModule,\n NzDatePickerModule,\n NzCardModule,\n NzSpaceModule,\n NzIconModule,\n NzI18nModule,\n ],\n\n exports: [NzxControlDirective, NzxConfigurableQueryComponent],\n})\nexport class NzxConfigurableQueryModule {\n static forRoot(\n nzxQueryConfig: NzxQueryConfig\n ): ModuleWithProviders<NzxConfigurableQueryModule> {\n return {\n ngModule: NzxConfigurableQueryModule,\n providers: [\n {\n provide: QUERY_CONFIG,\n useValue: nzxQueryConfig,\n },\n ],\n };\n }\n\n static forChild(\n nzxQueryConfig: NzxQueryConfig\n ): ModuleWithProviders<NzxConfigurableQueryModule> {\n return {\n ngModule: NzxConfigurableQueryModule,\n providers: [\n {\n provide: QUERY_CONFIG,\n useValue: nzxQueryConfig,\n },\n NzxQueryConfigService,\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i1.NzxQueryConfigService","i4","i5","i12.NzxConfigurableQueryItemComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAKa,mBAAmB,CAAA;AAE9B,IAAA,WAAA,CAAmB,WAAiC,EAAA;QAAjC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAsB;KAAI;+GAF7C,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAnB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;gFAEU,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;ACFR;;AAEG;MAEmB,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAlB,kBAAkB,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBADvC,SAAS;8BAEC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;ACMF,MAAO,6BAA8B,SAAQ,kBAAkB,CAAA;+GAAxD,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAX9B,QAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gGAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,MAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAbzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;AAST,EAAA,CAAA;AACF,iBAAA,CAAA;;;ACCK,MAAO,wBAAyB,SAAQ,kBAAkB,CAAA;+GAAnD,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAXzB,QAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;AAST,EAAA,CAAA;AACF,iBAAA,CAAA;;;ACAK,MAAO,8BAA+B,SAAQ,kBAAkB,CAAA;+GAAzD,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,EAV/B,QAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gGAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,MAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAZ1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;AAQT,EAAA,CAAA;AACF,iBAAA,CAAA;;;ACSK,MAAO,yBAA0B,SAAQ,kBAAkB,CAAA;+GAApD,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAlB1B,QAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;AAgBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,YAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBApBrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;AAgBT,EAAA,CAAA;AACF,iBAAA,CAAA;;;ACPK,MAAO,2BAA4B,SAAQ,kBAAkB,CAAA;+GAAtD,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAV5B,QAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;AAQT,EAAA,CAAA;AACF,iBAAA,CAAA;;;MCXY,YAAY,GAAG,IAAI,cAAc,CAC5C,cAAc,EACd;AAUF;;AAEG;MAEU,qBAAqB,CAAA;AAahC,IAAA,WAAA,CAGE,cAA8B,EAAA;AAfxB,QAAA,IAAA,CAAA,eAAe,GAA0B;AAC/C,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE;AACrD,YAAA,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,yBAAyB,EAAE;AACvD,YAAA,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,2BAA2B,EAAE;AAC3D,YAAA,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,6BAA6B,EAAE;AAC/D,YAAA,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,8BAA8B,EAAE;SAClE,CAAC;QAEF,IAAa,CAAA,aAAA,GAAG,IAAI,eAAe,CACjC,IAAI,CAAC,eAAe,CACrB,CAAC;QAOA,IAAI,cAAc,EAAE;YAClB,IACE,cAAc,CAAC,YAAY;AAC3B,gBAAA,cAAc,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EACtC;gBACA,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACxC,oBAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACzB,iBAAC,CAAC,CAAC;gBACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;SACF;KACF;;AAGD,IAAA,cAAc,CAAC,WAAgC,EAAA;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,CAAiB,cAAA,EAAA,WAAW,CAAC,GAAG,mBAAmB,CAAC;SAC3D;AACD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACxC;;AAGD,IAAA,iBAAiB,CAAC,GAAW,EAAA;AAC3B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;SAC1E;aAAM;YACL,MAAM,CAAA,cAAA,EAAiB,GAAG,CAAA,aAAA,CAAe,CAAC;SAC3C;KACF;;IAGD,kBAAkB,GAAA;QAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC/C;AArDU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAetB,YAAY,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAfX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA,CAAA,EAAA;;4FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAe7B,QAAQ;;0BACR,MAAM;2BAAC,YAAY,CAAA;;;MCDX,iCAAiC,CAAA;AAS5C,IAAA,WAAA,CAAoB,qBAA4C,EAAA;QAA5C,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;AAFxD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;KAE6B;IAEpE,QAAQ,GAAA;QACN,IAAI,CAAC,qBAAqB,CAAC,aAAa;AACrC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,aAAA,SAAS,CAAC,CAAC,IAAI,KAAI;AAClB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC3B,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1B;KACF;AAEO,IAAA,aAAa,CAAC,IAA2B,EAAA;AAC/C,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAC3D,MAAM,CAAC,SAAgB,CACxB,CAAC;YACF,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/C,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1C;aAAM;AACL,YAAA,MAAM,kBAAkB,IAAI,CAAC,OAAO,CAAC,WAAW,iBAAiB,CAAC;SACnE;KACF;+GAtCU,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAjC,iCAAiC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAII,gBAAgB,EArBtD,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAeT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,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,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAnB7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;AAeT,EAAA,CAAA;AACF,iBAAA,CAAA;uFAEU,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGE,mBAAmB,EAAA,CAAA;sBAD1B,SAAS;uBAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;;;ACTpE;;;AAGG;MASU,6BAA6B,CAAA;;AA0BxC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAI,WAAW,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC3B;;AAGD,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;KAChE;AAkBD,IAAA,WAAA,CACU,IAAmB,EACnB,EAAe,EACf,EAAqB,EAAA;QAFrB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAe;QACnB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAa;QACf,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;AAtD/B;;AAEG;QACM,IAAQ,CAAA,QAAA,GAAkC,EAAE,CAAC;;QAE7C,IAAU,CAAA,UAAA,GAAc,OAAO,CAAC;;QAEhC,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;;QAEtB,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;;QAEvB,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;;QAEjC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;QAElB,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;;AAGhB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAkB,CAAC;;AAEjD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAkB,CAAC;QAkB3D,IAAY,CAAA,YAAA,GAAW,MAAM,CAAC;QAC9B,IAAY,CAAA,YAAA,GAAW,EAAE,CAAC;QAElB,IAAY,CAAA,YAAA,GAAmB,EAAE,CAAC;;QAElC,IAAY,CAAA,YAAA,GAAmB,EAAE,CAAC;QAClC,IAAW,CAAA,WAAA,GAAmB,EAAE,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAWrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACpC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC;AAClD,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC3B,gBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aAC7B;SACF;KACF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AACzB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,YAAY;AACxB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,aAAA,SAAS,CAAC,CAAC,GAAG,KAAI;YACjB,IAAI,CAAC,YAAY,GAAG;AAClB,gBAAA,GAAG,GAAG;gBACN,GAAG,IAAI,CAAC,WAAW;aACpB,CAAC;AACJ,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,SAAS,CAAgB,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC;AAC/D,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,iBAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACnB,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;oBACzB,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;iBACf;;AAED,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;;AAEzD,oBAAA,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,IAAI,CAAC,KAAK,EAAE,CAAC;iBACd;AACH,aAAC,CAAC,CAAC;SACN;KACF;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEjC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;KACF;;AAGD,IAAA,cAAc,CAAC,WAA2B,EAAA;AACxC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;KACxC;AAED;;;AAGG;AACH,IAAA,UAAU,CACR,WAAmB,EACnB,MAAuC,EACvC,sBAAsB,GAAG,KAAK,EAAA;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;gBACjC,OAAe,CAAC,GAAG,CAAC,GAAI,MAAc,CAAC,GAAG,CAAC,CAAC;AAC/C,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;SACxB;KACF;AAED;;;;;AAKG;AACH,IAAA,UAAU,CACR,MAA8B,EAC9B,QAA6B,EAC7B,sBAAsB,GAAG,KAAK,EAAA;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,EAAE;gBAClD,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAChC,CAAC;gBACF,IAAI,mBAAmB,EAAE;oBACvB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;iBAClE;aACF;AAED,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;YAErD,IAAI,QAAQ,KAAK,KAAK,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE;AAC5C,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC5B;iBAAM;AACL,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;AACL,YAAA,MAAM,CAAsB,mBAAA,EAAA,MAAM,CAAC,WAAW,mBAAmB,CAAC;SACnE;KACF;AAED;;AAEG;AACH,IAAA,aAAa,CAAC,WAAmB,EAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK,WAAW,CACrC,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;YACL,MAAM,CAAA,mBAAA,EAAsB,WAAW,CAAA,WAAA,CAAa,CAAC;SACtD;KACF;AAED;;AAEG;AACH,IAAA,UAAU,CACR,WAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;KAC3E;AAED;;;AAGG;AACH,IAAA,cAAc,CACZ,IAA2C,EAAA;QAE3C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACjC;;IAGD,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AAC1B,YAAA,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO;SACR;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1C;;IAGD,KAAK,GAAA;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1C;;IAGD,cAAc,GAAA;AACZ,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AACtD,YAAA,IAAI,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE;AAClC,gBAAA,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;aACzB;AAAM,iBAAA,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC1C,gBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxB;SACF;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;;IAGO,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE;AAClD,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;SACxC;aAAM;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC1C;AACD,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KACxB;;IAGO,gBAAgB,GAAA;AACtB,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnD,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACJ;;AAGO,IAAA,YAAY,CAAC,cAA6C,EAAA;QAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAExB,QAAA,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE;AACnC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;AAEjD,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;;YAEpB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;AAED;;;;;;;;AAQI;AACI,IAAA,eAAe,CACrB,MAA8B,EAC9B,sBAAsB,GAAG,KAAK,EAAA;AAE9B,QAAA,IAAI,MAAM,CAAC,WAAW,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE;gBACxB,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CACrC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,WAAW,CAC3C,CAAC;gBACF,IAAI,CAAC,EAAE;AACL,oBAAA,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;iBACpC;aACF;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CACvB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAClE,CAAC;YAEF,IAAI,CAAC,sBAAsB,EAAE;AAC3B,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,CAAC,YAAY,GAAG;oBAClB,GAAG,IAAI,CAAC,YAAY;AACpB,oBAAA,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK;iBACpC,CAAC;aACH;SACF;KACF;+GA7TU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAA7B,6BAA6B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAmDvB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3FtC,09DAkEA,EAAA,MAAA,EAAA,CAAA,yHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2EAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iCAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FD1Ba,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAGjB,eAAA,EAAA,uBAAuB,CAAC,MAAM,YACrC,sBAAsB,EAAA,QAAA,EAAA,09DAAA,EAAA,MAAA,EAAA,CAAA,yHAAA,CAAA,EAAA,CAAA;8IAQvB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAGI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBA2BwB,UAAU,EAAA,CAAA;sBAAxC,SAAS;uBAAC,UAAU,CAAA;gBAErB,mBAAmB,EAAA,CAAA;sBADlB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;;;MEpChD,0BAA0B,CAAA;IACrC,OAAO,OAAO,CACZ,cAA8B,EAAA;QAE9B,OAAO;AACL,YAAA,QAAQ,EAAE,0BAA0B;AACpC,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;AACrB,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA;AACF,aAAA;SACF,CAAC;KACH;IAED,OAAO,QAAQ,CACb,cAA8B,EAAA;QAE9B,OAAO;AACL,YAAA,QAAQ,EAAE,0BAA0B;AACpC,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;AACrB,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA;gBACD,qBAAqB;AACtB,aAAA;SACF,CAAC;KACH;+GA5BU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,iBA3BnC,6BAA6B;YAC7B,mBAAmB;YACnB,iCAAiC;YACjC,wBAAwB;YACxB,2BAA2B;YAC3B,yBAAyB;YACzB,6BAA6B;AAC7B,YAAA,8BAA8B,aAG9B,YAAY;YACZ,mBAAmB;YAEnB,aAAa;YACb,YAAY;YACZ,YAAY;YACZ,cAAc;YACd,cAAc;YACd,kBAAkB;YAClB,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,YAAY,CAAA,EAAA,OAAA,EAAA,CAGJ,mBAAmB,EAAE,6BAA6B,CAAA,EAAA,CAAA,CAAA,EAAA;AAEjD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAjBnC,YAAY;YACZ,mBAAmB;YAEnB,aAAa;YACb,YAAY;YACZ,YAAY;YACZ,cAAc;YACd,cAAc;YACd,kBAAkB;YAClB,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKH,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBA7BtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,6BAA6B;wBAC7B,mBAAmB;wBACnB,iCAAiC;wBACjC,wBAAwB;wBACxB,2BAA2B;wBAC3B,yBAAyB;wBACzB,6BAA6B;wBAC7B,8BAA8B;AAC/B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBAEnB,aAAa;wBACb,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,aAAa;wBACb,YAAY;wBACZ,YAAY;AACb,qBAAA;AAED,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;AAC9D,iBAAA,CAAA;;;ACtDD;;AAEG;;;;"}
@@ -0,0 +1,35 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { NgModule } from '@angular/core';
4
+
5
+ class NzxDynamicFormModule {
6
+ static forRoot() {
7
+ return {
8
+ ngModule: NzxDynamicFormModule,
9
+ providers: [],
10
+ };
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxDynamicFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NzxDynamicFormModule, imports: [CommonModule] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxDynamicFormModule, imports: [CommonModule] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxDynamicFormModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ imports: [CommonModule],
20
+ declarations: [],
21
+ exports: [],
22
+ }]
23
+ }] });
24
+
25
+ /**
26
+ * Use of this source code is governed by an MIT-style license that can be
27
+ * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
28
+ */
29
+
30
+ /**
31
+ * Generated bundle index. Do not edit.
32
+ */
33
+
34
+ export { NzxDynamicFormModule };
35
+ //# sourceMappingURL=ng-zorro-antd-extension-dynamic-form.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-zorro-antd-extension-dynamic-form.mjs","sources":["../../../components/dynamic-form/nzx-dynamic-form.module.ts","../../../components/dynamic-form/public-api.ts","../../../components/dynamic-form/ng-zorro-antd-extension-dynamic-form.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [],\n exports: [],\n})\nexport class NzxDynamicFormModule {\n static forRoot(): ModuleWithProviders<NzxDynamicFormModule> {\n return {\n ngModule: NzxDynamicFormModule,\n providers: [],\n };\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nexport * from './nzx-dynamic-form.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAQa,oBAAoB,CAAA;AAC/B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,oBAAoB;AAC9B,YAAA,SAAS,EAAE,EAAE;SACd,CAAC;KACH;+GANU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAJrB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAIX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAJrB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;ACPD;;;AAGG;;ACHH;;AAEG;;;;"}