pdm-ui-kit 0.4.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/accordion/accordion.module.d.ts +8 -0
  2. package/accordion/index.d.ts +2 -0
  3. package/accordion/index.mjs +2 -0
  4. package/alert/alert.module.d.ts +9 -0
  5. package/alert/index.d.ts +3 -0
  6. package/alert/index.mjs +3 -0
  7. package/aspect-ratio/aspect-ratio.module.d.ts +8 -0
  8. package/aspect-ratio/index.d.ts +2 -0
  9. package/aspect-ratio/index.mjs +2 -0
  10. package/avatar/avatar.module.d.ts +8 -0
  11. package/avatar/index.d.ts +2 -0
  12. package/avatar/index.mjs +2 -0
  13. package/badge/badge.module.d.ts +8 -0
  14. package/badge/index.d.ts +2 -0
  15. package/badge/index.mjs +2 -0
  16. package/breadcrumb/breadcrumb.module.d.ts +8 -0
  17. package/breadcrumb/index.d.ts +2 -0
  18. package/breadcrumb/index.mjs +2 -0
  19. package/button/button.module.d.ts +9 -0
  20. package/button/index.d.ts +3 -0
  21. package/button/index.mjs +3 -0
  22. package/calendar/calendar.module.d.ts +11 -0
  23. package/{lib/components/date-picker → calendar}/date-picker.component.d.ts +1 -1
  24. package/calendar/index.d.ts +3 -0
  25. package/calendar/index.mjs +3 -0
  26. package/card/card.module.d.ts +8 -0
  27. package/card/index.d.ts +2 -0
  28. package/card/index.mjs +2 -0
  29. package/carousel/carousel.module.d.ts +8 -0
  30. package/carousel/index.d.ts +2 -0
  31. package/carousel/index.mjs +2 -0
  32. package/chart/chart.module.d.ts +8 -0
  33. package/chart/index.d.ts +2 -0
  34. package/chart/index.mjs +2 -0
  35. package/checkbox/checkbox.module.d.ts +8 -0
  36. package/checkbox/index.d.ts +2 -0
  37. package/checkbox/index.mjs +2 -0
  38. package/collapsible/collapsible.module.d.ts +8 -0
  39. package/collapsible/index.d.ts +2 -0
  40. package/collapsible/index.mjs +2 -0
  41. package/combobox/combobox.module.d.ts +9 -0
  42. package/combobox/index.d.ts +2 -0
  43. package/combobox/index.mjs +2 -0
  44. package/command/command.module.d.ts +9 -0
  45. package/command/index.d.ts +2 -0
  46. package/command/index.mjs +2 -0
  47. package/context-menu/context-menu.module.d.ts +9 -0
  48. package/context-menu/index.d.ts +2 -0
  49. package/context-menu/index.mjs +2 -0
  50. package/{lib/components/data-table → data-table}/data-table.component.d.ts +1 -1
  51. package/data-table/data-table.module.d.ts +10 -0
  52. package/{lib/components/draggable-table → data-table}/draggable-table.component.d.ts +2 -2
  53. package/data-table/index.d.ts +4 -0
  54. package/data-table/index.mjs +4 -0
  55. package/{lib/components/table → data-table}/table.component.d.ts +1 -1
  56. package/dialog/dialog.module.d.ts +8 -0
  57. package/dialog/index.d.ts +2 -0
  58. package/dialog/index.mjs +2 -0
  59. package/drawer/drawer.module.d.ts +10 -0
  60. package/drawer/index.d.ts +3 -0
  61. package/drawer/index.mjs +3 -0
  62. package/{lib/components/dropdown-menu → dropdown-menu}/dropdown-menu.component.d.ts +1 -1
  63. package/dropdown-menu/dropdown-menu.module.d.ts +9 -0
  64. package/dropdown-menu/index.d.ts +2 -0
  65. package/dropdown-menu/index.mjs +2 -0
  66. package/empty/empty.module.d.ts +10 -0
  67. package/empty/index.d.ts +2 -0
  68. package/empty/index.mjs +2 -0
  69. package/esm2020/{lib/components/accordion → accordion}/accordion.component.mjs +1 -1
  70. package/esm2020/accordion/accordion.module.mjs +21 -0
  71. package/esm2020/{lib/components/alert-dialog → alert}/alert-dialog.component.mjs +1 -1
  72. package/esm2020/{lib/components/alert → alert}/alert.component.mjs +1 -1
  73. package/esm2020/alert/alert.module.mjs +25 -0
  74. package/esm2020/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.mjs +1 -1
  75. package/esm2020/aspect-ratio/aspect-ratio.module.mjs +21 -0
  76. package/esm2020/{lib/components/avatar → avatar}/avatar.component.mjs +1 -1
  77. package/esm2020/avatar/avatar.module.mjs +21 -0
  78. package/esm2020/{lib/components/badge → badge}/badge.component.mjs +1 -1
  79. package/esm2020/badge/badge.module.mjs +21 -0
  80. package/esm2020/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.mjs +1 -1
  81. package/esm2020/breadcrumb/breadcrumb.module.mjs +21 -0
  82. package/esm2020/button/button-group.component.mjs +236 -0
  83. package/esm2020/button/button.component.mjs +114 -0
  84. package/esm2020/button/button.module.mjs +25 -0
  85. package/esm2020/calendar/calendar.component.mjs +529 -0
  86. package/esm2020/calendar/calendar.module.mjs +22 -0
  87. package/esm2020/{lib/components/date-picker → calendar}/date-picker.component.mjs +6 -6
  88. package/esm2020/{lib/components/card → card}/card.component.mjs +1 -1
  89. package/esm2020/card/card.module.mjs +21 -0
  90. package/esm2020/carousel/carousel.component.mjs +102 -0
  91. package/esm2020/carousel/carousel.module.mjs +21 -0
  92. package/esm2020/{lib/components/chart → chart}/chart.component.mjs +1 -1
  93. package/esm2020/chart/chart.module.mjs +21 -0
  94. package/esm2020/{lib/components/checkbox → checkbox}/checkbox.component.mjs +1 -1
  95. package/esm2020/checkbox/checkbox.module.mjs +21 -0
  96. package/esm2020/{lib/components/collapsible → collapsible}/collapsible.component.mjs +1 -1
  97. package/esm2020/collapsible/collapsible.module.mjs +21 -0
  98. package/esm2020/combobox/combobox.component.mjs +173 -0
  99. package/esm2020/combobox/combobox.module.mjs +22 -0
  100. package/esm2020/command/command.component.mjs +75 -0
  101. package/esm2020/command/command.module.mjs +20 -0
  102. package/esm2020/context-menu/context-menu.component.mjs +165 -0
  103. package/esm2020/context-menu/context-menu.module.mjs +22 -0
  104. package/esm2020/data-table/data-table.component.mjs +299 -0
  105. package/esm2020/data-table/data-table.module.mjs +29 -0
  106. package/esm2020/data-table/draggable-table.component.mjs +300 -0
  107. package/esm2020/data-table/table.component.mjs +182 -0
  108. package/esm2020/{lib/components/dialog → dialog}/dialog.component.mjs +3 -3
  109. package/esm2020/dialog/dialog.module.mjs +21 -0
  110. package/esm2020/{lib/components/drawer → drawer}/drawer.component.mjs +2 -2
  111. package/esm2020/drawer/drawer.module.mjs +21 -0
  112. package/esm2020/drawer/sheet.component.mjs +116 -0
  113. package/esm2020/dropdown-menu/dropdown-menu.component.mjs +192 -0
  114. package/esm2020/dropdown-menu/dropdown-menu.module.mjs +22 -0
  115. package/esm2020/{lib/components/empty → empty}/empty.component.mjs +1 -1
  116. package/esm2020/empty/empty.module.mjs +21 -0
  117. package/esm2020/{lib/components/field → field}/field.component.mjs +1 -1
  118. package/esm2020/field/field.module.mjs +21 -0
  119. package/esm2020/hover-card/hover-card.component.mjs +205 -0
  120. package/esm2020/hover-card/hover-card.module.mjs +22 -0
  121. package/esm2020/icon/icon.component.mjs +144 -0
  122. package/esm2020/icon/icon.module.mjs +21 -0
  123. package/esm2020/{lib/components/input-group → input}/input-group.component.mjs +1 -1
  124. package/esm2020/input/input-otp.component.mjs +144 -0
  125. package/esm2020/{lib/components/input-password → input}/input-password.component.mjs +1 -1
  126. package/esm2020/{lib/components/input → input}/input.component.mjs +1 -1
  127. package/esm2020/input/input.module.mjs +38 -0
  128. package/esm2020/{lib/components/textarea → input}/textarea.component.mjs +1 -1
  129. package/esm2020/{lib/components/item → item}/item.component.mjs +1 -1
  130. package/esm2020/item/item.module.mjs +21 -0
  131. package/esm2020/{lib/components/kbd → kbd}/kbd.component.mjs +1 -1
  132. package/esm2020/kbd/kbd.module.mjs +21 -0
  133. package/esm2020/{lib/components/label → label}/label.component.mjs +1 -1
  134. package/esm2020/label/label.module.mjs +21 -0
  135. package/esm2020/menubar/menubar.component.mjs +144 -0
  136. package/esm2020/menubar/menubar.module.mjs +22 -0
  137. package/esm2020/{lib/components/native-select → native-select}/native-select.component.mjs +1 -1
  138. package/esm2020/native-select/native-select.module.mjs +20 -0
  139. package/esm2020/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.mjs +1 -1
  140. package/esm2020/navigation-menu/navigation-menu.module.mjs +21 -0
  141. package/esm2020/overlay/create-flexible-position-strategy.mjs +54 -0
  142. package/esm2020/overlay/pdm-outside-click.directive.mjs +86 -0
  143. package/esm2020/overlay/pdm-outside-click.module.mjs +18 -0
  144. package/esm2020/overlay/pdm-overlay-options.mjs +2 -0
  145. package/esm2020/overlay/z-index-helper.mjs +69 -0
  146. package/esm2020/{lib/components/pagination → pagination}/pagination.component.mjs +1 -1
  147. package/esm2020/pagination/pagination.module.mjs +21 -0
  148. package/esm2020/pdm-ui-kit.module.mjs +260 -0
  149. package/esm2020/popover/popover.component.mjs +162 -0
  150. package/esm2020/popover/popover.module.mjs +22 -0
  151. package/esm2020/{lib/components/progress → progress}/progress.component.mjs +1 -1
  152. package/esm2020/progress/progress.module.mjs +21 -0
  153. package/esm2020/public-api.mjs +117 -67
  154. package/esm2020/{lib/components/radio-group → radio-group}/radio-group.component.mjs +1 -1
  155. package/esm2020/radio-group/radio-group.module.mjs +21 -0
  156. package/esm2020/{lib/components/scroll-area → scroll-area}/scroll-area.component.mjs +1 -1
  157. package/esm2020/scroll-area/scroll-area.module.mjs +21 -0
  158. package/esm2020/select/select-option.directive.mjs +55 -0
  159. package/esm2020/select/select.component.mjs +164 -0
  160. package/esm2020/select/select.module.mjs +22 -0
  161. package/esm2020/{lib/components/separator → separator}/separator.component.mjs +1 -1
  162. package/esm2020/separator/separator.module.mjs +21 -0
  163. package/esm2020/{lib/components/sidebar → sidebar}/sidebar.component.mjs +1 -1
  164. package/esm2020/sidebar/sidebar.module.mjs +21 -0
  165. package/esm2020/{lib/components/skeleton → skeleton}/skeleton.component.mjs +1 -1
  166. package/esm2020/skeleton/skeleton.module.mjs +21 -0
  167. package/esm2020/{lib/components/slider → slider}/slider.component.mjs +1 -1
  168. package/esm2020/slider/slider.module.mjs +21 -0
  169. package/esm2020/{lib/components/sonner → sonner}/sonner.component.mjs +1 -1
  170. package/esm2020/sonner/sonner.module.mjs +20 -0
  171. package/esm2020/{lib/components/spinner → spinner}/spinner.component.mjs +1 -1
  172. package/esm2020/spinner/spinner.module.mjs +21 -0
  173. package/esm2020/switch/switch.component.mjs +58 -0
  174. package/esm2020/switch/switch.module.mjs +21 -0
  175. package/esm2020/{lib/components/tabs → tabs}/tabs.component.mjs +1 -1
  176. package/esm2020/tabs/tabs.module.mjs +21 -0
  177. package/esm2020/{lib/components/toggle-group → toggle}/toggle-group.component.mjs +1 -1
  178. package/esm2020/{lib/components/toggle → toggle}/toggle.component.mjs +1 -1
  179. package/esm2020/toggle/toggle.module.mjs +25 -0
  180. package/esm2020/tooltip/tooltip.component.mjs +176 -0
  181. package/esm2020/tooltip/tooltip.module.mjs +22 -0
  182. package/esm2020/utils/responsive.mjs +143 -0
  183. package/esm2020/utils/z-index.mjs +90 -0
  184. package/fesm2015/pdm-ui-kit.mjs +3332 -2492
  185. package/fesm2015/pdm-ui-kit.mjs.map +1 -1
  186. package/fesm2020/pdm-ui-kit.mjs +2668 -1828
  187. package/fesm2020/pdm-ui-kit.mjs.map +1 -1
  188. package/field/field.module.d.ts +8 -0
  189. package/field/index.d.ts +2 -0
  190. package/field/index.mjs +2 -0
  191. package/hover-card/hover-card.module.d.ts +9 -0
  192. package/hover-card/index.d.ts +2 -0
  193. package/hover-card/index.mjs +2 -0
  194. package/icon/icon.module.d.ts +8 -0
  195. package/icon/index.d.ts +2 -0
  196. package/icon/index.mjs +2 -0
  197. package/input/index.d.ts +6 -0
  198. package/input/index.mjs +6 -0
  199. package/input/input.module.d.ts +13 -0
  200. package/item/index.d.ts +2 -0
  201. package/item/index.mjs +2 -0
  202. package/item/item.module.d.ts +8 -0
  203. package/kbd/index.d.ts +2 -0
  204. package/kbd/index.mjs +2 -0
  205. package/kbd/kbd.module.d.ts +8 -0
  206. package/label/index.d.ts +2 -0
  207. package/label/index.mjs +2 -0
  208. package/label/label.module.d.ts +8 -0
  209. package/menubar/index.d.ts +2 -0
  210. package/menubar/index.mjs +2 -0
  211. package/menubar/menubar.module.d.ts +9 -0
  212. package/native-select/index.d.ts +2 -0
  213. package/native-select/index.mjs +2 -0
  214. package/native-select/native-select.module.d.ts +9 -0
  215. package/navigation-menu/index.d.ts +2 -0
  216. package/navigation-menu/index.mjs +2 -0
  217. package/navigation-menu/navigation-menu.module.d.ts +8 -0
  218. package/overlay/index.d.ts +8 -0
  219. package/overlay/index.mjs +8 -0
  220. package/overlay/pdm-outside-click.module.d.ts +8 -0
  221. package/package.json +198 -2
  222. package/pagination/index.d.ts +2 -0
  223. package/pagination/index.mjs +2 -0
  224. package/pagination/pagination.module.d.ts +10 -0
  225. package/pdm-ui-kit.module.d.ts +60 -0
  226. package/popover/index.d.ts +2 -0
  227. package/popover/index.mjs +2 -0
  228. package/popover/popover.module.d.ts +9 -0
  229. package/progress/index.d.ts +2 -0
  230. package/progress/index.mjs +2 -0
  231. package/progress/progress.module.d.ts +8 -0
  232. package/public-api.d.ts +114 -66
  233. package/radio-group/index.d.ts +2 -0
  234. package/radio-group/index.mjs +2 -0
  235. package/radio-group/radio-group.module.d.ts +8 -0
  236. package/scroll-area/index.d.ts +2 -0
  237. package/scroll-area/index.mjs +2 -0
  238. package/scroll-area/scroll-area.module.d.ts +8 -0
  239. package/select/index.d.ts +3 -0
  240. package/select/index.mjs +3 -0
  241. package/{lib/components/select → select}/select.component.d.ts +1 -1
  242. package/select/select.module.d.ts +11 -0
  243. package/separator/index.d.ts +2 -0
  244. package/separator/index.mjs +2 -0
  245. package/separator/separator.module.d.ts +8 -0
  246. package/sidebar/index.d.ts +2 -0
  247. package/sidebar/index.mjs +2 -0
  248. package/sidebar/sidebar.module.d.ts +8 -0
  249. package/skeleton/index.d.ts +2 -0
  250. package/skeleton/index.mjs +2 -0
  251. package/skeleton/skeleton.module.d.ts +8 -0
  252. package/slider/index.d.ts +2 -0
  253. package/slider/index.mjs +2 -0
  254. package/slider/slider.module.d.ts +8 -0
  255. package/sonner/index.d.ts +2 -0
  256. package/sonner/index.mjs +2 -0
  257. package/sonner/sonner.module.d.ts +9 -0
  258. package/spinner/index.d.ts +2 -0
  259. package/spinner/index.mjs +2 -0
  260. package/spinner/spinner.module.d.ts +8 -0
  261. package/switch/index.d.ts +2 -0
  262. package/switch/index.mjs +2 -0
  263. package/switch/switch.module.d.ts +8 -0
  264. package/tabs/index.d.ts +2 -0
  265. package/tabs/index.mjs +2 -0
  266. package/tabs/tabs.module.d.ts +8 -0
  267. package/toggle/index.d.ts +3 -0
  268. package/toggle/index.mjs +3 -0
  269. package/toggle/toggle.module.d.ts +9 -0
  270. package/tooltip/index.d.ts +2 -0
  271. package/tooltip/index.mjs +2 -0
  272. package/tooltip/tooltip.module.d.ts +9 -0
  273. package/utils/index.d.ts +3 -0
  274. package/utils/index.mjs +3 -0
  275. package/esm2020/lib/components/button/button.component.mjs +0 -114
  276. package/esm2020/lib/components/button-group/button-group.component.mjs +0 -236
  277. package/esm2020/lib/components/calendar/calendar.component.mjs +0 -529
  278. package/esm2020/lib/components/carousel/carousel.component.mjs +0 -102
  279. package/esm2020/lib/components/combobox/combobox.component.mjs +0 -173
  280. package/esm2020/lib/components/command/command.component.mjs +0 -75
  281. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -165
  282. package/esm2020/lib/components/data-table/data-table.component.mjs +0 -299
  283. package/esm2020/lib/components/draggable-table/draggable-table.component.mjs +0 -300
  284. package/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -192
  285. package/esm2020/lib/components/hover-card/hover-card.component.mjs +0 -205
  286. package/esm2020/lib/components/icon/icon.component.mjs +0 -144
  287. package/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -144
  288. package/esm2020/lib/components/menubar/menubar.component.mjs +0 -144
  289. package/esm2020/lib/components/popover/popover.component.mjs +0 -162
  290. package/esm2020/lib/components/select/select-option.directive.mjs +0 -55
  291. package/esm2020/lib/components/select/select.component.mjs +0 -164
  292. package/esm2020/lib/components/sheet/sheet.component.mjs +0 -116
  293. package/esm2020/lib/components/switch/switch.component.mjs +0 -58
  294. package/esm2020/lib/components/table/table.component.mjs +0 -182
  295. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -176
  296. package/esm2020/lib/overlay/create-flexible-position-strategy.mjs +0 -54
  297. package/esm2020/lib/overlay/pdm-outside-click.directive.mjs +0 -86
  298. package/esm2020/lib/overlay/pdm-overlay-options.mjs +0 -2
  299. package/esm2020/lib/overlay/z-index-helper.mjs +0 -69
  300. package/esm2020/lib/pdm-ui-kit.module.mjs +0 -258
  301. package/esm2020/lib/utils/responsive.mjs +0 -143
  302. package/esm2020/lib/utils/z-index.mjs +0 -90
  303. package/lib/pdm-ui-kit.module.d.ts +0 -68
  304. /package/{lib/components/accordion → accordion}/accordion.component.d.ts +0 -0
  305. /package/{lib/components/alert-dialog → alert}/alert-dialog.component.d.ts +0 -0
  306. /package/{lib/components/alert → alert}/alert.component.d.ts +0 -0
  307. /package/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.d.ts +0 -0
  308. /package/{lib/components/avatar → avatar}/avatar.component.d.ts +0 -0
  309. /package/{lib/components/badge → badge}/badge.component.d.ts +0 -0
  310. /package/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.d.ts +0 -0
  311. /package/{lib/components/button-group → button}/button-group.component.d.ts +0 -0
  312. /package/{lib/components/button → button}/button.component.d.ts +0 -0
  313. /package/{lib/components/calendar → calendar}/calendar.component.d.ts +0 -0
  314. /package/{lib/components/card → card}/card.component.d.ts +0 -0
  315. /package/{lib/components/carousel → carousel}/carousel.component.d.ts +0 -0
  316. /package/{lib/components/chart → chart}/chart.component.d.ts +0 -0
  317. /package/{lib/components/checkbox → checkbox}/checkbox.component.d.ts +0 -0
  318. /package/{lib/components/collapsible → collapsible}/collapsible.component.d.ts +0 -0
  319. /package/{lib/components/combobox → combobox}/combobox.component.d.ts +0 -0
  320. /package/{lib/components/command → command}/command.component.d.ts +0 -0
  321. /package/{lib/components/context-menu → context-menu}/context-menu.component.d.ts +0 -0
  322. /package/{lib/components/dialog → dialog}/dialog.component.d.ts +0 -0
  323. /package/{lib/components/drawer → drawer}/drawer.component.d.ts +0 -0
  324. /package/{lib/components/sheet → drawer}/sheet.component.d.ts +0 -0
  325. /package/{lib/components/empty → empty}/empty.component.d.ts +0 -0
  326. /package/{lib/components/field → field}/field.component.d.ts +0 -0
  327. /package/{lib/components/hover-card → hover-card}/hover-card.component.d.ts +0 -0
  328. /package/{lib/components/icon → icon}/icon.component.d.ts +0 -0
  329. /package/{lib/components/input-group → input}/input-group.component.d.ts +0 -0
  330. /package/{lib/components/input-otp → input}/input-otp.component.d.ts +0 -0
  331. /package/{lib/components/input-password → input}/input-password.component.d.ts +0 -0
  332. /package/{lib/components/input → input}/input.component.d.ts +0 -0
  333. /package/{lib/components/textarea → input}/textarea.component.d.ts +0 -0
  334. /package/{lib/components/item → item}/item.component.d.ts +0 -0
  335. /package/{lib/components/kbd → kbd}/kbd.component.d.ts +0 -0
  336. /package/{lib/components/label → label}/label.component.d.ts +0 -0
  337. /package/{lib/components/menubar → menubar}/menubar.component.d.ts +0 -0
  338. /package/{lib/components/native-select → native-select}/native-select.component.d.ts +0 -0
  339. /package/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.d.ts +0 -0
  340. /package/{lib/overlay → overlay}/create-flexible-position-strategy.d.ts +0 -0
  341. /package/{lib/overlay → overlay}/pdm-outside-click.directive.d.ts +0 -0
  342. /package/{lib/overlay → overlay}/pdm-overlay-options.d.ts +0 -0
  343. /package/{lib/overlay → overlay}/z-index-helper.d.ts +0 -0
  344. /package/{lib/components/pagination → pagination}/pagination.component.d.ts +0 -0
  345. /package/{lib/components/popover → popover}/popover.component.d.ts +0 -0
  346. /package/{lib/components/progress → progress}/progress.component.d.ts +0 -0
  347. /package/{lib/components/radio-group → radio-group}/radio-group.component.d.ts +0 -0
  348. /package/{lib/components/scroll-area → scroll-area}/scroll-area.component.d.ts +0 -0
  349. /package/{lib/components/select → select}/select-option.directive.d.ts +0 -0
  350. /package/{lib/components/separator → separator}/separator.component.d.ts +0 -0
  351. /package/{lib/components/sidebar → sidebar}/sidebar.component.d.ts +0 -0
  352. /package/{lib/components/skeleton → skeleton}/skeleton.component.d.ts +0 -0
  353. /package/{lib/components/slider → slider}/slider.component.d.ts +0 -0
  354. /package/{lib/components/sonner → sonner}/sonner.component.d.ts +0 -0
  355. /package/{lib/components/spinner → spinner}/spinner.component.d.ts +0 -0
  356. /package/src/{lib/styles → styles}/tokens.css +0 -0
  357. /package/{lib/components/switch → switch}/switch.component.d.ts +0 -0
  358. /package/{lib/components/tabs → tabs}/tabs.component.d.ts +0 -0
  359. /package/{lib/components/toggle-group → toggle}/toggle-group.component.d.ts +0 -0
  360. /package/{lib/components/toggle → toggle}/toggle.component.d.ts +0 -0
  361. /package/{lib/components/tooltip → tooltip}/tooltip.component.d.ts +0 -0
  362. /package/{lib/utils → utils}/responsive.d.ts +0 -0
  363. /package/{lib/utils → utils}/z-index.d.ts +0 -0
@@ -0,0 +1,192 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { TemplatePortal } from '@angular/cdk/portal';
3
+ import { createFlexiblePositionStrategy } from '../overlay/create-flexible-position-strategy';
4
+ import { Z_INDEX } from '../utils/z-index';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ import * as i2 from "@angular/common";
8
+ export class PdmDropdownMenuComponent {
9
+ constructor(elementRef, cdr, overlay, viewContainerRef) {
10
+ this.elementRef = elementRef;
11
+ this.cdr = cdr;
12
+ this.overlay = overlay;
13
+ this.viewContainerRef = viewContainerRef;
14
+ this.triggerText = 'Open';
15
+ this.variant = 'default';
16
+ this.items = [];
17
+ this.closeOnSelect = true;
18
+ /**
19
+ * Additional CSS classes applied to the trigger wrapper element.
20
+ * Preserved for backward compatibility.
21
+ */
22
+ this.className = '';
23
+ /**
24
+ * Additional CSS classes applied to the overlay panel.
25
+ * Backward-compatible: mapped to `overlayOptions.panelClass` when `overlayOptions` is not set.
26
+ * When both are supplied, `overlayOptions.panelClass` takes precedence.
27
+ */
28
+ this.panelClassName = '';
29
+ this.itemSelect = new EventEmitter();
30
+ this.itemsChange = new EventEmitter();
31
+ this.open = false;
32
+ this.overlayRef = null;
33
+ this.backdropSub = null;
34
+ }
35
+ ngOnDestroy() {
36
+ this.destroyOverlay();
37
+ }
38
+ toggle() {
39
+ if (this.open) {
40
+ this.closePanel();
41
+ }
42
+ else {
43
+ this.openPanel();
44
+ }
45
+ }
46
+ get resolvedItems() {
47
+ if (this.items.length) {
48
+ return this.items;
49
+ }
50
+ if (this.variant === 'checkboxes') {
51
+ return [
52
+ { type: 'label', label: 'Appearance' },
53
+ { type: 'separator' },
54
+ { type: 'item', label: 'Status Bar', value: 'status-bar', checked: true },
55
+ { type: 'item', label: 'Activity Bar', value: 'activity-bar', checked: false },
56
+ { type: 'item', label: 'Panel', value: 'panel', checked: false }
57
+ ];
58
+ }
59
+ if (this.variant === 'radio-group') {
60
+ return [
61
+ { type: 'label', label: 'Panel Position' },
62
+ { type: 'separator' },
63
+ { type: 'item', label: 'Top', value: 'top', radioSelected: true },
64
+ { type: 'item', label: 'Bottom', value: 'bottom', radioSelected: false },
65
+ { type: 'item', label: 'Right', value: 'right', radioSelected: false }
66
+ ];
67
+ }
68
+ return [
69
+ { type: 'label', label: 'My Account', inset: true },
70
+ { type: 'separator' },
71
+ { type: 'item', label: 'Profile', value: 'profile', shortcut: '⇧⌘P' },
72
+ { type: 'item', label: 'Billing', value: 'billing', shortcut: '⌘B' },
73
+ { type: 'item', label: 'Settings', value: 'settings', shortcut: '⌘S' },
74
+ { type: 'item', label: 'Keyboard shortcuts', value: 'shortcuts', shortcut: '⌘K' },
75
+ { type: 'separator' },
76
+ { type: 'item', label: 'Team', value: 'team' },
77
+ { type: 'item', label: 'Invite users', value: 'invite', showChevron: true },
78
+ { type: 'item', label: 'New Team', value: 'new-team', shortcut: '⌘+T' },
79
+ { type: 'separator' },
80
+ { type: 'item', label: 'GitHub', value: 'github' },
81
+ { type: 'item', label: 'Support', value: 'support' },
82
+ { type: 'item', label: 'API', value: 'api', disabled: true },
83
+ { type: 'separator' },
84
+ { type: 'item', label: 'Log out', value: 'logout', shortcut: '⇧⌘Q' }
85
+ ];
86
+ }
87
+ select(item) {
88
+ if (item.disabled || item.type === 'separator' || item.type === 'label' || !item.value)
89
+ return;
90
+ if (this.variant === 'checkboxes') {
91
+ const updated = this.resolvedItems.map((entry) => entry.value === item.value ? { ...entry, checked: !entry.checked } : entry);
92
+ this.itemsChange.emit(updated);
93
+ }
94
+ if (this.variant === 'radio-group') {
95
+ const updated = this.resolvedItems.map((entry) => entry.type === 'item'
96
+ ? { ...entry, radioSelected: entry.value === item.value }
97
+ : entry);
98
+ this.itemsChange.emit(updated);
99
+ }
100
+ this.itemSelect.emit(item.value);
101
+ const shouldClose = this.variant === 'default' ? this.closeOnSelect : false;
102
+ if (shouldClose) {
103
+ this.closePanel();
104
+ }
105
+ }
106
+ onEsc() {
107
+ if (this.open) {
108
+ this.closePanel();
109
+ }
110
+ }
111
+ openPanel() {
112
+ if (this.overlayRef)
113
+ return;
114
+ const triggerEl = this.triggerRef?.nativeElement;
115
+ if (!triggerEl)
116
+ return;
117
+ this.open = true;
118
+ this.cdr.markForCheck();
119
+ const positionStrategy = createFlexiblePositionStrategy(this.overlay, triggerEl, 8);
120
+ // Resolve panelClass: overlayOptions.panelClass wins; otherwise map panelClassName.
121
+ const resolvedPanelClass = this.overlayOptions?.panelClass
122
+ ?? (this.panelClassName ? [Z_INDEX.popover, this.panelClassName] : [Z_INDEX.popover]);
123
+ this.overlayRef = this.overlay.create({
124
+ positionStrategy,
125
+ scrollStrategy: this.overlay.scrollStrategies.reposition(),
126
+ // Consumer overrides are spread last — they win over every default above.
127
+ ...this.overlayOptions,
128
+ // panelClass always overrides last: it already merges panelClassName + overlayOptions.
129
+ panelClass: resolvedPanelClass
130
+ });
131
+ const portal = new TemplatePortal(this.panelTemplateRef, this.viewContainerRef);
132
+ this.overlayRef.attach(portal);
133
+ this.backdropSub = this.overlayRef.outsidePointerEvents().subscribe((event) => {
134
+ const target = event.target;
135
+ if (!triggerEl.contains(target)) {
136
+ this.closePanel();
137
+ }
138
+ });
139
+ this.cdr.markForCheck();
140
+ }
141
+ closePanel() {
142
+ if (!this.overlayRef)
143
+ return;
144
+ this.open = false;
145
+ this.destroyOverlay();
146
+ this.cdr.markForCheck();
147
+ }
148
+ destroyOverlay() {
149
+ if (this.backdropSub) {
150
+ this.backdropSub.unsubscribe();
151
+ this.backdropSub = null;
152
+ }
153
+ if (this.overlayRef) {
154
+ this.overlayRef.dispose();
155
+ this.overlayRef = null;
156
+ }
157
+ }
158
+ }
159
+ PdmDropdownMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDropdownMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
160
+ PdmDropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDropdownMenuComponent, selector: "pdm-dropdown-menu", inputs: { triggerText: "triggerText", variant: "variant", items: "items", closeOnSelect: "closeOnSelect", className: "className", panelClassName: "panelClassName", overlayOptions: "overlayOptions" }, outputs: { itemSelect: "itemSelect", itemsChange: "itemsChange" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<button\n #triggerEl\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n className\n ]\"\n [attr.aria-expanded]=\"open\"\n (click)=\"toggle()\"\n>\n {{ triggerText }}\n</button>\n\n<ng-template #panelTemplate>\n <div\n class=\"min-w-32 overflow-hidden rounded-md border border-solid border-border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n <ng-container *ngFor=\"let item of resolvedItems\">\n <div *ngIf=\"item.type === 'separator'\" class=\"-mx-1 my-1 h-px bg-muted\"></div>\n\n <div\n *ngIf=\"item.type === 'label'\"\n [ngClass]=\"['px-2 py-1.5 text-sm font-semibold text-foreground', item.inset ? 'pl-8' : '']\"\n >\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n [ngClass]=\"[\n 'relative flex w-full appearance-none box-border cursor-default select-none items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm text-foreground outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground disabled:pointer-events-none disabled:opacity-50',\n item.inset ? 'pl-8' : ''\n ]\"\n (click)=\"select(item)\"\n >\n <span class=\"inline-flex h-4 w-4 shrink-0 items-center justify-center\">\n <svg\n *ngIf=\"item.checked\"\n viewBox=\"0 0 24 24\"\n class=\"h-3.5 w-3.5 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M5 12.5L9.2 16.7L19 7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span *ngIf=\"item.radioSelected\" class=\"h-2 w-2 rounded-full bg-foreground\"></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{ item.shortcut }}</span>\n <span *ngIf=\"item.showChevron\" class=\"text-sm text-muted-foreground\">\u203A</span>\n </button>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDropdownMenuComponent, decorators: [{
162
+ type: Component,
163
+ args: [{ selector: 'pdm-dropdown-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #triggerEl\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n className\n ]\"\n [attr.aria-expanded]=\"open\"\n (click)=\"toggle()\"\n>\n {{ triggerText }}\n</button>\n\n<ng-template #panelTemplate>\n <div\n class=\"min-w-32 overflow-hidden rounded-md border border-solid border-border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n <ng-container *ngFor=\"let item of resolvedItems\">\n <div *ngIf=\"item.type === 'separator'\" class=\"-mx-1 my-1 h-px bg-muted\"></div>\n\n <div\n *ngIf=\"item.type === 'label'\"\n [ngClass]=\"['px-2 py-1.5 text-sm font-semibold text-foreground', item.inset ? 'pl-8' : '']\"\n >\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n [ngClass]=\"[\n 'relative flex w-full appearance-none box-border cursor-default select-none items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm text-foreground outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground disabled:pointer-events-none disabled:opacity-50',\n item.inset ? 'pl-8' : ''\n ]\"\n (click)=\"select(item)\"\n >\n <span class=\"inline-flex h-4 w-4 shrink-0 items-center justify-center\">\n <svg\n *ngIf=\"item.checked\"\n viewBox=\"0 0 24 24\"\n class=\"h-3.5 w-3.5 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M5 12.5L9.2 16.7L19 7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span *ngIf=\"item.radioSelected\" class=\"h-2 w-2 rounded-full bg-foreground\"></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{ item.shortcut }}</span>\n <span *ngIf=\"item.showChevron\" class=\"text-sm text-muted-foreground\">\u203A</span>\n </button>\n </ng-container>\n </div>\n</ng-template>\n" }]
164
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { triggerText: [{
165
+ type: Input
166
+ }], variant: [{
167
+ type: Input
168
+ }], items: [{
169
+ type: Input
170
+ }], closeOnSelect: [{
171
+ type: Input
172
+ }], className: [{
173
+ type: Input
174
+ }], panelClassName: [{
175
+ type: Input
176
+ }], overlayOptions: [{
177
+ type: Input
178
+ }], itemSelect: [{
179
+ type: Output
180
+ }], itemsChange: [{
181
+ type: Output
182
+ }], triggerRef: [{
183
+ type: ViewChild,
184
+ args: ['triggerEl']
185
+ }], panelTemplateRef: [{
186
+ type: ViewChild,
187
+ args: ['panelTemplate']
188
+ }], onEsc: [{
189
+ type: HostListener,
190
+ args: ['document:keydown.escape']
191
+ }] } });
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHckQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBcUIzQyxNQUFNLE9BQU8sd0JBQXdCO0lBa0NuQyxZQUNtQixVQUFtQyxFQUNuQyxHQUFzQixFQUN0QixPQUFnQixFQUNoQixnQkFBa0M7UUFIbEMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckM1QyxnQkFBVyxHQUFHLE1BQU0sQ0FBQztRQUNyQixZQUFPLEdBQTJCLFNBQVMsQ0FBQztRQUM1QyxVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUM5Qjs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3hCOzs7O1dBSUc7UUFDTSxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQVFuQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxF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LGVBQWU7Z0JBaUcxQixLQUFLO3NCQURKLFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQZG1PdmVybGF5T3B0aW9ucyB9IGZyb20gJy4uL292ZXJsYXkvcGRtLW92ZXJsYXktb3B0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9vdmVybGF5L2NyZWF0ZS1mbGV4aWJsZS1wb3NpdGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBaX0lOREVYIH0gZnJvbSAnLi4vdXRpbHMvei1pbmRleCc7XG5cbmV4cG9ydCB0eXBlIFBkbURyb3Bkb3duTWVudVZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnY2hlY2tib3hlcycgfCAncmFkaW8tZ3JvdXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBkbU1lbnVJdGVtIHtcbiAgdHlwZT86ICdpdGVtJyB8ICdsYWJlbCcgfCAnc2VwYXJhdG9yJztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBzaG9ydGN1dD86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbnNldD86IGJvb2xlYW47XG4gIHNob3dDaGV2cm9uPzogYm9vbGVhbjtcbiAgY2hlY2tlZD86IGJvb2xlYW47XG4gIHJhZGlvU2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tZHJvcGRvd24tbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtRHJvcGRvd25NZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdHJpZ2dlclRleHQgPSAnT3Blbic7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbURyb3Bkb3duTWVudVZhcmlhbnQgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBQZG1NZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBDU1MgY2xhc3NlcyBhcHBsaWVkIHRvIHRoZSB0cmlnZ2VyIHdyYXBwZXIgZWxlbWVudC5cbiAgICogUHJlc2VydmVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICAgKi9cbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIENTUyBjbGFzc2VzIGFwcGxpZWQgdG8gdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAqIEJhY2t3YXJkLWNvbXBhdGlibGU6IG1hcHBlZCB0byBgb3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzc2Agd2hlbiBgb3ZlcmxheU9wdGlvbnNgIGlzIG5vdCBzZXQuXG4gICAqIFdoZW4gYm90aCBhcmUgc3VwcGxpZWQsIGBvdmVybGF5T3B0aW9ucy5wYW5lbENsYXNzYCB0YWtlcyBwcmVjZWRlbmNlLlxuICAgKi9cbiAgQElucHV0KCkgcGFuZWxDbGFzc05hbWUgPSAnJztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIENESyBPdmVybGF5Q29uZmlnIG92ZXJyaWRlcy5cbiAgICogU2hhbGxvdy1tZXJnZWQgb24gdG9wIG9mIGNvbXBvbmVudCBkZWZhdWx0cyDigJQgY29uc3VtZXIgYWx3YXlzIHdpbnMuXG4gICAqIFByb3ZpZGluZyBgcG9zaXRpb25TdHJhdGVneWAgb3IgYHNjcm9sbFN0cmF0ZWd5YCByZXBsYWNlcyB0aGUgY29tcG9uZW50IGRlZmF1bHQgZW50aXJlbHkuXG4gICAqL1xuICBASW5wdXQoKSBvdmVybGF5T3B0aW9ucz86IFBkbU92ZXJsYXlPcHRpb25zO1xuXG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBpdGVtc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGRtTWVudUl0ZW1bXT4oKTtcblxuICBvcGVuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckVsJykgcHJpdmF0ZSB0cmlnZ2VyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ3BhbmVsVGVtcGxhdGUnKSBwcml2YXRlIHBhbmVsVGVtcGxhdGVSZWYhOiBhbnk7XG5cbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgYmFja2Ryb3BTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuUGFuZWwoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRJdGVtcygpOiBQZG1NZW51SXRlbVtdIHtcbiAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdjaGVja2JveGVzJykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyB0eXBlOiAnbGFiZWwnLCBsYWJlbDogJ0FwcGVhcmFuY2UnIH0sXG4gICAgICAgIHsgdHlwZTogJ3NlcGFyYXRvcicgfSxcbiAgICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnU3RhdHVzIEJhcicsIHZhbHVlOiAnc3RhdHVzLWJhcicsIGNoZWNrZWQ6IHRydWUgfSxcbiAgICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnQWN0aXZpdHkgQmFyJywgdmFsdWU6ICdhY3Rpdml0eS1iYXInLCBjaGVja2VkOiBmYWxzZSB9LFxuICAgICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdQYW5lbCcsIHZhbHVlOiAncGFuZWwnLCBjaGVja2VkOiBmYWxzZSB9XG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdyYWRpby1ncm91cCcpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgdHlwZTogJ2xhYmVsJywgbGFiZWw6ICdQYW5lbCBQb3NpdGlvbicgfSxcbiAgICAgICAgeyB0eXBlOiAnc2VwYXJhdG9yJyB9LFxuICAgICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdUb3AnLCB2YWx1ZTogJ3RvcCcsIHJhZGlvU2VsZWN0ZWQ6IHRydWUgfSxcbiAgICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnQm90dG9tJywgdmFsdWU6ICdib3R0b20nLCByYWRpb1NlbGVjdGVkOiBmYWxzZSB9LFxuICAgICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdSaWdodCcsIHZhbHVlOiAncmlnaHQnLCByYWRpb1NlbGVjdGVkOiBmYWxzZSB9XG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB7IHR5cGU6ICdsYWJlbCcsIGxhYmVsOiAnTXkgQWNjb3VudCcsIGluc2V0OiB0cnVlIH0sXG4gICAgICB7IHR5cGU6ICdzZXBhcmF0b3InIH0sXG4gICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdQcm9maWxlJywgdmFsdWU6ICdwcm9maWxlJywgc2hvcnRjdXQ6ICfih6fijJhQJyB9LFxuICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnQmlsbGluZycsIHZhbHVlOiAnYmlsbGluZycsIHNob3J0Y3V0OiAn4oyYQicgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ1NldHRpbmdzJywgdmFsdWU6ICdzZXR0aW5ncycsIHNob3J0Y3V0OiAn4oyYUycgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ0tleWJvYXJkIHNob3J0Y3V0cycsIHZhbHVlOiAnc2hvcnRjdXRzJywgc2hvcnRjdXQ6ICfijJhLJyB9LFxuICAgICAgeyB0eXBlOiAnc2VwYXJhdG9yJyB9LFxuICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnVGVhbScsIHZhbHVlOiAndGVhbScgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ0ludml0ZSB1c2VycycsIHZhbHVlOiAnaW52aXRlJywgc2hvd0NoZXZyb246IHRydWUgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ05ldyBUZWFtJywgdmFsdWU6ICduZXctdGVhbScsIHNob3J0Y3V0OiAn4oyYK1QnIH0sXG4gICAgICB7IHR5cGU6ICdzZXBhcmF0b3InIH0sXG4gICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdHaXRIdWInLCB2YWx1ZTogJ2dpdGh1YicgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ1N1cHBvcnQnLCB2YWx1ZTogJ3N1cHBvcnQnIH0sXG4gICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdBUEknLCB2YWx1ZTogJ2FwaScsIGRpc2FibGVkOiB0cnVlIH0sXG4gICAgICB7IHR5cGU6ICdzZXBhcmF0b3InIH0sXG4gICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdMb2cgb3V0JywgdmFsdWU6ICdsb2dvdXQnLCBzaG9ydGN1dDogJ+KHp+KMmFEnIH1cbiAgICBdO1xuICB9XG5cbiAgc2VsZWN0KGl0ZW06IFBkbU1lbnVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0uZGlzYWJsZWQgfHwgaXRlbS50eXBlID09PSAnc2VwYXJhdG9yJyB8fCBpdGVtLnR5cGUgPT09ICdsYWJlbCcgfHwgIWl0ZW0udmFsdWUpIHJldHVybjtcblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdjaGVja2JveGVzJykge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IHRoaXMucmVzb2x2ZWRJdGVtcy5tYXAoKGVudHJ5KSA9PlxuICAgICAgICBlbnRyeS52YWx1ZSA9PT0gaXRlbS52YWx1ZSA/IHsgLi4uZW50cnksIGNoZWNrZWQ6ICFlbnRyeS5jaGVja2VkIH0gOiBlbnRyeVxuICAgICAgKTtcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh1cGRhdGVkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAncmFkaW8tZ3JvdXAnKSB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gdGhpcy5yZXNvbHZlZEl0ZW1zLm1hcCgoZW50cnkpID0+XG4gICAgICAgIGVudHJ5LnR5cGUgPT09ICdpdGVtJ1xuICAgICAgICAgID8geyAuLi5lbnRyeSwgcmFkaW9TZWxlY3RlZDogZW50cnkudmFsdWUgPT09IGl0ZW0udmFsdWUgfVxuICAgICAgICAgIDogZW50cnlcbiAgICAgICk7XG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodXBkYXRlZCk7XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtU2VsZWN0LmVtaXQoaXRlbS52YWx1ZSk7XG5cbiAgICBjb25zdCBzaG91bGRDbG9zZSA9IHRoaXMudmFyaWFudCA9PT0gJ2RlZmF1bHQnID8gdGhpcy5jbG9zZU9uU2VsZWN0IDogZmFsc2U7XG4gICAgaWYgKHNob3VsZENsb3NlKSB7XG4gICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScpXG4gIG9uRXNjKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlblBhbmVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuICAgIGNvbnN0IHRyaWdnZXJFbCA9IHRoaXMudHJpZ2dlclJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIXRyaWdnZXJFbCkgcmV0dXJuO1xuXG4gICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICB0aGlzLm92ZXJsYXksXG4gICAgICB0cmlnZ2VyRWwsXG4gICAgICA4XG4gICAgKTtcblxuICAgIC8vIFJlc29sdmUgcGFuZWxDbGFzczogb3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzcyB3aW5zOyBvdGhlcndpc2UgbWFwIHBhbmVsQ2xhc3NOYW1lLlxuICAgIGNvbnN0IHJlc29sdmVkUGFuZWxDbGFzcyA9IHRoaXMub3ZlcmxheU9wdGlvbnM/LnBhbmVsQ2xhc3NcbiAgICAgID8/ICh0aGlzLnBhbmVsQ2xhc3NOYW1lID8gW1pfSU5ERVgucG9wb3ZlciwgdGhpcy5wYW5lbENsYXNzTmFtZV0gOiBbWl9JTkRFWC5wb3BvdmVyXSk7XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgLy8gQ29uc3VtZXIgb3ZlcnJpZGVzIGFyZSBzcHJlYWQgbGFzdCDigJQgdGhleSB3aW4gb3ZlciBldmVyeSBkZWZhdWx0IGFib3ZlLlxuICAgICAgLi4udGhpcy5vdmVybGF5T3B0aW9ucyxcbiAgICAgIC8vIHBhbmVsQ2xhc3MgYWx3YXlzIG92ZXJyaWRlcyBsYXN0OiBpdCBhbHJlYWR5IG1lcmdlcyBwYW5lbENsYXNzTmFtZSArIG92ZXJsYXlPcHRpb25zLlxuICAgICAgcGFuZWxDbGFzczogcmVzb2x2ZWRQYW5lbENsYXNzXG4gICAgfSk7XG5cbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5wYW5lbFRlbXBsYXRlUmVmLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcblxuICAgIHRoaXMuYmFja2Ryb3BTdWIgPSB0aGlzLm92ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgTm9kZTtcbiAgICAgIGlmICghdHJpZ2dlckVsLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VQYW5lbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95T3ZlcmxheSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcFN1Yikge1xuICAgICAgdGhpcy5iYWNrZHJvcFN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5iYWNrZHJvcFN1YiA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICAjdHJpZ2dlckVsXG4gIHR5cGU9XCJidXR0b25cIlxuICBbbmdDbGFzc109XCJbXG4gICAgJ2lubGluZS1mbGV4IGgtOSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTQgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc20gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTInLFxuICAgIGNsYXNzTmFtZVxuICBdXCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCJcbiAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbj5cbiAge3sgdHJpZ2dlclRleHQgfX1cbjwvYnV0dG9uPlxuXG48bmctdGVtcGxhdGUgI3BhbmVsVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1pbi13LTMyIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlciBiZy1wb3BvdmVyIHAtMSB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWRcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByZXNvbHZlZEl0ZW1zXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS50eXBlID09PSAnc2VwYXJhdG9yJ1wiIGNsYXNzPVwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCI+PC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdsYWJlbCdcIlxuICAgICAgICBbbmdDbGFzc109XCJbJ3B4LTIgcHktMS41IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LWZvcmVncm91bmQnLCBpdGVtLmluc2V0ID8gJ3BsLTgnIDogJyddXCJcbiAgICAgID5cbiAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCIhaXRlbS50eXBlIHx8IGl0ZW0udHlwZSA9PT0gJ2l0ZW0nXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICdyZWxhdGl2ZSBmbGV4IHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZC1zbSBib3JkZXItMCBiZy10cmFuc3BhcmVudCBweC0yIHB5LTEuNSB0ZXh0LWxlZnQgdGV4dC1zbSB0ZXh0LWZvcmVncm91bmQgb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6YmctYWNjZW50IGZvY3VzLXZpc2libGU6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGRpc2FibGVkOm9wYWNpdHktNTAnLFxuICAgICAgICAgIGl0ZW0uaW5zZXQgPyAncGwtOCcgOiAnJ1xuICAgICAgICBdXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpdGVtKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5saW5lLWZsZXggaC00IHctNCBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2hlY2tlZFwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC0zLjUgdy0zLjUgdGV4dC1mb3JlZ3JvdW5kXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSAxMi41TDkuMiAxNi43TDE5IDdcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnJhZGlvU2VsZWN0ZWRcIiBjbGFzcz1cImgtMiB3LTIgcm91bmRlZC1mdWxsIGJnLWZvcmVncm91bmRcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4tdy0wIGZsZXgtMSB0cnVuY2F0ZVwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj57eyBpdGVtLnNob3J0Y3V0IH19PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2hvd0NoZXZyb25cIiBjbGFzcz1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+4oC6PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { OverlayModule } from '@angular/cdk/overlay';
4
+ import { PdmDropdownMenuComponent } from './dropdown-menu.component';
5
+ import * as i0 from "@angular/core";
6
+ const COMPONENTS = [
7
+ PdmDropdownMenuComponent,
8
+ ];
9
+ export class PdmDropdownMenuModule {
10
+ }
11
+ PdmDropdownMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDropdownMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ PdmDropdownMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmDropdownMenuModule, declarations: [PdmDropdownMenuComponent], imports: [CommonModule, OverlayModule], exports: [PdmDropdownMenuComponent] });
13
+ PdmDropdownMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDropdownMenuModule, imports: [CommonModule, OverlayModule] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDropdownMenuModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ imports: [CommonModule, OverlayModule],
18
+ declarations: COMPONENTS,
19
+ exports: COMPONENTS
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRXJFLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLHdCQUF3QjtDQUN6QixDQUFDO0FBT0YsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQVJoQyx3QkFBd0IsYUFJZCxZQUFZLEVBQUUsYUFBYSxhQUpyQyx3QkFBd0I7bUhBUWIscUJBQXFCLFlBSnRCLFlBQVksRUFBRSxhQUFhOzJGQUkxQixxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsWUFBWSxFQUFFLFVBQVU7b0JBQ3hCLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBkbURyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1xuICBQZG1Ecm9wZG93bk1lbnVDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBDT01QT05FTlRTLFxuICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIFBkbURyb3Bkb3duTWVudU1vZHVsZSB7fVxuIl19
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
55
55
  }], linkAction: [{
56
56
  type: Output
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VtcHR5L2VtcHR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lbXB0eS9lbXB0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNoRyxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsWUFBTyxHQUFvQixTQUFTLENBQUM7UUFDckMsVUFBSyxHQUFHLGlCQUFpQixDQUFDO1FBQzFCLGdCQUFXLEdBQUcsbUZBQW1GLENBQUM7UUFDbEcsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUNwQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDeEIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMzQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWFqRDtJQVhDLElBQUksY0FBYztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQzlCLE9BQU8sZ0VBQWdFLENBQUM7U0FDekU7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssWUFBWSxFQUFFO1lBQ2pDLE9BQU8seUJBQXlCLENBQUM7U0FDbEM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OzhHQXhCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzWUNUOUIsNC9DQTZCQTsyRkRwQmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGRtRW1wdHlWYXJpYW50ID0gJ2RlZmF1bHQnIHwgJ291dGxpbmUnIHwgJ2JhY2tncm91bmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tZW1wdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZW1wdHkuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1FbXB0eUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbUVtcHR5VmFyaWFudCA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdGl0bGUgPSAnTm8gUHJvamVjdHMgWWV0JztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24gPSBcIllvdSBoYXZlbid0IGNyZWF0ZWQgYW55IHByb2plY3RzIHlldC4gR2V0IHN0YXJ0ZWQgYnkgY3JlYXRpbmcgeW91ciBmaXJzdCBwcm9qZWN0LlwiO1xuICBASW5wdXQoKSBpY29uTmFtZSA9ICdmb2xkZXInO1xuICBASW5wdXQoKSBwcmltYXJ5QWN0aW9uTGFiZWwgPSAnJztcbiAgQElucHV0KCkgc2Vjb25kYXJ5QWN0aW9uTGFiZWwgPSAnJztcbiAgQElucHV0KCkgbGlua0xhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gIEBPdXRwdXQoKSBwcmltYXJ5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgbGlua0FjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBnZXQgY29udGFpbmVyQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnb3V0bGluZScpIHtcbiAgICAgIHJldHVybiAnYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItZGFzaGVkIGJvcmRlci1ib3JkZXIgcm91bmRlZC1bMTJweF0nO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdiYWNrZ3JvdW5kJykge1xuICAgICAgcmV0dXJuICdyb3VuZGVkLVsxMnB4XSBiZy1tdXRlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iLCI8c2VjdGlvbiBbbmdDbGFzc109XCJbJ2ZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC00IHB4LTYgcHktMTAgdGV4dC1jZW50ZXIgdGV4dC1mb3JlZ3JvdW5kJywgY29udGFpbmVyQ2xhc3MsIGNsYXNzTmFtZV1cIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggaC0xMCB3LTEwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJnLW11dGVkIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgIDxwZG0taWNvbiBbbmFtZV09XCJpY29uTmFtZVwiIFtzaXplXT1cIjIwXCI+PC9wZG0taWNvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNwYWNlLXktMlwiPlxuICAgIDxoMyBjbGFzcz1cIm0tMCB0ZXh0LTJ4bCBmb250LXNlbWlib2xkIGxlYWRpbmctbm9uZSB0cmFja2luZy10aWdodFwiPnt7IHRpdGxlIH19PC9oMz5cbiAgICA8cCBjbGFzcz1cIm0tMCBteC1hdXRvIG1heC13LW1kIHRleHQtc20gbGVhZGluZy1yZWxheGVkIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICA8L3A+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJwcmltYXJ5QWN0aW9uTGFiZWwgfHwgc2Vjb25kYXJ5QWN0aW9uTGFiZWxcIiBjbGFzcz1cIm10LTEgZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0zXCI+XG4gICAgPHBkbS1idXR0b24gKm5nSWY9XCJwcmltYXJ5QWN0aW9uTGFiZWxcIiB2YXJpYW50PVwiZGVmYXVsdFwiIChwcmVzc2VkKT1cInByaW1hcnlBY3Rpb24uZW1pdCgpXCI+e3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19PC9wZG0tYnV0dG9uPlxuICAgIDxwZG0tYnV0dG9uICpuZ0lmPVwic2Vjb25kYXJ5QWN0aW9uTGFiZWxcIiB2YXJpYW50PVwib3V0bGluZVwiIChwcmVzc2VkKT1cInNlY29uZGFyeUFjdGlvbi5lbWl0KClcIj57eyBzZWNvbmRhcnlBY3Rpb25MYWJlbCB9fTwvcGRtLWJ1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwibGlua0xhYmVsXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cIm10LTEgaW5saW5lLWZsZXggYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGdhcC0yIGJvcmRlci0wIGJnLXRyYW5zcGFyZW50IHAtMCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMlwiXG4gICAgKGNsaWNrKT1cImxpbmtBY3Rpb24uZW1pdCgpXCJcbiAgPlxuICAgIDxzcGFuPnt7IGxpbmtMYWJlbCB9fTwvc3Bhbj5cbiAgICA8cGRtLWljb24gbmFtZT1cImFycm93LXVwLXJpZ2h0XCIgW3NpemVdPVwiMTZcIj48L3BkbS1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NlY3Rpb24+XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcHR5L2VtcHR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNoRyxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsWUFBTyxHQUFvQixTQUFTLENBQUM7UUFDckMsVUFBSyxHQUFHLGlCQUFpQixDQUFDO1FBQzFCLGdCQUFXLEdBQUcsbUZBQW1GLENBQUM7UUFDbEcsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUNwQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDeEIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMzQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWFqRDtJQVhDLElBQUksY0FBYztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQzlCLE9BQU8sZ0VBQWdFLENBQUM7U0FDekU7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssWUFBWSxFQUFFO1lBQ2pDLE9BQU8seUJBQXlCLENBQUM7U0FDbEM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OzhHQXhCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzWUNUOUIsNC9DQTZCQTsyRkRwQmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGRtRW1wdHlWYXJpYW50ID0gJ2RlZmF1bHQnIHwgJ291dGxpbmUnIHwgJ2JhY2tncm91bmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tZW1wdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZW1wdHkuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1FbXB0eUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbUVtcHR5VmFyaWFudCA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdGl0bGUgPSAnTm8gUHJvamVjdHMgWWV0JztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24gPSBcIllvdSBoYXZlbid0IGNyZWF0ZWQgYW55IHByb2plY3RzIHlldC4gR2V0IHN0YXJ0ZWQgYnkgY3JlYXRpbmcgeW91ciBmaXJzdCBwcm9qZWN0LlwiO1xuICBASW5wdXQoKSBpY29uTmFtZSA9ICdmb2xkZXInO1xuICBASW5wdXQoKSBwcmltYXJ5QWN0aW9uTGFiZWwgPSAnJztcbiAgQElucHV0KCkgc2Vjb25kYXJ5QWN0aW9uTGFiZWwgPSAnJztcbiAgQElucHV0KCkgbGlua0xhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gIEBPdXRwdXQoKSBwcmltYXJ5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgbGlua0FjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBnZXQgY29udGFpbmVyQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnb3V0bGluZScpIHtcbiAgICAgIHJldHVybiAnYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItZGFzaGVkIGJvcmRlci1ib3JkZXIgcm91bmRlZC1bMTJweF0nO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdiYWNrZ3JvdW5kJykge1xuICAgICAgcmV0dXJuICdyb3VuZGVkLVsxMnB4XSBiZy1tdXRlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iLCI8c2VjdGlvbiBbbmdDbGFzc109XCJbJ2ZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC00IHB4LTYgcHktMTAgdGV4dC1jZW50ZXIgdGV4dC1mb3JlZ3JvdW5kJywgY29udGFpbmVyQ2xhc3MsIGNsYXNzTmFtZV1cIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggaC0xMCB3LTEwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJnLW11dGVkIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgIDxwZG0taWNvbiBbbmFtZV09XCJpY29uTmFtZVwiIFtzaXplXT1cIjIwXCI+PC9wZG0taWNvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNwYWNlLXktMlwiPlxuICAgIDxoMyBjbGFzcz1cIm0tMCB0ZXh0LTJ4bCBmb250LXNlbWlib2xkIGxlYWRpbmctbm9uZSB0cmFja2luZy10aWdodFwiPnt7IHRpdGxlIH19PC9oMz5cbiAgICA8cCBjbGFzcz1cIm0tMCBteC1hdXRvIG1heC13LW1kIHRleHQtc20gbGVhZGluZy1yZWxheGVkIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICA8L3A+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJwcmltYXJ5QWN0aW9uTGFiZWwgfHwgc2Vjb25kYXJ5QWN0aW9uTGFiZWxcIiBjbGFzcz1cIm10LTEgZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0zXCI+XG4gICAgPHBkbS1idXR0b24gKm5nSWY9XCJwcmltYXJ5QWN0aW9uTGFiZWxcIiB2YXJpYW50PVwiZGVmYXVsdFwiIChwcmVzc2VkKT1cInByaW1hcnlBY3Rpb24uZW1pdCgpXCI+e3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19PC9wZG0tYnV0dG9uPlxuICAgIDxwZG0tYnV0dG9uICpuZ0lmPVwic2Vjb25kYXJ5QWN0aW9uTGFiZWxcIiB2YXJpYW50PVwib3V0bGluZVwiIChwcmVzc2VkKT1cInNlY29uZGFyeUFjdGlvbi5lbWl0KClcIj57eyBzZWNvbmRhcnlBY3Rpb25MYWJlbCB9fTwvcGRtLWJ1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwibGlua0xhYmVsXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cIm10LTEgaW5saW5lLWZsZXggYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGdhcC0yIGJvcmRlci0wIGJnLXRyYW5zcGFyZW50IHAtMCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMlwiXG4gICAgKGNsaWNrKT1cImxpbmtBY3Rpb24uZW1pdCgpXCJcbiAgPlxuICAgIDxzcGFuPnt7IGxpbmtMYWJlbCB9fTwvc3Bhbj5cbiAgICA8cGRtLWljb24gbmFtZT1cImFycm93LXVwLXJpZ2h0XCIgW3NpemVdPVwiMTZcIj48L3BkbS1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NlY3Rpb24+XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { NgModule } from "@angular/core";
3
+ import { PdmButtonModule } from "../button/button.module";
4
+ import { PdmIconModule } from "../icon/icon.module";
5
+ import { PdmEmptyComponent } from "./empty.component";
6
+ import * as i0 from "@angular/core";
7
+ const COMPONENTS = [PdmEmptyComponent];
8
+ export class PdmEmptyModule {
9
+ }
10
+ PdmEmptyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmEmptyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ PdmEmptyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmEmptyModule, declarations: [PdmEmptyComponent], imports: [CommonModule, PdmButtonModule, PdmIconModule], exports: [PdmEmptyComponent] });
12
+ PdmEmptyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmEmptyModule, imports: [CommonModule, PdmButtonModule, PdmIconModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmEmptyModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [CommonModule, PdmButtonModule, PdmIconModule],
17
+ declarations: COMPONENTS,
18
+ exports: COMPONENTS,
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcHR5L2VtcHR5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUV0RCxNQUFNLFVBQVUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFPdkMsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFQUCxpQkFBaUIsYUFHMUIsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLGFBSG5DLGlCQUFpQjs0R0FPeEIsY0FBYyxZQUpoQixZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWE7MkZBSTFDLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUM7b0JBQ3ZELFlBQVksRUFBRSxVQUFVO29CQUN4QixPQUFPLEVBQUUsVUFBVTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQZG1CdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGVcIjtcbmltcG9ydCB7IFBkbUljb25Nb2R1bGUgfSBmcm9tIFwiLi4vaWNvbi9pY29uLm1vZHVsZVwiO1xuaW1wb3J0IHsgUGRtRW1wdHlDb21wb25lbnQgfSBmcm9tIFwiLi9lbXB0eS5jb21wb25lbnRcIjtcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtQZG1FbXB0eUNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBkbUJ1dHRvbk1vZHVsZSwgUGRtSWNvbk1vZHVsZV0sXG5cdGRlY2xhcmF0aW9uczogQ09NUE9ORU5UUyxcblx0ZXhwb3J0czogQ09NUE9ORU5UUyxcbn0pXG5leHBvcnQgY2xhc3MgUGRtRW1wdHlNb2R1bGUge31cbiJdfQ==
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
61
61
  }], controlClassName: [{
62
62
  type: Input
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9maWVsZC9maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVTFFLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFNVyxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixnQkFBVyxHQUF3QixVQUFVLENBQUM7UUFDOUMsd0JBQW1CLEdBQWdDLE9BQU8sQ0FBQztRQUMzRCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO0tBbUJoQztJQWpCQyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssWUFBWTtZQUN0QyxDQUFDLENBQUMsb0VBQW9FO1lBQ3RFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSw0QkFBNEI7UUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDNUcsQ0FBQztJQUVELElBQUksMkJBQTJCO1FBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUE0QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN6RyxDQUFDOzs4R0E5QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsMldDVjlCLDR3Q0ErQkE7MkZEckJhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxXQUFXLG1CQUVKLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGRtRmllbGRPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG5leHBvcnQgdHlwZSBQZG1GaWVsZERlc2NyaXB0aW9uUG9zaXRpb24gPSAnYmVmb3JlJyB8ICdhZnRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQgPSAnJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24gPSAnJztcbiAgQElucHV0KCkgZXJyb3IgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBvcmllbnRhdGlvbjogUGRtRmllbGRPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uUG9zaXRpb246IFBkbUZpZWxkRGVzY3JpcHRpb25Qb3NpdGlvbiA9ICdhZnRlcic7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKSBsYWJlbENsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKSBjb250cm9sQ2xhc3NOYW1lID0gJyc7XG5cbiAgZ2V0IHJvb3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgID8gJ2dyaWQgaXRlbXMtc3RhcnQgZ2FwLTMgc206Z3JpZC1jb2xzLVsyMDBweF9taW5tYXgoMCwxZnIpXSBzbTpnYXAtNCdcbiAgICAgIDogJ2dyaWQgdy1mdWxsIGdhcC0zJztcbiAgfVxuXG4gIGdldCBpc0hvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIGdldCBzaG93RGVzY3JpcHRpb25CZWZvcmVDb250cm9sKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0hvcml6b250YWwgJiYgdGhpcy5kZXNjcmlwdGlvblBvc2l0aW9uID09PSAnYmVmb3JlJyAmJiAhIXRoaXMuZGVzY3JpcHRpb24gJiYgIXRoaXMuaW52YWxpZDtcbiAgfVxuXG4gIGdldCBzaG93RGVzY3JpcHRpb25BZnRlckNvbnRyb2woKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzSG9yaXpvbnRhbCAmJiAhdGhpcy5zaG93RGVzY3JpcHRpb25CZWZvcmVDb250cm9sICYmICEhdGhpcy5kZXNjcmlwdGlvbiAmJiAhdGhpcy5pbnZhbGlkO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIltyb290Q2xhc3MsIGNsYXNzTmFtZV1cIj5cbiAgPGRpdiBbbmdDbGFzc109XCJbaXNIb3Jpem9udGFsID8gJ2dyaWQgZ2FwLTEuNScgOiAnZ3JpZCBnYXAtMCddXCI+XG4gICAgPGxhYmVsXG4gICAgICAqbmdJZj1cImxhYmVsXCJcbiAgICAgIFthdHRyLmZvcl09XCJpZFwiXG4gICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICd0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZScsXG4gICAgICAgIGRpc2FibGVkID8gJ29wYWNpdHktNzAnIDogJycsXG4gICAgICAgIGludmFsaWQgPyAndGV4dC1kZXN0cnVjdGl2ZScgOiAndGV4dC1mb3JlZ3JvdW5kJyxcbiAgICAgICAgbGFiZWxDbGFzc05hbWVcbiAgICAgIF1cIlxuICAgID5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJ0ZXh0LWRlc3RydWN0aXZlXCI+Kjwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPHAgKm5nSWY9XCJpc0hvcml6b250YWwgJiYgZGVzY3JpcHRpb24gJiYgIWludmFsaWRcIiBjbGFzcz1cIm0tMCB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDxwICpuZ0lmPVwiaXNIb3Jpem9udGFsICYmIGludmFsaWQgJiYgZXJyb3JcIiBjbGFzcz1cIm0tMCB0ZXh0LXNtIHRleHQtZGVzdHJ1Y3RpdmVcIj57eyBlcnJvciB9fTwvcD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbbmdDbGFzc109XCJbJ2dyaWQgZ2FwLTMnLCBjb250cm9sQ2xhc3NOYW1lXVwiPlxuICAgIDxwICpuZ0lmPVwic2hvd0Rlc2NyaXB0aW9uQmVmb3JlQ29udHJvbFwiIGNsYXNzPVwibS0wIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BkbUZpZWxkQ29udHJvbF1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8cCAqbmdJZj1cInNob3dEZXNjcmlwdGlvbkFmdGVyQ29udHJvbFwiIGNsYXNzPVwibS0wIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgPHAgKm5nSWY9XCIhaXNIb3Jpem9udGFsICYmIGludmFsaWQgJiYgZXJyb3JcIiBjbGFzcz1cIm0tMCB0ZXh0LXNtIHRleHQtZGVzdHJ1Y3RpdmVcIj57eyBlcnJvciB9fTwvcD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGRtRmllbGREZXNjcmlwdGlvbl1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVTFFLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFNVyxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixnQkFBVyxHQUF3QixVQUFVLENBQUM7UUFDOUMsd0JBQW1CLEdBQWdDLE9BQU8sQ0FBQztRQUMzRCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO0tBbUJoQztJQWpCQyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssWUFBWTtZQUN0QyxDQUFDLENBQUMsb0VBQW9FO1lBQ3RFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSw0QkFBNEI7UUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDNUcsQ0FBQztJQUVELElBQUksMkJBQTJCO1FBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUE0QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN6RyxDQUFDOzs4R0E5QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsMldDVjlCLDR3Q0ErQkE7MkZEckJhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxXQUFXLG1CQUVKLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGRtRmllbGRPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG5leHBvcnQgdHlwZSBQZG1GaWVsZERlc2NyaXB0aW9uUG9zaXRpb24gPSAnYmVmb3JlJyB8ICdhZnRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQgPSAnJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24gPSAnJztcbiAgQElucHV0KCkgZXJyb3IgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBvcmllbnRhdGlvbjogUGRtRmllbGRPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uUG9zaXRpb246IFBkbUZpZWxkRGVzY3JpcHRpb25Qb3NpdGlvbiA9ICdhZnRlcic7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKSBsYWJlbENsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKSBjb250cm9sQ2xhc3NOYW1lID0gJyc7XG5cbiAgZ2V0IHJvb3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgID8gJ2dyaWQgaXRlbXMtc3RhcnQgZ2FwLTMgc206Z3JpZC1jb2xzLVsyMDBweF9taW5tYXgoMCwxZnIpXSBzbTpnYXAtNCdcbiAgICAgIDogJ2dyaWQgdy1mdWxsIGdhcC0zJztcbiAgfVxuXG4gIGdldCBpc0hvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIGdldCBzaG93RGVzY3JpcHRpb25CZWZvcmVDb250cm9sKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0hvcml6b250YWwgJiYgdGhpcy5kZXNjcmlwdGlvblBvc2l0aW9uID09PSAnYmVmb3JlJyAmJiAhIXRoaXMuZGVzY3JpcHRpb24gJiYgIXRoaXMuaW52YWxpZDtcbiAgfVxuXG4gIGdldCBzaG93RGVzY3JpcHRpb25BZnRlckNvbnRyb2woKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzSG9yaXpvbnRhbCAmJiAhdGhpcy5zaG93RGVzY3JpcHRpb25CZWZvcmVDb250cm9sICYmICEhdGhpcy5kZXNjcmlwdGlvbiAmJiAhdGhpcy5pbnZhbGlkO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIltyb290Q2xhc3MsIGNsYXNzTmFtZV1cIj5cbiAgPGRpdiBbbmdDbGFzc109XCJbaXNIb3Jpem9udGFsID8gJ2dyaWQgZ2FwLTEuNScgOiAnZ3JpZCBnYXAtMCddXCI+XG4gICAgPGxhYmVsXG4gICAgICAqbmdJZj1cImxhYmVsXCJcbiAgICAgIFthdHRyLmZvcl09XCJpZFwiXG4gICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICd0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZScsXG4gICAgICAgIGRpc2FibGVkID8gJ29wYWNpdHktNzAnIDogJycsXG4gICAgICAgIGludmFsaWQgPyAndGV4dC1kZXN0cnVjdGl2ZScgOiAndGV4dC1mb3JlZ3JvdW5kJyxcbiAgICAgICAgbGFiZWxDbGFzc05hbWVcbiAgICAgIF1cIlxuICAgID5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJ0ZXh0LWRlc3RydWN0aXZlXCI+Kjwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPHAgKm5nSWY9XCJpc0hvcml6b250YWwgJiYgZGVzY3JpcHRpb24gJiYgIWludmFsaWRcIiBjbGFzcz1cIm0tMCB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDxwICpuZ0lmPVwiaXNIb3Jpem9udGFsICYmIGludmFsaWQgJiYgZXJyb3JcIiBjbGFzcz1cIm0tMCB0ZXh0LXNtIHRleHQtZGVzdHJ1Y3RpdmVcIj57eyBlcnJvciB9fTwvcD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbbmdDbGFzc109XCJbJ2dyaWQgZ2FwLTMnLCBjb250cm9sQ2xhc3NOYW1lXVwiPlxuICAgIDxwICpuZ0lmPVwic2hvd0Rlc2NyaXB0aW9uQmVmb3JlQ29udHJvbFwiIGNsYXNzPVwibS0wIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BkbUZpZWxkQ29udHJvbF1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8cCAqbmdJZj1cInNob3dEZXNjcmlwdGlvbkFmdGVyQ29udHJvbFwiIGNsYXNzPVwibS0wIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgPHAgKm5nSWY9XCIhaXNIb3Jpem9udGFsICYmIGludmFsaWQgJiYgZXJyb3JcIiBjbGFzcz1cIm0tMCB0ZXh0LXNtIHRleHQtZGVzdHJ1Y3RpdmVcIj57eyBlcnJvciB9fTwvcD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGRtRmllbGREZXNjcmlwdGlvbl1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { PdmFieldComponent } from './field.component';
4
+ import * as i0 from "@angular/core";
5
+ const COMPONENTS = [
6
+ PdmFieldComponent,
7
+ ];
8
+ export class PdmFieldModule {
9
+ }
10
+ PdmFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ PdmFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmFieldModule, declarations: [PdmFieldComponent], imports: [CommonModule], exports: [PdmFieldComponent] });
12
+ PdmFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmFieldModule, imports: [CommonModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmFieldModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [CommonModule],
17
+ declarations: COMPONENTS,
18
+ exports: COMPONENTS
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpZWxkL2ZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFdEQsTUFBTSxVQUFVLEdBQUc7SUFDakIsaUJBQWlCO0NBQ2xCLENBQUM7QUFPRixNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQVJ6QixpQkFBaUIsYUFJUCxZQUFZLGFBSnRCLGlCQUFpQjs0R0FRTixjQUFjLFlBSmYsWUFBWTsyRkFJWCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLFVBQVU7b0JBQ3hCLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGRtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIFBkbUZpZWxkQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogQ09NUE9ORU5UUyxcbiAgZXhwb3J0czogQ09NUE9ORU5UU1xufSlcbmV4cG9ydCBjbGFzcyBQZG1GaWVsZE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,205 @@
1
+ import { ChangeDetectionStrategy, Component, HostListener, Input, ViewChild, } from "@angular/core";
2
+ import { TemplatePortal } from "@angular/cdk/portal";
3
+ import { mergeOverlayPanelClass, OVERLAY_BASE_Z_INDEX, } from "../overlay/z-index-helper";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/overlay";
6
+ import * as i2 from "@angular/common";
7
+ export class PdmHoverCardComponent {
8
+ constructor(overlay, viewContainerRef, elementRef, cdr) {
9
+ this.overlay = overlay;
10
+ this.viewContainerRef = viewContainerRef;
11
+ this.elementRef = elementRef;
12
+ this.cdr = cdr;
13
+ this.className = "";
14
+ this.panelClassName = "";
15
+ this.side = "bottom";
16
+ this.align = "start";
17
+ this.panelWidth = 304;
18
+ this.open = false;
19
+ this.overlayRef = null;
20
+ this.showTimeout = null;
21
+ this.hideTimeout = null;
22
+ }
23
+ ngOnDestroy() {
24
+ this.clearTimeouts();
25
+ this.destroyOverlay();
26
+ }
27
+ onMouseEnter() {
28
+ this.clearTimeouts();
29
+ this.showTimeout = setTimeout(() => this.show(), 150);
30
+ }
31
+ onMouseLeave() {
32
+ this.clearTimeouts();
33
+ this.hideTimeout = setTimeout(() => this.hide(), 150);
34
+ }
35
+ onFocusIn() {
36
+ this.clearTimeouts();
37
+ this.show();
38
+ }
39
+ onFocusOut() {
40
+ this.clearTimeouts();
41
+ this.hide();
42
+ }
43
+ clearTimeouts() {
44
+ if (this.showTimeout) {
45
+ clearTimeout(this.showTimeout);
46
+ this.showTimeout = null;
47
+ }
48
+ if (this.hideTimeout) {
49
+ clearTimeout(this.hideTimeout);
50
+ this.hideTimeout = null;
51
+ }
52
+ }
53
+ show() {
54
+ if (this.open)
55
+ return;
56
+ this.open = true;
57
+ this.cdr.markForCheck();
58
+ this.createOverlay();
59
+ }
60
+ hide() {
61
+ if (!this.open)
62
+ return;
63
+ this.open = false;
64
+ this.cdr.markForCheck();
65
+ this.destroyOverlay();
66
+ }
67
+ createOverlay() {
68
+ if (this.overlayRef)
69
+ return;
70
+ const triggerEl = this.elementRef.nativeElement.querySelector("[pdmHoverTrigger]") ||
71
+ this.elementRef.nativeElement;
72
+ const positionStrategy = this.overlay
73
+ .position()
74
+ .flexibleConnectedTo(triggerEl)
75
+ .withPositions(this.getPositionConfigs())
76
+ .withFlexibleDimensions(false)
77
+ .withPush(true);
78
+ const panelClass = mergeOverlayPanelClass(OVERLAY_BASE_Z_INDEX, this.panelClassName);
79
+ this.overlayRef = this.overlay.create({
80
+ positionStrategy,
81
+ panelClass,
82
+ });
83
+ const portal = new TemplatePortal(this.panelTemplateRef, this.viewContainerRef);
84
+ this.overlayRef.attach(portal);
85
+ }
86
+ destroyOverlay() {
87
+ if (this.overlayRef) {
88
+ this.overlayRef.detach();
89
+ this.overlayRef.dispose();
90
+ this.overlayRef = null;
91
+ }
92
+ }
93
+ getPositionConfigs() {
94
+ // Map our side/align to CDK positions
95
+ const configs = [];
96
+ // Primary position based on side
97
+ switch (this.side) {
98
+ case "top":
99
+ configs.push({
100
+ originX: this.getAlignX(),
101
+ originY: "top",
102
+ overlayX: this.getAlignX(),
103
+ overlayY: "bottom",
104
+ offsetY: -8,
105
+ });
106
+ break;
107
+ case "right":
108
+ configs.push({
109
+ originX: "end",
110
+ originY: this.getAlignY(),
111
+ overlayX: "start",
112
+ overlayY: this.getAlignY(),
113
+ offsetX: 8,
114
+ });
115
+ break;
116
+ case "bottom":
117
+ default:
118
+ configs.push({
119
+ originX: this.getAlignX(),
120
+ originY: "bottom",
121
+ overlayX: this.getAlignX(),
122
+ overlayY: "top",
123
+ offsetY: 8,
124
+ });
125
+ break;
126
+ case "left":
127
+ configs.push({
128
+ originX: "start",
129
+ originY: this.getAlignY(),
130
+ overlayX: "end",
131
+ overlayY: this.getAlignY(),
132
+ offsetX: -8,
133
+ });
134
+ break;
135
+ }
136
+ // Add fallback positions
137
+ switch (this.side) {
138
+ case "top":
139
+ case "bottom":
140
+ configs.push({
141
+ originX: "center",
142
+ originY: this.side === "top" ? "top" : "bottom",
143
+ overlayX: "center",
144
+ overlayY: this.side === "top" ? "bottom" : "top",
145
+ offsetY: this.side === "top" ? -8 : 8,
146
+ });
147
+ break;
148
+ case "left":
149
+ case "right":
150
+ configs.push({
151
+ originX: this.side === "left" ? "start" : "end",
152
+ originY: "center",
153
+ overlayX: this.side === "left" ? "end" : "start",
154
+ overlayY: "center",
155
+ offsetX: this.side === "left" ? -8 : 8,
156
+ });
157
+ break;
158
+ }
159
+ return configs;
160
+ }
161
+ getAlignX() {
162
+ return this.align;
163
+ }
164
+ getAlignY() {
165
+ // Map 'start'/'end' to 'top'/'bottom' for Y axis
166
+ const alignMap = {
167
+ start: "top",
168
+ center: "center",
169
+ end: "bottom",
170
+ };
171
+ return alignMap[this.align];
172
+ }
173
+ }
174
+ PdmHoverCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmHoverCardComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
175
+ PdmHoverCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmHoverCardComponent, selector: "pdm-hover-card", inputs: { className: "className", panelClassName: "panelClassName", side: "side", align: "align", panelWidth: "panelWidth" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, viewQueries: [{ propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div\n class=\"relative inline-flex\"\n [ngClass]=\"className\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n>\n <div>\n <ng-content select=\"[pdmHoverTrigger]\"></ng-content>\n </div>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <section\n [style.width.px]=\"panelWidth\"\n class=\"rounded-md border border-solid border-border bg-popover p-4 text-popover-foreground shadow-md\"\n >\n <ng-content select=\"[pdmHoverContent]\"></ng-content>\n </section>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmHoverCardComponent, decorators: [{
177
+ type: Component,
178
+ args: [{ selector: "pdm-hover-card", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"relative inline-flex\"\n [ngClass]=\"className\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n>\n <div>\n <ng-content select=\"[pdmHoverTrigger]\"></ng-content>\n </div>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <section\n [style.width.px]=\"panelWidth\"\n class=\"rounded-md border border-solid border-border bg-popover p-4 text-popover-foreground shadow-md\"\n >\n <ng-content select=\"[pdmHoverContent]\"></ng-content>\n </section>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}\n"] }]
179
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { className: [{
180
+ type: Input
181
+ }], panelClassName: [{
182
+ type: Input
183
+ }], side: [{
184
+ type: Input
185
+ }], align: [{
186
+ type: Input
187
+ }], panelWidth: [{
188
+ type: Input
189
+ }], panelTemplateRef: [{
190
+ type: ViewChild,
191
+ args: ["panelTemplate"]
192
+ }], onMouseEnter: [{
193
+ type: HostListener,
194
+ args: ["mouseenter"]
195
+ }], onMouseLeave: [{
196
+ type: HostListener,
197
+ args: ["mouseleave"]
198
+ }], onFocusIn: [{
199
+ type: HostListener,
200
+ args: ["focusin"]
201
+ }], onFocusOut: [{
202
+ type: HostListener,
203
+ args: ["focusout"]
204
+ }] } });
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaG92ZXItY2FyZC9ob3Zlci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9ob3Zlci1jYXJkL2hvdmVyLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsb0JBQW9CLEdBQ3BCLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFXbkMsTUFBTSxPQUFPLHFCQUFxQjtJQWNqQyxZQUNrQixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsVUFBbUMsRUFDbkMsR0FBc0I7UUFIdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBakIvQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsU0FBSSxHQUFxQixRQUFRLENBQUM7UUFDbEMsVUFBSyxHQUFzQixPQUFPLENBQUM7UUFDbkMsZUFBVSxHQUFHLEdBQUcsQ0FBQztRQUUxQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ0wsZUFBVSxHQUFzQixJQUFJLENBQUM7UUFDckMsZ0JBQVcsR0FBUSxJQUFJLENBQUM7UUFDeEIsZ0JBQVcsR0FBUSxJQUFJLENBQUM7SUFTN0IsQ0FBQztJQUVKLFdBQVc7UUFDVixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxD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QztpQkFDdEMsQ0FBQyxDQUFDO2dCQUNILE1BQU07U0FDUDtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2hCLENBQUM7SUFFTyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBRU8sU0FBUztRQUNoQixpREFBaUQ7UUFDakQsTUFBTSxRQUFRLEdBQTJEO1lBQ3hFLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLFFBQVE7U0FDYixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7O2tIQXhNVyxxQkFBcUI7c0dBQXJCLHFCQUFxQixzYkMzQmxDLG1uQkFzQkE7MkZES2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNDLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3NMQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9zQixnQkFBZ0I7c0JBQTNDLFNBQVM7dUJBQUMsZUFBZTtnQkFlMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBTzFCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQU8xQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUztnQkFPdkIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRWaWV3Q2hpbGQsXG5cdFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmLCBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHtcblx0bWVyZ2VPdmVybGF5UGFuZWxDbGFzcyxcblx0T1ZFUkxBWV9CQVNFX1pfSU5ERVgsXG59IGZyb20gXCIuLi9vdmVybGF5L3otaW5kZXgtaGVscGVyXCI7XG5cbmV4cG9ydCB0eXBlIFBkbUhvdmVyQ2FyZFNpZGUgPSBcInRvcFwiIHwgXCJyaWdodFwiIHwgXCJib3R0b21cIiB8IFwibGVmdFwiO1xuZXhwb3J0IHR5cGUgUGRtSG92ZXJDYXJkQWxpZ24gPSBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1ob3Zlci1jYXJkXCIsXG5cdHRlbXBsYXRlVXJsOiBcIi4vaG92ZXItY2FyZC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1Ib3ZlckNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBwYW5lbENsYXNzTmFtZSA9IFwiXCI7XG5cdEBJbnB1dCgpIHNpZGU6IFBkbUhvdmVyQ2FyZFNpZGUgPSBcImJvdHRvbVwiO1xuXHRASW5wdXQoKSBhbGlnbjogUGRtSG92ZXJDYXJkQWxpZ24gPSBcInN0YXJ0XCI7XG5cdEBJbnB1dCgpIHBhbmVsV2lkdGggPSAzMDQ7XG5cblx0b3BlbiA9IGZhbHNlO1xuXHRwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBzaG93VGltZW91dDogYW55ID0gbnVsbDtcblx0cHJpdmF0ZSBoaWRlVGltZW91dDogYW55ID0gbnVsbDtcblxuXHRAVmlld0NoaWxkKFwicGFuZWxUZW1wbGF0ZVwiKSBwYW5lbFRlbXBsYXRlUmVmOiBhbnk7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0XHRwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcblx0KSB7fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuXHRcdHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIpXG5cdG9uTW91c2VFbnRlcigpOiB2b2lkIHtcblx0XHR0aGlzLmNsZWFyVGltZW91dHMoKTtcblx0XHR0aGlzLnNob3dUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnNob3coKSwgMTUwKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIpXG5cdG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsZWFyVGltZW91dHMoKTtcblx0XHR0aGlzLmhpZGVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgMTUwKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJmb2N1c2luXCIpXG5cdG9uRm9jdXNJbigpOiB2b2lkIHtcblx0XHR0aGlzLmNsZWFyVGltZW91dHMoKTtcblx0XHR0aGlzLnNob3coKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJmb2N1c291dFwiKVxuXHRvbkZvY3VzT3V0KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuXHRcdHRoaXMuaGlkZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBjbGVhclRpbWVvdXRzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnNob3dUaW1lb3V0KSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5zaG93VGltZW91dCk7XG5cdFx0XHR0aGlzLnNob3dUaW1lb3V0ID0gbnVsbDtcblx0XHR9XG5cdFx0aWYgKHRoaXMuaGlkZVRpbWVvdXQpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0KTtcblx0XHRcdHRoaXMuaGlkZVRpbWVvdXQgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc2hvdygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5vcGVuKSByZXR1cm47XG5cblx0XHR0aGlzLm9wZW4gPSB0cnVlO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHRcdHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBoaWRlKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5vcGVuKSByZXR1cm47XG5cblx0XHR0aGlzLm9wZW4gPSBmYWxzZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cdH1cblxuXHRwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG5cdFx0Y29uc3QgdHJpZ2dlckVsID1cblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJbcGRtSG92ZXJUcmlnZ2VyXVwiKSB8fFxuXHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG5cdFx0XHQucG9zaXRpb24oKVxuXHRcdFx0LmZsZXhpYmxlQ29ubmVjdGVkVG8odHJpZ2dlckVsKVxuXHRcdFx0LndpdGhQb3NpdGlvbnModGhpcy5nZXRQb3NpdGlvbkNvbmZpZ3MoKSlcblx0XHRcdC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuXHRcdFx0LndpdGhQdXNoKHRydWUpO1xuXG5cdFx0Y29uc3QgcGFuZWxDbGFzcyA9IG1lcmdlT3ZlcmxheVBhbmVsQ2xhc3MoXG5cdFx0XHRPVkVSTEFZX0JBU0VfWl9JTkRFWCxcblx0XHRcdHRoaXMucGFuZWxDbGFzc05hbWUsXG5cdFx0KTtcblxuXHRcdHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuXHRcdFx0cG9zaXRpb25TdHJhdGVneSxcblx0XHRcdHBhbmVsQ2xhc3MsXG5cdFx0fSk7XG5cblx0XHRjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG5cdFx0XHR0aGlzLnBhbmVsVGVtcGxhdGVSZWYsXG5cdFx0XHR0aGlzLnZpZXdDb250YWluZXJSZWYsXG5cdFx0KTtcblx0XHR0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cdH1cblxuXHRwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgZ2V0UG9zaXRpb25Db25maWdzKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuXHRcdC8vIE1hcCBvdXIgc2lkZS9hbGlnbiB0byBDREsgcG9zaXRpb25zXG5cdFx0Y29uc3QgY29uZmlnczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtdO1xuXG5cdFx0Ly8gUHJpbWFyeSBwb3NpdGlvbiBiYXNlZCBvbiBzaWRlXG5cdFx0c3dpdGNoICh0aGlzLnNpZGUpIHtcblx0XHRcdGNhc2UgXCJ0b3BcIjpcblx0XHRcdFx0Y29uZmlncy5wdXNoKHtcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLmdldEFsaWduWCgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IFwidG9wXCIsXG5cdFx0XHRcdFx0b3ZlcmxheVg6IHRoaXMuZ2V0QWxpZ25YKCksXG5cdFx0XHRcdFx0b3ZlcmxheVk6IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0b2Zmc2V0WTogLTgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJyaWdodFwiOlxuXHRcdFx0XHRjb25maWdzLnB1c2goe1xuXHRcdFx0XHRcdG9yaWdpblg6IFwiZW5kXCIsXG5cdFx0XHRcdFx0b3JpZ2luWTogdGhpcy5nZXRBbGlnblkoKSxcblx0XHRcdFx0XHRvdmVybGF5WDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLmdldEFsaWduWSgpLFxuXHRcdFx0XHRcdG9mZnNldFg6IDgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJib3R0b21cIjpcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNvbmZpZ3MucHVzaCh7XG5cdFx0XHRcdFx0b3JpZ2luWDogdGhpcy5nZXRBbGlnblgoKSxcblx0XHRcdFx0XHRvcmlnaW5ZOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLmdldEFsaWduWCgpLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiBcInRvcFwiLFxuXHRcdFx0XHRcdG9mZnNldFk6IDgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJsZWZ0XCI6XG5cdFx0XHRcdGNvbmZpZ3MucHVzaCh7XG5cdFx0XHRcdFx0b3JpZ2luWDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuZ2V0QWxpZ25ZKCksXG5cdFx0XHRcdFx0b3ZlcmxheVg6IFwiZW5kXCIsXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuZ2V0QWxpZ25ZKCksXG5cdFx0XHRcdFx0b2Zmc2V0WDogLTgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cblx0XHQvLyBBZGQgZmFsbGJhY2sgcG9zaXRpb25zXG5cdFx0c3dpdGNoICh0aGlzLnNpZGUpIHtcblx0XHRcdGNhc2UgXCJ0b3BcIjpcblx0XHRcdGNhc2UgXCJib3R0b21cIjpcblx0XHRcdFx0Y29uZmlncy5wdXNoKHtcblx0XHRcdFx0XHRvcmlnaW5YOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuc2lkZSA9PT0gXCJ0b3BcIiA/IFwidG9wXCIgOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLnNpZGUgPT09IFwidG9wXCIgPyBcImJvdHRvbVwiIDogXCJ0b3BcIixcblx0XHRcdFx0XHRvZmZzZXRZOiB0aGlzLnNpZGUgPT09IFwidG9wXCIgPyAtOCA6IDgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJsZWZ0XCI6XG5cdFx0XHRjYXNlIFwicmlnaHRcIjpcblx0XHRcdFx0Y29uZmlncy5wdXNoKHtcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLnNpZGUgPT09IFwibGVmdFwiID8gXCJzdGFydFwiIDogXCJlbmRcIixcblx0XHRcdFx0XHRvcmlnaW5ZOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLnNpZGUgPT09IFwibGVmdFwiID8gXCJlbmRcIiA6IFwic3RhcnRcIixcblx0XHRcdFx0XHRvdmVybGF5WTogXCJjZW50ZXJcIixcblx0XHRcdFx0XHRvZmZzZXRYOiB0aGlzLnNpZGUgPT09IFwibGVmdFwiID8gLTggOiA4LFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNvbmZpZ3M7XG5cdH1cblxuXHRwcml2YXRlIGdldEFsaWduWCgpOiBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIiB7XG5cdFx0cmV0dXJuIHRoaXMuYWxpZ247XG5cdH1cblxuXHRwcml2YXRlIGdldEFsaWduWSgpOiBcInRvcFwiIHwgXCJjZW50ZXJcIiB8IFwiYm90dG9tXCIge1xuXHRcdC8vIE1hcCAnc3RhcnQnLydlbmQnIHRvICd0b3AnLydib3R0b20nIGZvciBZIGF4aXNcblx0XHRjb25zdCBhbGlnbk1hcDogUmVjb3JkPFBkbUhvdmVyQ2FyZEFsaWduLCBcInRvcFwiIHwgXCJjZW50ZXJcIiB8IFwiYm90dG9tXCI+ID0ge1xuXHRcdFx0c3RhcnQ6IFwidG9wXCIsXG5cdFx0XHRjZW50ZXI6IFwiY2VudGVyXCIsXG5cdFx0XHRlbmQ6IFwiYm90dG9tXCIsXG5cdFx0fTtcblx0XHRyZXR1cm4gYWxpZ25NYXBbdGhpcy5hbGlnbl07XG5cdH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJyZWxhdGl2ZSBpbmxpbmUtZmxleFwiXG4gIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxuICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiXG4gIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KClcIlxuPlxuICA8ZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwZG1Ib3ZlclRyaWdnZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8IS0tIFRlbXBsYXRlIGZvciBDREsgT3ZlcmxheSAtLT5cbiAgPG5nLXRlbXBsYXRlICNwYW5lbFRlbXBsYXRlPlxuICAgIDxzZWN0aW9uXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwicGFuZWxXaWR0aFwiXG4gICAgICBjbGFzcz1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItYm9yZGVyIGJnLXBvcG92ZXIgcC00IHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BkbUhvdmVyQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9zZWN0aW9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=