@ng-doc/app 16.7.1 → 16.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/components/playground/base-playground.d.ts +12 -5
  2. package/components/playground/playground-demo/playground-demo.component.d.ts +2 -1
  3. package/components/playground/playground-form.d.ts +1 -2
  4. package/components/playground/playground-properties/playground-properties.component.d.ts +3 -1
  5. package/components/playground/playground-property/playground-property.component.d.ts +3 -2
  6. package/components/playground/playground.component.d.ts +11 -7
  7. package/esm2022/components/code/code.component.mjs +5 -7
  8. package/esm2022/components/page/page.component.mjs +5 -28
  9. package/esm2022/components/playground/base-playground.mjs +37 -5
  10. package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +14 -12
  11. package/esm2022/components/playground/playground-form.mjs +1 -1
  12. package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +12 -5
  13. package/esm2022/components/playground/playground-property/playground-property.component.mjs +12 -12
  14. package/esm2022/components/playground/playground.component.mjs +34 -14
  15. package/esm2022/interfaces/index.mjs +2 -1
  16. package/esm2022/interfaces/page-processor.mjs +2 -0
  17. package/esm2022/interfaces/processor-options.mjs +1 -1
  18. package/esm2022/interfaces/type-control.mjs +1 -1
  19. package/esm2022/modules/root/ng-doc.module.mjs +3 -1
  20. package/esm2022/processors/default-processors.mjs +18 -0
  21. package/esm2022/processors/index.mjs +4 -11
  22. package/esm2022/processors/{code-processor → page-processor}/index.mjs +2 -2
  23. package/esm2022/processors/{icon-processor/ng-doc-app-processors-icon-processor.mjs → page-processor/ng-doc-app-processors-page-processor.mjs} +1 -1
  24. package/esm2022/processors/page-processor/page-processor.directive.mjs +52 -0
  25. package/esm2022/processors/processors/blockquote.processor.mjs +12 -0
  26. package/esm2022/processors/processors/code.processor.mjs +15 -0
  27. package/esm2022/processors/processors/demo-pane.processor.mjs +12 -0
  28. package/esm2022/processors/processors/demo.processor.mjs +12 -0
  29. package/esm2022/processors/processors/icon.processor.mjs +12 -0
  30. package/esm2022/processors/processors/index.mjs +10 -0
  31. package/esm2022/processors/processors/link.processor.mjs +13 -0
  32. package/esm2022/processors/processors/ng-doc-app-processors-processors.mjs +5 -0
  33. package/esm2022/processors/processors/playground.processor.mjs +19 -0
  34. package/esm2022/processors/processors/tabs.processor.mjs +25 -0
  35. package/esm2022/processors/processors/tooltip.processor.mjs +58 -0
  36. package/esm2022/tokens/index.mjs +2 -1
  37. package/esm2022/tokens/page-processor.mjs +17 -0
  38. package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +7 -1
  39. package/esm2022/type-controls/number-control/number-control.component.mjs +8 -10
  40. package/esm2022/type-controls/string-control/string-control.component.mjs +8 -10
  41. package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +8 -10
  42. package/fesm2022/ng-doc-app-components-code.mjs +4 -6
  43. package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
  44. package/fesm2022/ng-doc-app-components-page.mjs +4 -27
  45. package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
  46. package/fesm2022/ng-doc-app-components-playground.mjs +121 -64
  47. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  48. package/fesm2022/ng-doc-app-modules-root.mjs +2 -0
  49. package/fesm2022/ng-doc-app-modules-root.mjs.map +1 -1
  50. package/fesm2022/ng-doc-app-processors-page-processor.mjs +58 -0
  51. package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -0
  52. package/fesm2022/ng-doc-app-processors-processors.mjs +183 -0
  53. package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -0
  54. package/fesm2022/ng-doc-app-processors.mjs +22 -10
  55. package/fesm2022/ng-doc-app-processors.mjs.map +1 -1
  56. package/fesm2022/ng-doc-app-tokens.mjs +17 -1
  57. package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
  58. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +6 -0
  59. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs.map +1 -1
  60. package/fesm2022/ng-doc-app-type-controls-number-control.mjs +7 -9
  61. package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  62. package/fesm2022/ng-doc-app-type-controls-string-control.mjs +7 -9
  63. package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
  64. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +7 -9
  65. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
  66. package/interfaces/index.d.ts +1 -0
  67. package/interfaces/page-processor.d.ts +28 -0
  68. package/interfaces/processor-options.d.ts +2 -3
  69. package/interfaces/type-control.d.ts +2 -2
  70. package/package.json +14 -62
  71. package/processors/default-processors.d.ts +2 -0
  72. package/processors/index.d.ts +3 -10
  73. package/processors/page-processor/index.d.ts +1 -0
  74. package/processors/page-processor/page-processor.directive.d.ts +19 -0
  75. package/processors/processors/blockquote.processor.d.ts +3 -0
  76. package/processors/processors/code.processor.d.ts +3 -0
  77. package/processors/processors/demo-pane.processor.d.ts +3 -0
  78. package/processors/processors/demo.processor.d.ts +3 -0
  79. package/processors/processors/icon.processor.d.ts +3 -0
  80. package/processors/processors/index.d.ts +9 -0
  81. package/processors/processors/link.processor.d.ts +3 -0
  82. package/processors/processors/playground.processor.d.ts +3 -0
  83. package/processors/processors/tabs.processor.d.ts +3 -0
  84. package/processors/{tooltip-processor/tooltip-wrapper.component.d.ts → processors/tooltip.processor.d.ts} +4 -1
  85. package/tokens/index.d.ts +1 -0
  86. package/tokens/page-processor.d.ts +11 -0
  87. package/type-controls/boolean-control/boolean-control.component.d.ts +4 -1
  88. package/type-controls/number-control/number-control.component.d.ts +3 -4
  89. package/type-controls/string-control/string-control.component.d.ts +2 -3
  90. package/type-controls/type-alias-control/type-alias-control.component.d.ts +3 -4
  91. package/esm2022/processors/blockquote-processor/blockquote-processor.directive.mjs +0 -30
  92. package/esm2022/processors/blockquote-processor/index.mjs +0 -2
  93. package/esm2022/processors/blockquote-processor/ng-doc-app-processors-blockquote-processor.mjs +0 -5
  94. package/esm2022/processors/code-processor/code-processor.directive.mjs +0 -35
  95. package/esm2022/processors/code-processor/ng-doc-app-processors-code-processor.mjs +0 -5
  96. package/esm2022/processors/demo-pane-processor/demo-pane-processor.directive.mjs +0 -38
  97. package/esm2022/processors/demo-pane-processor/index.mjs +0 -2
  98. package/esm2022/processors/demo-pane-processor/ng-doc-app-processors-demo-pane-processor.mjs +0 -5
  99. package/esm2022/processors/demo-processor/demo-processor.directive.mjs +0 -38
  100. package/esm2022/processors/demo-processor/index.mjs +0 -2
  101. package/esm2022/processors/demo-processor/ng-doc-app-processors-demo-processor.mjs +0 -5
  102. package/esm2022/processors/html-processor/html-processor.directive.mjs +0 -44
  103. package/esm2022/processors/html-processor/index.mjs +0 -2
  104. package/esm2022/processors/html-processor/ng-doc-app-processors-html-processor.mjs +0 -5
  105. package/esm2022/processors/icon-processor/icon-processor.directive.mjs +0 -30
  106. package/esm2022/processors/icon-processor/index.mjs +0 -2
  107. package/esm2022/processors/link-processor/index.mjs +0 -2
  108. package/esm2022/processors/link-processor/link-processor.directive.mjs +0 -31
  109. package/esm2022/processors/link-processor/ng-doc-app-processors-link-processor.mjs +0 -5
  110. package/esm2022/processors/playground-processor/index.mjs +0 -2
  111. package/esm2022/processors/playground-processor/ng-doc-app-processors-playground-processor.mjs +0 -5
  112. package/esm2022/processors/playground-processor/playground-processor.directive.mjs +0 -36
  113. package/esm2022/processors/tabs-processor/index.mjs +0 -2
  114. package/esm2022/processors/tabs-processor/ng-doc-app-processors-tabs-processor.mjs +0 -5
  115. package/esm2022/processors/tabs-processor/tabs-processor.directive.mjs +0 -44
  116. package/esm2022/processors/tooltip-processor/index.mjs +0 -3
  117. package/esm2022/processors/tooltip-processor/ng-doc-app-processors-tooltip-processor.mjs +0 -5
  118. package/esm2022/processors/tooltip-processor/tooltip-processor.directive.mjs +0 -30
  119. package/esm2022/processors/tooltip-processor/tooltip-wrapper.component.mjs +0 -49
  120. package/fesm2022/ng-doc-app-processors-blockquote-processor.mjs +0 -36
  121. package/fesm2022/ng-doc-app-processors-blockquote-processor.mjs.map +0 -1
  122. package/fesm2022/ng-doc-app-processors-code-processor.mjs +0 -41
  123. package/fesm2022/ng-doc-app-processors-code-processor.mjs.map +0 -1
  124. package/fesm2022/ng-doc-app-processors-demo-pane-processor.mjs +0 -44
  125. package/fesm2022/ng-doc-app-processors-demo-pane-processor.mjs.map +0 -1
  126. package/fesm2022/ng-doc-app-processors-demo-processor.mjs +0 -44
  127. package/fesm2022/ng-doc-app-processors-demo-processor.mjs.map +0 -1
  128. package/fesm2022/ng-doc-app-processors-html-processor.mjs +0 -50
  129. package/fesm2022/ng-doc-app-processors-html-processor.mjs.map +0 -1
  130. package/fesm2022/ng-doc-app-processors-icon-processor.mjs +0 -36
  131. package/fesm2022/ng-doc-app-processors-icon-processor.mjs.map +0 -1
  132. package/fesm2022/ng-doc-app-processors-link-processor.mjs +0 -37
  133. package/fesm2022/ng-doc-app-processors-link-processor.mjs.map +0 -1
  134. package/fesm2022/ng-doc-app-processors-playground-processor.mjs +0 -42
  135. package/fesm2022/ng-doc-app-processors-playground-processor.mjs.map +0 -1
  136. package/fesm2022/ng-doc-app-processors-tabs-processor.mjs +0 -50
  137. package/fesm2022/ng-doc-app-processors-tabs-processor.mjs.map +0 -1
  138. package/fesm2022/ng-doc-app-processors-tooltip-processor.mjs +0 -81
  139. package/fesm2022/ng-doc-app-processors-tooltip-processor.mjs.map +0 -1
  140. package/processors/blockquote-processor/blockquote-processor.directive.d.ts +0 -13
  141. package/processors/blockquote-processor/index.d.ts +0 -1
  142. package/processors/code-processor/code-processor.directive.d.ts +0 -14
  143. package/processors/code-processor/index.d.ts +0 -1
  144. package/processors/demo-pane-processor/demo-pane-processor.directive.d.ts +0 -14
  145. package/processors/demo-pane-processor/index.d.ts +0 -1
  146. package/processors/demo-processor/demo-processor.directive.d.ts +0 -14
  147. package/processors/demo-processor/index.d.ts +0 -1
  148. package/processors/html-processor/html-processor.directive.d.ts +0 -20
  149. package/processors/html-processor/index.d.ts +0 -1
  150. package/processors/icon-processor/icon-processor.directive.d.ts +0 -13
  151. package/processors/icon-processor/index.d.ts +0 -1
  152. package/processors/link-processor/index.d.ts +0 -1
  153. package/processors/link-processor/link-processor.directive.d.ts +0 -13
  154. package/processors/playground-processor/index.d.ts +0 -1
  155. package/processors/playground-processor/playground-processor.directive.d.ts +0 -13
  156. package/processors/tabs-processor/index.d.ts +0 -1
  157. package/processors/tabs-processor/tabs-processor.directive.d.ts +0 -15
  158. package/processors/tooltip-processor/index.d.ts +0 -2
  159. package/processors/tooltip-processor/tooltip-processor.directive.d.ts +0 -13
@@ -4,6 +4,22 @@ const NG_DOC_API_LIST_TOKEN = new InjectionToken('API_LIST_TOKEN');
4
4
 
5
5
  const NG_DOC_CONTEXT = new InjectionToken('NG_DOC_CONTEXT');
6
6
 
7
+ const NG_DOC_PAGE_PROCESSOR = new InjectionToken('NG_DOC_PAGE_PROCESSOR');
8
+ const NG_DOC_PAGE_CUSTOM_PROCESSOR = new InjectionToken('NG_DOC_PAGE_CUSTOM_PROCESSOR');
9
+ /**
10
+ * Provide a processor to replace html nodes with an Angular component.
11
+ *
12
+ * @param processor - Processor to provide.
13
+ * @param override - Whether to override existing processors.
14
+ */
15
+ function providePageProcessor(processor, override) {
16
+ return {
17
+ provide: override ? NG_DOC_PAGE_PROCESSOR : NG_DOC_PAGE_CUSTOM_PROCESSOR,
18
+ useValue: processor,
19
+ multi: true,
20
+ };
21
+ }
22
+
7
23
  /**
8
24
  * Token that can be used to provide custom theme.
9
25
  * You must compile your theme to CSS and add it to `assets` so that NgDoc can load it dynamically.
@@ -37,5 +53,5 @@ const NG_DOC_TYPE_CONTROL = new InjectionToken('NG_DOC_TYPE_CONTROL');
37
53
  * Generated bundle index. Do not edit.
38
54
  */
39
55
 
40
- export { NG_DOC_API_LIST_TOKEN, NG_DOC_CONTEXT, NG_DOC_DEFAULT_THEME_ID, NG_DOC_THEME, NG_DOC_TYPE_CONTROL };
56
+ export { NG_DOC_API_LIST_TOKEN, NG_DOC_CONTEXT, NG_DOC_DEFAULT_THEME_ID, NG_DOC_PAGE_CUSTOM_PROCESSOR, NG_DOC_PAGE_PROCESSOR, NG_DOC_THEME, NG_DOC_TYPE_CONTROL, providePageProcessor };
41
57
  //# sourceMappingURL=ng-doc-app-tokens.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-tokens.mjs","sources":["../../../../libs/app/tokens/api-list.ts","../../../../libs/app/tokens/context.ts","../../../../libs/app/tokens/theme.ts","../../../../libs/app/tokens/type-control.ts","../../../../libs/app/tokens/ng-doc-app-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {NgDocApiList} from '@ng-doc/core/interfaces';\n\nexport const NG_DOC_API_LIST_TOKEN: InjectionToken<NgDocApiList[]> = new InjectionToken<NgDocApiList[]>(\n\t'API_LIST_TOKEN',\n);\n","import {InjectionToken} from '@angular/core';\nimport {NgDocContext} from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_CONTEXT: InjectionToken<NgDocContext> = new InjectionToken<NgDocContext>('NG_DOC_CONTEXT');\n","import {InjectionToken} from '@angular/core';\nimport {NgDocTheme} from '@ng-doc/app/interfaces';\n\n/**\n * Token that can be used to provide custom theme.\n * You must compile your theme to CSS and add it to `assets` so that NgDoc can load it dynamically.\n *\n * You always should provide custom themes in root of your application with `multi: true` parameter.\n *\n * For example\n * ```typescript\n * @NgModule({\n * \tdeclarations: [AppComponent],\n * \timports: [],\n * \tproviders: [\n * \t {provide: NG_DOC_THEME, useValue: {id: 'CustomTheme', path: '/assets/themes/custom.css'}, multi: true}\n * \t],\n * \tbootstrap: [AppComponent],\n * })\n * export class AppModule {}\n * ```\n */\nexport const NG_DOC_THEME: InjectionToken<NgDocTheme> = new InjectionToken<NgDocTheme>(`NG_DOC_THEME`);\n\n/**\n * Default theme for application if user didn't change it manually.\n *\n * You can provide this token in the root of you application, to set theme by default.\n */\nexport const NG_DOC_DEFAULT_THEME_ID: InjectionToken<string> = new InjectionToken<string>(`NG_DOC_DEFAULT_THEME`);\n","import {InjectionToken} from '@angular/core';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_TYPE_CONTROL: InjectionToken<NgDocTypeControl> = new InjectionToken<NgDocTypeControl>(\n\t'NG_DOC_TYPE_CONTROL',\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;MAGa,qBAAqB,GAAmC,IAAI,cAAc,CACtF,gBAAgB;;MCDJ,cAAc,GAAiC,IAAI,cAAc,CAAe,gBAAgB;;ACA7G;;;;;;;;;;;;;;;;;;AAkBG;MACU,YAAY,GAA+B,IAAI,cAAc,CAAa,CAAc,YAAA,CAAA,EAAE;AAEvG;;;;AAIG;MACU,uBAAuB,GAA2B,IAAI,cAAc,CAAS,CAAsB,oBAAA,CAAA;;MC1BnG,mBAAmB,GAAqC,IAAI,cAAc,CACtF,qBAAqB;;ACJtB;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-tokens.mjs","sources":["../../../../libs/app/tokens/api-list.ts","../../../../libs/app/tokens/context.ts","../../../../libs/app/tokens/page-processor.ts","../../../../libs/app/tokens/theme.ts","../../../../libs/app/tokens/type-control.ts","../../../../libs/app/tokens/ng-doc-app-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {NgDocApiList} from '@ng-doc/core/interfaces';\n\nexport const NG_DOC_API_LIST_TOKEN: InjectionToken<NgDocApiList[]> = new InjectionToken<NgDocApiList[]>(\n\t'API_LIST_TOKEN',\n);\n","import {InjectionToken} from '@angular/core';\nimport {NgDocContext} from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_CONTEXT: InjectionToken<NgDocContext> = new InjectionToken<NgDocContext>('NG_DOC_CONTEXT');\n","import {InjectionToken, Provider} from '@angular/core';\nimport {NgDocPageProcessor} from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_PAGE_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> = new InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_PROCESSOR');\nexport const NG_DOC_PAGE_CUSTOM_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> = new InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_CUSTOM_PROCESSOR');\n\n/**\n * Provide a processor to replace html nodes with an Angular component.\n *\n * @param processor - Processor to provide.\n * @param override - Whether to override existing processors.\n */\nexport function providePageProcessor<T>(processor: NgDocPageProcessor<T>, override?: boolean): Provider {\n\treturn {\n\t\tprovide: override ? NG_DOC_PAGE_PROCESSOR : NG_DOC_PAGE_CUSTOM_PROCESSOR,\n\t\tuseValue: processor,\n\t\tmulti: true,\n\t};\n}\n","import {InjectionToken} from '@angular/core';\nimport {NgDocTheme} from '@ng-doc/app/interfaces';\n\n/**\n * Token that can be used to provide custom theme.\n * You must compile your theme to CSS and add it to `assets` so that NgDoc can load it dynamically.\n *\n * You always should provide custom themes in root of your application with `multi: true` parameter.\n *\n * For example\n * ```typescript\n * @NgModule({\n * \tdeclarations: [AppComponent],\n * \timports: [],\n * \tproviders: [\n * \t {provide: NG_DOC_THEME, useValue: {id: 'CustomTheme', path: '/assets/themes/custom.css'}, multi: true}\n * \t],\n * \tbootstrap: [AppComponent],\n * })\n * export class AppModule {}\n * ```\n */\nexport const NG_DOC_THEME: InjectionToken<NgDocTheme> = new InjectionToken<NgDocTheme>(`NG_DOC_THEME`);\n\n/**\n * Default theme for application if user didn't change it manually.\n *\n * You can provide this token in the root of you application, to set theme by default.\n */\nexport const NG_DOC_DEFAULT_THEME_ID: InjectionToken<string> = new InjectionToken<string>(`NG_DOC_DEFAULT_THEME`);\n","import {InjectionToken} from '@angular/core';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_TYPE_CONTROL: InjectionToken<NgDocTypeControl> = new InjectionToken<NgDocTypeControl>(\n\t'NG_DOC_TYPE_CONTROL',\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;MAGa,qBAAqB,GAAmC,IAAI,cAAc,CACtF,gBAAgB;;MCDJ,cAAc,GAAiC,IAAI,cAAc,CAAe,gBAAgB;;MCAhG,qBAAqB,GAAgD,IAAI,cAAc,CAA8B,uBAAuB,EAAE;MAC9I,4BAA4B,GAAgD,IAAI,cAAc,CAA8B,8BAA8B,EAAE;AAEzK;;;;;AAKG;AACa,SAAA,oBAAoB,CAAI,SAAgC,EAAE,QAAkB,EAAA;IAC3F,OAAO;QACN,OAAO,EAAE,QAAQ,GAAG,qBAAqB,GAAG,4BAA4B;AACxE,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;KACX,CAAC;AACH;;ACfA;;;;;;;;;;;;;;;;;;AAkBG;MACU,YAAY,GAA+B,IAAI,cAAc,CAAa,CAAc,YAAA,CAAA,EAAE;AAEvG;;;;AAIG;MACU,uBAAuB,GAA2B,IAAI,cAAc,CAAS,CAAsB,oBAAA,CAAA;;MC1BnG,mBAAmB,GAAqC,IAAI,cAAc,CACtF,qBAAqB;;ACJtB;;AAEG;;;;"}
@@ -11,6 +11,12 @@ class NgDocBooleanControlComponent extends FlControlHost {
11
11
  this.description = '';
12
12
  this.controlChange.subscribe(() => this.onTouched());
13
13
  }
14
+ get defaultValue() {
15
+ return Object.prototype.hasOwnProperty.call(this, 'default') ? this.default : false;
16
+ }
17
+ updateModel(obj) {
18
+ super.updateModel(obj ? obj : !this.defaultValue ? this.defaultValue : false);
19
+ }
14
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocBooleanControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
21
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocBooleanControlComponent, isStandalone: true, selector: "ng-doc-boolean-control", providers: [provideControlHost(NgDocBooleanControlComponent)], usesInheritance: true, ngImport: i0, template: "<ng-doc-checkbox [ngDocTooltip]=\"tooltipTemplate\" [canOpen]=\"!!description\">\n\t{{ name }}\n\t<ng-template #tooltipTemplate>\n\t\t<div [innerHTML]=\"description | ngDocSanitizeHtml\"></div>\n\t</ng-template>\n</ng-doc-checkbox>\n", styles: [":host{display:inline-flex;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-type-controls-boolean-control.mjs","sources":["../../../../libs/app/type-controls/boolean-control/boolean-control.component.ts","../../../../libs/app/type-controls/boolean-control/boolean-control.component.html","../../../../libs/app/type-controls/boolean-control/ng-doc-app-type-controls-boolean-control.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\nimport {NgDocSanitizeHtmlPipe} from '@ng-doc/app/pipes';\nimport {NgDocCheckboxComponent, NgDocTooltipDirective} from '@ng-doc/ui-kit';\nimport {FlControlHost, provideControlHost} from 'flex-controls';\n\n@Component({\n\tselector: 'ng-doc-boolean-control',\n\ttemplateUrl: './boolean-control.component.html',\n\tstyleUrls: ['./boolean-control.component.scss'],\n\tproviders: [provideControlHost(NgDocBooleanControlComponent)],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [NgDocCheckboxComponent, NgDocTooltipDirective, NgDocSanitizeHtmlPipe],\n})\nexport class NgDocBooleanControlComponent extends FlControlHost<string | undefined> implements NgDocTypeControl {\n\tname: string = '';\n\tdescription: string = '';\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.controlChange.subscribe(() => this.onTouched());\n\t}\n}\n","<ng-doc-checkbox [ngDocTooltip]=\"tooltipTemplate\" [canOpen]=\"!!description\">\n\t{{ name }}\n\t<ng-template #tooltipTemplate>\n\t\t<div [innerHTML]=\"description | ngDocSanitizeHtml\"></div>\n\t</ng-template>\n</ng-doc-checkbox>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA,MASa,4BAA6B,SAAQ,aAAiC,CAAA;AAIlF,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE,CAAC;QAJT,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAClB,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAKxB,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;KACrD;8GARW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAL7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,ECV9D,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,2OAMA,EDOW,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EAAE,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,qUAAE,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAElE,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,aAGvB,CAAC,kBAAkB,8BAA8B,CAAC,EAAA,eAAA,EAC5C,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,WACP,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,EAAA,QAAA,EAAA,2OAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,CAAA;;;AEbhF;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-type-controls-boolean-control.mjs","sources":["../../../../libs/app/type-controls/boolean-control/boolean-control.component.ts","../../../../libs/app/type-controls/boolean-control/boolean-control.component.html","../../../../libs/app/type-controls/boolean-control/ng-doc-app-type-controls-boolean-control.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\nimport {NgDocSanitizeHtmlPipe} from '@ng-doc/app/pipes';\nimport {NgDocCheckboxComponent, NgDocTooltipDirective} from '@ng-doc/ui-kit';\nimport {FlControlHost, provideControlHost} from 'flex-controls';\n\n@Component({\n\tselector: 'ng-doc-boolean-control',\n\ttemplateUrl: './boolean-control.component.html',\n\tstyleUrls: ['./boolean-control.component.scss'],\n\tproviders: [provideControlHost(NgDocBooleanControlComponent)],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [NgDocCheckboxComponent, NgDocTooltipDirective, NgDocSanitizeHtmlPipe],\n})\nexport class NgDocBooleanControlComponent\n\textends FlControlHost<boolean | undefined>\n\timplements NgDocTypeControl<boolean | undefined>\n{\n\tdefault?: boolean;\n\n\tname: string = '';\n\tdescription: string = '';\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.controlChange.subscribe(() => this.onTouched());\n\t}\n\n\tget defaultValue(): boolean | undefined {\n\t\treturn Object.prototype.hasOwnProperty.call(this, 'default') ? this.default : false;\n\t}\n\n\toverride updateModel(obj: boolean | null | undefined) {\n\t\tsuper.updateModel(obj ? obj : !this.defaultValue ? this.defaultValue : false);\n\t}\n}\n","<ng-doc-checkbox [ngDocTooltip]=\"tooltipTemplate\" [canOpen]=\"!!description\">\n\t{{ name }}\n\t<ng-template #tooltipTemplate>\n\t\t<div [innerHTML]=\"description | ngDocSanitizeHtml\"></div>\n\t</ng-template>\n</ng-doc-checkbox>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA,MASa,4BACZ,SAAQ,aAAkC,CAAA;AAQ1C,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE,CAAC;QAJT,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAClB,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAKxB,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;KACrD;AAED,IAAA,IAAI,YAAY,GAAA;QACf,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACpF;AAEQ,IAAA,WAAW,CAAC,GAA+B,EAAA;QACnD,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;KAC9E;8GArBW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAL7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,ECV9D,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,2OAMA,EDOW,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EAAE,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,qUAAE,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAElE,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,aAGvB,CAAC,kBAAkB,8BAA8B,CAAC,EAAA,eAAA,EAC5C,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,WACP,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,EAAA,QAAA,EAAA,2OAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,CAAA;;;AEbhF;;AAEG;;;;"}
@@ -1,9 +1,8 @@
1
1
  import { NgIf } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
4
4
  import * as i2 from '@angular/forms';
5
5
  import { FormsModule } from '@angular/forms';
6
- import { extractValue } from '@ng-doc/core/helpers/extract-value';
7
6
  import { NgDocInputWrapperComponent, NgDocInputNumberDirective, NgDocButtonIconComponent, NgDocFocusableDirective, NgDocIconComponent } from '@ng-doc/ui-kit';
8
7
  import * as i1 from 'flex-controls';
9
8
  import { FlControl, FlControlSilencerModule } from 'flex-controls';
@@ -12,14 +11,11 @@ class NgDocNumberControlComponent extends FlControl {
12
11
  constructor() {
13
12
  super();
14
13
  }
15
- get defaultValue() {
16
- return this.default ? extractValue(this.default) : null;
17
- }
18
14
  changeModel(value) {
19
- this.updateModel(value === null && this.default ? this.defaultValue : value);
15
+ this.updateModel(value === null && this.default ? this.default : value);
20
16
  }
21
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocNumberControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocNumberControlComponent, isStandalone: true, selector: "ng-doc-number-control", usesInheritance: true, ngImport: i0, template: "<ng-doc-input-wrapper flControlSilencer [rightContent]=\"rightContent\">\n\t<input ngDocInputNumber type=\"number\" [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "ngmodule", type: FlControlSilencerModule }, { kind: "directive", type: i1.FlControlSilencerDirective, selector: "[flControlSilencer]" }, { kind: "directive", type: NgDocInputNumberDirective, selector: "input[ngDocInputNumber]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocNumberControlComponent, isStandalone: true, selector: "ng-doc-number-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-input-wrapper flControlSilencer [rightContent]=\"rightContent\">\n\t<input ngDocInputNumber type=\"number\" [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "ngmodule", type: FlControlSilencerModule }, { kind: "directive", type: i1.FlControlSilencerDirective, selector: "[flControlSilencer]" }, { kind: "directive", type: NgDocInputNumberDirective, selector: "input[ngDocInputNumber]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
19
  }
24
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocNumberControlComponent, decorators: [{
25
21
  type: Component,
@@ -32,8 +28,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
32
28
  NgDocButtonIconComponent,
33
29
  NgDocFocusableDirective,
34
30
  NgDocIconComponent,
35
- ], template: "<ng-doc-input-wrapper flControlSilencer [rightContent]=\"rightContent\">\n\t<input ngDocInputNumber type=\"number\" [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"] }]
36
- }], ctorParameters: function () { return []; } });
31
+ ], template: "<ng-doc-input-wrapper flControlSilencer [rightContent]=\"rightContent\">\n\t<input ngDocInputNumber type=\"number\" [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"] }]
32
+ }], ctorParameters: function () { return []; }, propDecorators: { default: [{
33
+ type: Input
34
+ }] } });
37
35
 
38
36
  /**
39
37
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-type-controls-number-control.mjs","sources":["../../../../libs/app/type-controls/number-control/number-control.component.ts","../../../../libs/app/type-controls/number-control/number-control.component.html","../../../../libs/app/type-controls/number-control/ng-doc-app-type-controls-number-control.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\nimport {extractValue} from '@ng-doc/core/helpers/extract-value';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocInputNumberDirective,\n\tNgDocInputWrapperComponent,\n} from '@ng-doc/ui-kit';\nimport {FlControl, FlControlSilencerModule} from 'flex-controls';\n\n@Component({\n\tselector: 'ng-doc-number-control',\n\ttemplateUrl: './number-control.component.html',\n\tstyleUrls: ['./number-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocInputWrapperComponent,\n\t\tFlControlSilencerModule,\n\t\tNgDocInputNumberDirective,\n\t\tFormsModule,\n\t\tNgIf,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t],\n})\nexport class NgDocNumberControlComponent extends FlControl<number> implements NgDocTypeControl {\n\tdefault: string | undefined;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget defaultValue(): number | null {\n\t\treturn this.default ? (extractValue(this.default) as number) : null;\n\t}\n\n\tchangeModel(value: number | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.defaultValue : value);\n\t}\n}\n","<ng-doc-input-wrapper flControlSilencer [rightContent]=\"rightContent\">\n\t<input ngDocInputNumber type=\"number\" [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAcA,MAiBa,2BAA4B,SAAQ,SAAiB,CAAA;AAGjE,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE,CAAC;KACR;AAED,IAAA,IAAI,YAAY,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,GAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAY,GAAG,IAAI,CAAC;KACpE;AAED,IAAA,WAAW,CAAC,KAAoB,EAAA;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;KAC7E;8GAbW,2BAA2B,EAAA,IAAA,EAAA,EAAA,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,QAAA,EAAA,IAAA,EAAA,2BAA2B,wGC/BxC,2lBAiBA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIE,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAC1B,uBAAuB,EACvB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,EACzB,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,ixBACX,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,wBAAwB,EACxB,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,uHACvB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGP,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAjBvC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACR,0BAA0B;wBAC1B,uBAAuB;wBACvB,yBAAyB;wBACzB,WAAW;wBACX,IAAI;wBACJ,wBAAwB;wBACxB,uBAAuB;wBACvB,kBAAkB;AAClB,qBAAA,EAAA,QAAA,EAAA,2lBAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,CAAA;;;AE7BF;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-type-controls-number-control.mjs","sources":["../../../../libs/app/type-controls/number-control/number-control.component.ts","../../../../libs/app/type-controls/number-control/number-control.component.html","../../../../libs/app/type-controls/number-control/ng-doc-app-type-controls-number-control.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocInputNumberDirective,\n\tNgDocInputWrapperComponent,\n} from '@ng-doc/ui-kit';\nimport {FlControl, FlControlSilencerModule} from 'flex-controls';\n\n@Component({\n\tselector: 'ng-doc-number-control',\n\ttemplateUrl: './number-control.component.html',\n\tstyleUrls: ['./number-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocInputWrapperComponent,\n\t\tFlControlSilencerModule,\n\t\tNgDocInputNumberDirective,\n\t\tFormsModule,\n\t\tNgIf,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t],\n})\nexport class NgDocNumberControlComponent extends FlControl<number> implements NgDocTypeControl<number> {\n\t@Input()\n\tdefault?: number;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tchangeModel(value: number | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.default : value);\n\t}\n}\n","<ng-doc-input-wrapper flControlSilencer [rightContent]=\"rightContent\">\n\t<input ngDocInputNumber type=\"number\" [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAaA,MAiBa,2BAA4B,SAAQ,SAAiB,CAAA;AAIjE,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE,CAAC;KACR;AAED,IAAA,WAAW,CAAC,KAAoB,EAAA;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;KACxE;8GAVW,2BAA2B,EAAA,IAAA,EAAA,EAAA,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,QAAA,EAAA,IAAA,EAAA,2BAA2B,wIC9BxC,ylBAiBA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGE,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAC1B,uBAAuB,EACvB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,EACzB,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,ixBACX,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,wBAAwB,EACxB,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,uHACvB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGP,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAjBvC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACR,0BAA0B;wBAC1B,uBAAuB;wBACvB,yBAAyB;wBACzB,WAAW;wBACX,IAAI;wBACJ,wBAAwB;wBACxB,uBAAuB;wBACvB,kBAAkB;AAClB,qBAAA,EAAA,QAAA,EAAA,ylBAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,CAAA;0EAID,OAAO,EAAA,CAAA;sBADN,KAAK;;;AE/BP;;AAEG;;;;"}
@@ -1,9 +1,8 @@
1
1
  import { NgIf } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { FormsModule } from '@angular/forms';
6
- import { extractValue } from '@ng-doc/core/helpers/extract-value';
7
6
  import { NgDocInputWrapperComponent, NgDocInputStringDirective, NgDocButtonIconComponent, NgDocFocusableDirective, NgDocIconComponent } from '@ng-doc/ui-kit';
8
7
  import * as i2 from 'flex-controls';
9
8
  import { FlControl, FlControlSilencerModule } from 'flex-controls';
@@ -12,17 +11,14 @@ class NgDocStringControlComponent extends FlControl {
12
11
  constructor() {
13
12
  super();
14
13
  }
15
- get defaultValue() {
16
- return this.default ? extractValue(this.default) : null;
17
- }
18
14
  changeModel(value) {
19
- this.updateModel(value === null && this.default ? this.defaultValue : value);
15
+ this.updateModel(value === null && this.default ? this.default : value);
20
16
  }
21
17
  writeValue(value) {
22
18
  super.writeValue(value);
23
19
  }
24
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocStringControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocStringControlComponent, isStandalone: true, selector: "ng-doc-string-control", usesInheritance: true, ngImport: i0, template: "<ng-doc-input-wrapper [rightContent]=\"rightContent\" flControlSilencer>\n\t<input ngDocInputString [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "ngmodule", type: FlControlSilencerModule }, { kind: "directive", type: i2.FlControlSilencerDirective, selector: "[flControlSilencer]" }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocStringControlComponent, isStandalone: true, selector: "ng-doc-string-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-input-wrapper [rightContent]=\"rightContent\" flControlSilencer>\n\t<input ngDocInputString [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "ngmodule", type: FlControlSilencerModule }, { kind: "directive", type: i2.FlControlSilencerDirective, selector: "[flControlSilencer]" }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
22
  }
27
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocStringControlComponent, decorators: [{
28
24
  type: Component,
@@ -35,8 +31,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
35
31
  NgDocButtonIconComponent,
36
32
  NgDocFocusableDirective,
37
33
  NgDocIconComponent,
38
- ], template: "<ng-doc-input-wrapper [rightContent]=\"rightContent\" flControlSilencer>\n\t<input ngDocInputString [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"] }]
39
- }], ctorParameters: function () { return []; } });
34
+ ], template: "<ng-doc-input-wrapper [rightContent]=\"rightContent\" flControlSilencer>\n\t<input ngDocInputString [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"] }]
35
+ }], ctorParameters: function () { return []; }, propDecorators: { default: [{
36
+ type: Input
37
+ }] } });
40
38
 
41
39
  /**
42
40
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-type-controls-string-control.mjs","sources":["../../../../libs/app/type-controls/string-control/string-control.component.ts","../../../../libs/app/type-controls/string-control/string-control.component.html","../../../../libs/app/type-controls/string-control/ng-doc-app-type-controls-string-control.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\nimport {extractValue} from '@ng-doc/core/helpers/extract-value';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocInputStringDirective,\n\tNgDocInputWrapperComponent,\n} from '@ng-doc/ui-kit';\nimport {FlControl, FlControlSilencerModule} from 'flex-controls';\n\n@Component({\n\tselector: 'ng-doc-string-control',\n\ttemplateUrl: './string-control.component.html',\n\tstyleUrls: ['./string-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tFormsModule,\n\t\tNgDocInputWrapperComponent,\n\t\tFlControlSilencerModule,\n\t\tNgDocInputStringDirective,\n\t\tNgIf,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t],\n})\nexport class NgDocStringControlComponent extends FlControl<string> implements NgDocTypeControl {\n\tdefault?: string;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget defaultValue(): string | null {\n\t\treturn this.default ? (extractValue(this.default) as string) : null;\n\t}\n\n\tchangeModel(value: string | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.defaultValue : value);\n\t}\n\n\toverride writeValue(value: string | null) {\n\t\tsuper.writeValue(value);\n\t}\n}\n","<ng-doc-input-wrapper [rightContent]=\"rightContent\" flControlSilencer>\n\t<input ngDocInputString [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-type-controls-string-control.mjs","sources":["../../../../libs/app/type-controls/string-control/string-control.component.ts","../../../../libs/app/type-controls/string-control/string-control.component.html","../../../../libs/app/type-controls/string-control/ng-doc-app-type-controls-string-control.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocInputStringDirective,\n\tNgDocInputWrapperComponent,\n} from '@ng-doc/ui-kit';\nimport {FlControl, FlControlSilencerModule} from 'flex-controls';\n\n@Component({\n\tselector: 'ng-doc-string-control',\n\ttemplateUrl: './string-control.component.html',\n\tstyleUrls: ['./string-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tFormsModule,\n\t\tNgDocInputWrapperComponent,\n\t\tFlControlSilencerModule,\n\t\tNgDocInputStringDirective,\n\t\tNgIf,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t],\n})\nexport class NgDocStringControlComponent extends FlControl<string> implements NgDocTypeControl<string> {\n\t@Input()\n\tdefault?: string;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tchangeModel(value: string | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.default : value);\n\t}\n\n\toverride writeValue(value: string | null) {\n\t\tsuper.writeValue(value);\n\t}\n}\n","<ng-doc-input-wrapper [rightContent]=\"rightContent\" flControlSilencer>\n\t<input ngDocInputString [ngModel]=\"model\" (ngModelChange)=\"changeModel($event)\">\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { FormsModule } from '@angular/forms';
6
6
  import { NgDocKindIconComponent } from '@ng-doc/app/components/kind-icon';
7
7
  import { NgDocExtractValuePipe } from '@ng-doc/app/pipes/extract-value';
8
- import { extractValue } from '@ng-doc/core/helpers/extract-value';
9
8
  import { NgDocComboboxComponent, NgDocDataDirective, NgDocListComponent, NgDocOptionComponent, NgDocTextComponent, NgDocTextLeftDirective, NgDocTooltipDirective, NgDocTextRightDirective, NgDocButtonIconComponent, NgDocFocusableDirective, NgDocIconComponent } from '@ng-doc/ui-kit';
10
9
  import { FlControl } from 'flex-controls';
11
10
 
@@ -13,17 +12,14 @@ class NgDocTypeAliasControlComponent extends FlControl {
13
12
  constructor() {
14
13
  super();
15
14
  }
16
- get defaultValue() {
17
- return this.default ? extractValue(this.default) : null;
18
- }
19
15
  typeOf(value) {
20
16
  return typeof value;
21
17
  }
22
18
  changeModel(value) {
23
- this.updateModel(value === null && this.default ? this.defaultValue : value);
19
+ this.updateModel(value === null && this.default ? this.default : value);
24
20
  }
25
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocTypeAliasControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocTypeAliasControlComponent, isStandalone: true, selector: "ng-doc-type-alias-control", usesInheritance: true, ngImport: i0, template: "<ng-doc-combobox [ngModel]=\"model\"\n\t\t\t\t [readonly]=\"true\"\n\t\t\t\t [valueContent]=\"valueTemplate\"\n\t\t\t\t [clearButton]=\"false\"\n\t\t\t\t [rightContent]=\"rightContent\"\n\t\t\t\t (ngModelChange)=\"changeModel($event)\">\n\t<ng-doc-list *ngDocData>\n\t\t<ng-container *ngFor=\"let option of options\">\n\t\t\t<ng-container *ngIf=\"option | ngDocExtractValue as value\">\n\t\t\t\t<ng-doc-option [value]=\"value\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"valueTemplate; context: {$implicit: value}\"></ng-container>\n\t\t\t\t</ng-doc-option>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t</ng-doc-list>\n\t<ng-template let-value #valueTemplate>\n\t\t<div ng-doc-text>\n\t\t\t<ng-doc-kind-icon [kind]=\"typeOf(value)\"\n\t\t\t\t\t\t\t [type]=\"'type'\"\n\t\t\t\t\t\t\t [ngDocTooltip]=\"typeOf(value)\"\n\t\t\t\t\t\t\t positions=\"left-center\"\n\t\t\t\t\t\t\t ngDocTextLeft>\n\t\t\t</ng-doc-kind-icon>\n\t\t\t<div>{{value}}</div>\n\t\t\t<span ng-doc-text\n\t\t\t\t color=\"muted\"\n\t\t\t\t size=\"small\"\n\t\t\t\t *ngIf=\"value === defaultValue\" ngDocTextRight>[default]</span>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-combobox>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocComboboxComponent, selector: "ng-doc-combobox", inputs: ["readonly", "placeholder", "clearButton", "rightContent", "valueContent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocDataDirective, selector: "[ngDocData]" }, { kind: "component", type: NgDocListComponent, selector: "ng-doc-list" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocOptionComponent, selector: "ng-doc-option" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "pipe", type: NgDocExtractValuePipe, name: "ngDocExtractValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocTypeAliasControlComponent, isStandalone: true, selector: "ng-doc-type-alias-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-combobox [ngModel]=\"model\"\n\t\t\t\t [readonly]=\"true\"\n\t\t\t\t [valueContent]=\"valueTemplate\"\n\t\t\t\t [clearButton]=\"false\"\n\t\t\t\t [rightContent]=\"rightContent\"\n\t\t\t\t (ngModelChange)=\"changeModel($event)\">\n\t<ng-doc-list *ngDocData>\n\t\t<ng-container *ngFor=\"let option of options\">\n\t\t\t<ng-container *ngIf=\"option | ngDocExtractValue as value\">\n\t\t\t\t<ng-doc-option [value]=\"value\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"valueTemplate; context: {$implicit: value}\"></ng-container>\n\t\t\t\t</ng-doc-option>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t</ng-doc-list>\n\t<ng-template let-value #valueTemplate>\n\t\t<div ng-doc-text>\n\t\t\t<ng-doc-kind-icon [kind]=\"typeOf(value)\"\n\t\t\t\t\t\t\t [type]=\"'type'\"\n\t\t\t\t\t\t\t [ngDocTooltip]=\"typeOf(value)\"\n\t\t\t\t\t\t\t positions=\"left-center\"\n\t\t\t\t\t\t\t ngDocTextLeft>\n\t\t\t</ng-doc-kind-icon>\n\t\t\t<div>{{value}}</div>\n\t\t\t<span ng-doc-text\n\t\t\t\t color=\"muted\"\n\t\t\t\t size=\"small\"\n\t\t\t\t *ngIf=\"value === default\" ngDocTextRight>[default]</span>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-combobox>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocComboboxComponent, selector: "ng-doc-combobox", inputs: ["readonly", "placeholder", "clearButton", "rightContent", "valueContent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocDataDirective, selector: "[ngDocData]" }, { kind: "component", type: NgDocListComponent, selector: "ng-doc-list" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocOptionComponent, selector: "ng-doc-option" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "pipe", type: NgDocExtractValuePipe, name: "ngDocExtractValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
23
  }
28
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocTypeAliasControlComponent, decorators: [{
29
25
  type: Component,
@@ -45,8 +41,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
45
41
  NgDocFocusableDirective,
46
42
  NgDocIconComponent,
47
43
  NgDocExtractValuePipe,
48
- ], template: "<ng-doc-combobox [ngModel]=\"model\"\n\t\t\t\t [readonly]=\"true\"\n\t\t\t\t [valueContent]=\"valueTemplate\"\n\t\t\t\t [clearButton]=\"false\"\n\t\t\t\t [rightContent]=\"rightContent\"\n\t\t\t\t (ngModelChange)=\"changeModel($event)\">\n\t<ng-doc-list *ngDocData>\n\t\t<ng-container *ngFor=\"let option of options\">\n\t\t\t<ng-container *ngIf=\"option | ngDocExtractValue as value\">\n\t\t\t\t<ng-doc-option [value]=\"value\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"valueTemplate; context: {$implicit: value}\"></ng-container>\n\t\t\t\t</ng-doc-option>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t</ng-doc-list>\n\t<ng-template let-value #valueTemplate>\n\t\t<div ng-doc-text>\n\t\t\t<ng-doc-kind-icon [kind]=\"typeOf(value)\"\n\t\t\t\t\t\t\t [type]=\"'type'\"\n\t\t\t\t\t\t\t [ngDocTooltip]=\"typeOf(value)\"\n\t\t\t\t\t\t\t positions=\"left-center\"\n\t\t\t\t\t\t\t ngDocTextLeft>\n\t\t\t</ng-doc-kind-icon>\n\t\t\t<div>{{value}}</div>\n\t\t\t<span ng-doc-text\n\t\t\t\t color=\"muted\"\n\t\t\t\t size=\"small\"\n\t\t\t\t *ngIf=\"value === defaultValue\" ngDocTextRight>[default]</span>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-combobox>\n", styles: [":host{display:block;width:100%}\n"] }]
49
- }], ctorParameters: function () { return []; } });
44
+ ], template: "<ng-doc-combobox [ngModel]=\"model\"\n\t\t\t\t [readonly]=\"true\"\n\t\t\t\t [valueContent]=\"valueTemplate\"\n\t\t\t\t [clearButton]=\"false\"\n\t\t\t\t [rightContent]=\"rightContent\"\n\t\t\t\t (ngModelChange)=\"changeModel($event)\">\n\t<ng-doc-list *ngDocData>\n\t\t<ng-container *ngFor=\"let option of options\">\n\t\t\t<ng-container *ngIf=\"option | ngDocExtractValue as value\">\n\t\t\t\t<ng-doc-option [value]=\"value\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"valueTemplate; context: {$implicit: value}\"></ng-container>\n\t\t\t\t</ng-doc-option>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t</ng-doc-list>\n\t<ng-template let-value #valueTemplate>\n\t\t<div ng-doc-text>\n\t\t\t<ng-doc-kind-icon [kind]=\"typeOf(value)\"\n\t\t\t\t\t\t\t [type]=\"'type'\"\n\t\t\t\t\t\t\t [ngDocTooltip]=\"typeOf(value)\"\n\t\t\t\t\t\t\t positions=\"left-center\"\n\t\t\t\t\t\t\t ngDocTextLeft>\n\t\t\t</ng-doc-kind-icon>\n\t\t\t<div>{{value}}</div>\n\t\t\t<span ng-doc-text\n\t\t\t\t color=\"muted\"\n\t\t\t\t size=\"small\"\n\t\t\t\t *ngIf=\"value === default\" ngDocTextRight>[default]</span>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-combobox>\n", styles: [":host{display:block;width:100%}\n"] }]
45
+ }], ctorParameters: function () { return []; }, propDecorators: { default: [{
46
+ type: Input
47
+ }] } });
50
48
 
51
49
  /**
52
50
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-type-controls-type-alias-control.mjs","sources":["../../../../libs/app/type-controls/type-alias-control/type-alias-control.component.ts","../../../../libs/app/type-controls/type-alias-control/type-alias-control.component.html","../../../../libs/app/type-controls/type-alias-control/ng-doc-app-type-controls-type-alias-control.ts"],"sourcesContent":["import {NgFor, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {NgDocKindIconComponent} from '@ng-doc/app/components/kind-icon';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\nimport {NgDocExtractValuePipe} from '@ng-doc/app/pipes/extract-value';\nimport {extractValue} from '@ng-doc/core/helpers/extract-value';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocComboboxComponent,\n\tNgDocDataDirective,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocListComponent,\n\tNgDocOptionComponent,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTextRightDirective,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\nimport {FlControl} from 'flex-controls';\n\n@Component({\n\tselector: 'ng-doc-type-alias-control',\n\ttemplateUrl: './type-alias-control.component.html',\n\tstyleUrls: ['./type-alias-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocComboboxComponent,\n\t\tFormsModule,\n\t\tNgDocDataDirective,\n\t\tNgDocListComponent,\n\t\tNgFor,\n\t\tNgIf,\n\t\tNgDocOptionComponent,\n\t\tNgTemplateOutlet,\n\t\tNgDocTextComponent,\n\t\tNgDocKindIconComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTooltipDirective,\n\t\tNgDocTextRightDirective,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t\tNgDocExtractValuePipe,\n\t],\n})\nexport class NgDocTypeAliasControlComponent<T> extends FlControl<T> implements NgDocTypeControl {\n\tdefault?: string;\n\toptions?: string[];\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget defaultValue(): T | null {\n\t\treturn this.default ? (extractValue(this.default) as unknown as T) : null;\n\t}\n\n\ttypeOf(value: unknown): string {\n\t\treturn typeof value;\n\t}\n\n\tchangeModel(value: T | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.defaultValue : value);\n\t}\n}\n","<ng-doc-combobox [ngModel]=\"model\"\n\t\t\t\t [readonly]=\"true\"\n\t\t\t\t [valueContent]=\"valueTemplate\"\n\t\t\t\t [clearButton]=\"false\"\n\t\t\t\t [rightContent]=\"rightContent\"\n\t\t\t\t (ngModelChange)=\"changeModel($event)\">\n\t<ng-doc-list *ngDocData>\n\t\t<ng-container *ngFor=\"let option of options\">\n\t\t\t<ng-container *ngIf=\"option | ngDocExtractValue as value\">\n\t\t\t\t<ng-doc-option [value]=\"value\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"valueTemplate; context: {$implicit: value}\"></ng-container>\n\t\t\t\t</ng-doc-option>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t</ng-doc-list>\n\t<ng-template let-value #valueTemplate>\n\t\t<div ng-doc-text>\n\t\t\t<ng-doc-kind-icon [kind]=\"typeOf(value)\"\n\t\t\t\t\t\t\t [type]=\"'type'\"\n\t\t\t\t\t\t\t [ngDocTooltip]=\"typeOf(value)\"\n\t\t\t\t\t\t\t positions=\"left-center\"\n\t\t\t\t\t\t\t ngDocTextLeft>\n\t\t\t</ng-doc-kind-icon>\n\t\t\t<div>{{value}}</div>\n\t\t\t<span ng-doc-text\n\t\t\t\t color=\"muted\"\n\t\t\t\t size=\"small\"\n\t\t\t\t *ngIf=\"value === defaultValue\" ngDocTextRight>[default]</span>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(defaultValue)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== defaultValue\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-combobox>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-type-controls-type-alias-control.mjs","sources":["../../../../libs/app/type-controls/type-alias-control/type-alias-control.component.ts","../../../../libs/app/type-controls/type-alias-control/type-alias-control.component.html","../../../../libs/app/type-controls/type-alias-control/ng-doc-app-type-controls-type-alias-control.ts"],"sourcesContent":["import {NgFor, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {NgDocKindIconComponent} from '@ng-doc/app/components/kind-icon';\nimport {NgDocTypeControl} from '@ng-doc/app/interfaces';\nimport {NgDocExtractValuePipe} from '@ng-doc/app/pipes/extract-value';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocComboboxComponent,\n\tNgDocDataDirective,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocListComponent,\n\tNgDocOptionComponent,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTextRightDirective,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\nimport {FlControl} from 'flex-controls';\n\n@Component({\n\tselector: 'ng-doc-type-alias-control',\n\ttemplateUrl: './type-alias-control.component.html',\n\tstyleUrls: ['./type-alias-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocComboboxComponent,\n\t\tFormsModule,\n\t\tNgDocDataDirective,\n\t\tNgDocListComponent,\n\t\tNgFor,\n\t\tNgIf,\n\t\tNgDocOptionComponent,\n\t\tNgTemplateOutlet,\n\t\tNgDocTextComponent,\n\t\tNgDocKindIconComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTooltipDirective,\n\t\tNgDocTextRightDirective,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t\tNgDocExtractValuePipe,\n\t],\n})\nexport class NgDocTypeAliasControlComponent<T> extends FlControl<T> implements NgDocTypeControl<T> {\n\t@Input()\n\tdefault?: T;\n\n\toptions?: string[];\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\ttypeOf(value: unknown): string {\n\t\treturn typeof value;\n\t}\n\n\tchangeModel(value: T | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.default : value);\n\t}\n}\n","<ng-doc-combobox [ngModel]=\"model\"\n\t\t\t\t [readonly]=\"true\"\n\t\t\t\t [valueContent]=\"valueTemplate\"\n\t\t\t\t [clearButton]=\"false\"\n\t\t\t\t [rightContent]=\"rightContent\"\n\t\t\t\t (ngModelChange)=\"changeModel($event)\">\n\t<ng-doc-list *ngDocData>\n\t\t<ng-container *ngFor=\"let option of options\">\n\t\t\t<ng-container *ngIf=\"option | ngDocExtractValue as value\">\n\t\t\t\t<ng-doc-option [value]=\"value\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"valueTemplate; context: {$implicit: value}\"></ng-container>\n\t\t\t\t</ng-doc-option>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t</ng-doc-list>\n\t<ng-template let-value #valueTemplate>\n\t\t<div ng-doc-text>\n\t\t\t<ng-doc-kind-icon [kind]=\"typeOf(value)\"\n\t\t\t\t\t\t\t [type]=\"'type'\"\n\t\t\t\t\t\t\t [ngDocTooltip]=\"typeOf(value)\"\n\t\t\t\t\t\t\t positions=\"left-center\"\n\t\t\t\t\t\t\t ngDocTextLeft>\n\t\t\t</ng-doc-kind-icon>\n\t\t\t<div>{{value}}</div>\n\t\t\t<span ng-doc-text\n\t\t\t\t color=\"muted\"\n\t\t\t\t size=\"small\"\n\t\t\t\t *ngIf=\"value === default\" ngDocTextRight>[default]</span>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"onTouched()\"\n\t\t\t*ngIf=\"model && model !== default\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-combobox>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export * from './application-config';
2
2
  export * from './context';
3
3
  export * from './demo-assets';
4
4
  export * from './navigation';
5
+ export * from './page-processor';
5
6
  export * from './processor-options';
6
7
  export * from './provided-type-control';
7
8
  export * from './search-result';
@@ -0,0 +1,28 @@
1
+ import { Type } from '@angular/core';
2
+ import { NgDocProcessorOptions } from './processor-options';
3
+ /**
4
+ * Interface to create a processor that will be used to replace html nodes with an Angular component.
5
+ */
6
+ export interface NgDocPageProcessor<T> {
7
+ /**
8
+ * Target component to replace html nodes with.
9
+ */
10
+ component: Type<T>;
11
+ /**
12
+ * Selector to find html nodes to replace.
13
+ */
14
+ selector: string;
15
+ /**
16
+ * Extract options for Angular component from html node.
17
+ *
18
+ * @param element - Html node to extract options from.
19
+ * @param root - Root html node.
20
+ */
21
+ extractOptions: (element: Element, root: HTMLElement) => NgDocProcessorOptions<T>;
22
+ /**
23
+ * Can be used to find a node to replace instead of the node that was found by selector.
24
+ *
25
+ * @param element - Html node to replace.
26
+ */
27
+ nodeToReplace?: (element: Element) => Element;
28
+ }
@@ -1,5 +1,4 @@
1
- export interface NgDocProcessorOptions<T> {
2
- anchor?: Element;
1
+ export interface NgDocProcessorOptions<T, K extends keyof T = keyof T> {
3
2
  content?: Node[][];
4
- inputs: Partial<T>;
3
+ inputs?: Partial<Record<K, T[K]>>;
5
4
  }
@@ -2,7 +2,7 @@ import { ControlValueAccessor } from '@angular/forms';
2
2
  /**
3
3
  * Interface describing Type Control
4
4
  */
5
- export interface NgDocTypeControl extends ControlValueAccessor {
5
+ export interface NgDocTypeControl<T = unknown> extends ControlValueAccessor {
6
6
  /**
7
7
  * The name of the input for which it is created
8
8
  */
@@ -14,7 +14,7 @@ export interface NgDocTypeControl extends ControlValueAccessor {
14
14
  /**
15
15
  * The default value of the input
16
16
  */
17
- default?: string;
17
+ default?: T;
18
18
  /**
19
19
  * The list of possible values, it usually works only for Type Aliases which has several values
20
20
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-doc/app",
3
- "version": "16.7.1",
3
+ "version": "16.8.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=16.0.0",
6
6
  "@angular/core": ">=16.0.0",
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.3.0",
15
- "@ng-doc/core": "16.7.1",
16
- "@ng-doc/ui-kit": "16.7.1",
15
+ "@ng-doc/core": "16.8.0",
16
+ "@ng-doc/ui-kit": "16.8.0",
17
17
  "@orama/plugin-match-highlight": "1.0.2",
18
18
  "@orama/stemmers": "1.0.2",
19
19
  "highlight.js": "11.5.1"
@@ -279,65 +279,17 @@
279
279
  "esm": "./esm2022/pipes/sanitize-html/ng-doc-app-pipes-sanitize-html.mjs",
280
280
  "default": "./fesm2022/ng-doc-app-pipes-sanitize-html.mjs"
281
281
  },
282
- "./processors/blockquote-processor": {
283
- "types": "./processors/blockquote-processor/index.d.ts",
284
- "esm2022": "./esm2022/processors/blockquote-processor/ng-doc-app-processors-blockquote-processor.mjs",
285
- "esm": "./esm2022/processors/blockquote-processor/ng-doc-app-processors-blockquote-processor.mjs",
286
- "default": "./fesm2022/ng-doc-app-processors-blockquote-processor.mjs"
287
- },
288
- "./processors/code-processor": {
289
- "types": "./processors/code-processor/index.d.ts",
290
- "esm2022": "./esm2022/processors/code-processor/ng-doc-app-processors-code-processor.mjs",
291
- "esm": "./esm2022/processors/code-processor/ng-doc-app-processors-code-processor.mjs",
292
- "default": "./fesm2022/ng-doc-app-processors-code-processor.mjs"
293
- },
294
- "./processors/demo-pane-processor": {
295
- "types": "./processors/demo-pane-processor/index.d.ts",
296
- "esm2022": "./esm2022/processors/demo-pane-processor/ng-doc-app-processors-demo-pane-processor.mjs",
297
- "esm": "./esm2022/processors/demo-pane-processor/ng-doc-app-processors-demo-pane-processor.mjs",
298
- "default": "./fesm2022/ng-doc-app-processors-demo-pane-processor.mjs"
299
- },
300
- "./processors/demo-processor": {
301
- "types": "./processors/demo-processor/index.d.ts",
302
- "esm2022": "./esm2022/processors/demo-processor/ng-doc-app-processors-demo-processor.mjs",
303
- "esm": "./esm2022/processors/demo-processor/ng-doc-app-processors-demo-processor.mjs",
304
- "default": "./fesm2022/ng-doc-app-processors-demo-processor.mjs"
305
- },
306
- "./processors/html-processor": {
307
- "types": "./processors/html-processor/index.d.ts",
308
- "esm2022": "./esm2022/processors/html-processor/ng-doc-app-processors-html-processor.mjs",
309
- "esm": "./esm2022/processors/html-processor/ng-doc-app-processors-html-processor.mjs",
310
- "default": "./fesm2022/ng-doc-app-processors-html-processor.mjs"
311
- },
312
- "./processors/icon-processor": {
313
- "types": "./processors/icon-processor/index.d.ts",
314
- "esm2022": "./esm2022/processors/icon-processor/ng-doc-app-processors-icon-processor.mjs",
315
- "esm": "./esm2022/processors/icon-processor/ng-doc-app-processors-icon-processor.mjs",
316
- "default": "./fesm2022/ng-doc-app-processors-icon-processor.mjs"
317
- },
318
- "./processors/link-processor": {
319
- "types": "./processors/link-processor/index.d.ts",
320
- "esm2022": "./esm2022/processors/link-processor/ng-doc-app-processors-link-processor.mjs",
321
- "esm": "./esm2022/processors/link-processor/ng-doc-app-processors-link-processor.mjs",
322
- "default": "./fesm2022/ng-doc-app-processors-link-processor.mjs"
323
- },
324
- "./processors/playground-processor": {
325
- "types": "./processors/playground-processor/index.d.ts",
326
- "esm2022": "./esm2022/processors/playground-processor/ng-doc-app-processors-playground-processor.mjs",
327
- "esm": "./esm2022/processors/playground-processor/ng-doc-app-processors-playground-processor.mjs",
328
- "default": "./fesm2022/ng-doc-app-processors-playground-processor.mjs"
329
- },
330
- "./processors/tabs-processor": {
331
- "types": "./processors/tabs-processor/index.d.ts",
332
- "esm2022": "./esm2022/processors/tabs-processor/ng-doc-app-processors-tabs-processor.mjs",
333
- "esm": "./esm2022/processors/tabs-processor/ng-doc-app-processors-tabs-processor.mjs",
334
- "default": "./fesm2022/ng-doc-app-processors-tabs-processor.mjs"
335
- },
336
- "./processors/tooltip-processor": {
337
- "types": "./processors/tooltip-processor/index.d.ts",
338
- "esm2022": "./esm2022/processors/tooltip-processor/ng-doc-app-processors-tooltip-processor.mjs",
339
- "esm": "./esm2022/processors/tooltip-processor/ng-doc-app-processors-tooltip-processor.mjs",
340
- "default": "./fesm2022/ng-doc-app-processors-tooltip-processor.mjs"
282
+ "./processors/page-processor": {
283
+ "types": "./processors/page-processor/index.d.ts",
284
+ "esm2022": "./esm2022/processors/page-processor/ng-doc-app-processors-page-processor.mjs",
285
+ "esm": "./esm2022/processors/page-processor/ng-doc-app-processors-page-processor.mjs",
286
+ "default": "./fesm2022/ng-doc-app-processors-page-processor.mjs"
287
+ },
288
+ "./processors/processors": {
289
+ "types": "./processors/processors/index.d.ts",
290
+ "esm2022": "./esm2022/processors/processors/ng-doc-app-processors-processors.mjs",
291
+ "esm": "./esm2022/processors/processors/ng-doc-app-processors-processors.mjs",
292
+ "default": "./fesm2022/ng-doc-app-processors-processors.mjs"
341
293
  },
342
294
  "./services/sidebar": {
343
295
  "types": "./services/sidebar/index.d.ts",
@@ -0,0 +1,2 @@
1
+ import { Provider } from '@angular/core';
2
+ export declare const NG_DOC_DEFAULT_PAGE_PROCESSORS: Provider[];
@@ -1,10 +1,3 @@
1
- export * from '@ng-doc/app/processors/blockquote-processor';
2
- export * from '@ng-doc/app/processors/code-processor';
3
- export * from '@ng-doc/app/processors/demo-pane-processor';
4
- export * from '@ng-doc/app/processors/demo-processor';
5
- export * from '@ng-doc/app/processors/html-processor';
6
- export * from '@ng-doc/app/processors/icon-processor';
7
- export * from '@ng-doc/app/processors/link-processor';
8
- export * from '@ng-doc/app/processors/playground-processor';
9
- export * from '@ng-doc/app/processors/tabs-processor';
10
- export * from '@ng-doc/app/processors/tooltip-processor';
1
+ export * from './default-processors';
2
+ export * from '@ng-doc/app/processors/page-processor';
3
+ export * from '@ng-doc/app/processors/processors';
@@ -0,0 +1 @@
1
+ export * from './page-processor.directive';
@@ -0,0 +1,19 @@
1
+ import { ElementRef, Injector, OnInit, ViewContainerRef } from '@angular/core';
2
+ import { NgDocPageProcessor } from '@ng-doc/app/interfaces';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Base processor class to create a processor directive that will be used to replace
6
+ * html nodes with an Angular component.
7
+ */
8
+ export declare class NgDocPageProcessorDirective implements OnInit {
9
+ protected readonly elementRef: ElementRef<HTMLElement>;
10
+ protected readonly viewContainerRef: ViewContainerRef;
11
+ processors: Array<NgDocPageProcessor<unknown>>;
12
+ customProcessors: Array<NgDocPageProcessor<unknown>>;
13
+ injector: Injector;
14
+ constructor(elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef);
15
+ ngOnInit(): void;
16
+ private process;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPageProcessorDirective, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocPageProcessorDirective, "[ngDocPageProcessor]", never, {}, {}, never, never, true, never>;
19
+ }
@@ -0,0 +1,3 @@
1
+ import { NgDocPageProcessor } from '@ng-doc/app/interfaces';
2
+ import { NgDocBlockquoteComponent } from '@ng-doc/ui-kit';
3
+ export declare const blockquoteProcessor: NgDocPageProcessor<NgDocBlockquoteComponent>;
@@ -0,0 +1,3 @@
1
+ import { NgDocCodeComponent } from '@ng-doc/app/components/code';
2
+ import { NgDocPageProcessor } from '@ng-doc/app/interfaces';
3
+ export declare const codeProcessor: NgDocPageProcessor<NgDocCodeComponent>;
@@ -0,0 +1,3 @@
1
+ import { NgDocDemoPaneComponent } from '@ng-doc/app/components/demo-pane';
2
+ import { NgDocPageProcessor } from '@ng-doc/app/interfaces';
3
+ export declare const demoPaneProcessor: NgDocPageProcessor<NgDocDemoPaneComponent>;
@@ -0,0 +1,3 @@
1
+ import { NgDocDemoComponent } from '@ng-doc/app/components/demo';
2
+ import { NgDocPageProcessor } from '@ng-doc/app/interfaces';
3
+ export declare const demoProcessor: NgDocPageProcessor<NgDocDemoComponent>;