aril 0.0.44 → 0.0.46

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 (750) hide show
  1. package/.eslintrc.json +41 -0
  2. package/README.md +48 -48
  3. package/boot/config/api/{index.d.ts → index.ts} +1 -1
  4. package/boot/config/api/ng-package.json +6 -0
  5. package/boot/config/api/src/api.service.ts +57 -0
  6. package/boot/config/api/src/interfaces.ts +13 -0
  7. package/boot/config/apps/{index.d.ts → index.ts} +2 -2
  8. package/boot/config/apps/ng-package.json +6 -0
  9. package/boot/config/apps/src/apps.service.ts +64 -0
  10. package/boot/config/apps/src/interfaces.ts +27 -0
  11. package/boot/config/apps/src/showdowDOMWrapper.ts +28 -0
  12. package/boot/config/plugins/{index.d.ts → index.ts} +2 -2
  13. package/boot/config/plugins/ng-package.json +6 -0
  14. package/boot/config/plugins/src/getNgZone.ts +9 -0
  15. package/boot/config/plugins/src/interfaces.ts +11 -0
  16. package/boot/config/plugins/src/plugins.service.ts +82 -0
  17. package/boot/host/{index.d.ts → index.ts} +1 -1
  18. package/boot/host/ng-package.json +6 -0
  19. package/boot/host/src/app.component.ts +27 -0
  20. package/boot/host/src/bootstrap.ts +61 -0
  21. package/boot/index.ts +1 -0
  22. package/boot/mfe/{index.d.ts → index.ts} +1 -1
  23. package/boot/mfe/ng-package.json +6 -0
  24. package/boot/mfe/src/app.component.ts +57 -0
  25. package/boot/mfe/src/appComponentLoader.ts +4 -0
  26. package/boot/mfe/src/bootstrap.ts +78 -0
  27. package/boot/mfe/src/loadStyles.ts +19 -0
  28. package/boot/ng-package.json +6 -0
  29. package/http/{index.d.ts → index.ts} +13 -8
  30. package/http/lib/enums.ts +13 -0
  31. package/http/lib/interfaces.ts +38 -0
  32. package/http/ng-package.json +6 -0
  33. package/http/src/httpBackend.ts +12 -0
  34. package/http/src/httpClient.ts +20 -0
  35. package/http/src/interceptor/state-machine.interceptor.ts +9 -0
  36. package/http/src/serviceBase.ts +91 -0
  37. package/http/src/serviceMockBase.ts +12 -0
  38. package/http/src/serviceRequest.ts +26 -0
  39. package/http/src/serviceStateMethods.ts +155 -0
  40. package/i18n/{index.d.ts → index.ts} +5 -5
  41. package/i18n/ng-package.json +6 -0
  42. package/i18n/src/folder-name-token.ts +3 -0
  43. package/i18n/src/i18n.module.ts +11 -0
  44. package/i18n/src/loader.ts +16 -0
  45. package/i18n/src/provideI18n.ts +18 -0
  46. package/i18n/src/provideScope.ts +20 -0
  47. package/keycloak/{index.d.ts → index.ts} +3 -3
  48. package/keycloak/ng-package.json +6 -0
  49. package/keycloak/src/auth.guard.ts +37 -0
  50. package/keycloak/src/auth.interceptor.ts +13 -0
  51. package/keycloak/src/keycloak.manager.ts +89 -0
  52. package/ng-package.json +14 -0
  53. package/package.json +31 -314
  54. package/project.json +39 -0
  55. package/{public-api.d.ts → public-api.ts} +2 -2
  56. package/theme/index.ts +1 -1
  57. package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +17 -10
  58. package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +50 -50
  59. package/theme/layout/app/config/app.config.component.html +142 -142
  60. package/theme/layout/app/config/app.config.component.ts +143 -143
  61. package/theme/layout/app/layout/app.layout.component.html +19 -19
  62. package/theme/layout/app/layout/app.layout.component.ts +170 -170
  63. package/theme/layout/app/layout/mfe.layout.component.ts +49 -49
  64. package/theme/layout/app/menu/app.menu.component.html +9 -9
  65. package/theme/layout/app/menu/app.menu.component.ts +356 -356
  66. package/theme/layout/app/menu/app.sub.menu.component.html +13 -13
  67. package/theme/layout/app/sidebar/app.sidebar.component.ts +44 -44
  68. package/theme/layout/app/topbar/app.topbar.component.html +1 -1
  69. package/theme/layout/index.ts +3 -3
  70. package/theme/layout/ng-package.json +6 -6
  71. package/theme/layout/service/menuchangeevent.ts +4 -4
  72. package/theme/ng-package.json +6 -6
  73. package/theme/styles/layout/_animation.scss +53 -53
  74. package/theme/styles/layout/_breadcrumb.scss +21 -21
  75. package/theme/styles/layout/_config.scss +42 -42
  76. package/theme/styles/layout/_content.scss +3 -3
  77. package/theme/styles/layout/_fonts.scss +40 -40
  78. package/theme/styles/layout/_layout_dark.scss +5 -5
  79. package/theme/styles/layout/_layout_dim.scss +5 -5
  80. package/theme/styles/layout/_layout_light.scss +5 -5
  81. package/theme/styles/layout/_main.scss +28 -28
  82. package/theme/styles/layout/_profile.scss +10 -10
  83. package/theme/styles/layout/_responsive.scss +111 -111
  84. package/theme/styles/layout/_sidebar_drawer.scss +234 -234
  85. package/theme/styles/layout/_sidebar_horizontal.scss +163 -163
  86. package/theme/styles/layout/_sidebar_reveal.scss +201 -201
  87. package/theme/styles/layout/_sidebar_slim.scss +144 -144
  88. package/theme/styles/layout/_sidebar_slim_plus.scss +162 -162
  89. package/theme/styles/layout/_sidebar_vertical.scss +153 -153
  90. package/theme/styles/layout/_typography.scss +68 -68
  91. package/theme/styles/layout/_utils.scss +24 -24
  92. package/theme/styles/layout/layout.scss +24 -24
  93. package/theme/styles/layout/menutheme/_colorscheme.scss +11 -11
  94. package/theme/styles/layout/menutheme/_menutheme.scss +3 -3
  95. package/theme/styles/layout/menutheme/_primarycolor.scss +16 -16
  96. package/theme/styles/layout/menutheme/_transparent.scss +26 -26
  97. package/theme/styles/layout/preloading.scss +84 -84
  98. package/theme/styles/theme/base/_colors.scss +17 -17
  99. package/theme/styles/theme/base/_common.scss +76 -76
  100. package/theme/styles/theme/base/_components.scss +106 -106
  101. package/theme/styles/theme/base/_mixins.scss +337 -337
  102. package/theme/styles/theme/base/components/button/_button.scss +576 -576
  103. package/theme/styles/theme/base/components/button/_speeddial.scss +96 -96
  104. package/theme/styles/theme/base/components/button/_splitbutton.scss +348 -348
  105. package/theme/styles/theme/base/components/data/_carousel.scss +37 -37
  106. package/theme/styles/theme/base/components/data/_datatable.scss +338 -338
  107. package/theme/styles/theme/base/components/data/_dataview.scss +46 -46
  108. package/theme/styles/theme/base/components/data/_filter.scss +137 -137
  109. package/theme/styles/theme/base/components/data/_orderlist.scss +114 -114
  110. package/theme/styles/theme/base/components/data/_organizationchart.scss +50 -50
  111. package/theme/styles/theme/base/components/data/_paginator.scss +92 -92
  112. package/theme/styles/theme/base/components/data/_picklist.scss +114 -114
  113. package/theme/styles/theme/base/components/data/_timeline.scss +35 -35
  114. package/theme/styles/theme/base/components/data/_tree.scss +150 -150
  115. package/theme/styles/theme/base/components/data/_treetable.scss +255 -255
  116. package/theme/styles/theme/base/components/data/_virtualscroller.scss +28 -28
  117. package/theme/styles/theme/base/components/file/_fileupload.scss +64 -64
  118. package/theme/styles/theme/base/components/input/_autocomplete.scss +136 -136
  119. package/theme/styles/theme/base/components/input/_calendar.scss +267 -267
  120. package/theme/styles/theme/base/components/input/_cascadeselect.scss +135 -135
  121. package/theme/styles/theme/base/components/input/_checkbox.scss +94 -94
  122. package/theme/styles/theme/base/components/input/_chips.scss +65 -65
  123. package/theme/styles/theme/base/components/input/_colorpicker.scss +19 -19
  124. package/theme/styles/theme/base/components/input/_dropdown.scss +151 -151
  125. package/theme/styles/theme/base/components/input/_editor.scss +122 -122
  126. package/theme/styles/theme/base/components/input/_inputgroup.scss +75 -75
  127. package/theme/styles/theme/base/components/input/_inputmask.scss +16 -16
  128. package/theme/styles/theme/base/components/input/_inputnumber.scss +28 -28
  129. package/theme/styles/theme/base/components/input/_inputswitch.scss +60 -60
  130. package/theme/styles/theme/base/components/input/_inputtext.scss +100 -100
  131. package/theme/styles/theme/base/components/input/_listbox.scss +97 -97
  132. package/theme/styles/theme/base/components/input/_multiselect.scss +177 -177
  133. package/theme/styles/theme/base/components/input/_password.scss +52 -52
  134. package/theme/styles/theme/base/components/input/_radiobutton.scss +78 -78
  135. package/theme/styles/theme/base/components/input/_rating.scss +60 -60
  136. package/theme/styles/theme/base/components/input/_selectbutton.scss +50 -50
  137. package/theme/styles/theme/base/components/input/_slider.scss +75 -75
  138. package/theme/styles/theme/base/components/input/_togglebutton.scss +48 -48
  139. package/theme/styles/theme/base/components/input/_treeselect.scss +139 -139
  140. package/theme/styles/theme/base/components/menu/_breadcrumb.scss +42 -42
  141. package/theme/styles/theme/base/components/menu/_contextmenu.scss +39 -39
  142. package/theme/styles/theme/base/components/menu/_dock.scss +95 -95
  143. package/theme/styles/theme/base/components/menu/_megamenu.scss +55 -55
  144. package/theme/styles/theme/base/components/menu/_menu.scss +37 -37
  145. package/theme/styles/theme/base/components/menu/_menubar.scss +140 -140
  146. package/theme/styles/theme/base/components/menu/_panelmenu.scss +153 -153
  147. package/theme/styles/theme/base/components/menu/_slidemenu.scss +59 -59
  148. package/theme/styles/theme/base/components/menu/_steps.scss +56 -56
  149. package/theme/styles/theme/base/components/menu/_tabmenu.scss +73 -73
  150. package/theme/styles/theme/base/components/menu/_tieredmenu.scss +43 -43
  151. package/theme/styles/theme/base/components/messages/_inlinemessage.scss +69 -69
  152. package/theme/styles/theme/base/components/messages/_message.scss +107 -107
  153. package/theme/styles/theme/base/components/messages/_toast.scss +99 -99
  154. package/theme/styles/theme/base/components/misc/_avatar.scss +30 -30
  155. package/theme/styles/theme/base/components/misc/_badge.scss +48 -48
  156. package/theme/styles/theme/base/components/misc/_chip.scss +42 -42
  157. package/theme/styles/theme/base/components/misc/_inplace.scss +16 -16
  158. package/theme/styles/theme/base/components/misc/_progressbar.scss +17 -17
  159. package/theme/styles/theme/base/components/misc/_scrolltop.scss +25 -25
  160. package/theme/styles/theme/base/components/misc/_skeleton.scss +8 -8
  161. package/theme/styles/theme/base/components/misc/_tag.scss +40 -40
  162. package/theme/styles/theme/base/components/misc/_terminal.scss +12 -12
  163. package/theme/styles/theme/base/components/multimedia/_galleria.scss +155 -155
  164. package/theme/styles/theme/base/components/multimedia/_image.scss +49 -49
  165. package/theme/styles/theme/base/components/overlay/_confirmpopup.scss +70 -70
  166. package/theme/styles/theme/base/components/overlay/_dialog.scss +69 -69
  167. package/theme/styles/theme/base/components/overlay/_overlaypanel.scss +62 -62
  168. package/theme/styles/theme/base/components/overlay/_sidebar.scss +27 -27
  169. package/theme/styles/theme/base/components/overlay/_tooltip.scss +33 -33
  170. package/theme/styles/theme/base/components/panel/_accordion.scss +119 -119
  171. package/theme/styles/theme/base/components/panel/_card.scss +30 -30
  172. package/theme/styles/theme/base/components/panel/_divider.scss +31 -31
  173. package/theme/styles/theme/base/components/panel/_fieldset.scss +47 -47
  174. package/theme/styles/theme/base/components/panel/_panel.scss +69 -63
  175. package/theme/styles/theme/base/components/panel/_scrollpanel.scss +6 -6
  176. package/theme/styles/theme/base/components/panel/_splitter.scss +19 -19
  177. package/theme/styles/theme/base/components/panel/_tabview.scss +82 -82
  178. package/theme/styles/theme/base/components/panel/_toolbar.scss +11 -11
  179. package/theme/styles/theme/dark/_extensions.scss +134 -134
  180. package/theme/styles/theme/dark/_variables.scss +918 -918
  181. package/theme/styles/theme/dark/blue/theme.scss +14 -14
  182. package/theme/styles/theme/dark/indigo/theme.scss +14 -14
  183. package/theme/styles/theme/light/_extensions.scss +116 -116
  184. package/theme/styles/theme/light/_variables.scss +911 -911
  185. package/theme/styles/theme/light/blue/theme.scss +14 -14
  186. package/theme/styles/theme/light/indigo/theme.scss +14 -14
  187. package/tsconfig.lib.json +12 -0
  188. package/tsconfig.lib.prod.json +10 -0
  189. package/tsconfig.spec.json +9 -0
  190. package/ui/autoComplete/{index.d.ts → index.ts} +1 -1
  191. package/ui/autoComplete/ng-package.json +6 -0
  192. package/ui/autoComplete/src/auto-complete.component.html +11 -0
  193. package/ui/autoComplete/src/auto-complete.component.ts +92 -0
  194. package/ui/autoComplete/src/interfaces.ts +30 -0
  195. package/ui/badge/{index.d.ts → index.ts} +1 -1
  196. package/ui/badge/ng-package.json +6 -0
  197. package/ui/badge/src/badge.component.html +3 -0
  198. package/ui/badge/src/badge.component.ts +19 -0
  199. package/ui/button/{index.d.ts → index.ts} +2 -2
  200. package/ui/button/ng-package.json +6 -0
  201. package/ui/button/src/button.component.html +10 -0
  202. package/ui/button/src/button.component.ts +43 -0
  203. package/ui/button/src/split-button.component.html +2 -0
  204. package/ui/button/src/split-button.component.ts +17 -0
  205. package/ui/calendar/{index.d.ts → index.ts} +1 -1
  206. package/ui/calendar/ng-package.json +6 -0
  207. package/ui/calendar/src/calendar.component.html +31 -0
  208. package/ui/calendar/src/calendar.component.ts +136 -0
  209. package/ui/checkbox/{index.d.ts → index.ts} +2 -2
  210. package/ui/checkbox/ng-package.json +6 -0
  211. package/ui/checkbox/src/check-box.component.html +9 -0
  212. package/ui/checkbox/src/check-box.component.ts +19 -0
  213. package/ui/checkbox/src/tri-state-checkbox.component.html +7 -0
  214. package/ui/checkbox/src/tri-state-checkbox.component.ts +20 -0
  215. package/ui/dxField/{index.d.ts → index.ts} +1 -1
  216. package/ui/dxField/ng-package.json +6 -0
  217. package/ui/dxField/src/dx-field.component.html +8 -0
  218. package/ui/dxField/src/dx-field.component.ts +16 -0
  219. package/ui/field/{index.d.ts → index.ts} +1 -1
  220. package/ui/field/ng-package.json +6 -0
  221. package/ui/field/src/field.component.html +22 -0
  222. package/ui/field/src/field.component.ts +46 -0
  223. package/ui/fileUpload/{index.d.ts → index.ts} +1 -1
  224. package/ui/fileUpload/ng-package.json +6 -0
  225. package/ui/fileUpload/src/file-upload.component.html +38 -0
  226. package/ui/fileUpload/src/file-upload.component.ts +72 -0
  227. package/ui/form/index.ts +18 -0
  228. package/ui/form/ng-package.json +6 -0
  229. package/ui/form/src/form-submit-button.component.html +12 -0
  230. package/ui/form/src/form-submit-button.component.ts +36 -0
  231. package/ui/form/src/form.component.ts +20 -0
  232. package/ui/index.ts +1 -0
  233. package/ui/lib/{index.d.ts → index.ts} +16 -11
  234. package/ui/lib/ng-package.json +6 -0
  235. package/ui/lib/src/form/form-error-message.component.ts +25 -0
  236. package/ui/lib/src/form/form-error-message.directive.ts +32 -0
  237. package/ui/lib/src/form/form-field-builder.ts +31 -0
  238. package/ui/lib/src/form/form-validation.ts +14 -0
  239. package/ui/lib/src/grid/flex-grid.directive.ts +10 -0
  240. package/ui/lib/src/input/baseInput.ts +30 -0
  241. package/ui/lib/src/input/common-input-validators.service.ts +57 -0
  242. package/ui/lib/src/input/dx-input-error-message.pipe.ts +16 -0
  243. package/ui/lib/src/input/input-disabled.directive.ts +15 -0
  244. package/ui/lib/src/input/input-error-message.pipe.ts +39 -0
  245. package/ui/lib/src/input/input-transforms.ts +11 -0
  246. package/ui/lib/src/input/value-accessor.directive.ts +27 -0
  247. package/ui/mask/{index.d.ts → index.ts} +1 -1
  248. package/ui/mask/ng-package.json +6 -0
  249. package/ui/mask/src/mask.component.css +23 -0
  250. package/ui/mask/src/mask.component.html +17 -0
  251. package/ui/mask/src/mask.component.ts +34 -0
  252. package/ui/ng-package.json +6 -0
  253. package/ui/number/{index.d.ts → index.ts} +1 -1
  254. package/ui/number/ng-package.json +6 -0
  255. package/ui/number/src/number.component.html +25 -0
  256. package/ui/number/src/number.component.ts +34 -0
  257. package/ui/overlayPanel/{index.d.ts → index.ts} +1 -1
  258. package/ui/overlayPanel/ng-package.json +6 -0
  259. package/ui/overlayPanel/src/overlay-panel.component.html +5 -0
  260. package/ui/overlayPanel/src/overlay-panel.component.ts +16 -0
  261. package/ui/panel/{index.d.ts → index.ts} +1 -1
  262. package/ui/panel/ng-package.json +6 -0
  263. package/ui/panel/src/panel.component.css +25 -0
  264. package/ui/panel/src/panel.component.html +38 -0
  265. package/ui/panel/src/panel.component.ts +24 -0
  266. package/ui/password/{index.d.ts → index.ts} +1 -1
  267. package/ui/password/ng-package.json +6 -0
  268. package/ui/password/src/password.component.html +24 -0
  269. package/ui/password/src/password.component.ts +22 -0
  270. package/ui/radioButton/{index.d.ts → index.ts} +1 -1
  271. package/ui/radioButton/ng-package.json +6 -0
  272. package/ui/radioButton/src/radio-button.component.html +17 -0
  273. package/ui/radioButton/src/radio-button.component.ts +36 -0
  274. package/ui/selectBox/{index.d.ts → index.ts} +1 -1
  275. package/ui/selectBox/ng-package.json +6 -0
  276. package/ui/selectBox/src/interfaces.ts +41 -0
  277. package/ui/selectBox/src/select-box.component.html +17 -0
  278. package/ui/selectBox/src/select-box.component.ts +69 -0
  279. package/{styles/ui → ui/styles}/ui.common.scss +24 -24
  280. package/ui/switch/{index.d.ts → index.ts} +1 -1
  281. package/ui/switch/ng-package.json +6 -0
  282. package/ui/switch/src/switch.component.html +7 -0
  283. package/ui/switch/src/switch.component.ts +18 -0
  284. package/ui/table/index.ts +34 -0
  285. package/ui/table/ng-package.json +6 -0
  286. package/ui/table/src/i18n.ts +55 -0
  287. package/ui/table/src/table-column.component.ts +28 -0
  288. package/ui/table/src/table.component.html +136 -0
  289. package/ui/table/src/table.component.ts +99 -0
  290. package/ui/tagBox/{index.d.ts → index.ts} +1 -1
  291. package/ui/tagBox/ng-package.json +6 -0
  292. package/ui/tagBox/src/tag-box.component.html +21 -0
  293. package/ui/tagBox/src/tag-box.component.ts +53 -0
  294. package/ui/text/{index.d.ts → index.ts} +1 -1
  295. package/ui/text/ng-package.json +6 -0
  296. package/ui/text/src/text.component.html +21 -0
  297. package/ui/text/src/text.component.ts +47 -0
  298. package/ui/textArea/{index.d.ts → index.ts} +1 -1
  299. package/ui/textArea/ng-package.json +6 -0
  300. package/ui/textArea/src/text-area.component.html +11 -0
  301. package/ui/textArea/src/text-area.component.ts +21 -0
  302. package/ui/toggle-button/index.ts +1 -0
  303. package/ui/toggle-button/ng-package.json +6 -0
  304. package/ui/toggle-button/src/toggle-button.component.html +13 -0
  305. package/ui/toggle-button/src/toggle-button.component.scss +19 -0
  306. package/ui/toggle-button/src/toggle-button.component.ts +22 -0
  307. package/ui/tree/{index.d.ts → index.ts} +1 -1
  308. package/ui/tree/ng-package.json +6 -0
  309. package/ui/tree/src/tree.component.html +16 -0
  310. package/ui/tree/src/tree.component.ts +52 -0
  311. package/ui/treeTable/{index.d.ts → index.ts} +1 -1
  312. package/ui/treeTable/ng-package.json +6 -0
  313. package/ui/treeTable/src/tree-table.component.html +88 -0
  314. package/ui/treeTable/src/tree-table.component.ts +57 -0
  315. package/ui/value/{index.d.ts → index.ts} +1 -1
  316. package/ui/value/ng-package.json +6 -0
  317. package/ui/value/src/value.component.html +19 -0
  318. package/ui/value/src/value.component.ts +39 -0
  319. package/util/block/{index.d.ts → index.ts} +1 -1
  320. package/util/block/ng-package.json +6 -0
  321. package/util/block/src/block.ts +65 -0
  322. package/util/custom_pages/{index.d.ts → index.ts} +1 -1
  323. package/util/custom_pages/ng-package.json +6 -0
  324. package/util/custom_pages/src/notFound.component.ts +34 -0
  325. package/util/index.ts +1 -0
  326. package/util/init-event/{index.d.ts → index.ts} +1 -1
  327. package/util/init-event/ng-package.json +6 -0
  328. package/util/init-event/src/init-event.directive.ts +13 -0
  329. package/util/lib/{index.d.ts → index.ts} +3 -3
  330. package/util/lib/ng-package.json +6 -0
  331. package/util/lib/src/interfaces.ts +44 -0
  332. package/util/lib/src/module-router.ts +10 -0
  333. package/util/lib/src/types.ts +49 -0
  334. package/util/loaders/{index.d.ts → index.ts} +2 -2
  335. package/util/loaders/ng-package.json +6 -0
  336. package/util/loaders/script/script.loader.service.ts +69 -0
  337. package/util/loaders/style/style.loader.service.ts +69 -0
  338. package/util/ng-package.json +6 -0
  339. package/util/primitive-extensions/{index.d.ts → index.ts} +4 -4
  340. package/util/primitive-extensions/ng-package.json +6 -0
  341. package/util/primitive-extensions/src/{boolean.extensions.d.ts → boolean.extensions.ts} +1 -1
  342. package/util/primitive-extensions/src/date.extensions.ts +135 -0
  343. package/util/primitive-extensions/src/number.extensions.ts +57 -0
  344. package/util/primitive-extensions/src/string.extensions.ts +39 -0
  345. package/util/pub-sub/{index.d.ts → index.ts} +1 -1
  346. package/util/pub-sub/ng-package.json +6 -0
  347. package/util/pub-sub/src/pub-sub.service.ts +34 -0
  348. package/boot/config/api/src/api.service.d.ts +0 -14
  349. package/boot/config/api/src/interfaces.d.ts +0 -9
  350. package/boot/config/apps/src/apps.service.d.ts +0 -16
  351. package/boot/config/apps/src/interfaces.d.ts +0 -23
  352. package/boot/config/apps/src/showdowDOMWrapper.d.ts +0 -10
  353. package/boot/config/plugins/src/getNgZone.d.ts +0 -5
  354. package/boot/config/plugins/src/interfaces.d.ts +0 -18
  355. package/boot/config/plugins/src/plugins.service.d.ts +0 -9
  356. package/boot/host/src/app.component.d.ts +0 -8
  357. package/boot/host/src/bootstrap.d.ts +0 -2
  358. package/boot/index.d.ts +0 -1
  359. package/boot/mfe/src/app.component.d.ts +0 -12
  360. package/boot/mfe/src/appComponentLoader.d.ts +0 -1
  361. package/boot/mfe/src/bootstrap.d.ts +0 -6
  362. package/boot/mfe/src/loadStyles.d.ts +0 -3
  363. package/esm2022/aril.mjs +0 -5
  364. package/esm2022/boot/aril-boot.mjs +0 -5
  365. package/esm2022/boot/config/api/aril-boot-config-api.mjs +0 -5
  366. package/esm2022/boot/config/api/index.mjs +0 -2
  367. package/esm2022/boot/config/api/src/api.service.mjs +0 -42
  368. package/esm2022/boot/config/api/src/interfaces.mjs +0 -11
  369. package/esm2022/boot/config/apps/aril-boot-config-apps.mjs +0 -5
  370. package/esm2022/boot/config/apps/index.mjs +0 -3
  371. package/esm2022/boot/config/apps/src/apps.service.mjs +0 -51
  372. package/esm2022/boot/config/apps/src/interfaces.mjs +0 -17
  373. package/esm2022/boot/config/apps/src/showdowDOMWrapper.mjs +0 -35
  374. package/esm2022/boot/config/plugins/aril-boot-config-plugins.mjs +0 -5
  375. package/esm2022/boot/config/plugins/index.mjs +0 -3
  376. package/esm2022/boot/config/plugins/src/getNgZone.mjs +0 -12
  377. package/esm2022/boot/config/plugins/src/interfaces.mjs +0 -3
  378. package/esm2022/boot/config/plugins/src/plugins.service.mjs +0 -65
  379. package/esm2022/boot/host/aril-boot-host.mjs +0 -5
  380. package/esm2022/boot/host/index.mjs +0 -2
  381. package/esm2022/boot/host/src/app.component.mjs +0 -32
  382. package/esm2022/boot/host/src/bootstrap.mjs +0 -50
  383. package/esm2022/boot/index.mjs +0 -2
  384. package/esm2022/boot/mfe/aril-boot-mfe.mjs +0 -5
  385. package/esm2022/boot/mfe/index.mjs +0 -2
  386. package/esm2022/boot/mfe/src/app.component.mjs +0 -60
  387. package/esm2022/boot/mfe/src/appComponentLoader.mjs +0 -5
  388. package/esm2022/boot/mfe/src/bootstrap.mjs +0 -64
  389. package/esm2022/boot/mfe/src/loadStyles.mjs +0 -16
  390. package/esm2022/http/aril-http.mjs +0 -5
  391. package/esm2022/http/index.mjs +0 -12
  392. package/esm2022/http/lib/enums.mjs +0 -16
  393. package/esm2022/http/lib/interfaces.mjs +0 -15
  394. package/esm2022/http/src/httpBackend.mjs +0 -17
  395. package/esm2022/http/src/httpClient.mjs +0 -14
  396. package/esm2022/http/src/interceptor/state-machine.interceptor.mjs +0 -8
  397. package/esm2022/http/src/serviceBase.mjs +0 -58
  398. package/esm2022/http/src/serviceMockBase.mjs +0 -5
  399. package/esm2022/http/src/serviceRequest.mjs +0 -21
  400. package/esm2022/http/src/serviceStateMethods.mjs +0 -119
  401. package/esm2022/i18n/aril-i18n.mjs +0 -5
  402. package/esm2022/i18n/index.mjs +0 -6
  403. package/esm2022/i18n/src/folder-name-token.mjs +0 -3
  404. package/esm2022/i18n/src/i18n.module.mjs +0 -17
  405. package/esm2022/i18n/src/loader.mjs +0 -20
  406. package/esm2022/i18n/src/provideI18n.mjs +0 -16
  407. package/esm2022/i18n/src/provideScope.mjs +0 -18
  408. package/esm2022/keycloak/aril-keycloak.mjs +0 -5
  409. package/esm2022/keycloak/index.mjs +0 -4
  410. package/esm2022/keycloak/src/auth.guard.mjs +0 -39
  411. package/esm2022/keycloak/src/auth.interceptor.mjs +0 -10
  412. package/esm2022/keycloak/src/keycloak.manager.mjs +0 -76
  413. package/esm2022/public-api.mjs +0 -3
  414. package/esm2022/theme/aril-theme.mjs +0 -5
  415. package/esm2022/theme/index.mjs +0 -2
  416. package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +0 -41
  417. package/esm2022/theme/layout/app/config/app.config.component.mjs +0 -132
  418. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +0 -147
  419. package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +0 -67
  420. package/esm2022/theme/layout/app/menu/app.menu.component.mjs +0 -398
  421. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +0 -28
  422. package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +0 -41
  423. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +0 -34
  424. package/esm2022/theme/layout/aril-theme-layout.mjs +0 -5
  425. package/esm2022/theme/layout/index.mjs +0 -4
  426. package/esm2022/theme/layout/service/app.layout.service.mjs +0 -127
  427. package/esm2022/theme/layout/service/app.menu.service.mjs +0 -53
  428. package/esm2022/theme/layout/service/menuchangeevent.mjs +0 -2
  429. package/esm2022/ui/aril-ui.mjs +0 -5
  430. package/esm2022/ui/autoComplete/aril-ui-autoComplete.mjs +0 -5
  431. package/esm2022/ui/autoComplete/index.mjs +0 -2
  432. package/esm2022/ui/autoComplete/src/auto-complete.component.mjs +0 -71
  433. package/esm2022/ui/autoComplete/src/interfaces.mjs +0 -2
  434. package/esm2022/ui/badge/aril-ui-badge.mjs +0 -5
  435. package/esm2022/ui/badge/index.mjs +0 -2
  436. package/esm2022/ui/badge/src/badge.component.mjs +0 -19
  437. package/esm2022/ui/button/aril-ui-button.mjs +0 -5
  438. package/esm2022/ui/button/index.mjs +0 -3
  439. package/esm2022/ui/button/src/button.component.mjs +0 -37
  440. package/esm2022/ui/button/src/split-button.component.mjs +0 -18
  441. package/esm2022/ui/calendar/aril-ui-calendar.mjs +0 -5
  442. package/esm2022/ui/calendar/index.mjs +0 -2
  443. package/esm2022/ui/calendar/src/calendar.component.mjs +0 -115
  444. package/esm2022/ui/checkbox/aril-ui-checkbox.mjs +0 -5
  445. package/esm2022/ui/checkbox/index.mjs +0 -3
  446. package/esm2022/ui/checkbox/src/check-box.component.mjs +0 -24
  447. package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +0 -24
  448. package/esm2022/ui/dxField/aril-ui-dxField.mjs +0 -5
  449. package/esm2022/ui/dxField/index.mjs +0 -2
  450. package/esm2022/ui/dxField/src/dx-field.component.mjs +0 -18
  451. package/esm2022/ui/field/aril-ui-field.mjs +0 -5
  452. package/esm2022/ui/field/index.mjs +0 -2
  453. package/esm2022/ui/field/src/field.component.mjs +0 -39
  454. package/esm2022/ui/fileUpload/aril-ui-fileUpload.mjs +0 -5
  455. package/esm2022/ui/fileUpload/index.mjs +0 -2
  456. package/esm2022/ui/fileUpload/src/file-upload.component.mjs +0 -61
  457. package/esm2022/ui/form/aril-ui-form.mjs +0 -5
  458. package/esm2022/ui/form/index.mjs +0 -22
  459. package/esm2022/ui/form/src/form-submit-button.component.mjs +0 -40
  460. package/esm2022/ui/form/src/form.component.mjs +0 -27
  461. package/esm2022/ui/index.mjs +0 -2
  462. package/esm2022/ui/lib/aril-ui-lib.mjs +0 -5
  463. package/esm2022/ui/lib/index.mjs +0 -15
  464. package/esm2022/ui/lib/src/form/form-error-message.component.mjs +0 -33
  465. package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +0 -34
  466. package/esm2022/ui/lib/src/form/form-field-builder.mjs +0 -23
  467. package/esm2022/ui/lib/src/form/form-validation.mjs +0 -14
  468. package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +0 -21
  469. package/esm2022/ui/lib/src/input/baseInput.mjs +0 -24
  470. package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +0 -49
  471. package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +0 -22
  472. package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +0 -25
  473. package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +0 -42
  474. package/esm2022/ui/lib/src/input/input-transforms.mjs +0 -8
  475. package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +0 -38
  476. package/esm2022/ui/mask/aril-ui-mask.mjs +0 -5
  477. package/esm2022/ui/mask/index.mjs +0 -2
  478. package/esm2022/ui/mask/src/mask.component.mjs +0 -35
  479. package/esm2022/ui/number/aril-ui-number.mjs +0 -5
  480. package/esm2022/ui/number/index.mjs +0 -2
  481. package/esm2022/ui/number/src/number.component.mjs +0 -36
  482. package/esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs +0 -5
  483. package/esm2022/ui/overlayPanel/index.mjs +0 -2
  484. package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +0 -20
  485. package/esm2022/ui/panel/aril-ui-panel.mjs +0 -5
  486. package/esm2022/ui/panel/index.mjs +0 -2
  487. package/esm2022/ui/panel/src/panel.component.mjs +0 -24
  488. package/esm2022/ui/password/aril-ui-password.mjs +0 -5
  489. package/esm2022/ui/password/index.mjs +0 -2
  490. package/esm2022/ui/password/src/password.component.mjs +0 -29
  491. package/esm2022/ui/radioButton/aril-ui-radioButton.mjs +0 -5
  492. package/esm2022/ui/radioButton/index.mjs +0 -2
  493. package/esm2022/ui/radioButton/src/radio-button.component.mjs +0 -30
  494. package/esm2022/ui/selectBox/aril-ui-selectBox.mjs +0 -5
  495. package/esm2022/ui/selectBox/index.mjs +0 -2
  496. package/esm2022/ui/selectBox/src/interfaces.mjs +0 -2
  497. package/esm2022/ui/selectBox/src/select-box.component.mjs +0 -54
  498. package/esm2022/ui/switch/aril-ui-switch.mjs +0 -5
  499. package/esm2022/ui/switch/index.mjs +0 -2
  500. package/esm2022/ui/switch/src/switch.component.mjs +0 -23
  501. package/esm2022/ui/table/aril-ui-table.mjs +0 -5
  502. package/esm2022/ui/table/index.mjs +0 -49
  503. package/esm2022/ui/table/src/i18n.mjs +0 -56
  504. package/esm2022/ui/table/src/table-column.component.mjs +0 -23
  505. package/esm2022/ui/table/src/table.component.mjs +0 -88
  506. package/esm2022/ui/tagBox/aril-ui-tagBox.mjs +0 -5
  507. package/esm2022/ui/tagBox/index.mjs +0 -2
  508. package/esm2022/ui/tagBox/src/tag-box.component.mjs +0 -50
  509. package/esm2022/ui/text/aril-ui-text.mjs +0 -5
  510. package/esm2022/ui/text/index.mjs +0 -2
  511. package/esm2022/ui/text/src/text.component.mjs +0 -40
  512. package/esm2022/ui/textArea/aril-ui-textArea.mjs +0 -5
  513. package/esm2022/ui/textArea/index.mjs +0 -2
  514. package/esm2022/ui/textArea/src/text-area.component.mjs +0 -26
  515. package/esm2022/ui/toggle-button/aril-ui-toggle-button.mjs +0 -5
  516. package/esm2022/ui/toggle-button/index.mjs +0 -2
  517. package/esm2022/ui/toggle-button/src/toggle-button.component.mjs +0 -25
  518. package/esm2022/ui/tree/aril-ui-tree.mjs +0 -5
  519. package/esm2022/ui/tree/index.mjs +0 -2
  520. package/esm2022/ui/tree/src/tree.component.mjs +0 -34
  521. package/esm2022/ui/treeTable/aril-ui-treeTable.mjs +0 -5
  522. package/esm2022/ui/treeTable/index.mjs +0 -2
  523. package/esm2022/ui/treeTable/src/tree-table.component.mjs +0 -55
  524. package/esm2022/ui/value/aril-ui-value.mjs +0 -5
  525. package/esm2022/ui/value/index.mjs +0 -2
  526. package/esm2022/ui/value/src/value.component.mjs +0 -35
  527. package/esm2022/util/aril-util.mjs +0 -5
  528. package/esm2022/util/block/aril-util-block.mjs +0 -5
  529. package/esm2022/util/block/index.mjs +0 -2
  530. package/esm2022/util/block/src/block.mjs +0 -64
  531. package/esm2022/util/custom_pages/aril-util-custom_pages.mjs +0 -5
  532. package/esm2022/util/custom_pages/index.mjs +0 -2
  533. package/esm2022/util/custom_pages/src/notFound.component.mjs +0 -65
  534. package/esm2022/util/index.mjs +0 -2
  535. package/esm2022/util/init-event/aril-util-init-event.mjs +0 -5
  536. package/esm2022/util/init-event/index.mjs +0 -2
  537. package/esm2022/util/init-event/src/init-event.directive.mjs +0 -22
  538. package/esm2022/util/lib/aril-util-lib.mjs +0 -5
  539. package/esm2022/util/lib/index.mjs +0 -4
  540. package/esm2022/util/lib/src/interfaces.mjs +0 -4
  541. package/esm2022/util/lib/src/module-router.mjs +0 -17
  542. package/esm2022/util/lib/src/types.mjs +0 -3
  543. package/esm2022/util/loaders/aril-util-loaders.mjs +0 -5
  544. package/esm2022/util/loaders/index.mjs +0 -3
  545. package/esm2022/util/loaders/script/script.loader.service.mjs +0 -61
  546. package/esm2022/util/loaders/style/style.loader.service.mjs +0 -61
  547. package/esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs +0 -5
  548. package/esm2022/util/primitive-extensions/index.mjs +0 -5
  549. package/esm2022/util/primitive-extensions/src/boolean.extensions.mjs +0 -2
  550. package/esm2022/util/primitive-extensions/src/date.extensions.mjs +0 -116
  551. package/esm2022/util/primitive-extensions/src/number.extensions.mjs +0 -39
  552. package/esm2022/util/primitive-extensions/src/string.extensions.mjs +0 -23
  553. package/esm2022/util/pub-sub/aril-util-pub-sub.mjs +0 -5
  554. package/esm2022/util/pub-sub/index.mjs +0 -2
  555. package/esm2022/util/pub-sub/src/pub-sub.service.mjs +0 -29
  556. package/fesm2022/aril-app.component-dMGRlhy4.mjs +0 -76
  557. package/fesm2022/aril-app.component-dMGRlhy4.mjs.map +0 -1
  558. package/fesm2022/aril-boot-config-api.mjs +0 -59
  559. package/fesm2022/aril-boot-config-api.mjs.map +0 -1
  560. package/fesm2022/aril-boot-config-apps.mjs +0 -106
  561. package/fesm2022/aril-boot-config-apps.mjs.map +0 -1
  562. package/fesm2022/aril-boot-config-plugins.mjs +0 -84
  563. package/fesm2022/aril-boot-config-plugins.mjs.map +0 -1
  564. package/fesm2022/aril-boot-host.mjs +0 -86
  565. package/fesm2022/aril-boot-host.mjs.map +0 -1
  566. package/fesm2022/aril-boot-mfe-app.component-DpjkfQLt.mjs +0 -75
  567. package/fesm2022/aril-boot-mfe-app.component-DpjkfQLt.mjs.map +0 -1
  568. package/fesm2022/aril-boot-mfe-aril-boot-mfe-QV9dIrGu.mjs +0 -90
  569. package/fesm2022/aril-boot-mfe-aril-boot-mfe-QV9dIrGu.mjs.map +0 -1
  570. package/fesm2022/aril-boot-mfe.mjs +0 -16
  571. package/fesm2022/aril-boot-mfe.mjs.map +0 -1
  572. package/fesm2022/aril-boot.mjs +0 -8
  573. package/fesm2022/aril-boot.mjs.map +0 -1
  574. package/fesm2022/aril-http.mjs +0 -272
  575. package/fesm2022/aril-http.mjs.map +0 -1
  576. package/fesm2022/aril-i18n.mjs +0 -72
  577. package/fesm2022/aril-i18n.mjs.map +0 -1
  578. package/fesm2022/aril-keycloak.mjs +0 -129
  579. package/fesm2022/aril-keycloak.mjs.map +0 -1
  580. package/fesm2022/aril-theme-layout.mjs +0 -1010
  581. package/fesm2022/aril-theme-layout.mjs.map +0 -1
  582. package/fesm2022/aril-theme.mjs +0 -8
  583. package/fesm2022/aril-theme.mjs.map +0 -1
  584. package/fesm2022/aril-ui-autoComplete.mjs +0 -78
  585. package/fesm2022/aril-ui-autoComplete.mjs.map +0 -1
  586. package/fesm2022/aril-ui-badge.mjs +0 -26
  587. package/fesm2022/aril-ui-badge.mjs.map +0 -1
  588. package/fesm2022/aril-ui-button.mjs +0 -59
  589. package/fesm2022/aril-ui-button.mjs.map +0 -1
  590. package/fesm2022/aril-ui-calendar.mjs +0 -121
  591. package/fesm2022/aril-ui-calendar.mjs.map +0 -1
  592. package/fesm2022/aril-ui-checkbox.mjs +0 -47
  593. package/fesm2022/aril-ui-checkbox.mjs.map +0 -1
  594. package/fesm2022/aril-ui-dxField.mjs +0 -25
  595. package/fesm2022/aril-ui-dxField.mjs.map +0 -1
  596. package/fesm2022/aril-ui-field.mjs +0 -46
  597. package/fesm2022/aril-ui-field.mjs.map +0 -1
  598. package/fesm2022/aril-ui-fileUpload.mjs +0 -68
  599. package/fesm2022/aril-ui-fileUpload.mjs.map +0 -1
  600. package/fesm2022/aril-ui-form.mjs +0 -86
  601. package/fesm2022/aril-ui-form.mjs.map +0 -1
  602. package/fesm2022/aril-ui-lib.mjs +0 -322
  603. package/fesm2022/aril-ui-lib.mjs.map +0 -1
  604. package/fesm2022/aril-ui-mask.mjs +0 -42
  605. package/fesm2022/aril-ui-mask.mjs.map +0 -1
  606. package/fesm2022/aril-ui-number.mjs +0 -43
  607. package/fesm2022/aril-ui-number.mjs.map +0 -1
  608. package/fesm2022/aril-ui-overlayPanel.mjs +0 -27
  609. package/fesm2022/aril-ui-overlayPanel.mjs.map +0 -1
  610. package/fesm2022/aril-ui-panel.mjs +0 -31
  611. package/fesm2022/aril-ui-panel.mjs.map +0 -1
  612. package/fesm2022/aril-ui-password.mjs +0 -36
  613. package/fesm2022/aril-ui-password.mjs.map +0 -1
  614. package/fesm2022/aril-ui-radioButton.mjs +0 -37
  615. package/fesm2022/aril-ui-radioButton.mjs.map +0 -1
  616. package/fesm2022/aril-ui-selectBox.mjs +0 -61
  617. package/fesm2022/aril-ui-selectBox.mjs.map +0 -1
  618. package/fesm2022/aril-ui-switch.mjs +0 -30
  619. package/fesm2022/aril-ui-switch.mjs.map +0 -1
  620. package/fesm2022/aril-ui-table.mjs +0 -213
  621. package/fesm2022/aril-ui-table.mjs.map +0 -1
  622. package/fesm2022/aril-ui-tagBox.mjs +0 -57
  623. package/fesm2022/aril-ui-tagBox.mjs.map +0 -1
  624. package/fesm2022/aril-ui-text.mjs +0 -47
  625. package/fesm2022/aril-ui-text.mjs.map +0 -1
  626. package/fesm2022/aril-ui-textArea.mjs +0 -33
  627. package/fesm2022/aril-ui-textArea.mjs.map +0 -1
  628. package/fesm2022/aril-ui-toggle-button.mjs +0 -32
  629. package/fesm2022/aril-ui-toggle-button.mjs.map +0 -1
  630. package/fesm2022/aril-ui-tree.mjs +0 -41
  631. package/fesm2022/aril-ui-tree.mjs.map +0 -1
  632. package/fesm2022/aril-ui-treeTable.mjs +0 -62
  633. package/fesm2022/aril-ui-treeTable.mjs.map +0 -1
  634. package/fesm2022/aril-ui-value.mjs +0 -42
  635. package/fesm2022/aril-ui-value.mjs.map +0 -1
  636. package/fesm2022/aril-ui.mjs +0 -8
  637. package/fesm2022/aril-ui.mjs.map +0 -1
  638. package/fesm2022/aril-util-block.mjs +0 -71
  639. package/fesm2022/aril-util-block.mjs.map +0 -1
  640. package/fesm2022/aril-util-custom_pages.mjs +0 -72
  641. package/fesm2022/aril-util-custom_pages.mjs.map +0 -1
  642. package/fesm2022/aril-util-init-event.mjs +0 -29
  643. package/fesm2022/aril-util-init-event.mjs.map +0 -1
  644. package/fesm2022/aril-util-lib.mjs +0 -29
  645. package/fesm2022/aril-util-lib.mjs.map +0 -1
  646. package/fesm2022/aril-util-loaders.mjs +0 -126
  647. package/fesm2022/aril-util-loaders.mjs.map +0 -1
  648. package/fesm2022/aril-util-primitive-extensions.mjs +0 -179
  649. package/fesm2022/aril-util-primitive-extensions.mjs.map +0 -1
  650. package/fesm2022/aril-util-pub-sub.mjs +0 -36
  651. package/fesm2022/aril-util-pub-sub.mjs.map +0 -1
  652. package/fesm2022/aril-util.mjs +0 -8
  653. package/fesm2022/aril-util.mjs.map +0 -1
  654. package/fesm2022/aril.mjs +0 -157
  655. package/fesm2022/aril.mjs.map +0 -1
  656. package/http/lib/enums.d.ts +0 -13
  657. package/http/lib/interfaces.d.ts +0 -21
  658. package/http/src/httpBackend.d.ts +0 -8
  659. package/http/src/httpClient.d.ts +0 -8
  660. package/http/src/interceptor/state-machine.interceptor.d.ts +0 -2
  661. package/http/src/serviceBase.d.ts +0 -5
  662. package/http/src/serviceMockBase.d.ts +0 -6
  663. package/http/src/serviceRequest.d.ts +0 -4
  664. package/http/src/serviceStateMethods.d.ts +0 -13
  665. package/i18n/src/folder-name-token.d.ts +0 -2
  666. package/i18n/src/i18n.module.d.ts +0 -7
  667. package/i18n/src/loader.d.ts +0 -9
  668. package/i18n/src/provideI18n.d.ts +0 -2
  669. package/i18n/src/provideScope.d.ts +0 -5
  670. package/index.d.ts +0 -5
  671. package/keycloak/src/auth.guard.d.ts +0 -11
  672. package/keycloak/src/auth.interceptor.d.ts +0 -2
  673. package/keycloak/src/keycloak.manager.d.ts +0 -25
  674. package/theme/index.d.ts +0 -1
  675. package/theme/layout/app/breadcrumb/app.breadcrumb.component.d.ts +0 -16
  676. package/theme/layout/app/config/app.config.component.d.ts +0 -36
  677. package/theme/layout/app/layout/app.layout.component.d.ts +0 -48
  678. package/theme/layout/app/layout/mfe.layout.component.d.ts +0 -8
  679. package/theme/layout/app/menu/app.menu.component.d.ts +0 -50
  680. package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +0 -13
  681. package/theme/layout/app/sidebar/app.sidebar.component.d.ts +0 -15
  682. package/theme/layout/app/topbar/app.topbar.component.d.ts +0 -16
  683. package/theme/layout/index.d.ts +0 -3
  684. package/theme/layout/service/app.layout.service.d.ts +0 -51
  685. package/theme/layout/service/app.menu.service.d.ts +0 -23
  686. package/theme/layout/service/menuchangeevent.d.ts +0 -4
  687. package/ui/autoComplete/src/auto-complete.component.d.ts +0 -21
  688. package/ui/autoComplete/src/interfaces.d.ts +0 -24
  689. package/ui/badge/src/badge.component.d.ts +0 -11
  690. package/ui/button/src/button.component.d.ts +0 -24
  691. package/ui/button/src/split-button.component.d.ts +0 -8
  692. package/ui/calendar/src/calendar.component.d.ts +0 -37
  693. package/ui/checkbox/src/check-box.component.d.ts +0 -9
  694. package/ui/checkbox/src/tri-state-checkbox.component.d.ts +0 -9
  695. package/ui/dxField/src/dx-field.component.d.ts +0 -9
  696. package/ui/field/src/field.component.d.ts +0 -25
  697. package/ui/fileUpload/src/file-upload.component.d.ts +0 -47
  698. package/ui/form/index.d.ts +0 -11
  699. package/ui/form/src/form-submit-button.component.d.ts +0 -14
  700. package/ui/form/src/form.component.d.ts +0 -8
  701. package/ui/index.d.ts +0 -1
  702. package/ui/lib/src/form/form-error-message.component.d.ts +0 -9
  703. package/ui/lib/src/form/form-error-message.directive.d.ts +0 -14
  704. package/ui/lib/src/form/form-field-builder.d.ts +0 -8
  705. package/ui/lib/src/form/form-validation.d.ts +0 -2
  706. package/ui/lib/src/grid/flex-grid.directive.d.ts +0 -6
  707. package/ui/lib/src/input/baseInput.d.ts +0 -7
  708. package/ui/lib/src/input/common-input-validators.service.d.ts +0 -20
  709. package/ui/lib/src/input/dx-input-error-message.pipe.d.ts +0 -11
  710. package/ui/lib/src/input/input-disabled.directive.d.ts +0 -9
  711. package/ui/lib/src/input/input-error-message.pipe.d.ts +0 -7
  712. package/ui/lib/src/input/input-transforms.d.ts +0 -5
  713. package/ui/lib/src/input/value-accessor.directive.d.ts +0 -9
  714. package/ui/mask/src/mask.component.d.ts +0 -21
  715. package/ui/number/src/number.component.d.ts +0 -27
  716. package/ui/overlayPanel/src/overlay-panel.component.d.ts +0 -8
  717. package/ui/panel/src/panel.component.d.ts +0 -10
  718. package/ui/password/src/password.component.d.ts +0 -11
  719. package/ui/radioButton/src/radio-button.component.d.ts +0 -20
  720. package/ui/selectBox/src/interfaces.d.ts +0 -32
  721. package/ui/selectBox/src/select-box.component.d.ts +0 -25
  722. package/ui/switch/src/switch.component.d.ts +0 -8
  723. package/ui/table/index.d.ts +0 -16
  724. package/ui/table/src/i18n.d.ts +0 -42
  725. package/ui/table/src/table-column.component.d.ts +0 -24
  726. package/ui/table/src/table.component.d.ts +0 -39
  727. package/ui/tagBox/src/tag-box.component.d.ts +0 -15
  728. package/ui/text/src/text.component.d.ts +0 -17
  729. package/ui/textArea/src/text-area.component.d.ts +0 -11
  730. package/ui/toggle-button/index.d.ts +0 -1
  731. package/ui/toggle-button/src/toggle-button.component.d.ts +0 -10
  732. package/ui/tree/src/tree.component.d.ts +0 -19
  733. package/ui/treeTable/src/tree-table.component.d.ts +0 -21
  734. package/ui/value/src/value.component.d.ts +0 -13
  735. package/util/block/src/block.d.ts +0 -28
  736. package/util/custom_pages/src/notFound.component.d.ts +0 -5
  737. package/util/index.d.ts +0 -1
  738. package/util/init-event/src/init-event.directive.d.ts +0 -8
  739. package/util/lib/src/interfaces.d.ts +0 -41
  740. package/util/lib/src/module-router.d.ts +0 -5
  741. package/util/lib/src/types.d.ts +0 -29
  742. package/util/loaders/script/script.loader.service.d.ts +0 -13
  743. package/util/loaders/style/style.loader.service.d.ts +0 -13
  744. package/util/primitive-extensions/src/date.extensions.d.ts +0 -8
  745. package/util/primitive-extensions/src/number.extensions.d.ts +0 -12
  746. package/util/primitive-extensions/src/string.extensions.d.ts +0 -11
  747. package/util/pub-sub/src/pub-sub.service.d.ts +0 -20
  748. /package/boot/config/{api.sample.json → api/src/api.sample.json} +0 -0
  749. /package/{styles/util → util/block/src}/blockui.css +0 -0
  750. /package/{scripts/util → util/block/src}/blockui.min.js +0 -0
@@ -1,76 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import { KeycloakEventType, KeycloakService } from 'keycloak-angular';
3
- import * as i0 from "@angular/core";
4
- export class KeycloakManager {
5
- constructor() {
6
- this.keycloak = inject(KeycloakService);
7
- this.defaultOptions = {
8
- loadUserProfileAtStartUp: true,
9
- initOptions: { onLoad: 'login-required' },
10
- bearerExcludedUrls: ['/assets']
11
- };
12
- this.keycloak.keycloakEvents$.subscribe((event) => {
13
- console.log('keycloakEvents', event);
14
- switch (event.type) {
15
- case KeycloakEventType.OnReady:
16
- globalThis.keycloakService = this.keycloak;
17
- break;
18
- case KeycloakEventType.OnAuthError:
19
- case KeycloakEventType.OnAuthLogout:
20
- case KeycloakEventType.OnAuthRefreshError:
21
- globalThis.keycloakService = null;
22
- // this.keycloak.clearToken();
23
- break;
24
- // case KeycloakEventType.OnTokenExpired:
25
- // this.keycloak.updateToken();
26
- // break;
27
- }
28
- });
29
- }
30
- init(configs) {
31
- return this.keycloak.init({ ...this.defaultOptions, config: configs });
32
- }
33
- login(options) {
34
- return this.keycloak.login(options);
35
- }
36
- logout(redirectUri) {
37
- return this.keycloak.logout(redirectUri); // window.location.origin
38
- }
39
- isUserInRole(role, resource) {
40
- return this.keycloak.isUserInRole(role, resource);
41
- }
42
- getUserRoles(realmRoles, resource) {
43
- return this.keycloak.getUserRoles(realmRoles, resource);
44
- }
45
- isLoggedIn() {
46
- return this.keycloak.isLoggedIn();
47
- }
48
- isTokenExpired(minValidity) {
49
- return this.keycloak.isTokenExpired(minValidity);
50
- }
51
- updateToken(minValidity) {
52
- return this.keycloak.updateToken(minValidity);
53
- }
54
- loadUserProfile(forceReload) {
55
- return this.keycloak.loadUserProfile(forceReload);
56
- }
57
- getToken() {
58
- return this.keycloak.getToken();
59
- }
60
- getUsername() {
61
- return this.keycloak.getUsername();
62
- }
63
- clearToken() {
64
- this.keycloak.clearToken();
65
- }
66
- addTokenToHeader(headers) {
67
- return this.keycloak.addTokenToHeader(headers);
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: KeycloakManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
70
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: KeycloakManager, providedIn: 'root' }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: KeycloakManager, decorators: [{
73
- type: Injectable,
74
- args: [{ providedIn: 'root' }]
75
- }], ctorParameters: () => [] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWsubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2tleWNsb2FrLm1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLdkYsTUFBTSxPQUFPLGVBQWU7SUFDM0I7UUFvQmdCLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0MsbUJBQWMsR0FBb0I7WUFDekMsd0JBQXdCLEVBQUUsSUFBSTtZQUM5QixXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUU7WUFDekMsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLENBQUM7U0FDL0IsQ0FBQztRQXpCRCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXJDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNwQixLQUFLLGlCQUFpQixDQUFDLE9BQU87b0JBQ3ZCLFVBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDbEQsTUFBTTtnQkFDUCxLQUFLLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztnQkFDbkMsS0FBSyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ3BDLEtBQUssaUJBQWlCLENBQUMsa0JBQWtCO29CQUNsQyxVQUFXLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztvQkFDekMsOEJBQThCO29CQUM5QixNQUFNO2dCQUNQLHlDQUF5QztnQkFDekMsZ0NBQWdDO2dCQUNoQyxVQUFVO1lBQ1gsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQVNELElBQUksQ0FBQyxPQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjtJQUNwRSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVksRUFBRSxRQUFpQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQW9CLEVBQUUsUUFBaUI7UUFDbkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFVBQVU7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFvQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXLENBQUMsV0FBb0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQXFCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFFBQVE7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVU7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFxQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0EvRVcsZUFBZTtrSEFBZixlQUFlLGNBREYsTUFBTTs7MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgS2V5Y2xvYWtFdmVudFR5cGUsIEtleWNsb2FrT3B0aW9ucywgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcbmltcG9ydCB7IEtleWNsb2FrTG9naW5PcHRpb25zIH0gZnJvbSAna2V5Y2xvYWstanMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgS2V5Y2xvYWtNYW5hZ2VyIHtcclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsua2V5Y2xvYWtFdmVudHMkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuXHRcdFx0Y29uc29sZS5sb2coJ2tleWNsb2FrRXZlbnRzJywgZXZlbnQpO1xyXG5cclxuXHRcdFx0c3dpdGNoIChldmVudC50eXBlKSB7XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblJlYWR5OlxyXG5cdFx0XHRcdFx0KDxhbnk+Z2xvYmFsVGhpcykua2V5Y2xvYWtTZXJ2aWNlID0gdGhpcy5rZXljbG9haztcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoRXJyb3I6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhMb2dvdXQ6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhSZWZyZXNoRXJyb3I6XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2UgPSBudWxsO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5rZXljbG9hay5jbGVhclRva2VuKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHQvLyBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uVG9rZW5FeHBpcmVkOlxyXG5cdFx0XHRcdC8vIFx0dGhpcy5rZXljbG9hay51cGRhdGVUb2tlbigpO1xyXG5cdFx0XHRcdC8vIFx0YnJlYWs7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHRwdWJsaWMgcmVhZG9ubHkga2V5Y2xvYWsgPSBpbmplY3QoS2V5Y2xvYWtTZXJ2aWNlKTtcclxuXHJcblx0cHJpdmF0ZSBkZWZhdWx0T3B0aW9uczogS2V5Y2xvYWtPcHRpb25zID0ge1xyXG5cdFx0bG9hZFVzZXJQcm9maWxlQXRTdGFydFVwOiB0cnVlLFxyXG5cdFx0aW5pdE9wdGlvbnM6IHsgb25Mb2FkOiAnbG9naW4tcmVxdWlyZWQnIH0sXHJcblx0XHRiZWFyZXJFeGNsdWRlZFVybHM6IFsnL2Fzc2V0cyddXHJcblx0fTtcclxuXHJcblx0aW5pdChjb25maWdzOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmluaXQoeyAuLi50aGlzLmRlZmF1bHRPcHRpb25zLCBjb25maWc6IGNvbmZpZ3MgfSk7XHJcblx0fVxyXG5cclxuXHRsb2dpbihvcHRpb25zPzogS2V5Y2xvYWtMb2dpbk9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvZ2luKG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0bG9nb3V0KHJlZGlyZWN0VXJpPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5sb2dvdXQocmVkaXJlY3RVcmkpOyAvLyB3aW5kb3cubG9jYXRpb24ub3JpZ2luXHJcblx0fVxyXG5cclxuXHRpc1VzZXJJblJvbGUocm9sZTogc3RyaW5nLCByZXNvdXJjZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaXNVc2VySW5Sb2xlKHJvbGUsIHJlc291cmNlKTtcclxuXHR9XHJcblxyXG5cdGdldFVzZXJSb2xlcyhyZWFsbVJvbGVzPzogYm9vbGVhbiwgcmVzb3VyY2U/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5nZXRVc2VyUm9sZXMocmVhbG1Sb2xlcywgcmVzb3VyY2UpO1xyXG5cdH1cclxuXHJcblx0aXNMb2dnZWRJbigpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmlzTG9nZ2VkSW4oKTtcclxuXHR9XHJcblxyXG5cdGlzVG9rZW5FeHBpcmVkKG1pblZhbGlkaXR5PzogbnVtYmVyKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5pc1Rva2VuRXhwaXJlZChtaW5WYWxpZGl0eSk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVUb2tlbihtaW5WYWxpZGl0eT86IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsudXBkYXRlVG9rZW4obWluVmFsaWRpdHkpO1xyXG5cdH1cclxuXHJcblx0bG9hZFVzZXJQcm9maWxlKGZvcmNlUmVsb2FkPzogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5sb2FkVXNlclByb2ZpbGUoZm9yY2VSZWxvYWQpO1xyXG5cdH1cclxuXHJcblx0Z2V0VG9rZW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmdldFRva2VuKCk7XHJcblx0fVxyXG5cclxuXHRnZXRVc2VybmFtZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuZ2V0VXNlcm5hbWUoKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyVG9rZW4oKTogdm9pZCB7XHJcblx0XHR0aGlzLmtleWNsb2FrLmNsZWFyVG9rZW4oKTtcclxuXHR9XHJcblxyXG5cdGFkZFRva2VuVG9IZWFkZXIoaGVhZGVycz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuYWRkVG9rZW5Ub0hlYWRlcihoZWFkZXJzKTtcclxuXHR9XHJcbn1cclxuIl19
@@ -1,3 +0,0 @@
1
- import './boot/host/index';
2
- import './boot/mfe/index';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2FyaWwvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vYm9vdC9ob3N0L2luZGV4JztcbmltcG9ydCAnLi9ib290L21mZS9pbmRleCc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC10aGVtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdGhlbWUvYXJpbC10aGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export const aril_theme = 'ARiL-THEME';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYXJpbF90aGVtZSA9ICdBUmlMLVRIRU1FJztcbiJdfQ==
@@ -1,41 +0,0 @@
1
- import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
2
- import { Component } from '@angular/core';
3
- import { NavigationEnd } from '@angular/router';
4
- import { BehaviorSubject } from 'rxjs';
5
- import { filter } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- export class AppBreadcrumbComponent {
9
- constructor(router) {
10
- this.router = router;
11
- this._breadcrumbs$ = new BehaviorSubject([]);
12
- this.breadcrumbs$ = this._breadcrumbs$.asObservable();
13
- this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
14
- const root = this.router.routerState.snapshot.root;
15
- const breadcrumbs = [];
16
- this.addBreadcrumb(root, [], breadcrumbs);
17
- this._breadcrumbs$.next(breadcrumbs);
18
- });
19
- }
20
- addBreadcrumb(route, parentUrl, breadcrumbs) {
21
- const routeUrl = parentUrl.concat(route.url.map((url) => url.path));
22
- const breadcrumb = route.data['breadcrumb'];
23
- const parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;
24
- if (breadcrumb && breadcrumb !== parentBreadcrumb) {
25
- breadcrumbs.push({
26
- label: route.data['breadcrumb'],
27
- url: '/' + routeUrl.join('/')
28
- });
29
- }
30
- if (route.firstChild) {
31
- this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
32
- }
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", ngImport: i0, template: "<nav class=\"layout-breadcrumb\">\n\t<ol>\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t\t<li>{{ item.label }}</li>\n\t\t\t@if (!last) {\n\t\t\t\t<li class=\"layout-breadcrumb-chevron\">/</li>\n\t\t\t}\n\t\t}\n\t</ol>\n</nav>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }] }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
38
- type: Component,
39
- args: [{ standalone: true, selector: 'app-breadcrumb', imports: [NgTemplateOutlet, AsyncPipe], template: "<nav class=\"layout-breadcrumb\">\n\t<ol>\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t\t<li>{{ item.label }}</li>\n\t\t\t@if (!last) {\n\t\t\t\t<li class=\"layout-breadcrumb-chevron\">/</li>\n\t\t\t}\n\t\t}\n\t</ol>\n</nav>\n" }]
40
- }], ctorParameters: () => [{ type: i1.Router }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2JyZWFkY3J1bWIvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2JyZWFkY3J1bWIvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUEwQixhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBYXhDLE1BQU0sT0FBTyxzQkFBc0I7SUFLbEMsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFKakIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUU5RCxpQkFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDOUYsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNuRCxNQUFNLFdBQVcsR0FBaUIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUUxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBNkIsRUFBRSxTQUFtQixFQUFFLFdBQXlCO1FBQ2xHLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXBHLElBQUksVUFBVSxJQUFJLFVBQVUsS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25ELFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDL0IsR0FBRyxFQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUM3QixDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0YsQ0FBQzs4R0E5Qlcsc0JBQXNCO2tHQUF0QixzQkFBc0IsMEVDbEJuQyxxUUFVQSx1Q0RLNkIsU0FBUzs7MkZBR3pCLHNCQUFzQjtrQkFObEMsU0FBUztpQ0FDRyxJQUFJLFlBQ04sZ0JBQWdCLFdBQ2pCLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmludGVyZmFjZSBCcmVhZGNydW1iIHtcblx0bGFiZWw6IHN0cmluZztcblx0dXJsPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdhcHAtYnJlYWRjcnVtYicsXG5cdGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGVdLFxuXHR0ZW1wbGF0ZVVybDogJy4vYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcEJyZWFkY3J1bWJDb21wb25lbnQge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9icmVhZGNydW1icyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFkY3J1bWJbXT4oW10pO1xuXG5cdHJlYWRvbmx5IGJyZWFkY3J1bWJzJCA9IHRoaXMuX2JyZWFkY3J1bWJzJC5hc09ic2VydmFibGUoKTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuXHRcdFx0Y29uc3Qgcm9vdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XG5cdFx0XHRjb25zdCBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW107XG5cdFx0XHR0aGlzLmFkZEJyZWFkY3J1bWIocm9vdCwgW10sIGJyZWFkY3J1bWJzKTtcblxuXHRcdFx0dGhpcy5fYnJlYWRjcnVtYnMkLm5leHQoYnJlYWRjcnVtYnMpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBhZGRCcmVhZGNydW1iKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBwYXJlbnRVcmw6IHN0cmluZ1tdLCBicmVhZGNydW1iczogQnJlYWRjcnVtYltdKSB7XG5cdFx0Y29uc3Qgcm91dGVVcmwgPSBwYXJlbnRVcmwuY29uY2F0KHJvdXRlLnVybC5tYXAoKHVybCkgPT4gdXJsLnBhdGgpKTtcblx0XHRjb25zdCBicmVhZGNydW1iID0gcm91dGUuZGF0YVsnYnJlYWRjcnVtYiddO1xuXHRcdGNvbnN0IHBhcmVudEJyZWFkY3J1bWIgPSByb3V0ZS5wYXJlbnQgJiYgcm91dGUucGFyZW50LmRhdGEgPyByb3V0ZS5wYXJlbnQuZGF0YVsnYnJlYWRjcnVtYiddIDogbnVsbDtcblxuXHRcdGlmIChicmVhZGNydW1iICYmIGJyZWFkY3J1bWIgIT09IHBhcmVudEJyZWFkY3J1bWIpIHtcblx0XHRcdGJyZWFkY3J1bWJzLnB1c2goe1xuXHRcdFx0XHRsYWJlbDogcm91dGUuZGF0YVsnYnJlYWRjcnVtYiddLFxuXHRcdFx0XHR1cmw6ICcvJyArIHJvdXRlVXJsLmpvaW4oJy8nKVxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKHJvdXRlLmZpcnN0Q2hpbGQpIHtcblx0XHRcdHRoaXMuYWRkQnJlYWRjcnVtYihyb3V0ZS5maXJzdENoaWxkLCByb3V0ZVVybCwgYnJlYWRjcnVtYnMpO1xuXHRcdH1cblx0fVxufVxuIiwiPG5hdiBjbGFzcz1cImxheW91dC1icmVhZGNydW1iXCI+XG5cdDxvbD5cblx0XHRAZm9yIChpdGVtIG9mIGJyZWFkY3J1bWJzJCB8IGFzeW5jOyB0cmFjayBpdGVtOyBsZXQgbGFzdCA9ICRsYXN0KSB7XG5cdFx0XHQ8bGk+e3sgaXRlbS5sYWJlbCB9fTwvbGk+XG5cdFx0XHRAaWYgKCFsYXN0KSB7XG5cdFx0XHRcdDxsaSBjbGFzcz1cImxheW91dC1icmVhZGNydW1iLWNoZXZyb25cIj4vPC9saT5cblx0XHRcdH1cblx0XHR9XG5cdDwvb2w+XG48L25hdj5cbiJdfQ==
@@ -1,132 +0,0 @@
1
- import { NgClass, NgStyle } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { ButtonModule } from 'primeng/button';
5
- import { InputSwitchModule } from 'primeng/inputswitch';
6
- import { RadioButtonModule } from 'primeng/radiobutton';
7
- import { SidebarModule } from 'primeng/sidebar';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../service/app.layout.service";
10
- import * as i2 from "../../service/app.menu.service";
11
- import * as i3 from "@angular/forms";
12
- import * as i4 from "primeng/sidebar";
13
- import * as i5 from "primeng/radiobutton";
14
- import * as i6 from "primeng/button";
15
- import * as i7 from "primeng/inputswitch";
16
- export class AppConfigComponent {
17
- constructor(layoutService, menuService) {
18
- this.layoutService = layoutService;
19
- this.menuService = menuService;
20
- this.minimal = false;
21
- this.componentThemes = [];
22
- this.scales = [12, 13, 14, 15, 16];
23
- }
24
- get visible() {
25
- return this.layoutService.state.configSidebarVisible;
26
- }
27
- set visible(_val) {
28
- this.layoutService.state.configSidebarVisible = _val;
29
- }
30
- get scale() {
31
- return this.layoutService.config().scale;
32
- }
33
- set scale(_val) {
34
- this.layoutService.config.update((config) => ({
35
- ...config,
36
- scale: _val
37
- }));
38
- }
39
- get menuMode() {
40
- return this.layoutService.config().menuMode;
41
- }
42
- set menuMode(_val) {
43
- this.layoutService.config.update((config) => ({
44
- ...config,
45
- menuMode: _val
46
- }));
47
- if (this.layoutService.isSlimPlus() || this.layoutService.isSlim() || this.layoutService.isHorizontal()) {
48
- this.menuService.reset();
49
- }
50
- }
51
- get colorScheme() {
52
- return this.layoutService.config().colorScheme;
53
- }
54
- set colorScheme(_val) {
55
- this.layoutService.config.update((config) => ({
56
- ...config,
57
- colorScheme: _val
58
- }));
59
- }
60
- get inputStyle() {
61
- return this.layoutService.config().inputStyle;
62
- }
63
- set inputStyle(_val) {
64
- this.layoutService.config.update((config) => ({
65
- ...config,
66
- inputStyle: _val
67
- }));
68
- }
69
- get ripple() {
70
- return this.layoutService.config().ripple;
71
- }
72
- set ripple(_val) {
73
- this.layoutService.config.update((config) => ({
74
- ...config,
75
- ripple: _val
76
- }));
77
- }
78
- get menuTheme() {
79
- return this.layoutService.config().menuTheme;
80
- }
81
- set menuTheme(_val) {
82
- this.layoutService.config.update((config) => ({
83
- ...config,
84
- menuTheme: _val
85
- }));
86
- }
87
- get theme() {
88
- return this.layoutService.config().theme;
89
- }
90
- set theme(_val) {
91
- this.layoutService.config.update((config) => ({
92
- ...config,
93
- theme: _val
94
- }));
95
- }
96
- ngOnInit() {
97
- this.componentThemes = [
98
- { name: 'indigo', color: '#6366F1' },
99
- { name: 'blue', color: '#3B82F6' },
100
- { name: 'purple', color: '#8B5CF6' },
101
- { name: 'teal', color: '#14B8A6' },
102
- { name: 'cyan', color: '#06b6d4' },
103
- { name: 'green', color: '#10b981' },
104
- { name: 'orange', color: '#f59e0b' },
105
- { name: 'pink', color: '#d946ef' }
106
- ];
107
- }
108
- onConfigButtonClick() {
109
- this.layoutService.showConfigSidebar();
110
- }
111
- changeColorScheme(colorScheme) {
112
- this.colorScheme = colorScheme;
113
- }
114
- changeTheme(theme) {
115
- this.theme = theme;
116
- }
117
- decrementScale() {
118
- this.scale--;
119
- }
120
- incrementScale() {
121
- this.scale++;
122
- }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppConfigComponent, deps: [{ token: i1.LayoutService }, { token: i2.AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppConfigComponent, isStandalone: true, selector: "app-config", inputs: { minimal: "minimal" }, ngImport: i0, template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\n\t<i class=\"pi pi-cog\"></i>\n</button>\n\n<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-config-sidebar w-18rem\">\n\t<h5>Themes</h5>\n\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t@for (theme of componentThemes; track theme) {\n\t\t\t<div class=\"w-3\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t}\n\t</div>\n\n\t<h5>Scale</h5>\n\t<div class=\"flex align-items-center\">\n\t\t<button\n\t\t\ticon=\"pi pi-minus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"decrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\n\t\t<div class=\"flex gap-2 align-items-center\">\n\t\t\t@for (s of scales; track s) {\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ticon=\"pi pi-plus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"incrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Menu Type</h5>\n\t\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\n\t\t\t\t<label for=\"mode1\">Static</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\n\t\t\t\t<label for=\"mode2\">Overlay</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim +</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\n\t\t\t\t<label for=\"mode5\">Reveal</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\n\t\t\t\t<label for=\"mode6\">Drawer</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Menu Theme</h5>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"colorScheme\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"primaryColor\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"transparent\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\n\t\t</div>\n\t}\n\n\t<h5>Color Scheme</h5>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\n\t\t<label for=\"mode-light\">Light</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\n\t\t<label for=\"mode-dim\">Dim</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\n\t\t<label for=\"mode-dark\">Dark</label>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Input Style</h5>\n\t\t<div class=\"flex\">\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton\n\t\t\t\t\tname=\"inputStyle\"\n\t\t\t\t\tvalue=\"outlined\"\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\n\t\t\t</div>\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\n\t\t\t\t<label for=\"filled_input\">Filled</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Ripple Effect</h5>\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\n\t}\n</p-sidebar>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i4.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i5.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "variant", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: InputSwitchModule }, { kind: "component", type: i7.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
125
- }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppConfigComponent, decorators: [{
127
- type: Component,
128
- args: [{ standalone: true, selector: 'app-config', imports: [FormsModule, SidebarModule, RadioButtonModule, ButtonModule, InputSwitchModule, NgStyle, NgClass], template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\n\t<i class=\"pi pi-cog\"></i>\n</button>\n\n<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-config-sidebar w-18rem\">\n\t<h5>Themes</h5>\n\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t@for (theme of componentThemes; track theme) {\n\t\t\t<div class=\"w-3\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t}\n\t</div>\n\n\t<h5>Scale</h5>\n\t<div class=\"flex align-items-center\">\n\t\t<button\n\t\t\ticon=\"pi pi-minus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"decrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\n\t\t<div class=\"flex gap-2 align-items-center\">\n\t\t\t@for (s of scales; track s) {\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ticon=\"pi pi-plus\"\n\t\t\ttype=\"button\"\n\t\t\tpButton\n\t\t\t(click)=\"incrementScale()\"\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Menu Type</h5>\n\t\t<div class=\"flex flex-wrap row-gap-3\">\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\n\t\t\t\t<label for=\"mode1\">Static</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\n\t\t\t\t<label for=\"mode2\">Overlay</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\n\t\t\t\t<label for=\"mode3\">Slim +</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\n\t\t\t\t<label for=\"mode5\">Reveal</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\n\t\t\t\t<label for=\"mode6\">Drawer</label>\n\t\t\t</div>\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Menu Theme</h5>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"colorScheme\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"primaryColor\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\n\t\t</div>\n\t\t<div class=\"field-radiobutton\">\n\t\t\t<p-radioButton\n\t\t\t\tname=\"menuTheme\"\n\t\t\t\tvalue=\"transparent\"\n\t\t\t\t[(ngModel)]=\"menuTheme\"\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\n\t\t</div>\n\t}\n\n\t<h5>Color Scheme</h5>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\n\t\t<label for=\"mode-light\">Light</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\n\t\t<label for=\"mode-dim\">Dim</label>\n\t</div>\n\t<div class=\"field-radiobutton\">\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\n\t\t<label for=\"mode-dark\">Dark</label>\n\t</div>\n\n\t@if (!minimal) {\n\t\t<h5>Input Style</h5>\n\t\t<div class=\"flex\">\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton\n\t\t\t\t\tname=\"inputStyle\"\n\t\t\t\t\tvalue=\"outlined\"\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\n\t\t\t</div>\n\t\t\t<div class=\"field-radiobutton flex-1\">\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\n\t\t\t\t<label for=\"filled_input\">Filled</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<h5>Ripple Effect</h5>\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\n\t}\n</p-sidebar>\n" }]
129
- }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2.AppMenuService }], propDecorators: { minimal: [{
130
- type: Input
131
- }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvY29uZmlnL2FwcC5jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2NvbmZpZy9hcHAuY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQVdoRCxNQUFNLE9BQU8sa0JBQWtCO0lBTzlCLFlBQ1EsYUFBNEIsRUFDNUIsV0FBMkI7UUFEM0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBUjFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEMsb0JBQWUsR0FBVSxFQUFFLENBQUM7UUFFNUIsV0FBTSxHQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBS3JDLENBQUM7SUFFSixJQUFJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxJQUFhO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsSUFBWTtRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsS0FBSyxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzdDLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxJQUFjO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxHQUFHLE1BQU07WUFDVCxRQUFRLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQ3pHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNGLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxJQUFpQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsV0FBVyxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsSUFBWTtRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsSUFBYTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsTUFBTSxFQUFFLElBQUk7U0FDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxJQUFxQjtRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsU0FBUyxFQUFFLElBQUk7U0FDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFZO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxHQUFHLE1BQU07WUFDVCxLQUFLLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsZUFBZSxHQUFHO1lBQ3RCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ25DLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBd0I7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxjQUFjO1FBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZCxDQUFDOzhHQTNIVyxrQkFBa0I7a0dBQWxCLGtCQUFrQixzR0NsQi9CLGdvTEE4SUEsMkNEL0hXLFdBQVcsOFZBQUUsYUFBYSw0V0FBRSxpQkFBaUIsNFVBQUUsWUFBWSw0T0FBRSxpQkFBaUIsNlJBQUUsT0FBTywyRUFBRSxPQUFPOzsyRkFHOUYsa0JBQWtCO2tCQU45QixTQUFTO2lDQUNHLElBQUksWUFDTixZQUFZLFdBQ2IsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDOytHQUlsRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IElucHV0U3dpdGNoTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHN3aXRjaCc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xuaW1wb3J0IHsgU2lkZWJhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2lkZWJhcic7XG5cbmltcG9ydCB7IENvbG9yU2NoZW1lLCBMYXlvdXRTZXJ2aWNlLCBNZW51Q29sb3JTY2hlbWUsIE1lbnVNb2RlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC5tZW51LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdhcHAtY29uZmlnJyxcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlLCBTaWRlYmFyTW9kdWxlLCBSYWRpb0J1dHRvbk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBJbnB1dFN3aXRjaE1vZHVsZSwgTmdTdHlsZSwgTmdDbGFzc10sXG5cdHRlbXBsYXRlVXJsOiAnLi9hcHAuY29uZmlnLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRASW5wdXQoKSBtaW5pbWFsOiBib29sZWFuID0gZmFsc2U7XG5cblx0Y29tcG9uZW50VGhlbWVzOiBhbnlbXSA9IFtdO1xuXG5cdHNjYWxlczogbnVtYmVyW10gPSBbMTIsIDEzLCAxNCwgMTUsIDE2XTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcblx0XHRwdWJsaWMgbWVudVNlcnZpY2U6IEFwcE1lbnVTZXJ2aWNlXG5cdCkge31cblxuXHRnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLmNvbmZpZ1NpZGViYXJWaXNpYmxlO1xuXHR9XG5cdHNldCB2aXNpYmxlKF92YWw6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuY29uZmlnU2lkZWJhclZpc2libGUgPSBfdmFsO1xuXHR9XG5cblx0Z2V0IHNjYWxlKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5zY2FsZTtcblx0fVxuXHRzZXQgc2NhbGUoX3ZhbDogbnVtYmVyKSB7XG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy51cGRhdGUoKGNvbmZpZykgPT4gKHtcblx0XHRcdC4uLmNvbmZpZyxcblx0XHRcdHNjYWxlOiBfdmFsXG5cdFx0fSkpO1xuXHR9XG5cblx0Z2V0IG1lbnVNb2RlKCk6IE1lbnVNb2RlIHtcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlO1xuXHR9XG5cdHNldCBtZW51TW9kZShfdmFsOiBNZW51TW9kZSkge1xuXHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudXBkYXRlKChjb25maWcpID0+ICh7XG5cdFx0XHQuLi5jb25maWcsXG5cdFx0XHRtZW51TW9kZTogX3ZhbFxuXHRcdH0pKTtcblx0XHRpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbVBsdXMoKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpKSB7XG5cdFx0XHR0aGlzLm1lbnVTZXJ2aWNlLnJlc2V0KCk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0IGNvbG9yU2NoZW1lKCk6IENvbG9yU2NoZW1lIHtcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLmNvbG9yU2NoZW1lO1xuXHR9XG5cdHNldCBjb2xvclNjaGVtZShfdmFsOiBDb2xvclNjaGVtZSkge1xuXHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudXBkYXRlKChjb25maWcpID0+ICh7XG5cdFx0XHQuLi5jb25maWcsXG5cdFx0XHRjb2xvclNjaGVtZTogX3ZhbFxuXHRcdH0pKTtcblx0fVxuXG5cdGdldCBpbnB1dFN0eWxlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5pbnB1dFN0eWxlO1xuXHR9XG5cdHNldCBpbnB1dFN0eWxlKF92YWw6IHN0cmluZykge1xuXHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudXBkYXRlKChjb25maWcpID0+ICh7XG5cdFx0XHQuLi5jb25maWcsXG5cdFx0XHRpbnB1dFN0eWxlOiBfdmFsXG5cdFx0fSkpO1xuXHR9XG5cblx0Z2V0IHJpcHBsZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLnJpcHBsZTtcblx0fVxuXHRzZXQgcmlwcGxlKF92YWw6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xuXHRcdFx0Li4uY29uZmlnLFxuXHRcdFx0cmlwcGxlOiBfdmFsXG5cdFx0fSkpO1xuXHR9XG5cblx0Z2V0IG1lbnVUaGVtZSgpOiBNZW51Q29sb3JTY2hlbWUge1xuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudVRoZW1lO1xuXHR9XG5cdHNldCBtZW51VGhlbWUoX3ZhbDogTWVudUNvbG9yU2NoZW1lKSB7XG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy51cGRhdGUoKGNvbmZpZykgPT4gKHtcblx0XHRcdC4uLmNvbmZpZyxcblx0XHRcdG1lbnVUaGVtZTogX3ZhbFxuXHRcdH0pKTtcblx0fVxuXG5cdGdldCB0aGVtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkudGhlbWU7XG5cdH1cblx0c2V0IHRoZW1lKF92YWw6IHN0cmluZykge1xuXHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudXBkYXRlKChjb25maWcpID0+ICh7XG5cdFx0XHQuLi5jb25maWcsXG5cdFx0XHR0aGVtZTogX3ZhbFxuXHRcdH0pKTtcblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdHRoaXMuY29tcG9uZW50VGhlbWVzID0gW1xuXHRcdFx0eyBuYW1lOiAnaW5kaWdvJywgY29sb3I6ICcjNjM2NkYxJyB9LFxuXHRcdFx0eyBuYW1lOiAnYmx1ZScsIGNvbG9yOiAnIzNCODJGNicgfSxcblx0XHRcdHsgbmFtZTogJ3B1cnBsZScsIGNvbG9yOiAnIzhCNUNGNicgfSxcblx0XHRcdHsgbmFtZTogJ3RlYWwnLCBjb2xvcjogJyMxNEI4QTYnIH0sXG5cdFx0XHR7IG5hbWU6ICdjeWFuJywgY29sb3I6ICcjMDZiNmQ0JyB9LFxuXHRcdFx0eyBuYW1lOiAnZ3JlZW4nLCBjb2xvcjogJyMxMGI5ODEnIH0sXG5cdFx0XHR7IG5hbWU6ICdvcmFuZ2UnLCBjb2xvcjogJyNmNTllMGInIH0sXG5cdFx0XHR7IG5hbWU6ICdwaW5rJywgY29sb3I6ICcjZDk0NmVmJyB9XG5cdFx0XTtcblx0fVxuXG5cdG9uQ29uZmlnQnV0dG9uQ2xpY2soKSB7XG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLnNob3dDb25maWdTaWRlYmFyKCk7XG5cdH1cblxuXHRjaGFuZ2VDb2xvclNjaGVtZShjb2xvclNjaGVtZTogQ29sb3JTY2hlbWUpIHtcblx0XHR0aGlzLmNvbG9yU2NoZW1lID0gY29sb3JTY2hlbWU7XG5cdH1cblxuXHRjaGFuZ2VUaGVtZSh0aGVtZTogc3RyaW5nKSB7XG5cdFx0dGhpcy50aGVtZSA9IHRoZW1lO1xuXHR9XG5cblx0ZGVjcmVtZW50U2NhbGUoKSB7XG5cdFx0dGhpcy5zY2FsZS0tO1xuXHR9XG5cblx0aW5jcmVtZW50U2NhbGUoKSB7XG5cdFx0dGhpcy5zY2FsZSsrO1xuXHR9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwibGF5b3V0LWNvbmZpZy1idXR0b24gcC1saW5rXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkNvbmZpZ0J1dHRvbkNsaWNrKClcIj5cblx0PGkgY2xhc3M9XCJwaSBwaS1jb2dcIj48L2k+XG48L2J1dHRvbj5cblxuPHAtc2lkZWJhclxuXHRbKHZpc2libGUpXT1cInZpc2libGVcIlxuXHRwb3NpdGlvbj1cInJpZ2h0XCJcblx0W3RyYW5zaXRpb25PcHRpb25zXT1cIicuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknXCJcblx0c3R5bGVDbGFzcz1cImxheW91dC1jb25maWctc2lkZWJhciB3LTE4cmVtXCI+XG5cdDxoNT5UaGVtZXM8L2g1PlxuXHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgcm93LWdhcC0zXCI+XG5cdFx0QGZvciAodGhlbWUgb2YgY29tcG9uZW50VGhlbWVzOyB0cmFjayB0aGVtZSkge1xuXHRcdFx0PGRpdiBjbGFzcz1cInctM1wiPlxuXHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJjdXJzb3ItcG9pbnRlciBwLWxpbmsgdy0ycmVtIGgtMnJlbSBib3JkZXItY2lyY2xlIGZsZXgtc2hyaW5rLTAgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG5cdFx0XHRcdFx0KGNsaWNrKT1cImNoYW5nZVRoZW1lKHRoZW1lLm5hbWUpXCJcblx0XHRcdFx0XHRbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhlbWUuY29sb3IgfVwiPlxuXHRcdFx0XHRcdEBpZiAodGhlbWUubmFtZSA9PSB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkudGhlbWUpIHtcblx0XHRcdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2hlY2sgdGV4dC13aGl0ZVwiPjwvaT5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0PC9kaXY+XG5cdFx0fVxuXHQ8L2Rpdj5cblxuXHQ8aDU+U2NhbGU8L2g1PlxuXHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cblx0XHQ8YnV0dG9uXG5cdFx0XHRpY29uPVwicGkgcGktbWludXNcIlxuXHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRwQnV0dG9uXG5cdFx0XHQoY2xpY2spPVwiZGVjcmVtZW50U2NhbGUoKVwiXG5cdFx0XHRjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24tcm91bmRlZCB3LTJyZW0gaC0ycmVtIG1yLTJcIlxuXHRcdFx0W2Rpc2FibGVkXT1cInNjYWxlID09PSBzY2FsZXNbMF1cIj48L2J1dHRvbj5cblx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cblx0XHRcdEBmb3IgKHMgb2Ygc2NhbGVzOyB0cmFjayBzKSB7XG5cdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2lyY2xlLWZpbGwgdGV4dC0zMDBcIiBbbmdDbGFzc109XCJ7ICd0ZXh0LXByaW1hcnktNTAwJzogcyA9PT0gc2NhbGUgfVwiPjwvaT5cblx0XHRcdH1cblx0XHQ8L2Rpdj5cblx0XHQ8YnV0dG9uXG5cdFx0XHRpY29uPVwicGkgcGktcGx1c1wiXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdHBCdXR0b25cblx0XHRcdChjbGljayk9XCJpbmNyZW1lbnRTY2FsZSgpXCJcblx0XHRcdGNsYXNzPVwicC1idXR0b24tdGV4dCBwLWJ1dHRvbi1yb3VuZGVkIHctMnJlbSBoLTJyZW0gbWwtMlwiXG5cdFx0XHRbZGlzYWJsZWRdPVwic2NhbGUgPT09IHNjYWxlc1tzY2FsZXMubGVuZ3RoIC0gMV1cIj48L2J1dHRvbj5cblx0PC9kaXY+XG5cblx0QGlmICghbWluaW1hbCkge1xuXHRcdDxoNT5NZW51IFR5cGU8L2g1PlxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCByb3ctZ2FwLTNcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB3LTZcIj5cblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJzdGF0aWNcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGUxXCI+PC9wLXJhZGlvQnV0dG9uPlxuXHRcdFx0XHQ8bGFiZWwgZm9yPVwibW9kZTFcIj5TdGF0aWM8L2xhYmVsPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XG5cdFx0XHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJtZW51TW9kZVwiIHZhbHVlPVwib3ZlcmxheVwiIFsobmdNb2RlbCldPVwibWVudU1vZGVcIiBpbnB1dElkPVwibW9kZTJcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlMlwiPk92ZXJsYXk8L2xhYmVsPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XG5cdFx0XHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJtZW51TW9kZVwiIHZhbHVlPVwic2xpbVwiIFsobmdNb2RlbCldPVwibWVudU1vZGVcIiBpbnB1dElkPVwibW9kZTNcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlM1wiPlNsaW08L2xhYmVsPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XG5cdFx0XHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJtZW51TW9kZVwiIHZhbHVlPVwic2xpbS1wbHVzXCIgWyhuZ01vZGVsKV09XCJtZW51TW9kZVwiIGlucHV0SWQ9XCJtb2RlNFwiPjwvcC1yYWRpb0J1dHRvbj5cblx0XHRcdFx0PGxhYmVsIGZvcj1cIm1vZGUzXCI+U2xpbSArPC9sYWJlbD5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHctNlwiPlxuXHRcdFx0XHQ8cC1yYWRpb0J1dHRvbiBuYW1lPVwibWVudU1vZGVcIiB2YWx1ZT1cInJldmVhbFwiIFsobmdNb2RlbCldPVwibWVudU1vZGVcIiBpbnB1dElkPVwibW9kZTZcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlNVwiPlJldmVhbDwvbGFiZWw+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB3LTZcIj5cblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJkcmF3ZXJcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGU3XCI+PC9wLXJhZGlvQnV0dG9uPlxuXHRcdFx0XHQ8bGFiZWwgZm9yPVwibW9kZTZcIj5EcmF3ZXI8L2xhYmVsPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XG5cdFx0XHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJtZW51TW9kZVwiIHZhbHVlPVwiaG9yaXpvbnRhbFwiIFsobmdNb2RlbCldPVwibWVudU1vZGVcIiBpbnB1dElkPVwibW9kZTVcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlNFwiPkhvcml6b250YWw8L2xhYmVsPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGg1Pk1lbnUgVGhlbWU8L2g1PlxuXHRcdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvblwiPlxuXHRcdFx0PHAtcmFkaW9CdXR0b25cblx0XHRcdFx0bmFtZT1cIm1lbnVUaGVtZVwiXG5cdFx0XHRcdHZhbHVlPVwiY29sb3JTY2hlbWVcIlxuXHRcdFx0XHRbKG5nTW9kZWwpXT1cIm1lbnVUaGVtZVwiXG5cdFx0XHRcdGlucHV0SWQ9XCJtZW51dGhlbWUtY29sb3JzY2hlbWVcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0XHQ8bGFiZWwgZm9yPVwibWVudXRoZW1lLWNvbG9yc2NoZW1lXCI+Q29sb3IgU2NoZW1lPC9sYWJlbD5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwiZmllbGQtcmFkaW9idXR0b25cIj5cblx0XHRcdDxwLXJhZGlvQnV0dG9uXG5cdFx0XHRcdG5hbWU9XCJtZW51VGhlbWVcIlxuXHRcdFx0XHR2YWx1ZT1cInByaW1hcnlDb2xvclwiXG5cdFx0XHRcdFsobmdNb2RlbCldPVwibWVudVRoZW1lXCJcblx0XHRcdFx0aW5wdXRJZD1cIm1lbnV0aGVtZS1wcmltYXJ5Y29sb3JcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0XHQ8bGFiZWwgZm9yPVwibWVudXRoZW1lLXByaW1hcnljb2xvclwiPlByaW1hcnkgQ29sb3I8L2xhYmVsPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvblwiPlxuXHRcdFx0PHAtcmFkaW9CdXR0b25cblx0XHRcdFx0bmFtZT1cIm1lbnVUaGVtZVwiXG5cdFx0XHRcdHZhbHVlPVwidHJhbnNwYXJlbnRcIlxuXHRcdFx0XHRbKG5nTW9kZWwpXT1cIm1lbnVUaGVtZVwiXG5cdFx0XHRcdGlucHV0SWQ9XCJtZW51dGhlbWUtdHJhbnNwYXJlbnRcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0XHQ8bGFiZWwgZm9yPVwibWVudXRoZW1lLXRyYW5zcGFyZW50XCI+VHJhbnNwYXJlbnQ8L2xhYmVsPlxuXHRcdDwvZGl2PlxuXHR9XG5cblx0PGg1PkNvbG9yIFNjaGVtZTwvaDU+XG5cdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvblwiPlxuXHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJjb2xvclNjaGVtZVwiIHZhbHVlPVwibGlnaHRcIiBbKG5nTW9kZWwpXT1cImNvbG9yU2NoZW1lXCIgaW5wdXRJZD1cIm1vZGUtbGlnaHRcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0PGxhYmVsIGZvcj1cIm1vZGUtbGlnaHRcIj5MaWdodDwvbGFiZWw+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwiZmllbGQtcmFkaW9idXR0b25cIj5cblx0XHQ8cC1yYWRpb0J1dHRvbiBuYW1lPVwiY29sb3JTY2hlbWVcIiB2YWx1ZT1cImRpbVwiIFsobmdNb2RlbCldPVwiY29sb3JTY2hlbWVcIiBpbnB1dElkPVwibW9kZS1kaW1cIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0PGxhYmVsIGZvcj1cIm1vZGUtZGltXCI+RGltPC9sYWJlbD5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvblwiPlxuXHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJjb2xvclNjaGVtZVwiIHZhbHVlPVwiZGFya1wiIFsobmdNb2RlbCldPVwiY29sb3JTY2hlbWVcIiBpbnB1dElkPVwibW9kZS1kYXJrXCI+PC9wLXJhZGlvQnV0dG9uPlxuXHRcdDxsYWJlbCBmb3I9XCJtb2RlLWRhcmtcIj5EYXJrPC9sYWJlbD5cblx0PC9kaXY+XG5cblx0QGlmICghbWluaW1hbCkge1xuXHRcdDxoNT5JbnB1dCBTdHlsZTwvaDU+XG5cdFx0PGRpdiBjbGFzcz1cImZsZXhcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvbiBmbGV4LTFcIj5cblx0XHRcdFx0PHAtcmFkaW9CdXR0b25cblx0XHRcdFx0XHRuYW1lPVwiaW5wdXRTdHlsZVwiXG5cdFx0XHRcdFx0dmFsdWU9XCJvdXRsaW5lZFwiXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJpbnB1dFN0eWxlXCJcblx0XHRcdFx0XHRpbnB1dElkPVwib3V0bGluZWRfaW5wdXRcIj48L3AtcmFkaW9CdXR0b24+XG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJvdXRsaW5lZF9pbnB1dFwiPk91dGxpbmVkPC9sYWJlbD5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cImZpZWxkLXJhZGlvYnV0dG9uIGZsZXgtMVwiPlxuXHRcdFx0XHQ8cC1yYWRpb0J1dHRvbiBuYW1lPVwiaW5wdXRTdHlsZVwiIHZhbHVlPVwiZmlsbGVkXCIgWyhuZ01vZGVsKV09XCJpbnB1dFN0eWxlXCIgaW5wdXRJZD1cImZpbGxlZF9pbnB1dFwiPjwvcC1yYWRpb0J1dHRvbj5cblx0XHRcdFx0PGxhYmVsIGZvcj1cImZpbGxlZF9pbnB1dFwiPkZpbGxlZDwvbGFiZWw+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8aDU+UmlwcGxlIEVmZmVjdDwvaDU+XG5cdFx0PHAtaW5wdXRTd2l0Y2ggWyhuZ01vZGVsKV09XCJyaXBwbGVcIj48L3AtaW5wdXRTd2l0Y2g+XG5cdH1cbjwvcC1zaWRlYmFyPlxuIl19
@@ -1,147 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, ViewChild } from '@angular/core';
3
- import { NavigationEnd, RouterOutlet } from '@angular/router';
4
- import { ConfirmDialogModule } from 'primeng/confirmdialog';
5
- import { ConfirmPopupModule } from 'primeng/confirmpopup';
6
- import { DialogModule } from 'primeng/dialog';
7
- import { MessagesModule } from 'primeng/messages';
8
- import { ToastModule } from 'primeng/toast';
9
- import { filter } from 'rxjs';
10
- import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
11
- import { AppConfigComponent } from '../config/app.config.component';
12
- import { AppProfileSidebarComponent } from '../profileSidebar/app.profilesidebar.component';
13
- import { AppSidebarComponent } from '../sidebar/app.sidebar.component';
14
- import { AppTopbarComponent } from '../topbar/app.topbar.component';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "../../service/app.menu.service";
17
- import * as i2 from "../../service/app.layout.service";
18
- import * as i3 from "@angular/router";
19
- import * as i4 from "primeng/confirmdialog";
20
- import * as i5 from "primeng/confirmpopup";
21
- import * as i6 from "primeng/dialog";
22
- import * as i7 from "primeng/messages";
23
- import * as i8 from "primeng/toast";
24
- export class AppLayoutComponent {
25
- constructor(menuService, layoutService, renderer, router) {
26
- this.menuService = menuService;
27
- this.layoutService = layoutService;
28
- this.renderer = renderer;
29
- this.router = router;
30
- this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {
31
- if (!this.menuOutsideClickListener) {
32
- this.menuOutsideClickListener = this.renderer.listen('document', 'click', (event) => {
33
- const isOutsideClicked = !(this.appSidebar.el.nativeElement.isSameNode(event.target) ||
34
- this.appSidebar.el.nativeElement.contains(event.target) ||
35
- this.appTopbar.menuButton.nativeElement.isSameNode(event.target) ||
36
- this.appTopbar.menuButton.nativeElement.contains(event.target));
37
- if (isOutsideClicked) {
38
- this.hideMenu();
39
- }
40
- });
41
- }
42
- if ((this.layoutService.isHorizontal() || this.layoutService.isSlim() || this.layoutService.isSlimPlus()) &&
43
- !this.menuScrollListener) {
44
- this.menuScrollListener = this.renderer.listen(this.appSidebar.menuContainer.nativeElement, 'scroll', (event) => {
45
- if (this.layoutService.isDesktop()) {
46
- this.hideMenu();
47
- }
48
- });
49
- }
50
- if (this.layoutService.state.staticMenuMobileActive) {
51
- this.blockBodyScroll();
52
- }
53
- });
54
- this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
55
- this.hideMenu();
56
- });
57
- }
58
- blockBodyScroll() {
59
- if (document.body.classList) {
60
- document.body.classList.add('blocked-scroll');
61
- }
62
- else {
63
- document.body.className += ' blocked-scroll';
64
- }
65
- }
66
- unblockBodyScroll() {
67
- if (document.body.classList) {
68
- document.body.classList.remove('blocked-scroll');
69
- }
70
- else {
71
- document.body.className = document.body.className.replace(new RegExp('(^|\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
72
- }
73
- }
74
- hideMenu() {
75
- this.layoutService.state.overlayMenuActive = false;
76
- this.layoutService.state.staticMenuMobileActive = false;
77
- this.layoutService.state.menuHoverActive = false;
78
- this.menuService.reset();
79
- if (this.menuOutsideClickListener) {
80
- this.menuOutsideClickListener();
81
- this.menuOutsideClickListener = null;
82
- }
83
- if (this.menuScrollListener) {
84
- this.menuScrollListener();
85
- this.menuScrollListener = null;
86
- }
87
- this.unblockBodyScroll();
88
- }
89
- get containerClass() {
90
- return {
91
- 'layout-light': this.layoutService.config().colorScheme === 'light',
92
- 'layout-dim': this.layoutService.config().colorScheme === 'dim',
93
- 'layout-dark': this.layoutService.config().colorScheme === 'dark',
94
- 'layout-colorscheme-menu': this.layoutService.config().menuTheme === 'colorScheme',
95
- 'layout-primarycolor-menu': this.layoutService.config().menuTheme === 'primaryColor',
96
- 'layout-transparent-menu': this.layoutService.config().menuTheme === 'transparent',
97
- 'layout-overlay': this.layoutService.config().menuMode === 'overlay',
98
- 'layout-static': this.layoutService.config().menuMode === 'static',
99
- 'layout-slim': this.layoutService.config().menuMode === 'slim',
100
- 'layout-slim-plus': this.layoutService.config().menuMode === 'slim-plus',
101
- 'layout-horizontal': this.layoutService.config().menuMode === 'horizontal',
102
- 'layout-reveal': this.layoutService.config().menuMode === 'reveal',
103
- 'layout-drawer': this.layoutService.config().menuMode === 'drawer',
104
- 'layout-static-inactive': this.layoutService.state.staticMenuDesktopInactive && this.layoutService.config().menuMode === 'static',
105
- 'layout-overlay-active': this.layoutService.state.overlayMenuActive,
106
- 'layout-mobile-active': this.layoutService.state.staticMenuMobileActive,
107
- 'p-input-filled': this.layoutService.config().inputStyle === 'filled',
108
- 'p-ripple-disabled': !this.layoutService.config().ripple,
109
- 'layout-sidebar-active': this.layoutService.state.sidebarActive,
110
- 'layout-sidebar-anchored': this.layoutService.state.anchored
111
- };
112
- }
113
- ngOnDestroy() {
114
- if (this.overlayMenuOpenSubscription) {
115
- this.overlayMenuOpenSubscription.unsubscribe();
116
- }
117
- if (this.menuOutsideClickListener) {
118
- this.menuOutsideClickListener();
119
- }
120
- }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, deps: [{ token: i1.AppMenuService }, { token: i2.LayoutService }, { token: i0.Renderer2 }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\t<app-sidebar></app-sidebar>\n\t<div class=\"layout-content-wrapper\">\n\t\t<app-topbar></app-topbar>\n\t\t<!-- <app-breadcrumb class=\"content-breadcrumb\"></app-breadcrumb> -->\n\t\t<div class=\"layout-content\">\n\t\t\t<router-outlet></router-outlet>\n\t\t</div>\n\t</div>\n\t<app-profilemenu></app-profilemenu>\n\t<app-config></app-config>\n\t<div class=\"layout-mask\"></div>\n</div>\n\n<p-toast key=\"toast-root\"></p-toast>\n<p-dialog key=\"dialog-root\"></p-dialog>\n<p-messages key=\"messages-root\"></p-messages>\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }, { kind: "component", type: AppConfigComponent, selector: "app-config", inputs: ["minimal"] }] }); }
123
- }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, decorators: [{
125
- type: Component,
126
- args: [{ standalone: true, selector: 'app-layout', imports: [
127
- NgClass,
128
- RouterOutlet,
129
- ConfirmDialogModule,
130
- ConfirmPopupModule,
131
- DialogModule,
132
- MessagesModule,
133
- ToastModule,
134
- AppSidebarComponent,
135
- AppTopbarComponent,
136
- AppBreadcrumbComponent,
137
- AppProfileSidebarComponent,
138
- AppConfigComponent
139
- ], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\t<app-sidebar></app-sidebar>\n\t<div class=\"layout-content-wrapper\">\n\t\t<app-topbar></app-topbar>\n\t\t<!-- <app-breadcrumb class=\"content-breadcrumb\"></app-breadcrumb> -->\n\t\t<div class=\"layout-content\">\n\t\t\t<router-outlet></router-outlet>\n\t\t</div>\n\t</div>\n\t<app-profilemenu></app-profilemenu>\n\t<app-config></app-config>\n\t<div class=\"layout-mask\"></div>\n</div>\n\n<p-toast key=\"toast-root\"></p-toast>\n<p-dialog key=\"dialog-root\"></p-dialog>\n<p-messages key=\"messages-root\"></p-messages>\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\n" }]
140
- }], ctorParameters: () => [{ type: i1.AppMenuService }, { type: i2.LayoutService }, { type: i0.Renderer2 }, { type: i3.Router }], propDecorators: { appSidebar: [{
141
- type: ViewChild,
142
- args: [AppSidebarComponent]
143
- }], appTopbar: [{
144
- type: ViewChild,
145
- args: [AppTopbarComponent]
146
- }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUF3QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFnQixNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7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Tzt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QiwwQkFBMEI7d0JBQzFCLGtCQUFrQjtxQkFDbEI7NEpBVStCLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUVDLFNBQVM7c0JBQXZDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XG5pbXBvcnQgeyBDb25maXJtUG9wdXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NvbmZpcm1wb3B1cCc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBNZXNzYWdlc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLmxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iL2FwcC5icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBDb25maWdDb21wb25lbnQgfSBmcm9tICcuLi9jb25maWcvYXBwLmNvbmZpZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwUHJvZmlsZVNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9maWxlU2lkZWJhci9hcHAucHJvZmlsZXNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9zaWRlYmFyL2FwcC5zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBUb3BiYXJDb21wb25lbnQgfSBmcm9tICcuLi90b3BiYXIvYXBwLnRvcGJhci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdhcHAtbGF5b3V0Jyxcblx0aW1wb3J0czogW1xuXHRcdE5nQ2xhc3MsXG5cdFx0Um91dGVyT3V0bGV0LFxuXHRcdENvbmZpcm1EaWFsb2dNb2R1bGUsXG5cdFx0Q29uZmlybVBvcHVwTW9kdWxlLFxuXHRcdERpYWxvZ01vZHVsZSxcblx0XHRNZXNzYWdlc01vZHVsZSxcblx0XHRUb2FzdE1vZHVsZSxcblx0XHRBcHBTaWRlYmFyQ29tcG9uZW50LFxuXHRcdEFwcFRvcGJhckNvbXBvbmVudCxcblx0XHRBcHBCcmVhZGNydW1iQ29tcG9uZW50LFxuXHRcdEFwcFByb2ZpbGVTaWRlYmFyQ29tcG9uZW50LFxuXHRcdEFwcENvbmZpZ0NvbXBvbmVudFxuXHRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vYXBwLmxheW91dC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0b3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cblx0bWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XG5cblx0bWVudVNjcm9sbExpc3RlbmVyOiBhbnk7XG5cblx0QFZpZXdDaGlsZChBcHBTaWRlYmFyQ29tcG9uZW50KSBhcHBTaWRlYmFyITogQXBwU2lkZWJhckNvbXBvbmVudDtcblxuXHRAVmlld0NoaWxkKEFwcFRvcGJhckNvbXBvbmVudCkgYXBwVG9wYmFyITogQXBwVG9wYmFyQ29tcG9uZW50O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgbWVudVNlcnZpY2U6IEFwcE1lbnVTZXJ2aWNlLFxuXHRcdHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxuXHRcdHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxuXHRcdHB1YmxpYyByb3V0ZXI6IFJvdXRlclxuXHQpIHtcblx0XHR0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbiA9IHRoaXMubGF5b3V0U2VydmljZS5vdmVybGF5T3BlbiQuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdGlmICghdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcblx0XHRcdFx0dGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoZXZlbnQpID0+IHtcblx0XHRcdFx0XHRjb25zdCBpc091dHNpZGVDbGlja2VkID0gIShcblx0XHRcdFx0XHRcdHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fFxuXHRcdFx0XHRcdFx0dGhpcy5hcHBTaWRlYmFyLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fFxuXHRcdFx0XHRcdFx0dGhpcy5hcHBUb3BiYXIubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fFxuXHRcdFx0XHRcdFx0dGhpcy5hcHBUb3BiYXIubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGlmIChpc091dHNpZGVDbGlja2VkKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmhpZGVNZW51KCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKFxuXHRcdFx0XHQodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKSAmJlxuXHRcdFx0XHQhdGhpcy5tZW51U2Nyb2xsTGlzdGVuZXJcblx0XHRcdCkge1xuXHRcdFx0XHR0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuXHRcdFx0XHRcdHRoaXMuYXBwU2lkZWJhci5tZW51Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdFx0J3Njcm9sbCcsXG5cdFx0XHRcdFx0KGV2ZW50KSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuaGlkZU1lbnUoKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSkge1xuXHRcdFx0XHR0aGlzLmJsb2NrQm9keVNjcm9sbCgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdHRoaXMuaGlkZU1lbnUoKTtcblx0XHR9KTtcblx0fVxuXG5cdGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcblx0XHRpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYmxvY2tlZC1zY3JvbGwnKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgKz0gJyBibG9ja2VkLXNjcm9sbCc7XG5cdFx0fVxuXHR9XG5cblx0dW5ibG9ja0JvZHlTY3JvbGwoKTogdm9pZCB7XG5cdFx0aWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XG5cdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2Jsb2NrZWQtc2Nyb2xsJyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZShcblx0XHRcdFx0bmV3IFJlZ0V4cCgnKF58XFxcXGIpJyArICdibG9ja2VkLXNjcm9sbCcuc3BsaXQoJyAnKS5qb2luKCd8JykgKyAnKFxcXFxifCQpJywgJ2dpJyksXG5cdFx0XHRcdCcgJ1xuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHRoaWRlTWVudSgpIHtcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUub3ZlcmxheU1lbnVBY3RpdmUgPSBmYWxzZTtcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9IGZhbHNlO1xuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5tZW51SG92ZXJBY3RpdmUgPSBmYWxzZTtcblx0XHR0aGlzLm1lbnVTZXJ2aWNlLnJlc2V0KCk7XG5cblx0XHRpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcblx0XHRcdHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG5cdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMubWVudVNjcm9sbExpc3RlbmVyKSB7XG5cdFx0XHR0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lcigpO1xuXHRcdFx0dGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIgPSBudWxsO1xuXHRcdH1cblxuXHRcdHRoaXMudW5ibG9ja0JvZHlTY3JvbGwoKTtcblx0fVxuXG5cdGdldCBjb250YWluZXJDbGFzcygpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0J2xheW91dC1saWdodCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5jb2xvclNjaGVtZSA9PT0gJ2xpZ2h0Jyxcblx0XHRcdCdsYXlvdXQtZGltJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLmNvbG9yU2NoZW1lID09PSAnZGltJyxcblx0XHRcdCdsYXlvdXQtZGFyayc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5jb2xvclNjaGVtZSA9PT0gJ2RhcmsnLFxuXHRcdFx0J2xheW91dC1jb2xvcnNjaGVtZS1tZW51JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVUaGVtZSA9PT0gJ2NvbG9yU2NoZW1lJyxcblx0XHRcdCdsYXlvdXQtcHJpbWFyeWNvbG9yLW1lbnUnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudVRoZW1lID09PSAncHJpbWFyeUNvbG9yJyxcblx0XHRcdCdsYXlvdXQtdHJhbnNwYXJlbnQtbWVudSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51VGhlbWUgPT09ICd0cmFuc3BhcmVudCcsXG5cdFx0XHQnbGF5b3V0LW92ZXJsYXknOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudU1vZGUgPT09ICdvdmVybGF5Jyxcblx0XHRcdCdsYXlvdXQtc3RhdGljJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnc3RhdGljJyxcblx0XHRcdCdsYXlvdXQtc2xpbSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3NsaW0nLFxuXHRcdFx0J2xheW91dC1zbGltLXBsdXMnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudU1vZGUgPT09ICdzbGltLXBsdXMnLFxuXHRcdFx0J2xheW91dC1ob3Jpem9udGFsJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnaG9yaXpvbnRhbCcsXG5cdFx0XHQnbGF5b3V0LXJldmVhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3JldmVhbCcsXG5cdFx0XHQnbGF5b3V0LWRyYXdlcic6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ2RyYXdlcicsXG5cdFx0XHQnbGF5b3V0LXN0YXRpYy1pbmFjdGl2ZSc6XG5cdFx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3N0YXRpYycsXG5cdFx0XHQnbGF5b3V0LW92ZXJsYXktYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm92ZXJsYXlNZW51QWN0aXZlLFxuXHRcdFx0J2xheW91dC1tb2JpbGUtYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUsXG5cdFx0XHQncC1pbnB1dC1maWxsZWQnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuaW5wdXRTdHlsZSA9PT0gJ2ZpbGxlZCcsXG5cdFx0XHQncC1yaXBwbGUtZGlzYWJsZWQnOiAhdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLnJpcHBsZSxcblx0XHRcdCdsYXlvdXQtc2lkZWJhci1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2lkZWJhckFjdGl2ZSxcblx0XHRcdCdsYXlvdXQtc2lkZWJhci1hbmNob3JlZCc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5hbmNob3JlZFxuXHRcdH07XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHRpZiAodGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24pIHtcblx0XHRcdHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG5cdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1jb250YWluZXJcIiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc1wiPlxuXHQ8YXBwLXNpZGViYXI+PC9hcHAtc2lkZWJhcj5cblx0PGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50LXdyYXBwZXJcIj5cblx0XHQ8YXBwLXRvcGJhcj48L2FwcC10b3BiYXI+XG5cdFx0PCEtLSA8YXBwLWJyZWFkY3J1bWIgY2xhc3M9XCJjb250ZW50LWJyZWFkY3J1bWJcIj48L2FwcC1icmVhZGNydW1iPiAtLT5cblx0XHQ8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRlbnRcIj5cblx0XHRcdDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG5cdDxhcHAtcHJvZmlsZW1lbnU+PC9hcHAtcHJvZmlsZW1lbnU+XG5cdDxhcHAtY29uZmlnPjwvYXBwLWNvbmZpZz5cblx0PGRpdiBjbGFzcz1cImxheW91dC1tYXNrXCI+PC9kaXY+XG48L2Rpdj5cblxuPHAtdG9hc3Qga2V5PVwidG9hc3Qtcm9vdFwiPjwvcC10b2FzdD5cbjxwLWRpYWxvZyBrZXk9XCJkaWFsb2ctcm9vdFwiPjwvcC1kaWFsb2c+XG48cC1tZXNzYWdlcyBrZXk9XCJtZXNzYWdlcy1yb290XCI+PC9wLW1lc3NhZ2VzPlxuPHAtY29uZmlybVBvcHVwIGtleT1cImNvbmZpcm1Qb3B1cC1yb290XCI+PC9wLWNvbmZpcm1Qb3B1cD5cbjxwLWNvbmZpcm1EaWFsb2cga2V5PVwiY29uZmlybURpYWxvZy1yb290XCI+PC9wLWNvbmZpcm1EaWFsb2c+XG4iXX0=