pdm-ui-kit 0.4.2 → 1.1.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 (880) hide show
  1. package/accordion/accordion.module.d.ts +8 -0
  2. package/alert/alert.module.d.ts +9 -0
  3. package/aspect-ratio/aspect-ratio.module.d.ts +8 -0
  4. package/avatar/avatar.module.d.ts +8 -0
  5. package/badge/badge.module.d.ts +8 -0
  6. package/breadcrumb/breadcrumb.module.d.ts +8 -0
  7. package/button/button.module.d.ts +9 -0
  8. package/calendar/calendar.module.d.ts +11 -0
  9. package/{lib/components/date-picker → calendar}/date-picker.component.d.ts +2 -2
  10. package/card/card.module.d.ts +8 -0
  11. package/carousel/carousel.module.d.ts +8 -0
  12. package/chart/chart.module.d.ts +8 -0
  13. package/checkbox/checkbox.module.d.ts +8 -0
  14. package/collapsible/collapsible.module.d.ts +8 -0
  15. package/combobox/combobox.module.d.ts +9 -0
  16. package/{lib/components/command → command}/command.component.d.ts +1 -1
  17. package/command/command.module.d.ts +9 -0
  18. package/{lib/components/context-menu → context-menu}/context-menu.component.d.ts +1 -1
  19. package/context-menu/context-menu.module.d.ts +9 -0
  20. package/{lib/components/data-table → data-table}/data-table.component.d.ts +1 -1
  21. package/data-table/data-table.module.d.ts +10 -0
  22. package/{lib/components/draggable-table → data-table}/draggable-table.component.d.ts +2 -2
  23. package/{lib/components/table → data-table}/table.component.d.ts +1 -1
  24. package/dialog/dialog.module.d.ts +8 -0
  25. package/drawer/drawer.module.d.ts +10 -0
  26. package/{lib/components/dropdown-menu → dropdown-menu}/dropdown-menu.component.d.ts +1 -1
  27. package/dropdown-menu/dropdown-menu.module.d.ts +9 -0
  28. package/empty/empty.module.d.ts +10 -0
  29. package/esm2020/{lib/components/accordion → accordion}/accordion.component.mjs +1 -1
  30. package/esm2020/accordion/accordion.module.mjs +21 -0
  31. package/esm2020/{lib/components/alert-dialog → alert}/alert-dialog.component.mjs +1 -1
  32. package/esm2020/{lib/components/alert → alert}/alert.component.mjs +1 -1
  33. package/esm2020/alert/alert.module.mjs +25 -0
  34. package/esm2020/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.mjs +1 -1
  35. package/esm2020/aspect-ratio/aspect-ratio.module.mjs +21 -0
  36. package/esm2020/{lib/components/avatar → avatar}/avatar.component.mjs +1 -1
  37. package/esm2020/avatar/avatar.module.mjs +21 -0
  38. package/esm2020/{lib/components/badge → badge}/badge.component.mjs +1 -1
  39. package/esm2020/badge/badge.module.mjs +21 -0
  40. package/esm2020/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.mjs +1 -1
  41. package/esm2020/breadcrumb/breadcrumb.module.mjs +21 -0
  42. package/esm2020/button/button-group.component.mjs +236 -0
  43. package/esm2020/button/button.component.mjs +114 -0
  44. package/esm2020/button/button.module.mjs +25 -0
  45. package/esm2020/calendar/calendar.component.mjs +529 -0
  46. package/esm2020/calendar/calendar.module.mjs +22 -0
  47. package/esm2020/{lib/components/date-picker → calendar}/date-picker.component.mjs +6 -6
  48. package/esm2020/{lib/components/card → card}/card.component.mjs +1 -1
  49. package/esm2020/card/card.module.mjs +21 -0
  50. package/esm2020/carousel/carousel.component.mjs +102 -0
  51. package/esm2020/carousel/carousel.module.mjs +21 -0
  52. package/esm2020/{lib/components/chart → chart}/chart.component.mjs +1 -1
  53. package/esm2020/chart/chart.module.mjs +21 -0
  54. package/esm2020/{lib/components/checkbox → checkbox}/checkbox.component.mjs +1 -1
  55. package/esm2020/checkbox/checkbox.module.mjs +21 -0
  56. package/esm2020/{lib/components/collapsible → collapsible}/collapsible.component.mjs +1 -1
  57. package/esm2020/collapsible/collapsible.module.mjs +21 -0
  58. package/esm2020/{lib/components/combobox → combobox}/combobox.component.mjs +2 -2
  59. package/esm2020/combobox/combobox.module.mjs +22 -0
  60. package/esm2020/command/command.component.mjs +75 -0
  61. package/esm2020/command/command.module.mjs +20 -0
  62. package/esm2020/context-menu/context-menu.component.mjs +165 -0
  63. package/esm2020/context-menu/context-menu.module.mjs +22 -0
  64. package/esm2020/data-table/data-table.component.mjs +299 -0
  65. package/esm2020/data-table/data-table.module.mjs +29 -0
  66. package/esm2020/data-table/draggable-table.component.mjs +300 -0
  67. package/esm2020/data-table/table.component.mjs +182 -0
  68. package/esm2020/dialog/dialog.component.mjs +265 -0
  69. package/esm2020/dialog/dialog.module.mjs +21 -0
  70. package/esm2020/drawer/drawer.component.mjs +217 -0
  71. package/esm2020/drawer/drawer.module.mjs +21 -0
  72. package/esm2020/drawer/sheet.component.mjs +116 -0
  73. package/esm2020/dropdown-menu/dropdown-menu.component.mjs +192 -0
  74. package/esm2020/dropdown-menu/dropdown-menu.module.mjs +22 -0
  75. package/esm2020/{lib/components/empty → empty}/empty.component.mjs +3 -3
  76. package/esm2020/empty/empty.module.mjs +21 -0
  77. package/esm2020/{lib/components/field → field}/field.component.mjs +1 -1
  78. package/esm2020/field/field.module.mjs +21 -0
  79. package/esm2020/{lib/components/hover-card → hover-card}/hover-card.component.mjs +2 -2
  80. package/esm2020/hover-card/hover-card.module.mjs +22 -0
  81. package/esm2020/icon/icon.component.mjs +144 -0
  82. package/esm2020/icon/icon.module.mjs +21 -0
  83. package/esm2020/input/input-group.component.mjs +63 -0
  84. package/esm2020/input/input-otp.component.mjs +144 -0
  85. package/esm2020/{lib/components/input-password → input}/input-password.component.mjs +1 -1
  86. package/esm2020/{lib/components/input → input}/input.component.mjs +1 -1
  87. package/esm2020/input/input.module.mjs +38 -0
  88. package/esm2020/{lib/components/textarea → input}/textarea.component.mjs +1 -1
  89. package/esm2020/{lib/components/item → item}/item.component.mjs +1 -1
  90. package/esm2020/item/item.module.mjs +21 -0
  91. package/esm2020/{lib/components/kbd → kbd}/kbd.component.mjs +1 -1
  92. package/esm2020/kbd/kbd.module.mjs +21 -0
  93. package/esm2020/{lib/components/label → label}/label.component.mjs +1 -1
  94. package/esm2020/label/label.module.mjs +21 -0
  95. package/esm2020/menubar/menubar.component.mjs +144 -0
  96. package/esm2020/menubar/menubar.module.mjs +22 -0
  97. package/esm2020/{lib/components/native-select → native-select}/native-select.component.mjs +2 -2
  98. package/esm2020/native-select/native-select.module.mjs +20 -0
  99. package/esm2020/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.mjs +1 -1
  100. package/esm2020/navigation-menu/navigation-menu.module.mjs +21 -0
  101. package/esm2020/overlay/create-flexible-position-strategy.mjs +54 -0
  102. package/esm2020/overlay/pdm-outside-click.directive.mjs +86 -0
  103. package/esm2020/overlay/pdm-outside-click.module.mjs +18 -0
  104. package/esm2020/overlay/pdm-overlay-options.mjs +2 -0
  105. package/esm2020/overlay/z-index-helper.mjs +69 -0
  106. package/esm2020/pagination/pagination.component.mjs +72 -0
  107. package/esm2020/pagination/pagination.module.mjs +21 -0
  108. package/esm2020/pdm-ui-kit.module.mjs +260 -0
  109. package/esm2020/{lib/components/popover → popover}/popover.component.mjs +2 -2
  110. package/esm2020/popover/popover.module.mjs +22 -0
  111. package/esm2020/{lib/components/progress → progress}/progress.component.mjs +1 -1
  112. package/esm2020/progress/progress.module.mjs +21 -0
  113. package/esm2020/public-api.mjs +117 -67
  114. package/esm2020/{lib/components/radio-group → radio-group}/radio-group.component.mjs +1 -1
  115. package/esm2020/radio-group/radio-group.module.mjs +21 -0
  116. package/esm2020/{lib/components/scroll-area → scroll-area}/scroll-area.component.mjs +1 -1
  117. package/esm2020/scroll-area/scroll-area.module.mjs +21 -0
  118. package/esm2020/select/select-option.directive.mjs +55 -0
  119. package/esm2020/select/select.component.mjs +164 -0
  120. package/esm2020/select/select.module.mjs +22 -0
  121. package/esm2020/{lib/components/separator → separator}/separator.component.mjs +1 -1
  122. package/esm2020/separator/separator.module.mjs +21 -0
  123. package/esm2020/{lib/components/sidebar → sidebar}/sidebar.component.mjs +1 -1
  124. package/esm2020/sidebar/sidebar.module.mjs +21 -0
  125. package/esm2020/{lib/components/skeleton → skeleton}/skeleton.component.mjs +1 -1
  126. package/esm2020/skeleton/skeleton.module.mjs +21 -0
  127. package/esm2020/{lib/components/slider → slider}/slider.component.mjs +1 -1
  128. package/esm2020/slider/slider.module.mjs +21 -0
  129. package/esm2020/{lib/components/sonner → sonner}/sonner.component.mjs +2 -2
  130. package/esm2020/sonner/sonner.module.mjs +20 -0
  131. package/esm2020/{lib/components/spinner → spinner}/spinner.component.mjs +1 -1
  132. package/esm2020/spinner/spinner.module.mjs +21 -0
  133. package/esm2020/src/accordion/accordion.component.mjs +42 -0
  134. package/esm2020/src/accordion/accordion.module.mjs +21 -0
  135. package/esm2020/src/accordion/pdm-ui-kit-src-accordion.mjs +5 -0
  136. package/esm2020/src/accordion/public-api.mjs +3 -0
  137. package/esm2020/src/alert/alert-dialog.component.mjs +87 -0
  138. package/esm2020/src/alert/alert.component.mjs +35 -0
  139. package/esm2020/src/alert/alert.module.mjs +25 -0
  140. package/esm2020/src/alert/pdm-ui-kit-src-alert.mjs +5 -0
  141. package/esm2020/src/alert/public-api.mjs +4 -0
  142. package/esm2020/src/aspect-ratio/aspect-ratio.component.mjs +31 -0
  143. package/esm2020/src/aspect-ratio/aspect-ratio.module.mjs +21 -0
  144. package/esm2020/src/aspect-ratio/pdm-ui-kit-src-aspect-ratio.mjs +5 -0
  145. package/esm2020/src/aspect-ratio/public-api.mjs +3 -0
  146. package/esm2020/src/avatar/avatar.component.mjs +46 -0
  147. package/esm2020/src/avatar/avatar.module.mjs +21 -0
  148. package/esm2020/src/avatar/pdm-ui-kit-src-avatar.mjs +5 -0
  149. package/esm2020/src/avatar/public-api.mjs +3 -0
  150. package/esm2020/src/badge/badge.component.mjs +23 -0
  151. package/esm2020/src/badge/badge.module.mjs +21 -0
  152. package/esm2020/src/badge/pdm-ui-kit-src-badge.mjs +5 -0
  153. package/esm2020/src/badge/public-api.mjs +3 -0
  154. package/esm2020/src/breadcrumb/breadcrumb.component.mjs +62 -0
  155. package/esm2020/src/breadcrumb/breadcrumb.module.mjs +21 -0
  156. package/esm2020/src/breadcrumb/pdm-ui-kit-src-breadcrumb.mjs +5 -0
  157. package/esm2020/src/breadcrumb/public-api.mjs +3 -0
  158. package/esm2020/{lib/components/button-group → src/button}/button-group.component.mjs +1 -1
  159. package/esm2020/src/button/button.component.mjs +114 -0
  160. package/esm2020/src/button/button.module.mjs +25 -0
  161. package/esm2020/src/button/pdm-ui-kit-src-button.mjs +5 -0
  162. package/esm2020/src/button/public-api.mjs +4 -0
  163. package/esm2020/src/calendar/calendar.component.mjs +529 -0
  164. package/esm2020/src/calendar/calendar.module.mjs +22 -0
  165. package/esm2020/src/calendar/date-picker.component.mjs +362 -0
  166. package/esm2020/src/calendar/pdm-ui-kit-src-calendar.mjs +5 -0
  167. package/esm2020/src/calendar/public-api.mjs +4 -0
  168. package/esm2020/src/card/card.component.mjs +48 -0
  169. package/esm2020/src/card/card.module.mjs +21 -0
  170. package/esm2020/src/card/pdm-ui-kit-src-card.mjs +5 -0
  171. package/esm2020/src/card/public-api.mjs +3 -0
  172. package/esm2020/src/carousel/carousel.component.mjs +102 -0
  173. package/esm2020/src/carousel/carousel.module.mjs +21 -0
  174. package/esm2020/src/carousel/pdm-ui-kit-src-carousel.mjs +5 -0
  175. package/esm2020/src/carousel/public-api.mjs +3 -0
  176. package/esm2020/src/chart/chart.component.mjs +177 -0
  177. package/esm2020/src/chart/chart.module.mjs +21 -0
  178. package/esm2020/src/chart/pdm-ui-kit-src-chart.mjs +5 -0
  179. package/esm2020/src/chart/public-api.mjs +3 -0
  180. package/esm2020/src/checkbox/checkbox.component.mjs +47 -0
  181. package/esm2020/src/checkbox/checkbox.module.mjs +21 -0
  182. package/esm2020/src/checkbox/pdm-ui-kit-src-checkbox.mjs +5 -0
  183. package/esm2020/src/checkbox/public-api.mjs +3 -0
  184. package/esm2020/src/collapsible/collapsible.component.mjs +43 -0
  185. package/esm2020/src/collapsible/collapsible.module.mjs +21 -0
  186. package/esm2020/src/collapsible/pdm-ui-kit-src-collapsible.mjs +5 -0
  187. package/esm2020/src/collapsible/public-api.mjs +3 -0
  188. package/esm2020/src/combobox/combobox.component.mjs +173 -0
  189. package/esm2020/src/combobox/combobox.module.mjs +22 -0
  190. package/esm2020/src/combobox/pdm-ui-kit-src-combobox.mjs +5 -0
  191. package/esm2020/src/combobox/public-api.mjs +3 -0
  192. package/esm2020/src/command/command.component.mjs +75 -0
  193. package/esm2020/src/command/command.module.mjs +20 -0
  194. package/esm2020/src/command/pdm-ui-kit-src-command.mjs +5 -0
  195. package/esm2020/src/command/public-api.mjs +3 -0
  196. package/esm2020/src/context-menu/context-menu.component.mjs +165 -0
  197. package/esm2020/src/context-menu/context-menu.module.mjs +22 -0
  198. package/esm2020/src/context-menu/pdm-ui-kit-src-context-menu.mjs +5 -0
  199. package/esm2020/src/context-menu/public-api.mjs +3 -0
  200. package/esm2020/src/data-table/data-table.component.mjs +299 -0
  201. package/esm2020/src/data-table/data-table.module.mjs +29 -0
  202. package/esm2020/src/data-table/draggable-table.component.mjs +300 -0
  203. package/esm2020/src/data-table/pdm-ui-kit-src-data-table.mjs +5 -0
  204. package/esm2020/src/data-table/public-api.mjs +5 -0
  205. package/esm2020/src/data-table/table.component.mjs +182 -0
  206. package/esm2020/src/dialog/dialog.component.mjs +265 -0
  207. package/esm2020/src/dialog/dialog.module.mjs +21 -0
  208. package/esm2020/src/dialog/pdm-ui-kit-src-dialog.mjs +5 -0
  209. package/esm2020/src/dialog/public-api.mjs +3 -0
  210. package/esm2020/src/drawer/drawer.component.mjs +217 -0
  211. package/esm2020/src/drawer/drawer.module.mjs +21 -0
  212. package/esm2020/src/drawer/pdm-ui-kit-src-drawer.mjs +5 -0
  213. package/esm2020/src/drawer/public-api.mjs +4 -0
  214. package/esm2020/src/drawer/sheet.component.mjs +116 -0
  215. package/esm2020/src/dropdown-menu/dropdown-menu.component.mjs +192 -0
  216. package/esm2020/src/dropdown-menu/dropdown-menu.module.mjs +22 -0
  217. package/esm2020/src/dropdown-menu/pdm-ui-kit-src-dropdown-menu.mjs +5 -0
  218. package/esm2020/src/dropdown-menu/public-api.mjs +3 -0
  219. package/esm2020/src/empty/empty.component.mjs +58 -0
  220. package/esm2020/src/empty/empty.module.mjs +21 -0
  221. package/esm2020/src/empty/pdm-ui-kit-src-empty.mjs +5 -0
  222. package/esm2020/src/empty/public-api.mjs +3 -0
  223. package/esm2020/src/field/field.component.mjs +64 -0
  224. package/esm2020/src/field/field.module.mjs +21 -0
  225. package/esm2020/src/field/pdm-ui-kit-src-field.mjs +5 -0
  226. package/esm2020/src/field/public-api.mjs +3 -0
  227. package/esm2020/src/hover-card/hover-card.component.mjs +205 -0
  228. package/esm2020/src/hover-card/hover-card.module.mjs +22 -0
  229. package/esm2020/src/hover-card/pdm-ui-kit-src-hover-card.mjs +5 -0
  230. package/esm2020/src/hover-card/public-api.mjs +3 -0
  231. package/esm2020/src/icon/icon.component.mjs +144 -0
  232. package/esm2020/src/icon/icon.module.mjs +21 -0
  233. package/esm2020/src/icon/pdm-ui-kit-src-icon.mjs +5 -0
  234. package/esm2020/src/icon/public-api.mjs +3 -0
  235. package/esm2020/{lib/components/input-group → src/input}/input-group.component.mjs +2 -2
  236. package/esm2020/src/input/input-otp.component.mjs +144 -0
  237. package/esm2020/src/input/input-password.component.mjs +78 -0
  238. package/esm2020/src/input/input.component.mjs +71 -0
  239. package/esm2020/src/input/input.module.mjs +38 -0
  240. package/esm2020/src/input/pdm-ui-kit-src-input.mjs +5 -0
  241. package/esm2020/src/input/public-api.mjs +7 -0
  242. package/esm2020/src/input/textarea.component.mjs +59 -0
  243. package/esm2020/src/item/item.component.mjs +23 -0
  244. package/esm2020/src/item/item.module.mjs +21 -0
  245. package/esm2020/src/item/pdm-ui-kit-src-item.mjs +5 -0
  246. package/esm2020/src/item/public-api.mjs +3 -0
  247. package/esm2020/src/kbd/kbd.component.mjs +17 -0
  248. package/esm2020/src/kbd/kbd.module.mjs +21 -0
  249. package/esm2020/src/kbd/pdm-ui-kit-src-kbd.mjs +5 -0
  250. package/esm2020/src/kbd/public-api.mjs +3 -0
  251. package/esm2020/src/label/label.component.mjs +23 -0
  252. package/esm2020/src/label/label.module.mjs +21 -0
  253. package/esm2020/src/label/pdm-ui-kit-src-label.mjs +5 -0
  254. package/esm2020/src/label/public-api.mjs +3 -0
  255. package/esm2020/src/menubar/menubar.component.mjs +144 -0
  256. package/esm2020/src/menubar/menubar.module.mjs +22 -0
  257. package/esm2020/src/menubar/pdm-ui-kit-src-menubar.mjs +5 -0
  258. package/esm2020/src/menubar/public-api.mjs +3 -0
  259. package/esm2020/src/native-select/native-select.component.mjs +42 -0
  260. package/esm2020/src/native-select/native-select.module.mjs +20 -0
  261. package/esm2020/src/native-select/pdm-ui-kit-src-native-select.mjs +5 -0
  262. package/esm2020/src/native-select/public-api.mjs +3 -0
  263. package/esm2020/src/navigation-menu/navigation-menu.component.mjs +42 -0
  264. package/esm2020/src/navigation-menu/navigation-menu.module.mjs +21 -0
  265. package/esm2020/src/navigation-menu/pdm-ui-kit-src-navigation-menu.mjs +5 -0
  266. package/esm2020/src/navigation-menu/public-api.mjs +3 -0
  267. package/esm2020/src/overlay/create-flexible-position-strategy.mjs +54 -0
  268. package/esm2020/src/overlay/pdm-outside-click.directive.mjs +86 -0
  269. package/esm2020/src/overlay/pdm-outside-click.module.mjs +18 -0
  270. package/esm2020/src/overlay/pdm-overlay-options.mjs +2 -0
  271. package/esm2020/src/overlay/pdm-ui-kit-src-overlay.mjs +5 -0
  272. package/esm2020/src/overlay/public-api.mjs +6 -0
  273. package/esm2020/src/overlay/z-index-helper.mjs +69 -0
  274. package/esm2020/{lib/components → src}/pagination/pagination.component.mjs +3 -3
  275. package/esm2020/src/pagination/pagination.module.mjs +21 -0
  276. package/esm2020/src/pagination/pdm-ui-kit-src-pagination.mjs +5 -0
  277. package/esm2020/src/pagination/public-api.mjs +3 -0
  278. package/esm2020/src/popover/pdm-ui-kit-src-popover.mjs +5 -0
  279. package/esm2020/src/popover/popover.component.mjs +162 -0
  280. package/esm2020/src/popover/popover.module.mjs +22 -0
  281. package/esm2020/src/popover/public-api.mjs +3 -0
  282. package/esm2020/src/progress/pdm-ui-kit-src-progress.mjs +5 -0
  283. package/esm2020/src/progress/progress.component.mjs +33 -0
  284. package/esm2020/src/progress/progress.module.mjs +21 -0
  285. package/esm2020/src/progress/public-api.mjs +3 -0
  286. package/esm2020/src/radio-group/pdm-ui-kit-src-radio-group.mjs +5 -0
  287. package/esm2020/src/radio-group/public-api.mjs +3 -0
  288. package/esm2020/src/radio-group/radio-group.component.mjs +38 -0
  289. package/esm2020/src/radio-group/radio-group.module.mjs +21 -0
  290. package/esm2020/src/scroll-area/pdm-ui-kit-src-scroll-area.mjs +5 -0
  291. package/esm2020/src/scroll-area/public-api.mjs +3 -0
  292. package/esm2020/src/scroll-area/scroll-area.component.mjs +20 -0
  293. package/esm2020/src/scroll-area/scroll-area.module.mjs +21 -0
  294. package/esm2020/src/select/pdm-ui-kit-src-select.mjs +5 -0
  295. package/esm2020/src/select/public-api.mjs +4 -0
  296. package/esm2020/src/select/select-option.directive.mjs +55 -0
  297. package/esm2020/src/select/select.component.mjs +164 -0
  298. package/esm2020/src/select/select.module.mjs +22 -0
  299. package/esm2020/src/separator/pdm-ui-kit-src-separator.mjs +5 -0
  300. package/esm2020/src/separator/public-api.mjs +3 -0
  301. package/esm2020/src/separator/separator.component.mjs +26 -0
  302. package/esm2020/src/separator/separator.module.mjs +21 -0
  303. package/esm2020/src/sidebar/pdm-ui-kit-src-sidebar.mjs +5 -0
  304. package/esm2020/src/sidebar/public-api.mjs +3 -0
  305. package/esm2020/src/sidebar/sidebar.component.mjs +67 -0
  306. package/esm2020/src/sidebar/sidebar.module.mjs +21 -0
  307. package/esm2020/src/skeleton/pdm-ui-kit-src-skeleton.mjs +5 -0
  308. package/esm2020/src/skeleton/public-api.mjs +3 -0
  309. package/esm2020/src/skeleton/skeleton.component.mjs +17 -0
  310. package/esm2020/src/skeleton/skeleton.module.mjs +21 -0
  311. package/esm2020/src/slider/pdm-ui-kit-src-slider.mjs +5 -0
  312. package/esm2020/src/slider/public-api.mjs +3 -0
  313. package/esm2020/src/slider/slider.component.mjs +46 -0
  314. package/esm2020/src/slider/slider.module.mjs +21 -0
  315. package/esm2020/src/sonner/pdm-ui-kit-src-sonner.mjs +5 -0
  316. package/esm2020/src/sonner/public-api.mjs +3 -0
  317. package/esm2020/src/sonner/sonner.component.mjs +39 -0
  318. package/esm2020/src/sonner/sonner.module.mjs +20 -0
  319. package/esm2020/src/spinner/pdm-ui-kit-src-spinner.mjs +5 -0
  320. package/esm2020/src/spinner/public-api.mjs +3 -0
  321. package/esm2020/src/spinner/spinner.component.mjs +20 -0
  322. package/esm2020/src/spinner/spinner.module.mjs +21 -0
  323. package/esm2020/src/switch/pdm-ui-kit-src-switch.mjs +5 -0
  324. package/esm2020/src/switch/public-api.mjs +3 -0
  325. package/esm2020/src/switch/switch.component.mjs +58 -0
  326. package/esm2020/src/switch/switch.module.mjs +21 -0
  327. package/esm2020/src/tabs/pdm-ui-kit-src-tabs.mjs +5 -0
  328. package/esm2020/src/tabs/public-api.mjs +3 -0
  329. package/esm2020/{lib/components → src}/tabs/tabs.component.mjs +1 -1
  330. package/esm2020/src/tabs/tabs.module.mjs +21 -0
  331. package/esm2020/src/toggle/pdm-ui-kit-src-toggle.mjs +5 -0
  332. package/esm2020/src/toggle/public-api.mjs +4 -0
  333. package/esm2020/{lib/components/toggle-group → src/toggle}/toggle-group.component.mjs +1 -1
  334. package/esm2020/{lib/components → src}/toggle/toggle.component.mjs +1 -1
  335. package/esm2020/src/toggle/toggle.module.mjs +25 -0
  336. package/esm2020/src/tooltip/pdm-ui-kit-src-tooltip.mjs +5 -0
  337. package/esm2020/src/tooltip/public-api.mjs +3 -0
  338. package/esm2020/src/tooltip/tooltip.component.mjs +176 -0
  339. package/esm2020/src/tooltip/tooltip.module.mjs +22 -0
  340. package/esm2020/src/utils/pdm-ui-kit-src-utils.mjs +5 -0
  341. package/esm2020/src/utils/public-api.mjs +3 -0
  342. package/esm2020/src/utils/responsive.mjs +143 -0
  343. package/esm2020/src/utils/z-index.mjs +90 -0
  344. package/esm2020/switch/switch.component.mjs +58 -0
  345. package/esm2020/switch/switch.module.mjs +21 -0
  346. package/esm2020/tabs/tabs.component.mjs +34 -0
  347. package/esm2020/tabs/tabs.module.mjs +21 -0
  348. package/esm2020/toggle/toggle-group.component.mjs +31 -0
  349. package/esm2020/toggle/toggle.component.mjs +41 -0
  350. package/esm2020/toggle/toggle.module.mjs +25 -0
  351. package/esm2020/{lib/components/tooltip → tooltip}/tooltip.component.mjs +2 -2
  352. package/esm2020/tooltip/tooltip.module.mjs +22 -0
  353. package/esm2020/utils/responsive.mjs +143 -0
  354. package/esm2020/utils/z-index.mjs +90 -0
  355. package/fesm2015/pdm-ui-kit-src-accordion.mjs +68 -0
  356. package/fesm2015/pdm-ui-kit-src-accordion.mjs.map +1 -0
  357. package/fesm2015/pdm-ui-kit-src-alert.mjs +147 -0
  358. package/fesm2015/pdm-ui-kit-src-alert.mjs.map +1 -0
  359. package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
  360. package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
  361. package/fesm2015/pdm-ui-kit-src-avatar.mjs +71 -0
  362. package/fesm2015/pdm-ui-kit-src-avatar.mjs.map +1 -0
  363. package/fesm2015/pdm-ui-kit-src-badge.mjs +48 -0
  364. package/fesm2015/pdm-ui-kit-src-badge.mjs.map +1 -0
  365. package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs +87 -0
  366. package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
  367. package/fesm2015/pdm-ui-kit-src-button.mjs +376 -0
  368. package/fesm2015/pdm-ui-kit-src-button.mjs.map +1 -0
  369. package/fesm2015/pdm-ui-kit-src-calendar.mjs +912 -0
  370. package/fesm2015/pdm-ui-kit-src-calendar.mjs.map +1 -0
  371. package/fesm2015/pdm-ui-kit-src-card.mjs +73 -0
  372. package/fesm2015/pdm-ui-kit-src-card.mjs.map +1 -0
  373. package/fesm2015/pdm-ui-kit-src-carousel.mjs +127 -0
  374. package/fesm2015/pdm-ui-kit-src-carousel.mjs.map +1 -0
  375. package/fesm2015/pdm-ui-kit-src-chart.mjs +203 -0
  376. package/fesm2015/pdm-ui-kit-src-chart.mjs.map +1 -0
  377. package/fesm2015/pdm-ui-kit-src-checkbox.mjs +72 -0
  378. package/fesm2015/pdm-ui-kit-src-checkbox.mjs.map +1 -0
  379. package/fesm2015/pdm-ui-kit-src-collapsible.mjs +68 -0
  380. package/fesm2015/pdm-ui-kit-src-collapsible.mjs.map +1 -0
  381. package/fesm2015/pdm-ui-kit-src-combobox.mjs +200 -0
  382. package/fesm2015/pdm-ui-kit-src-combobox.mjs.map +1 -0
  383. package/fesm2015/pdm-ui-kit-src-command.mjs +100 -0
  384. package/fesm2015/pdm-ui-kit-src-command.mjs.map +1 -0
  385. package/fesm2015/pdm-ui-kit-src-context-menu.mjs +191 -0
  386. package/fesm2015/pdm-ui-kit-src-context-menu.mjs.map +1 -0
  387. package/fesm2015/pdm-ui-kit-src-data-table.mjs +806 -0
  388. package/fesm2015/pdm-ui-kit-src-data-table.mjs.map +1 -0
  389. package/fesm2015/pdm-ui-kit-src-dialog.mjs +289 -0
  390. package/fesm2015/pdm-ui-kit-src-dialog.mjs.map +1 -0
  391. package/fesm2015/pdm-ui-kit-src-drawer.mjs +354 -0
  392. package/fesm2015/pdm-ui-kit-src-drawer.mjs.map +1 -0
  393. package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs +212 -0
  394. package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
  395. package/fesm2015/pdm-ui-kit-src-empty.mjs +83 -0
  396. package/fesm2015/pdm-ui-kit-src-empty.mjs.map +1 -0
  397. package/fesm2015/pdm-ui-kit-src-field.mjs +89 -0
  398. package/fesm2015/pdm-ui-kit-src-field.mjs.map +1 -0
  399. package/fesm2015/pdm-ui-kit-src-hover-card.mjs +231 -0
  400. package/fesm2015/pdm-ui-kit-src-hover-card.mjs.map +1 -0
  401. package/fesm2015/pdm-ui-kit-src-icon.mjs +172 -0
  402. package/fesm2015/pdm-ui-kit-src-icon.mjs.map +1 -0
  403. package/fesm2015/pdm-ui-kit-src-input.mjs +443 -0
  404. package/fesm2015/pdm-ui-kit-src-input.mjs.map +1 -0
  405. package/fesm2015/pdm-ui-kit-src-item.mjs +48 -0
  406. package/fesm2015/pdm-ui-kit-src-item.mjs.map +1 -0
  407. package/fesm2015/pdm-ui-kit-src-kbd.mjs +42 -0
  408. package/fesm2015/pdm-ui-kit-src-kbd.mjs.map +1 -0
  409. package/fesm2015/pdm-ui-kit-src-label.mjs +48 -0
  410. package/fesm2015/pdm-ui-kit-src-label.mjs.map +1 -0
  411. package/fesm2015/pdm-ui-kit-src-menubar.mjs +170 -0
  412. package/fesm2015/pdm-ui-kit-src-menubar.mjs.map +1 -0
  413. package/fesm2015/pdm-ui-kit-src-native-select.mjs +66 -0
  414. package/fesm2015/pdm-ui-kit-src-native-select.mjs.map +1 -0
  415. package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs +67 -0
  416. package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
  417. package/fesm2015/pdm-ui-kit-src-overlay.mjs +225 -0
  418. package/fesm2015/pdm-ui-kit-src-overlay.mjs.map +1 -0
  419. package/fesm2015/pdm-ui-kit-src-pagination.mjs +97 -0
  420. package/fesm2015/pdm-ui-kit-src-pagination.mjs.map +1 -0
  421. package/fesm2015/pdm-ui-kit-src-popover.mjs +189 -0
  422. package/fesm2015/pdm-ui-kit-src-popover.mjs.map +1 -0
  423. package/fesm2015/pdm-ui-kit-src-progress.mjs +58 -0
  424. package/fesm2015/pdm-ui-kit-src-progress.mjs.map +1 -0
  425. package/fesm2015/pdm-ui-kit-src-radio-group.mjs +63 -0
  426. package/fesm2015/pdm-ui-kit-src-radio-group.mjs.map +1 -0
  427. package/fesm2015/pdm-ui-kit-src-scroll-area.mjs +45 -0
  428. package/fesm2015/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
  429. package/fesm2015/pdm-ui-kit-src-select.mjs +238 -0
  430. package/fesm2015/pdm-ui-kit-src-select.mjs.map +1 -0
  431. package/fesm2015/pdm-ui-kit-src-separator.mjs +51 -0
  432. package/fesm2015/pdm-ui-kit-src-separator.mjs.map +1 -0
  433. package/fesm2015/pdm-ui-kit-src-sidebar.mjs +92 -0
  434. package/fesm2015/pdm-ui-kit-src-sidebar.mjs.map +1 -0
  435. package/fesm2015/pdm-ui-kit-src-skeleton.mjs +42 -0
  436. package/fesm2015/pdm-ui-kit-src-skeleton.mjs.map +1 -0
  437. package/fesm2015/pdm-ui-kit-src-slider.mjs +71 -0
  438. package/fesm2015/pdm-ui-kit-src-slider.mjs.map +1 -0
  439. package/fesm2015/pdm-ui-kit-src-sonner.mjs +63 -0
  440. package/fesm2015/pdm-ui-kit-src-sonner.mjs.map +1 -0
  441. package/fesm2015/pdm-ui-kit-src-spinner.mjs +45 -0
  442. package/fesm2015/pdm-ui-kit-src-spinner.mjs.map +1 -0
  443. package/fesm2015/pdm-ui-kit-src-switch.mjs +83 -0
  444. package/fesm2015/pdm-ui-kit-src-switch.mjs.map +1 -0
  445. package/fesm2015/pdm-ui-kit-src-tabs.mjs +59 -0
  446. package/fesm2015/pdm-ui-kit-src-tabs.mjs.map +1 -0
  447. package/fesm2015/pdm-ui-kit-src-toggle.mjs +97 -0
  448. package/fesm2015/pdm-ui-kit-src-toggle.mjs.map +1 -0
  449. package/fesm2015/pdm-ui-kit-src-tooltip.mjs +202 -0
  450. package/fesm2015/pdm-ui-kit-src-tooltip.mjs.map +1 -0
  451. package/fesm2015/pdm-ui-kit-src-utils.mjs +239 -0
  452. package/fesm2015/pdm-ui-kit-src-utils.mjs.map +1 -0
  453. package/fesm2015/pdm-ui-kit.mjs +3832 -2982
  454. package/fesm2015/pdm-ui-kit.mjs.map +1 -1
  455. package/fesm2020/pdm-ui-kit-src-accordion.mjs +67 -0
  456. package/fesm2020/pdm-ui-kit-src-accordion.mjs.map +1 -0
  457. package/fesm2020/pdm-ui-kit-src-alert.mjs +147 -0
  458. package/fesm2020/pdm-ui-kit-src-alert.mjs.map +1 -0
  459. package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
  460. package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
  461. package/fesm2020/pdm-ui-kit-src-avatar.mjs +71 -0
  462. package/fesm2020/pdm-ui-kit-src-avatar.mjs.map +1 -0
  463. package/fesm2020/pdm-ui-kit-src-badge.mjs +48 -0
  464. package/fesm2020/pdm-ui-kit-src-badge.mjs.map +1 -0
  465. package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs +87 -0
  466. package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
  467. package/fesm2020/pdm-ui-kit-src-button.mjs +375 -0
  468. package/fesm2020/pdm-ui-kit-src-button.mjs.map +1 -0
  469. package/fesm2020/pdm-ui-kit-src-calendar.mjs +911 -0
  470. package/fesm2020/pdm-ui-kit-src-calendar.mjs.map +1 -0
  471. package/fesm2020/pdm-ui-kit-src-card.mjs +73 -0
  472. package/fesm2020/pdm-ui-kit-src-card.mjs.map +1 -0
  473. package/fesm2020/pdm-ui-kit-src-carousel.mjs +127 -0
  474. package/fesm2020/pdm-ui-kit-src-carousel.mjs.map +1 -0
  475. package/fesm2020/pdm-ui-kit-src-chart.mjs +202 -0
  476. package/fesm2020/pdm-ui-kit-src-chart.mjs.map +1 -0
  477. package/fesm2020/pdm-ui-kit-src-checkbox.mjs +72 -0
  478. package/fesm2020/pdm-ui-kit-src-checkbox.mjs.map +1 -0
  479. package/fesm2020/pdm-ui-kit-src-collapsible.mjs +68 -0
  480. package/fesm2020/pdm-ui-kit-src-collapsible.mjs.map +1 -0
  481. package/fesm2020/pdm-ui-kit-src-combobox.mjs +199 -0
  482. package/fesm2020/pdm-ui-kit-src-combobox.mjs.map +1 -0
  483. package/fesm2020/pdm-ui-kit-src-command.mjs +99 -0
  484. package/fesm2020/pdm-ui-kit-src-command.mjs.map +1 -0
  485. package/fesm2020/pdm-ui-kit-src-context-menu.mjs +191 -0
  486. package/fesm2020/pdm-ui-kit-src-context-menu.mjs.map +1 -0
  487. package/fesm2020/pdm-ui-kit-src-data-table.mjs +805 -0
  488. package/fesm2020/pdm-ui-kit-src-data-table.mjs.map +1 -0
  489. package/fesm2020/pdm-ui-kit-src-dialog.mjs +289 -0
  490. package/fesm2020/pdm-ui-kit-src-dialog.mjs.map +1 -0
  491. package/fesm2020/pdm-ui-kit-src-drawer.mjs +354 -0
  492. package/fesm2020/pdm-ui-kit-src-drawer.mjs.map +1 -0
  493. package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs +218 -0
  494. package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
  495. package/fesm2020/pdm-ui-kit-src-empty.mjs +83 -0
  496. package/fesm2020/pdm-ui-kit-src-empty.mjs.map +1 -0
  497. package/fesm2020/pdm-ui-kit-src-field.mjs +89 -0
  498. package/fesm2020/pdm-ui-kit-src-field.mjs.map +1 -0
  499. package/fesm2020/pdm-ui-kit-src-hover-card.mjs +231 -0
  500. package/fesm2020/pdm-ui-kit-src-hover-card.mjs.map +1 -0
  501. package/fesm2020/pdm-ui-kit-src-icon.mjs +169 -0
  502. package/fesm2020/pdm-ui-kit-src-icon.mjs.map +1 -0
  503. package/fesm2020/pdm-ui-kit-src-input.mjs +441 -0
  504. package/fesm2020/pdm-ui-kit-src-input.mjs.map +1 -0
  505. package/fesm2020/pdm-ui-kit-src-item.mjs +48 -0
  506. package/fesm2020/pdm-ui-kit-src-item.mjs.map +1 -0
  507. package/fesm2020/pdm-ui-kit-src-kbd.mjs +42 -0
  508. package/fesm2020/pdm-ui-kit-src-kbd.mjs.map +1 -0
  509. package/fesm2020/pdm-ui-kit-src-label.mjs +48 -0
  510. package/fesm2020/pdm-ui-kit-src-label.mjs.map +1 -0
  511. package/fesm2020/pdm-ui-kit-src-menubar.mjs +170 -0
  512. package/fesm2020/pdm-ui-kit-src-menubar.mjs.map +1 -0
  513. package/fesm2020/pdm-ui-kit-src-native-select.mjs +66 -0
  514. package/fesm2020/pdm-ui-kit-src-native-select.mjs.map +1 -0
  515. package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs +67 -0
  516. package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
  517. package/fesm2020/pdm-ui-kit-src-overlay.mjs +229 -0
  518. package/fesm2020/pdm-ui-kit-src-overlay.mjs.map +1 -0
  519. package/fesm2020/pdm-ui-kit-src-pagination.mjs +97 -0
  520. package/fesm2020/pdm-ui-kit-src-pagination.mjs.map +1 -0
  521. package/fesm2020/pdm-ui-kit-src-popover.mjs +188 -0
  522. package/fesm2020/pdm-ui-kit-src-popover.mjs.map +1 -0
  523. package/fesm2020/pdm-ui-kit-src-progress.mjs +58 -0
  524. package/fesm2020/pdm-ui-kit-src-progress.mjs.map +1 -0
  525. package/fesm2020/pdm-ui-kit-src-radio-group.mjs +63 -0
  526. package/fesm2020/pdm-ui-kit-src-radio-group.mjs.map +1 -0
  527. package/fesm2020/pdm-ui-kit-src-scroll-area.mjs +45 -0
  528. package/fesm2020/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
  529. package/fesm2020/pdm-ui-kit-src-select.mjs +241 -0
  530. package/fesm2020/pdm-ui-kit-src-select.mjs.map +1 -0
  531. package/fesm2020/pdm-ui-kit-src-separator.mjs +51 -0
  532. package/fesm2020/pdm-ui-kit-src-separator.mjs.map +1 -0
  533. package/fesm2020/pdm-ui-kit-src-sidebar.mjs +92 -0
  534. package/fesm2020/pdm-ui-kit-src-sidebar.mjs.map +1 -0
  535. package/fesm2020/pdm-ui-kit-src-skeleton.mjs +42 -0
  536. package/fesm2020/pdm-ui-kit-src-skeleton.mjs.map +1 -0
  537. package/fesm2020/pdm-ui-kit-src-slider.mjs +71 -0
  538. package/fesm2020/pdm-ui-kit-src-slider.mjs.map +1 -0
  539. package/fesm2020/pdm-ui-kit-src-sonner.mjs +63 -0
  540. package/fesm2020/pdm-ui-kit-src-sonner.mjs.map +1 -0
  541. package/fesm2020/pdm-ui-kit-src-spinner.mjs +45 -0
  542. package/fesm2020/pdm-ui-kit-src-spinner.mjs.map +1 -0
  543. package/fesm2020/pdm-ui-kit-src-switch.mjs +83 -0
  544. package/fesm2020/pdm-ui-kit-src-switch.mjs.map +1 -0
  545. package/fesm2020/pdm-ui-kit-src-tabs.mjs +59 -0
  546. package/fesm2020/pdm-ui-kit-src-tabs.mjs.map +1 -0
  547. package/fesm2020/pdm-ui-kit-src-toggle.mjs +97 -0
  548. package/fesm2020/pdm-ui-kit-src-toggle.mjs.map +1 -0
  549. package/fesm2020/pdm-ui-kit-src-tooltip.mjs +202 -0
  550. package/fesm2020/pdm-ui-kit-src-tooltip.mjs.map +1 -0
  551. package/fesm2020/pdm-ui-kit-src-utils.mjs +239 -0
  552. package/fesm2020/pdm-ui-kit-src-utils.mjs.map +1 -0
  553. package/fesm2020/pdm-ui-kit.mjs +3865 -3015
  554. package/fesm2020/pdm-ui-kit.mjs.map +1 -1
  555. package/field/field.module.d.ts +8 -0
  556. package/hover-card/hover-card.module.d.ts +9 -0
  557. package/icon/icon.module.d.ts +8 -0
  558. package/{lib/components/input-password → input}/input-password.component.d.ts +1 -1
  559. package/input/input.module.d.ts +13 -0
  560. package/item/item.module.d.ts +8 -0
  561. package/kbd/kbd.module.d.ts +8 -0
  562. package/label/label.module.d.ts +8 -0
  563. package/{lib/components/menubar → menubar}/menubar.component.d.ts +1 -1
  564. package/menubar/menubar.module.d.ts +9 -0
  565. package/native-select/native-select.module.d.ts +9 -0
  566. package/navigation-menu/navigation-menu.module.d.ts +8 -0
  567. package/overlay/pdm-outside-click.module.d.ts +8 -0
  568. package/package.json +786 -2
  569. package/{lib/components/pagination → pagination}/pagination.component.d.ts +1 -1
  570. package/pagination/pagination.module.d.ts +10 -0
  571. package/pdm-ui-kit.module.d.ts +60 -0
  572. package/popover/popover.module.d.ts +9 -0
  573. package/progress/progress.module.d.ts +8 -0
  574. package/public-api.d.ts +114 -66
  575. package/radio-group/radio-group.module.d.ts +8 -0
  576. package/scroll-area/scroll-area.module.d.ts +8 -0
  577. package/{lib/components/select → select}/select.component.d.ts +1 -1
  578. package/select/select.module.d.ts +11 -0
  579. package/separator/separator.module.d.ts +8 -0
  580. package/sidebar/sidebar.module.d.ts +8 -0
  581. package/skeleton/skeleton.module.d.ts +8 -0
  582. package/slider/slider.module.d.ts +8 -0
  583. package/sonner/sonner.module.d.ts +9 -0
  584. package/spinner/spinner.module.d.ts +8 -0
  585. package/src/accordion/accordion.component.d.ts +19 -0
  586. package/src/accordion/accordion.module.d.ts +8 -0
  587. package/src/accordion/index.d.ts +5 -0
  588. package/src/accordion/public-api.d.ts +2 -0
  589. package/src/alert/alert-dialog.component.d.ts +29 -0
  590. package/src/alert/alert.component.d.ts +13 -0
  591. package/src/alert/alert.module.d.ts +9 -0
  592. package/src/alert/index.d.ts +5 -0
  593. package/src/alert/public-api.d.ts +3 -0
  594. package/src/aspect-ratio/aspect-ratio.component.d.ts +10 -0
  595. package/src/aspect-ratio/aspect-ratio.module.d.ts +8 -0
  596. package/src/aspect-ratio/index.d.ts +5 -0
  597. package/src/aspect-ratio/public-api.d.ts +2 -0
  598. package/src/avatar/avatar.component.d.ts +20 -0
  599. package/src/avatar/avatar.module.d.ts +8 -0
  600. package/src/avatar/index.d.ts +5 -0
  601. package/src/avatar/public-api.d.ts +2 -0
  602. package/src/badge/badge.component.d.ts +9 -0
  603. package/src/badge/badge.module.d.ts +8 -0
  604. package/src/badge/index.d.ts +5 -0
  605. package/src/badge/public-api.d.ts +2 -0
  606. package/src/breadcrumb/breadcrumb.component.d.ts +32 -0
  607. package/src/breadcrumb/breadcrumb.module.d.ts +8 -0
  608. package/src/breadcrumb/index.d.ts +5 -0
  609. package/src/breadcrumb/public-api.d.ts +2 -0
  610. package/src/button/button-group.component.d.ts +19 -0
  611. package/src/button/button.component.d.ts +29 -0
  612. package/src/button/button.module.d.ts +9 -0
  613. package/src/button/index.d.ts +5 -0
  614. package/src/button/public-api.d.ts +3 -0
  615. package/src/calendar/calendar.component.d.ts +149 -0
  616. package/src/calendar/calendar.module.d.ts +11 -0
  617. package/src/calendar/date-picker.component.d.ts +89 -0
  618. package/src/calendar/index.d.ts +5 -0
  619. package/src/calendar/public-api.d.ts +3 -0
  620. package/src/card/card.component.d.ts +37 -0
  621. package/src/card/card.module.d.ts +8 -0
  622. package/src/card/index.d.ts +5 -0
  623. package/src/card/public-api.d.ts +2 -0
  624. package/src/carousel/carousel.component.d.ts +28 -0
  625. package/src/carousel/carousel.module.d.ts +8 -0
  626. package/src/carousel/index.d.ts +5 -0
  627. package/src/carousel/public-api.d.ts +2 -0
  628. package/src/chart/chart.component.d.ts +44 -0
  629. package/src/chart/chart.module.d.ts +8 -0
  630. package/src/chart/index.d.ts +5 -0
  631. package/src/chart/public-api.d.ts +2 -0
  632. package/src/checkbox/checkbox.component.d.ts +17 -0
  633. package/src/checkbox/checkbox.module.d.ts +8 -0
  634. package/src/checkbox/index.d.ts +5 -0
  635. package/src/checkbox/public-api.d.ts +2 -0
  636. package/src/collapsible/collapsible.component.d.ts +14 -0
  637. package/src/collapsible/collapsible.module.d.ts +8 -0
  638. package/src/collapsible/index.d.ts +5 -0
  639. package/src/collapsible/public-api.d.ts +2 -0
  640. package/src/combobox/combobox.component.d.ts +35 -0
  641. package/src/combobox/combobox.module.d.ts +9 -0
  642. package/src/combobox/index.d.ts +5 -0
  643. package/src/combobox/public-api.d.ts +2 -0
  644. package/src/command/command.component.d.ts +33 -0
  645. package/src/command/command.module.d.ts +9 -0
  646. package/src/command/index.d.ts +5 -0
  647. package/src/command/public-api.d.ts +2 -0
  648. package/src/context-menu/context-menu.component.d.ts +38 -0
  649. package/src/context-menu/context-menu.module.d.ts +9 -0
  650. package/src/context-menu/index.d.ts +5 -0
  651. package/src/context-menu/public-api.d.ts +2 -0
  652. package/src/data-table/data-table.component.d.ts +200 -0
  653. package/src/data-table/data-table.module.d.ts +10 -0
  654. package/src/data-table/draggable-table.component.d.ts +74 -0
  655. package/src/data-table/index.d.ts +5 -0
  656. package/src/data-table/public-api.d.ts +4 -0
  657. package/src/data-table/table.component.d.ts +55 -0
  658. package/src/dialog/dialog.component.d.ts +72 -0
  659. package/src/dialog/dialog.module.d.ts +8 -0
  660. package/src/dialog/index.d.ts +5 -0
  661. package/src/dialog/public-api.d.ts +2 -0
  662. package/src/drawer/drawer.component.d.ts +96 -0
  663. package/src/drawer/drawer.module.d.ts +10 -0
  664. package/src/drawer/index.d.ts +5 -0
  665. package/src/drawer/public-api.d.ts +3 -0
  666. package/src/drawer/sheet.component.d.ts +46 -0
  667. package/src/dropdown-menu/dropdown-menu.component.d.ts +61 -0
  668. package/src/dropdown-menu/dropdown-menu.module.d.ts +9 -0
  669. package/src/dropdown-menu/index.d.ts +5 -0
  670. package/src/dropdown-menu/public-api.d.ts +2 -0
  671. package/src/empty/empty.component.d.ts +19 -0
  672. package/src/empty/empty.module.d.ts +10 -0
  673. package/src/empty/index.d.ts +5 -0
  674. package/src/empty/public-api.d.ts +2 -0
  675. package/src/field/field.component.d.ts +23 -0
  676. package/src/field/field.module.d.ts +8 -0
  677. package/src/field/index.d.ts +5 -0
  678. package/src/field/public-api.d.ts +2 -0
  679. package/src/hover-card/hover-card.component.d.ts +37 -0
  680. package/src/hover-card/hover-card.module.d.ts +9 -0
  681. package/src/hover-card/index.d.ts +5 -0
  682. package/src/hover-card/public-api.d.ts +2 -0
  683. package/src/icon/icon.component.d.ts +28 -0
  684. package/src/icon/icon.module.d.ts +8 -0
  685. package/src/icon/index.d.ts +5 -0
  686. package/src/icon/public-api.d.ts +2 -0
  687. package/src/input/index.d.ts +5 -0
  688. package/src/input/input-group.component.d.ts +22 -0
  689. package/src/input/input-otp.component.d.ts +26 -0
  690. package/src/input/input-password.component.d.ts +28 -0
  691. package/src/input/input.component.d.ts +27 -0
  692. package/src/input/input.module.d.ts +13 -0
  693. package/src/input/public-api.d.ts +6 -0
  694. package/src/input/textarea.component.d.ts +21 -0
  695. package/src/item/index.d.ts +5 -0
  696. package/src/item/item.component.d.ts +8 -0
  697. package/src/item/item.module.d.ts +8 -0
  698. package/src/item/public-api.d.ts +2 -0
  699. package/src/kbd/index.d.ts +5 -0
  700. package/src/kbd/kbd.component.d.ts +6 -0
  701. package/src/kbd/kbd.module.d.ts +8 -0
  702. package/src/kbd/public-api.d.ts +2 -0
  703. package/src/label/index.d.ts +5 -0
  704. package/src/label/label.component.d.ts +8 -0
  705. package/src/label/label.module.d.ts +8 -0
  706. package/src/label/public-api.d.ts +2 -0
  707. package/src/menubar/index.d.ts +5 -0
  708. package/src/menubar/menubar.component.d.ts +34 -0
  709. package/src/menubar/menubar.module.d.ts +9 -0
  710. package/src/menubar/public-api.d.ts +2 -0
  711. package/src/native-select/index.d.ts +5 -0
  712. package/src/native-select/native-select.component.d.ts +20 -0
  713. package/src/native-select/native-select.module.d.ts +9 -0
  714. package/src/native-select/public-api.d.ts +2 -0
  715. package/src/navigation-menu/index.d.ts +5 -0
  716. package/src/navigation-menu/navigation-menu.component.d.ts +33 -0
  717. package/src/navigation-menu/navigation-menu.module.d.ts +8 -0
  718. package/src/navigation-menu/public-api.d.ts +2 -0
  719. package/src/overlay/create-flexible-position-strategy.d.ts +15 -0
  720. package/src/overlay/index.d.ts +5 -0
  721. package/src/overlay/pdm-outside-click.directive.d.ts +40 -0
  722. package/src/overlay/pdm-outside-click.module.d.ts +8 -0
  723. package/src/overlay/pdm-overlay-options.d.ts +21 -0
  724. package/src/overlay/public-api.d.ts +5 -0
  725. package/src/overlay/z-index-helper.d.ts +36 -0
  726. package/src/pagination/index.d.ts +5 -0
  727. package/src/pagination/pagination.component.d.ts +21 -0
  728. package/src/pagination/pagination.module.d.ts +10 -0
  729. package/src/pagination/public-api.d.ts +2 -0
  730. package/src/popover/index.d.ts +5 -0
  731. package/src/popover/popover.component.d.ts +32 -0
  732. package/src/popover/popover.module.d.ts +9 -0
  733. package/src/popover/public-api.d.ts +2 -0
  734. package/src/progress/index.d.ts +5 -0
  735. package/src/progress/progress.component.d.ts +10 -0
  736. package/src/progress/progress.module.d.ts +8 -0
  737. package/src/progress/public-api.d.ts +2 -0
  738. package/src/radio-group/index.d.ts +5 -0
  739. package/src/radio-group/public-api.d.ts +2 -0
  740. package/src/radio-group/radio-group.component.d.ts +19 -0
  741. package/src/radio-group/radio-group.module.d.ts +8 -0
  742. package/src/scroll-area/index.d.ts +5 -0
  743. package/src/scroll-area/public-api.d.ts +2 -0
  744. package/src/scroll-area/scroll-area.component.d.ts +7 -0
  745. package/src/scroll-area/scroll-area.module.d.ts +8 -0
  746. package/src/select/index.d.ts +5 -0
  747. package/src/select/public-api.d.ts +3 -0
  748. package/src/select/select-option.directive.d.ts +34 -0
  749. package/src/select/select.component.d.ts +55 -0
  750. package/src/select/select.module.d.ts +11 -0
  751. package/src/separator/index.d.ts +5 -0
  752. package/src/separator/public-api.d.ts +2 -0
  753. package/src/separator/separator.component.d.ts +9 -0
  754. package/src/separator/separator.module.d.ts +8 -0
  755. package/src/sidebar/index.d.ts +5 -0
  756. package/src/sidebar/public-api.d.ts +2 -0
  757. package/src/sidebar/sidebar.component.d.ts +45 -0
  758. package/src/sidebar/sidebar.module.d.ts +8 -0
  759. package/src/skeleton/index.d.ts +5 -0
  760. package/src/skeleton/public-api.d.ts +2 -0
  761. package/src/skeleton/skeleton.component.d.ts +6 -0
  762. package/src/skeleton/skeleton.module.d.ts +8 -0
  763. package/src/slider/index.d.ts +5 -0
  764. package/src/slider/public-api.d.ts +2 -0
  765. package/src/slider/slider.component.d.ts +15 -0
  766. package/src/slider/slider.module.d.ts +8 -0
  767. package/src/sonner/index.d.ts +5 -0
  768. package/src/sonner/public-api.d.ts +2 -0
  769. package/src/sonner/sonner.component.d.ts +13 -0
  770. package/src/sonner/sonner.module.d.ts +9 -0
  771. package/src/spinner/index.d.ts +5 -0
  772. package/src/spinner/public-api.d.ts +2 -0
  773. package/src/spinner/spinner.component.d.ts +7 -0
  774. package/src/spinner/spinner.module.d.ts +8 -0
  775. package/src/switch/index.d.ts +5 -0
  776. package/src/switch/public-api.d.ts +2 -0
  777. package/src/switch/switch.module.d.ts +8 -0
  778. package/src/tabs/index.d.ts +5 -0
  779. package/src/tabs/public-api.d.ts +2 -0
  780. package/src/tabs/tabs.module.d.ts +8 -0
  781. package/src/toggle/index.d.ts +5 -0
  782. package/src/toggle/public-api.d.ts +3 -0
  783. package/src/toggle/toggle.module.d.ts +9 -0
  784. package/src/tooltip/index.d.ts +5 -0
  785. package/src/tooltip/public-api.d.ts +2 -0
  786. package/src/tooltip/tooltip.module.d.ts +9 -0
  787. package/src/utils/index.d.ts +5 -0
  788. package/src/utils/public-api.d.ts +2 -0
  789. package/switch/switch.component.d.ts +18 -0
  790. package/switch/switch.module.d.ts +8 -0
  791. package/tabs/tabs.component.d.ts +18 -0
  792. package/tabs/tabs.module.d.ts +8 -0
  793. package/toggle/toggle-group.component.d.ts +16 -0
  794. package/toggle/toggle.component.d.ts +14 -0
  795. package/toggle/toggle.module.d.ts +9 -0
  796. package/tooltip/tooltip.component.d.ts +28 -0
  797. package/tooltip/tooltip.module.d.ts +9 -0
  798. package/utils/responsive.d.ts +107 -0
  799. package/utils/z-index.d.ts +69 -0
  800. package/esm2020/lib/components/button/button.component.mjs +0 -114
  801. package/esm2020/lib/components/calendar/calendar.component.mjs +0 -529
  802. package/esm2020/lib/components/carousel/carousel.component.mjs +0 -102
  803. package/esm2020/lib/components/command/command.component.mjs +0 -75
  804. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -165
  805. package/esm2020/lib/components/data-table/data-table.component.mjs +0 -299
  806. package/esm2020/lib/components/dialog/dialog.component.mjs +0 -265
  807. package/esm2020/lib/components/draggable-table/draggable-table.component.mjs +0 -300
  808. package/esm2020/lib/components/drawer/drawer.component.mjs +0 -217
  809. package/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -192
  810. package/esm2020/lib/components/icon/icon.component.mjs +0 -144
  811. package/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -144
  812. package/esm2020/lib/components/menubar/menubar.component.mjs +0 -144
  813. package/esm2020/lib/components/select/select-option.directive.mjs +0 -55
  814. package/esm2020/lib/components/select/select.component.mjs +0 -164
  815. package/esm2020/lib/components/sheet/sheet.component.mjs +0 -116
  816. package/esm2020/lib/components/switch/switch.component.mjs +0 -58
  817. package/esm2020/lib/components/table/table.component.mjs +0 -182
  818. package/esm2020/lib/overlay/create-flexible-position-strategy.mjs +0 -54
  819. package/esm2020/lib/overlay/pdm-outside-click.directive.mjs +0 -86
  820. package/esm2020/lib/overlay/pdm-overlay-options.mjs +0 -2
  821. package/esm2020/lib/overlay/z-index-helper.mjs +0 -69
  822. package/esm2020/lib/pdm-ui-kit.module.mjs +0 -258
  823. package/esm2020/lib/utils/responsive.mjs +0 -143
  824. package/esm2020/lib/utils/z-index.mjs +0 -90
  825. package/lib/pdm-ui-kit.module.d.ts +0 -68
  826. /package/{lib/components/accordion → accordion}/accordion.component.d.ts +0 -0
  827. /package/{lib/components/alert-dialog → alert}/alert-dialog.component.d.ts +0 -0
  828. /package/{lib/components/alert → alert}/alert.component.d.ts +0 -0
  829. /package/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.d.ts +0 -0
  830. /package/{lib/components/avatar → avatar}/avatar.component.d.ts +0 -0
  831. /package/{lib/components/badge → badge}/badge.component.d.ts +0 -0
  832. /package/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.d.ts +0 -0
  833. /package/{lib/components/button-group → button}/button-group.component.d.ts +0 -0
  834. /package/{lib/components/button → button}/button.component.d.ts +0 -0
  835. /package/{lib/components/calendar → calendar}/calendar.component.d.ts +0 -0
  836. /package/{lib/components/card → card}/card.component.d.ts +0 -0
  837. /package/{lib/components/carousel → carousel}/carousel.component.d.ts +0 -0
  838. /package/{lib/components/chart → chart}/chart.component.d.ts +0 -0
  839. /package/{lib/components/checkbox → checkbox}/checkbox.component.d.ts +0 -0
  840. /package/{lib/components/collapsible → collapsible}/collapsible.component.d.ts +0 -0
  841. /package/{lib/components/combobox → combobox}/combobox.component.d.ts +0 -0
  842. /package/{lib/components/dialog → dialog}/dialog.component.d.ts +0 -0
  843. /package/{lib/components/drawer → drawer}/drawer.component.d.ts +0 -0
  844. /package/{lib/components/sheet → drawer}/sheet.component.d.ts +0 -0
  845. /package/{lib/components/empty → empty}/empty.component.d.ts +0 -0
  846. /package/{lib/components/field → field}/field.component.d.ts +0 -0
  847. /package/{lib/components/hover-card → hover-card}/hover-card.component.d.ts +0 -0
  848. /package/{lib/components/icon → icon}/icon.component.d.ts +0 -0
  849. /package/{lib/components/input-group → input}/input-group.component.d.ts +0 -0
  850. /package/{lib/components/input-otp → input}/input-otp.component.d.ts +0 -0
  851. /package/{lib/components/input → input}/input.component.d.ts +0 -0
  852. /package/{lib/components/textarea → input}/textarea.component.d.ts +0 -0
  853. /package/{lib/components/item → item}/item.component.d.ts +0 -0
  854. /package/{lib/components/kbd → kbd}/kbd.component.d.ts +0 -0
  855. /package/{lib/components/label → label}/label.component.d.ts +0 -0
  856. /package/{lib/components/native-select → native-select}/native-select.component.d.ts +0 -0
  857. /package/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.d.ts +0 -0
  858. /package/{lib/overlay → overlay}/create-flexible-position-strategy.d.ts +0 -0
  859. /package/{lib/overlay → overlay}/pdm-outside-click.directive.d.ts +0 -0
  860. /package/{lib/overlay → overlay}/pdm-overlay-options.d.ts +0 -0
  861. /package/{lib/overlay → overlay}/z-index-helper.d.ts +0 -0
  862. /package/{lib/components/popover → popover}/popover.component.d.ts +0 -0
  863. /package/{lib/components/progress → progress}/progress.component.d.ts +0 -0
  864. /package/{lib/components/radio-group → radio-group}/radio-group.component.d.ts +0 -0
  865. /package/{lib/components/scroll-area → scroll-area}/scroll-area.component.d.ts +0 -0
  866. /package/{lib/components/select → select}/select-option.directive.d.ts +0 -0
  867. /package/{lib/components/separator → separator}/separator.component.d.ts +0 -0
  868. /package/{lib/components/sidebar → sidebar}/sidebar.component.d.ts +0 -0
  869. /package/{lib/components/skeleton → skeleton}/skeleton.component.d.ts +0 -0
  870. /package/{lib/components/slider → slider}/slider.component.d.ts +0 -0
  871. /package/{lib/components/sonner → sonner}/sonner.component.d.ts +0 -0
  872. /package/{lib/components/spinner → spinner}/spinner.component.d.ts +0 -0
  873. /package/src/{lib/styles → styles}/tokens.css +0 -0
  874. /package/{lib/components → src}/switch/switch.component.d.ts +0 -0
  875. /package/{lib/components → src}/tabs/tabs.component.d.ts +0 -0
  876. /package/{lib/components/toggle-group → src/toggle}/toggle-group.component.d.ts +0 -0
  877. /package/{lib/components → src}/toggle/toggle.component.d.ts +0 -0
  878. /package/{lib/components → src}/tooltip/tooltip.component.d.ts +0 -0
  879. /package/{lib → src}/utils/responsive.d.ts +0 -0
  880. /package/{lib → src}/utils/z-index.d.ts +0 -0
@@ -0,0 +1,299 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "./table.component";
5
+ /**
6
+ * Data-table genérico con paginación, filtrado y selección
7
+ *
8
+ * NUEVO: Ahora es genérico y configurable via columnas
9
+ *
10
+ * @example
11
+ * // Definir columnas
12
+ * columns: PdmDataTableColumn<User>[] = [
13
+ * { key: 'name', label: 'Name', sortable: true },
14
+ * { key: 'email', label: 'Email', sortable: true },
15
+ * { key: 'role', label: 'Role', hideOnMobile: true },
16
+ * { key: 'createdAt', label: 'Created', render: (val) => formatDate(val) }
17
+ * ];
18
+ *
19
+ * // En el template
20
+ * <pdm-data-table
21
+ * [columns]="columns"
22
+ * [rows]="users"
23
+ * [selectable]="true"
24
+ * (selectionChange)="onSelect($event)">
25
+ * </pdm-data-table>
26
+ */
27
+ export class PdmDataTableComponent {
28
+ constructor() {
29
+ this.className = '';
30
+ /**
31
+ * Columnas a mostrar
32
+ * Si no se provee, intenta inferir del primer row (legacy mode)
33
+ */
34
+ this.columns = [];
35
+ /**
36
+ * Estrategia responsive de la tabla
37
+ */
38
+ this.responsiveStrategy = 'scroll';
39
+ /**
40
+ * Si es true, muestra checkbox de selección en cada fila
41
+ */
42
+ this.selectable = false;
43
+ /**
44
+ * Si es true, muestra botón de acciones (tres puntos) en cada fila
45
+ */
46
+ this.showActions = false;
47
+ /**
48
+ * Si es true, muestra filtro de búsqueda
49
+ */
50
+ this.showFilter = true;
51
+ /**
52
+ * Si es true, muestra controles de paginación
53
+ */
54
+ this.showPagination = true;
55
+ /**
56
+ * Si es true, muestra selector de columnas
57
+ */
58
+ this.showColumnSelector = false;
59
+ // Labels i18n
60
+ this.filterPlaceholder = 'Filter...';
61
+ this.columnsLabel = 'Columns';
62
+ this.previousLabel = 'Previous';
63
+ this.nextLabel = 'Next';
64
+ this.emptyLabel = 'No results.';
65
+ this.rowsSelectedLabel = 'row(s) selected';
66
+ // DEPRECATED: Labels hardcodeados para backward compatibility
67
+ /**
68
+ * @deprecated Use columns configuration instead
69
+ */
70
+ this.statusLabel = 'Status';
71
+ /**
72
+ * @deprecated Use columns configuration instead
73
+ */
74
+ this.emailLabel = 'Email';
75
+ /**
76
+ * @deprecated Use columns configuration instead
77
+ */
78
+ this.amountLabel = 'Amount';
79
+ /**
80
+ * Datos a mostrar
81
+ */
82
+ this.rows = [];
83
+ /**
84
+ * Página actual (1-indexed)
85
+ */
86
+ this.page = 1;
87
+ /**
88
+ * Cantidad de filas por página
89
+ */
90
+ this.pageSize = 10;
91
+ /**
92
+ * Query de filtrado
93
+ */
94
+ this.query = '';
95
+ this.queryChange = new EventEmitter();
96
+ this.rowAction = new EventEmitter();
97
+ this.pageChange = new EventEmitter();
98
+ this.selectionChange = new EventEmitter();
99
+ this.columnSort = new EventEmitter();
100
+ // Estado interno
101
+ this.selectedRows = new Set();
102
+ this.sortDirection = 'asc';
103
+ }
104
+ /**
105
+ * Backward compatibility: si no hay columnas definidas, inferir del primer row
106
+ */
107
+ get effectiveColumns() {
108
+ if (this.columns.length > 0) {
109
+ return this.columns;
110
+ }
111
+ // Legacy mode: inferir columnas del primer row (solo para PdmDataTableRow)
112
+ if (this.rows.length > 0) {
113
+ const firstRow = this.rows[0];
114
+ return Object.keys(firstRow)
115
+ .filter(key => key !== 'selected')
116
+ .map(key => ({
117
+ key: key,
118
+ label: this.getLegacyLabel(key),
119
+ align: key === 'amount' ? 'right' : 'left'
120
+ }));
121
+ }
122
+ return [];
123
+ }
124
+ /**
125
+ * LEGACY: mapeo de keys a labels hardcodeados
126
+ */
127
+ getLegacyLabel(key) {
128
+ const map = {
129
+ status: this.statusLabel,
130
+ email: this.emailLabel,
131
+ amount: this.amountLabel
132
+ };
133
+ return map[key] || key.charAt(0).toUpperCase() + key.slice(1);
134
+ }
135
+ get filteredRows() {
136
+ const q = this.query.trim().toLowerCase();
137
+ if (!q)
138
+ return this.rows;
139
+ if (this.filterFn) {
140
+ return this.rows.filter(row => this.filterFn(row, q));
141
+ }
142
+ // Filtrado default: buscar en todos los campos string
143
+ return this.rows.filter(row => {
144
+ return Object.values(row).some(val => typeof val === 'string' && val.toLowerCase().includes(q));
145
+ });
146
+ }
147
+ get pagedRows() {
148
+ const start = (this.page - 1) * this.pageSize;
149
+ return this.filteredRows.slice(start, start + this.pageSize);
150
+ }
151
+ get totalPages() {
152
+ return Math.max(1, Math.ceil(this.filteredRows.length / this.pageSize));
153
+ }
154
+ get selectedCount() {
155
+ return this.selectedRows.size;
156
+ }
157
+ onQueryInput(event) {
158
+ const value = event.target.value;
159
+ this.queryChange.emit(value);
160
+ }
161
+ onToggleRow(row, event) {
162
+ const checked = event.target.checked;
163
+ if (checked) {
164
+ this.selectedRows.add(row);
165
+ }
166
+ else {
167
+ this.selectedRows.delete(row);
168
+ }
169
+ this.selectionChange.emit({ row, selected: checked });
170
+ }
171
+ onToggleAll(event) {
172
+ const checked = event.target.checked;
173
+ if (checked) {
174
+ this.pagedRows.forEach(row => this.selectedRows.add(row));
175
+ }
176
+ else {
177
+ this.pagedRows.forEach(row => this.selectedRows.delete(row));
178
+ }
179
+ }
180
+ isSelected(row) {
181
+ return this.selectedRows.has(row);
182
+ }
183
+ previous() {
184
+ if (this.page <= 1)
185
+ return;
186
+ this.pageChange.emit(this.page - 1);
187
+ }
188
+ next() {
189
+ if (this.page >= this.totalPages)
190
+ return;
191
+ this.pageChange.emit(this.page + 1);
192
+ }
193
+ onAction(row) {
194
+ this.rowAction.emit(row);
195
+ }
196
+ onSort(column) {
197
+ if (!column.sortable)
198
+ return;
199
+ if (this.sortColumn === column) {
200
+ this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
201
+ }
202
+ else {
203
+ this.sortColumn = column;
204
+ this.sortDirection = 'asc';
205
+ }
206
+ this.columnSort.emit({ column, direction: this.sortDirection });
207
+ }
208
+ getCellValue(row, column) {
209
+ const value = row[column.key];
210
+ if (column.render) {
211
+ return column.render(value, row);
212
+ }
213
+ return value != null ? String(value) : '';
214
+ }
215
+ getCellClass(column) {
216
+ const classes = ['px-2', 'py-2'];
217
+ if (column.align === 'center')
218
+ classes.push('text-center');
219
+ if (column.align === 'right')
220
+ classes.push('text-right');
221
+ if (column.hideOnMobile)
222
+ classes.push('hidden', 'md:table-cell');
223
+ if (column.cellClass)
224
+ classes.push(column.cellClass);
225
+ return classes.join(' ');
226
+ }
227
+ getHeaderClass(column) {
228
+ const classes = ['px-2', 'py-2', 'text-left', 'font-medium'];
229
+ if (column.hideOnMobile)
230
+ classes.push('hidden', 'md:table-cell');
231
+ if (column.headerClass)
232
+ classes.push(column.headerClass);
233
+ return classes.join(' ');
234
+ }
235
+ getColumnStyle(column) {
236
+ return column.width ? { width: column.width } : {};
237
+ }
238
+ }
239
+ PdmDataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
240
+ PdmDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDataTableComponent, selector: "pdm-data-table", inputs: { className: "className", columns: "columns", responsiveStrategy: "responsiveStrategy", selectable: "selectable", showActions: "showActions", showFilter: "showFilter", showPagination: "showPagination", showColumnSelector: "showColumnSelector", filterPlaceholder: "filterPlaceholder", columnsLabel: "columnsLabel", previousLabel: "previousLabel", nextLabel: "nextLabel", emptyLabel: "emptyLabel", rowsSelectedLabel: "rowsSelectedLabel", statusLabel: "statusLabel", emailLabel: "emailLabel", amountLabel: "amountLabel", rows: "rows", page: "page", pageSize: "pageSize", query: "query", filterFn: "filterFn" }, outputs: { queryChange: "queryChange", rowAction: "rowAction", pageChange: "pageChange", selectionChange: "selectionChange", columnSort: "columnSort" }, ngImport: i0, template: "<section [ngClass]=\"['flex w-full flex-col', className]\">\n <!-- Toolbar: Filtro + Selector de columnas -->\n <div\n *ngIf=\"showFilter || showColumnSelector\"\n class=\"flex w-full flex-col gap-2 py-4 sm:flex-row sm:items-center\"\n >\n <input\n *ngIf=\"showFilter\"\n type=\"text\"\n [placeholder]=\"filterPlaceholder\"\n [value]=\"query\"\n (input)=\"onQueryInput($event)\"\n class=\"h-9 flex-1 appearance-none box-border rounded-md border border-solid border-input bg-transparent px-3 py-1 text-sm text-foreground shadow-sm placeholder:text-muted-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\"\n />\n\n <button\n *ngIf=\"showColumnSelector\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center gap-2 rounded-md border border-solid border-input bg-background px-3 py-2 text-sm font-medium text-foreground shadow-sm whitespace-nowrap\"\n >\n <span>{{ columnsLabel }}</span>\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 10L12 15L17 10\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n </div>\n\n <!-- Tabla con responsive -->\n <pdm-table\n variant=\"data\"\n [responsiveStrategy]=\"responsiveStrategy\"\n [fullBleed]=\"false\"\n >\n <thead>\n <tr>\n <!-- Columna de selecci\u00F3n -->\n <th *ngIf=\"selectable\" class=\"w-10 px-2 py-2 text-left font-medium\">\n <input\n type=\"checkbox\"\n (change)=\"onToggleAll($event)\"\n class=\"h-4 w-4 box-border rounded-sm border border-solid border-input accent-primary\"\n />\n </th>\n\n <!-- Columnas din\u00E1micas -->\n <th\n *ngFor=\"let column of effectiveColumns\"\n [ngClass]=\"getHeaderClass(column)\"\n [ngStyle]=\"getColumnStyle(column)\"\n >\n <!-- Header sortable -->\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n (click)=\"onSort(column)\"\n class=\"inline-flex appearance-none box-border items-center gap-1 rounded-sm border-0 bg-transparent px-3 py-2 text-sm hover:underline\"\n >\n <span>{{ column.label }}</span>\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8 6L4 10L8 14M16 18L20 14L16 10\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n\n <!-- Header no sortable -->\n <span *ngIf=\"!column.sortable\">{{ column.label }}</span>\n </th>\n\n <!-- Columna de acciones -->\n <th *ngIf=\"showActions\" class=\"w-10 px-2 py-2\"></th>\n </tr>\n </thead>\n\n <tbody>\n <!-- Filas con datos -->\n <tr *ngFor=\"let row of pagedRows\">\n <!-- Celda de selecci\u00F3n -->\n <td *ngIf=\"selectable\" class=\"px-2 py-2\">\n <input\n type=\"checkbox\"\n [checked]=\"isSelected(row)\"\n (change)=\"onToggleRow(row, $event)\"\n class=\"h-4 w-4 box-border rounded-sm border border-solid border-input accent-primary\"\n />\n </td>\n\n <!-- Celdas din\u00E1micas -->\n <td\n *ngFor=\"let column of effectiveColumns\"\n [ngClass]=\"getCellClass(column)\"\n >\n <!-- Template personalizado si existe -->\n <ng-container *ngIf=\"column.cellTemplate; else defaultCell\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cellTemplate;\n context: { $implicit: row, value: row[column.key] }\n \"\n >\n </ng-container>\n </ng-container>\n\n <!-- Renderizado default -->\n <ng-template #defaultCell>\n {{ getCellValue(row, column) }}\n </ng-template>\n </td>\n\n <!-- Celda de acciones -->\n <td *ngIf=\"showActions\" class=\"px-2 py-2\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 appearance-none box-border items-center justify-center border-0 bg-transparent p-0 hover:text-foreground\"\n (click)=\"onAction(row)\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"6\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"18\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n </svg>\n </button>\n </td>\n </tr>\n\n <!-- Fila vac\u00EDa -->\n <tr *ngIf=\"pagedRows.length === 0\">\n <td\n [attr.colspan]=\"\n effectiveColumns.length +\n (selectable ? 1 : 0) +\n (showActions ? 1 : 0)\n \"\n class=\"px-3 py-6 text-center text-sm text-muted-foreground\"\n >\n {{ emptyLabel }}\n </td>\n </tr>\n </tbody>\n </pdm-table>\n\n <!-- Footer: Info + Paginaci\u00F3n -->\n <div\n *ngIf=\"showPagination || selectable\"\n class=\"flex w-full flex-wrap items-center gap-2 py-4 sm:flex-nowrap\"\n >\n <p\n *ngIf=\"selectable\"\n class=\"m-0 flex-1 pr-2 text-sm text-muted-foreground whitespace-nowrap\"\n >\n {{ selectedCount }} of {{ rows.length }} {{ rowsSelectedLabel }}\n </p>\n\n <div *ngIf=\"showPagination\" class=\"flex items-center gap-2 ml-auto\">\n <span class=\"text-sm text-muted-foreground whitespace-nowrap\">\n Page {{ page }} of {{ totalPages }}\n </span>\n <button\n type=\"button\"\n class=\"h-9 appearance-none box-border rounded-md border border-solid border-input bg-background px-4 text-sm font-medium text-foreground shadow-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n [disabled]=\"page <= 1\"\n (click)=\"previous()\"\n >\n {{ previousLabel }}\n </button>\n <button\n type=\"button\"\n class=\"h-9 appearance-none box-border rounded-md border border-solid border-input bg-background px-4 text-sm font-medium text-foreground shadow-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n [disabled]=\"page >= totalPages\"\n (click)=\"next()\"\n >\n {{ nextLabel }}\n </button>\n </div>\n </div>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.PdmTableComponent, selector: "pdm-table", inputs: ["variant", "responsiveStrategy", "className", "fullBleed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDataTableComponent, decorators: [{
242
+ type: Component,
243
+ args: [{ selector: 'pdm-data-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section [ngClass]=\"['flex w-full flex-col', className]\">\n <!-- Toolbar: Filtro + Selector de columnas -->\n <div\n *ngIf=\"showFilter || showColumnSelector\"\n class=\"flex w-full flex-col gap-2 py-4 sm:flex-row sm:items-center\"\n >\n <input\n *ngIf=\"showFilter\"\n type=\"text\"\n [placeholder]=\"filterPlaceholder\"\n [value]=\"query\"\n (input)=\"onQueryInput($event)\"\n class=\"h-9 flex-1 appearance-none box-border rounded-md border border-solid border-input bg-transparent px-3 py-1 text-sm text-foreground shadow-sm placeholder:text-muted-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\"\n />\n\n <button\n *ngIf=\"showColumnSelector\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center gap-2 rounded-md border border-solid border-input bg-background px-3 py-2 text-sm font-medium text-foreground shadow-sm whitespace-nowrap\"\n >\n <span>{{ columnsLabel }}</span>\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 10L12 15L17 10\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n </div>\n\n <!-- Tabla con responsive -->\n <pdm-table\n variant=\"data\"\n [responsiveStrategy]=\"responsiveStrategy\"\n [fullBleed]=\"false\"\n >\n <thead>\n <tr>\n <!-- Columna de selecci\u00F3n -->\n <th *ngIf=\"selectable\" class=\"w-10 px-2 py-2 text-left font-medium\">\n <input\n type=\"checkbox\"\n (change)=\"onToggleAll($event)\"\n class=\"h-4 w-4 box-border rounded-sm border border-solid border-input accent-primary\"\n />\n </th>\n\n <!-- Columnas din\u00E1micas -->\n <th\n *ngFor=\"let column of effectiveColumns\"\n [ngClass]=\"getHeaderClass(column)\"\n [ngStyle]=\"getColumnStyle(column)\"\n >\n <!-- Header sortable -->\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n (click)=\"onSort(column)\"\n class=\"inline-flex appearance-none box-border items-center gap-1 rounded-sm border-0 bg-transparent px-3 py-2 text-sm hover:underline\"\n >\n <span>{{ column.label }}</span>\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8 6L4 10L8 14M16 18L20 14L16 10\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n\n <!-- Header no sortable -->\n <span *ngIf=\"!column.sortable\">{{ column.label }}</span>\n </th>\n\n <!-- Columna de acciones -->\n <th *ngIf=\"showActions\" class=\"w-10 px-2 py-2\"></th>\n </tr>\n </thead>\n\n <tbody>\n <!-- Filas con datos -->\n <tr *ngFor=\"let row of pagedRows\">\n <!-- Celda de selecci\u00F3n -->\n <td *ngIf=\"selectable\" class=\"px-2 py-2\">\n <input\n type=\"checkbox\"\n [checked]=\"isSelected(row)\"\n (change)=\"onToggleRow(row, $event)\"\n class=\"h-4 w-4 box-border rounded-sm border border-solid border-input accent-primary\"\n />\n </td>\n\n <!-- Celdas din\u00E1micas -->\n <td\n *ngFor=\"let column of effectiveColumns\"\n [ngClass]=\"getCellClass(column)\"\n >\n <!-- Template personalizado si existe -->\n <ng-container *ngIf=\"column.cellTemplate; else defaultCell\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cellTemplate;\n context: { $implicit: row, value: row[column.key] }\n \"\n >\n </ng-container>\n </ng-container>\n\n <!-- Renderizado default -->\n <ng-template #defaultCell>\n {{ getCellValue(row, column) }}\n </ng-template>\n </td>\n\n <!-- Celda de acciones -->\n <td *ngIf=\"showActions\" class=\"px-2 py-2\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 appearance-none box-border items-center justify-center border-0 bg-transparent p-0 hover:text-foreground\"\n (click)=\"onAction(row)\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"6\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"18\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n </svg>\n </button>\n </td>\n </tr>\n\n <!-- Fila vac\u00EDa -->\n <tr *ngIf=\"pagedRows.length === 0\">\n <td\n [attr.colspan]=\"\n effectiveColumns.length +\n (selectable ? 1 : 0) +\n (showActions ? 1 : 0)\n \"\n class=\"px-3 py-6 text-center text-sm text-muted-foreground\"\n >\n {{ emptyLabel }}\n </td>\n </tr>\n </tbody>\n </pdm-table>\n\n <!-- Footer: Info + Paginaci\u00F3n -->\n <div\n *ngIf=\"showPagination || selectable\"\n class=\"flex w-full flex-wrap items-center gap-2 py-4 sm:flex-nowrap\"\n >\n <p\n *ngIf=\"selectable\"\n class=\"m-0 flex-1 pr-2 text-sm text-muted-foreground whitespace-nowrap\"\n >\n {{ selectedCount }} of {{ rows.length }} {{ rowsSelectedLabel }}\n </p>\n\n <div *ngIf=\"showPagination\" class=\"flex items-center gap-2 ml-auto\">\n <span class=\"text-sm text-muted-foreground whitespace-nowrap\">\n Page {{ page }} of {{ totalPages }}\n </span>\n <button\n type=\"button\"\n class=\"h-9 appearance-none box-border rounded-md border border-solid border-input bg-background px-4 text-sm font-medium text-foreground shadow-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n [disabled]=\"page <= 1\"\n (click)=\"previous()\"\n >\n {{ previousLabel }}\n </button>\n <button\n type=\"button\"\n class=\"h-9 appearance-none box-border rounded-md border border-solid border-input bg-background px-4 text-sm font-medium text-foreground shadow-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n [disabled]=\"page >= totalPages\"\n (click)=\"next()\"\n >\n {{ nextLabel }}\n </button>\n </div>\n </div>\n</section>\n" }]
244
+ }], propDecorators: { className: [{
245
+ type: Input
246
+ }], columns: [{
247
+ type: Input
248
+ }], responsiveStrategy: [{
249
+ type: Input
250
+ }], selectable: [{
251
+ type: Input
252
+ }], showActions: [{
253
+ type: Input
254
+ }], showFilter: [{
255
+ type: Input
256
+ }], showPagination: [{
257
+ type: Input
258
+ }], showColumnSelector: [{
259
+ type: Input
260
+ }], filterPlaceholder: [{
261
+ type: Input
262
+ }], columnsLabel: [{
263
+ type: Input
264
+ }], previousLabel: [{
265
+ type: Input
266
+ }], nextLabel: [{
267
+ type: Input
268
+ }], emptyLabel: [{
269
+ type: Input
270
+ }], rowsSelectedLabel: [{
271
+ type: Input
272
+ }], statusLabel: [{
273
+ type: Input
274
+ }], emailLabel: [{
275
+ type: Input
276
+ }], amountLabel: [{
277
+ type: Input
278
+ }], rows: [{
279
+ type: Input
280
+ }], page: [{
281
+ type: Input
282
+ }], pageSize: [{
283
+ type: Input
284
+ }], query: [{
285
+ type: Input
286
+ }], filterFn: [{
287
+ type: Input
288
+ }], queryChange: [{
289
+ type: Output
290
+ }], rowAction: [{
291
+ type: Output
292
+ }], pageChange: [{
293
+ type: Output
294
+ }], selectionChange: [{
295
+ type: Output
296
+ }], columnSort: [{
297
+ type: Output
298
+ }] } });
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7OztBQTJFN0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNVyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXhCOzs7V0FHRztRQUNNLFlBQU8sR0FBNEIsRUFBRSxDQUFDO1FBRS9DOztXQUVHO1FBQ00sdUJBQWtCLEdBQTRCLFFBQVEsQ0FBQztRQUVoRTs7V0FFRztRQUNNLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUI7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3Qjs7V0FFRztRQUNNLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFM0I7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUUvQjs7V0FFRztRQUNNLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUVwQyxjQUFjO1FBQ0wsc0JBQWlCLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLGtCQUFhLEdBQUcsVUFBVSxDQUFDO1FBQzNCLGNBQVMsR0FBRyxNQUFNLENBQUM7UUFDbkIsZUFBVSxHQUFHLGFBQWEsQ0FBQztRQUMzQixzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUUvQyw4REFBOEQ7UUFDOUQ7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLFFBQVEsQ0FBQztRQUNoQzs7V0FFRztRQUNNLGVBQVUsR0FB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U0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVSZXNwb25zaXZlU3RyYXRlZ3kgfSBmcm9tICdwZG0tdWkta2l0L3NyYy91dGlscyc7XG5cbi8qKlxuICogREVQUkVDQVRFRDogRXN0YSBpbnRlcmZheiBlcyBwYXJhIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAqIFVzYXIgUGRtRGF0YVRhYmxlQ29sdW1uPFQ+IGNvbiB0aXBvIGdlbsOpcmljbyBlbiBzdSBsdWdhclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBkbURhdGFUYWJsZVJvdyB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERlZmluaWNpw7NuIGRlIGNvbHVtbmEgcGFyYSBkYXRhLXRhYmxlIGdlbsOpcmljb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBkbURhdGFUYWJsZUNvbHVtbjxUID0gYW55PiB7XG4gIC8qKlxuICAgKiBLZXkgZGVsIGNhbXBvIGVuIGVsIG9iamV0byBkZSBkYXRvc1xuICAgKiBVc2FkbyBwYXJhIGFjY2VkZXIgYWwgdmFsb3I6IHJvd1trZXldXG4gICAqL1xuICBrZXk6IGtleW9mIFQ7XG4gIFxuICAvKipcbiAgICogTGFiZWwgYSBtb3N0cmFyIGVuIGVsIGhlYWRlclxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgXG4gIC8qKlxuICAgKiBBbmNobyBkZSBsYSBjb2x1bW5hIChDU1Mgd2lkdGgpXG4gICAqIEVqOiAnMTAwcHgnLCAnMjAlJywgJ2F1dG8nXG4gICAqL1xuICB3aWR0aD86IHN0cmluZztcbiAgXG4gIC8qKlxuICAgKiBTaSBsYSBjb2x1bW5hIGVzIHNvcnRhYmxlXG4gICAqL1xuICBzb3J0YWJsZT86IGJvb2xlYW47XG4gIFxuICAvKipcbiAgICogQWxpbmVhY2nDs24gZGVsIGNvbnRlbmlkb1xuICAgKi9cbiAgYWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIFxuICAvKipcbiAgICogRnVuY2nDs24gY3VzdG9tIHBhcmEgcmVuZGVyaXphciBlbCB2YWxvclxuICAgKiBTaSBubyBzZSBwcm92ZWUsIHNlIHVzYSB0b1N0cmluZygpIGRlbCB2YWxvclxuICAgKi9cbiAgcmVuZGVyPzogKHZhbHVlOiBhbnksIHJvdzogVCkgPT4gc3RyaW5nO1xuICBcbiAgLyoqXG4gICAqIFRlbXBsYXRlIHBlcnNvbmFsaXphZG8gcGFyYSBsYSBjZWxkYVxuICAgKiBUaWVuZSBwcmlvcmlkYWQgc29icmUgcmVuZGVyKClcbiAgICovXG4gIGNlbGxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBUOyB2YWx1ZTogYW55IH0+O1xuICBcbiAgLyoqXG4gICAqIFNpIGVzIHRydWUsIGxhIGNvbHVtbmEgc2Ugb2N1bHRhIGVuIG1vYmlsZVxuICAgKiBTb2xvIHNlIG11ZXN0cmEgZW4gYnJlYWtwb2ludCBtZCsgKDc2OHB4KVxuICAgKi9cbiAgaGlkZU9uTW9iaWxlPzogYm9vbGVhbjtcbiAgXG4gIC8qKlxuICAgKiBDU1MgY2xhc3NlcyBhZGljaW9uYWxlcyBwYXJhIGxhcyBjZWxkYXMgZGUgZXN0YSBjb2x1bW5hXG4gICAqL1xuICBjZWxsQ2xhc3M/OiBzdHJpbmc7XG4gIFxuICAvKipcbiAgICogQ1NTIGNsYXNzZXMgYWRpY2lvbmFsZXMgcGFyYSBlbCBoZWFkZXIgZGUgZXN0YSBjb2x1bW5hXG4gICAqL1xuICBoZWFkZXJDbGFzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEYXRhLXRhYmxlIGdlbsOpcmljbyBjb24gcGFnaW5hY2nDs24sIGZpbHRyYWRvIHkgc2VsZWNjacOzblxuICogXG4gKiBOVUVWTzogQWhvcmEgZXMgZ2Vuw6lyaWNvIHkgY29uZmlndXJhYmxlIHZpYSBjb2x1bW5hc1xuICogXG4gKiBAZXhhbXBsZVxuICogLy8gRGVmaW5pciBjb2x1bW5hc1xuICogY29sdW1uczogUGRtRGF0YVRhYmxlQ29sdW1uPFVzZXI+W10gPSBbXG4gKiAgIHsga2V5OiAnbmFtZScsIGxhYmVsOiAnTmFtZScsIHNvcnRhYmxlOiB0cnVlIH0sXG4gKiAgIHsga2V5OiAnZW1haWwnLCBsYWJlbDogJ0VtYWlsJywgc29ydGFibGU6IHRydWUgfSxcbiAqICAgeyBrZXk6ICdyb2xlJywgbGFiZWw6ICdSb2xlJywgaGlkZU9uTW9iaWxlOiB0cnVlIH0sXG4gKiAgIHsga2V5OiAnY3JlYXRlZEF0JywgbGFiZWw6ICdDcmVhdGVkJywgcmVuZGVyOiAodmFsKSA9PiBmb3JtYXREYXRlKHZhbCkgfVxuICogXTtcbiAqIFxuICogLy8gRW4gZWwgdGVtcGxhdGVcbiAqIDxwZG0tZGF0YS10YWJsZVxuICogICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAqICAgW3Jvd3NdPVwidXNlcnNcIlxuICogICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAqICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdCgkZXZlbnQpXCI+XG4gKiA8L3BkbS1kYXRhLXRhYmxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tZGF0YS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtRGF0YVRhYmxlQ29tcG9uZW50PFQgPSBhbnk+IHtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIFxuICAvKipcbiAgICogQ29sdW1uYXMgYSBtb3N0cmFyXG4gICAqIFNpIG5vIHNlIHByb3ZlZSwgaW50ZW50YSBpbmZlcmlyIGRlbCBwcmltZXIgcm93IChsZWdhY3kgbW9kZSlcbiAgICovXG4gIEBJbnB1dCgpIGNvbHVtbnM6IFBkbURhdGFUYWJsZUNvbHVtbjxUPltdID0gW107XG4gIFxuICAvKipcbiAgICogRXN0cmF0ZWdpYSByZXNwb25zaXZlIGRlIGxhIHRhYmxhXG4gICAqL1xuICBASW5wdXQoKSByZXNwb25zaXZlU3RyYXRlZ3k6IFRhYmxlUmVzcG9uc2l2ZVN0cmF0ZWd5ID0gJ3Njcm9sbCc7XG4gIFxuICAvKipcbiAgICogU2kgZXMgdHJ1ZSwgbXVlc3RyYSBjaGVja2JveCBkZSBzZWxlY2Npw7NuIGVuIGNhZGEgZmlsYVxuICAgKi9cbiAgQElucHV0KCkgc2VsZWN0YWJsZSA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIFNpIGVzIHRydWUsIG11ZXN0cmEgYm90w7NuIGRlIGFjY2lvbmVzICh0cmVzIHB1bnRvcykgZW4gY2FkYSBmaWxhXG4gICAqL1xuICBASW5wdXQoKSBzaG93QWN0aW9ucyA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIFNpIGVzIHRydWUsIG11ZXN0cmEgZmlsdHJvIGRlIGLDunNxdWVkYVxuICAgKi9cbiAgQElucHV0KCkgc2hvd0ZpbHRlciA9IHRydWU7XG4gIFxuICAvKipcbiAgICogU2kgZXMgdHJ1ZSwgbXVlc3RyYSBjb250cm9sZXMgZGUgcGFnaW5hY2nDs25cbiAgICovXG4gIEBJbnB1dCgpIHNob3dQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgXG4gIC8qKlxuICAgKiBTaSBlcyB0cnVlLCBtdWVzdHJhIHNlbGVjdG9yIGRlIGNvbHVtbmFzXG4gICAqL1xuICBASW5wdXQoKSBzaG93Q29sdW1uU2VsZWN0b3IgPSBmYWxzZTtcbiAgXG4gIC8vIExhYmVscyBpMThuXG4gIEBJbnB1dCgpIGZpbHRlclBsYWNlaG9sZGVyID0gJ0ZpbHRlci4uLic7XG4gIEBJbnB1dCgpIGNvbHVtbnNMYWJlbCA9ICdDb2x1bW5zJztcbiAgQElucHV0KCkgcHJldmlvdXNMYWJlbCA9ICdQcmV2aW91cyc7XG4gIEBJbnB1dCgpIG5leHRMYWJlbCA9ICdOZXh0JztcbiAgQElucHV0KCkgZW1wdHlMYWJlbCA9ICdObyByZXN1bHRzLic7XG4gIEBJbnB1dCgpIHJvd3NTZWxlY3RlZExhYmVsID0gJ3JvdyhzKSBzZWxlY3RlZCc7XG4gIFxuICAvLyBERVBSRUNBVEVEOiBMYWJlbHMgaGFyZGNvZGVhZG9zIHBhcmEgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGNvbHVtbnMgY29uZmlndXJhdGlvbiBpbnN0ZWFkXG4gICAqL1xuICBASW5wdXQoKSBzdGF0dXNMYWJlbCA9ICdTdGF0dXMnO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGNvbHVtbnMgY29uZmlndXJhdGlvbiBpbnN0ZWFkXG4gICAqL1xuICBASW5wdXQoKSBlbWFpbExhYmVsID0gJ0VtYWlsJztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBjb2x1bW5zIGNvbmZpZ3VyYXRpb24gaW5zdGVhZFxuICAgKi9cbiAgQElucHV0KCkgYW1vdW50TGFiZWwgPSAnQW1vdW50JztcbiAgXG4gIC8qKlxuICAgKiBEYXRvcyBhIG1vc3RyYXJcbiAgICovXG4gIEBJbnB1dCgpIHJvd3M6IFRbXSA9IFtdO1xuICBcbiAgLyoqXG4gICAqIFDDoWdpbmEgYWN0dWFsICgxLWluZGV4ZWQpXG4gICAqL1xuICBASW5wdXQoKSBwYWdlID0gMTtcbiAgXG4gIC8qKlxuICAgKiBDYW50aWRhZCBkZSBmaWxhcyBwb3IgcMOhZ2luYVxuICAgKi9cbiAgQElucHV0KCkgcGFnZVNpemUgPSAxMDtcbiAgXG4gIC8qKlxuICAgKiBRdWVyeSBkZSBmaWx0cmFkb1xuICAgKi9cbiAgQElucHV0KCkgcXVlcnkgPSAnJztcbiAgXG4gIC8qKlxuICAgKiBGdW5jacOzbiBjdXN0b20gZGUgZmlsdHJhZG9cbiAgICogU2kgbm8gc2UgcHJvdmVlLCBidXNjYSBlbiB0b2RvcyBsb3MgY2FtcG9zIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgZmlsdGVyRm4/OiAocm93OiBULCBxdWVyeTogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBxdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcm93QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHJvdzogVDsgc2VsZWN0ZWQ6IGJvb2xlYW4gfT4oKTtcbiAgQE91dHB1dCgpIGNvbHVtblNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgY29sdW1uOiBQZG1EYXRhVGFibGVDb2x1bW48VD47IGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgfT4oKTtcblxuICAvLyBFc3RhZG8gaW50ZXJub1xuICBzZWxlY3RlZFJvd3MgPSBuZXcgU2V0PFQ+KCk7XG4gIHNvcnRDb2x1bW4/OiBQZG1EYXRhVGFibGVDb2x1bW48VD47XG4gIHNvcnREaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYyc7XG5cbiAgLyoqXG4gICAqIEJhY2t3YXJkIGNvbXBhdGliaWxpdHk6IHNpIG5vIGhheSBjb2x1bW5hcyBkZWZpbmlkYXMsIGluZmVyaXIgZGVsIHByaW1lciByb3dcbiAgICovXG4gIGdldCBlZmZlY3RpdmVDb2x1bW5zKCk6IFBkbURhdGFUYWJsZUNvbHVtbjxUPltdIHtcbiAgICBpZiAodGhpcy5jb2x1bW5zLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbnM7XG4gICAgfVxuICAgIFxuICAgIC8vIExlZ2FjeSBtb2RlOiBpbmZlcmlyIGNvbHVtbmFzIGRlbCBwcmltZXIgcm93IChzb2xvIHBhcmEgUGRtRGF0YVRhYmxlUm93KVxuICAgIGlmICh0aGlzLnJvd3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlyc3RSb3cgPSB0aGlzLnJvd3NbMF0gYXMgYW55O1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpcnN0Um93KVxuICAgICAgICAuZmlsdGVyKGtleSA9PiBrZXkgIT09ICdzZWxlY3RlZCcpXG4gICAgICAgIC5tYXAoa2V5ID0+ICh7XG4gICAgICAgICAga2V5OiBrZXkgYXMga2V5b2YgVCxcbiAgICAgICAgICBsYWJlbDogdGhpcy5nZXRMZWdhY3lMYWJlbChrZXkpLFxuICAgICAgICAgIGFsaWduOiBrZXkgPT09ICdhbW91bnQnID8gJ3JpZ2h0JyA6ICdsZWZ0J1xuICAgICAgICB9KSk7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMRUdBQ1k6IG1hcGVvIGRlIGtleXMgYSBsYWJlbHMgaGFyZGNvZGVhZG9zXG4gICAqL1xuICBwcml2YXRlIGdldExlZ2FjeUxhYmVsKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBzdGF0dXM6IHRoaXMuc3RhdHVzTGFiZWwsXG4gICAgICBlbWFpbDogdGhpcy5lbWFpbExhYmVsLFxuICAgICAgYW1vdW50OiB0aGlzLmFtb3VudExhYmVsXG4gICAgfTtcbiAgICByZXR1cm4gbWFwW2tleV0gfHwga2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnNsaWNlKDEpO1xuICB9XG5cbiAgZ2V0IGZpbHRlcmVkUm93cygpOiBUW10ge1xuICAgIGNvbnN0IHEgPSB0aGlzLnF1ZXJ5LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICghcSkgcmV0dXJuIHRoaXMucm93cztcbiAgICBcbiAgICBpZiAodGhpcy5maWx0ZXJGbikge1xuICAgICAgcmV0dXJuIHRoaXMucm93cy5maWx0ZXIocm93ID0+IHRoaXMuZmlsdGVyRm4hKHJvdywgcSkpO1xuICAgIH1cbiAgICBcbiAgICAvLyBGaWx0cmFkbyBkZWZhdWx0OiBidXNjYXIgZW4gdG9kb3MgbG9zIGNhbXBvcyBzdHJpbmdcbiAgICByZXR1cm4gdGhpcy5yb3dzLmZpbHRlcihyb3cgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMocm93IGFzIGFueSkuc29tZSh2YWwgPT4gXG4gICAgICAgIHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnICYmIHZhbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHBhZ2VkUm93cygpOiBUW10ge1xuICAgIGNvbnN0IHN0YXJ0ID0gKHRoaXMucGFnZSAtIDEpICogdGhpcy5wYWdlU2l6ZTtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZFJvd3Muc2xpY2Uoc3RhcnQsIHN0YXJ0ICsgdGhpcy5wYWdlU2l6ZSk7XG4gIH1cblxuICBnZXQgdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1heCgxLCBNYXRoLmNlaWwodGhpcy5maWx0ZXJlZFJvd3MubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSkpO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFJvd3Muc2l6ZTtcbiAgfVxuXG4gIG9uUXVlcnlJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5xdWVyeUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIG9uVG9nZ2xlUm93KHJvdzogVCwgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2hlY2tlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcbiAgICBcbiAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuYWRkKHJvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmRlbGV0ZShyb3cpO1xuICAgIH1cbiAgICBcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHsgcm93LCBzZWxlY3RlZDogY2hlY2tlZCB9KTtcbiAgfVxuXG4gIG9uVG9nZ2xlQWxsKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNoZWNrZWQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQ7XG4gICAgXG4gICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgIHRoaXMucGFnZWRSb3dzLmZvckVhY2gocm93ID0+IHRoaXMuc2VsZWN0ZWRSb3dzLmFkZChyb3cpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYWdlZFJvd3MuZm9yRWFjaChyb3cgPT4gdGhpcy5zZWxlY3RlZFJvd3MuZGVsZXRlKHJvdykpO1xuICAgIH1cbiAgfVxuXG4gIGlzU2VsZWN0ZWQocm93OiBUKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRSb3dzLmhhcyhyb3cpO1xuICB9XG5cbiAgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFnZSA8PSAxKSByZXR1cm47XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQodGhpcy5wYWdlIC0gMSk7XG4gIH1cblxuICBuZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhZ2UgPj0gdGhpcy50b3RhbFBhZ2VzKSByZXR1cm47XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQodGhpcy5wYWdlICsgMSk7XG4gIH1cblxuICBvbkFjdGlvbihyb3c6IFQpOiB2b2lkIHtcbiAgICB0aGlzLnJvd0FjdGlvbi5lbWl0KHJvdyk7XG4gIH1cblxuICBvblNvcnQoY29sdW1uOiBQZG1EYXRhVGFibGVDb2x1bW48VD4pOiB2b2lkIHtcbiAgICBpZiAoIWNvbHVtbi5zb3J0YWJsZSkgcmV0dXJuO1xuICAgIFxuICAgIGlmICh0aGlzLnNvcnRDb2x1bW4gPT09IGNvbHVtbikge1xuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gdGhpcy5zb3J0RGlyZWN0aW9uID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNvcnRDb2x1bW4gPSBjb2x1bW47XG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSAnYXNjJztcbiAgICB9XG4gICAgXG4gICAgdGhpcy5jb2x1bW5Tb3J0LmVtaXQoeyBjb2x1bW4sIGRpcmVjdGlvbjogdGhpcy5zb3J0RGlyZWN0aW9uIH0pO1xuICB9XG5cbiAgZ2V0Q2VsbFZhbHVlKHJvdzogVCwgY29sdW1uOiBQZG1EYXRhVGFibGVDb2x1bW48VD4pOiBhbnkge1xuICAgIGNvbnN0IHZhbHVlID0gcm93W2NvbHVtbi5rZXldO1xuICAgIFxuICAgIGlmIChjb2x1bW4ucmVuZGVyKSB7XG4gICAgICByZXR1cm4gY29sdW1uLnJlbmRlcih2YWx1ZSwgcm93KTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHZhbHVlICE9IG51bGwgPyBTdHJpbmcodmFsdWUpIDogJyc7XG4gIH1cblxuICBnZXRDZWxsQ2xhc3MoY29sdW1uOiBQZG1EYXRhVGFibGVDb2x1bW48VD4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbJ3B4LTInLCAncHktMiddO1xuICAgIFxuICAgIGlmIChjb2x1bW4uYWxpZ24gPT09ICdjZW50ZXInKSBjbGFzc2VzLnB1c2goJ3RleHQtY2VudGVyJyk7XG4gICAgaWYgKGNvbHVtbi5hbGlnbiA9PT0gJ3JpZ2h0JykgY2xhc3Nlcy5wdXNoKCd0ZXh0LXJpZ2h0Jyk7XG4gICAgaWYgKGNvbHVtbi5oaWRlT25Nb2JpbGUpIGNsYXNzZXMucHVzaCgnaGlkZGVuJywgJ21kOnRhYmxlLWNlbGwnKTtcbiAgICBpZiAoY29sdW1uLmNlbGxDbGFzcykgY2xhc3Nlcy5wdXNoKGNvbHVtbi5jZWxsQ2xhc3MpO1xuICAgIFxuICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldEhlYWRlckNsYXNzKGNvbHVtbjogUGRtRGF0YVRhYmxlQ29sdW1uPFQ+KTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc2VzID0gWydweC0yJywgJ3B5LTInLCAndGV4dC1sZWZ0JywgJ2ZvbnQtbWVkaXVtJ107XG4gICAgXG4gICAgaWYgKGNvbHVtbi5oaWRlT25Nb2JpbGUpIGNsYXNzZXMucHVzaCgnaGlkZGVuJywgJ21kOnRhYmxlLWNlbGwnKTtcbiAgICBpZiAoY29sdW1uLmhlYWRlckNsYXNzKSBjbGFzc2VzLnB1c2goY29sdW1uLmhlYWRlckNsYXNzKTtcbiAgICBcbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXRDb2x1bW5TdHlsZShjb2x1bW46IFBkbURhdGFUYWJsZUNvbHVtbjxUPik6IGFueSB7XG4gICAgcmV0dXJuIGNvbHVtbi53aWR0aCA/IHsgd2lkdGg6IGNvbHVtbi53aWR0aCB9IDoge307XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtuZ0NsYXNzXT1cIlsnZmxleCB3LWZ1bGwgZmxleC1jb2wnLCBjbGFzc05hbWVdXCI+XG4gIDwhLS0gVG9vbGJhcjogRmlsdHJvICsgU2VsZWN0b3IgZGUgY29sdW1uYXMgLS0+XG4gIDxkaXZcbiAgICAqbmdJZj1cInNob3dGaWx0ZXIgfHwgc2hvd0NvbHVtblNlbGVjdG9yXCJcbiAgICBjbGFzcz1cImZsZXggdy1mdWxsIGZsZXgtY29sIGdhcC0yIHB5LTQgc206ZmxleC1yb3cgc206aXRlbXMtY2VudGVyXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgKm5nSWY9XCJzaG93RmlsdGVyXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXJQbGFjZWhvbGRlclwiXG4gICAgICBbdmFsdWVdPVwicXVlcnlcIlxuICAgICAgKGlucHV0KT1cIm9uUXVlcnlJbnB1dCgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwiaC05IGZsZXgtMSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWlucHV0IGJnLXRyYW5zcGFyZW50IHB4LTMgcHktMSB0ZXh0LXNtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc20gcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC1iYWNrZ3JvdW5kXCJcbiAgICAvPlxuXG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93Q29sdW1uU2VsZWN0b3JcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc20gd2hpdGVzcGFjZS1ub3dyYXBcIlxuICAgID5cbiAgICAgIDxzcGFuPnt7IGNvbHVtbnNMYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxzdmdcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGNsYXNzPVwiaC00IHctNCB0ZXh0LWZvcmVncm91bmRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNNyAxMEwxMiAxNUwxNyAxMFwiXG4gICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8IS0tIFRhYmxhIGNvbiByZXNwb25zaXZlIC0tPlxuICA8cGRtLXRhYmxlXG4gICAgdmFyaWFudD1cImRhdGFcIlxuICAgIFtyZXNwb25zaXZlU3RyYXRlZ3ldPVwicmVzcG9uc2l2ZVN0cmF0ZWd5XCJcbiAgICBbZnVsbEJsZWVkXT1cImZhbHNlXCJcbiAgPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0cj5cbiAgICAgICAgPCEtLSBDb2x1bW5hIGRlIHNlbGVjY2nDs24gLS0+XG4gICAgICAgIDx0aCAqbmdJZj1cInNlbGVjdGFibGVcIiBjbGFzcz1cInctMTAgcHgtMiBweS0yIHRleHQtbGVmdCBmb250LW1lZGl1bVwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVBbGwoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImgtNCB3LTQgYm94LWJvcmRlciByb3VuZGVkLXNtIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWlucHV0IGFjY2VudC1wcmltYXJ5XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3RoPlxuXG4gICAgICAgIDwhLS0gQ29sdW1uYXMgZGluw6FtaWNhcyAtLT5cbiAgICAgICAgPHRoXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBlZmZlY3RpdmVDb2x1bW5zXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJnZXRIZWFkZXJDbGFzcyhjb2x1bW4pXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJnZXRDb2x1bW5TdHlsZShjb2x1bW4pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDwhLS0gSGVhZGVyIHNvcnRhYmxlIC0tPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU29ydChjb2x1bW4pXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGdhcC0xIHJvdW5kZWQtc20gYm9yZGVyLTAgYmctdHJhbnNwYXJlbnQgcHgtMyBweS0yIHRleHQtc20gaG92ZXI6dW5kZXJsaW5lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Bhbj57eyBjb2x1bW4ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBjbGFzcz1cImgtNCB3LTRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOCA2TDQgMTBMOCAxNE0xNiAxOEwyMCAxNEwxNiAxMFwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgPCEtLSBIZWFkZXIgbm8gc29ydGFibGUgLS0+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29sdW1uLnNvcnRhYmxlXCI+e3sgY29sdW1uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L3RoPlxuXG4gICAgICAgIDwhLS0gQ29sdW1uYSBkZSBhY2Npb25lcyAtLT5cbiAgICAgICAgPHRoICpuZ0lmPVwic2hvd0FjdGlvbnNcIiBjbGFzcz1cInctMTAgcHgtMiBweS0yXCI+PC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cblxuICAgIDx0Ym9keT5cbiAgICAgIDwhLS0gRmlsYXMgY29uIGRhdG9zIC0tPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgcGFnZWRSb3dzXCI+XG4gICAgICAgIDwhLS0gQ2VsZGEgZGUgc2VsZWNjacOzbiAtLT5cbiAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0YWJsZVwiIGNsYXNzPVwicHgtMiBweS0yXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyb3cpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVSb3cocm93LCAkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC00IHctNCBib3gtYm9yZGVyIHJvdW5kZWQtc20gYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItaW5wdXQgYWNjZW50LXByaW1hcnlcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvdGQ+XG5cbiAgICAgICAgPCEtLSBDZWxkYXMgZGluw6FtaWNhcyAtLT5cbiAgICAgICAgPHRkXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBlZmZlY3RpdmVDb2x1bW5zXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJnZXRDZWxsQ2xhc3MoY29sdW1uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIFRlbXBsYXRlIHBlcnNvbmFsaXphZG8gc2kgZXhpc3RlIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uY2VsbFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRDZWxsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgY29sdW1uLmNlbGxUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogcm93LCB2YWx1ZTogcm93W2NvbHVtbi5rZXldIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPCEtLSBSZW5kZXJpemFkbyBkZWZhdWx0IC0tPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENlbGw+XG4gICAgICAgICAgICB7eyBnZXRDZWxsVmFsdWUocm93LCBjb2x1bW4pIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90ZD5cblxuICAgICAgICA8IS0tIENlbGRhIGRlIGFjY2lvbmVzIC0tPlxuICAgICAgICA8dGQgKm5nSWY9XCJzaG93QWN0aW9uc1wiIGNsYXNzPVwicHgtMiBweS0yXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci0wIGJnLXRyYW5zcGFyZW50IHAtMCBob3Zlcjp0ZXh0LWZvcmVncm91bmRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKHJvdylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiaC00IHctNFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCI2XCIgY3k9XCIxMlwiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9jaXJjbGU+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvY2lyY2xlPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMThcIiBjeT1cIjEyXCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L2NpcmNsZT5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cblxuICAgICAgPCEtLSBGaWxhIHZhY8OtYSAtLT5cbiAgICAgIDx0ciAqbmdJZj1cInBhZ2VkUm93cy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgPHRkXG4gICAgICAgICAgW2F0dHIuY29sc3Bhbl09XCJcbiAgICAgICAgICAgIGVmZmVjdGl2ZUNvbHVtbnMubGVuZ3RoICtcbiAgICAgICAgICAgIChzZWxlY3RhYmxlID8gMSA6IDApICtcbiAgICAgICAgICAgIChzaG93QWN0aW9ucyA/IDEgOiAwKVxuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJweC0zIHB5LTYgdGV4dC1jZW50ZXIgdGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZW1wdHlMYWJlbCB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICA8L3BkbS10YWJsZT5cblxuICA8IS0tIEZvb3RlcjogSW5mbyArIFBhZ2luYWNpw7NuIC0tPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJzaG93UGFnaW5hdGlvbiB8fCBzZWxlY3RhYmxlXCJcbiAgICBjbGFzcz1cImZsZXggdy1mdWxsIGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHktNCBzbTpmbGV4LW5vd3JhcFwiXG4gID5cbiAgICA8cFxuICAgICAgKm5nSWY9XCJzZWxlY3RhYmxlXCJcbiAgICAgIGNsYXNzPVwibS0wIGZsZXgtMSBwci0yIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHdoaXRlc3BhY2Utbm93cmFwXCJcbiAgICA+XG4gICAgICB7eyBzZWxlY3RlZENvdW50IH19IG9mIHt7IHJvd3MubGVuZ3RoIH19IHt7IHJvd3NTZWxlY3RlZExhYmVsIH19XG4gICAgPC9wPlxuXG4gICAgPGRpdiAqbmdJZj1cInNob3dQYWdpbmF0aW9uXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtbC1hdXRvXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHdoaXRlc3BhY2Utbm93cmFwXCI+XG4gICAgICAgIFBhZ2Uge3sgcGFnZSB9fSBvZiB7eyB0b3RhbFBhZ2VzIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImgtOSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgcHgtNCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc20gcmluZy1vZmZzZXQtYmFja2dyb3VuZCBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicGFnZSA8PSAxXCJcbiAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwcmV2aW91c0xhYmVsIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiaC05IGFwcGVhcmFuY2Utbm9uZSBib3gtYm9yZGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBweC00IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kIHNoYWRvdy1zbSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJwYWdlID49IHRvdGFsUGFnZXNcIlxuICAgICAgICAoY2xpY2spPVwibmV4dCgpXCJcbiAgICAgID5cbiAgICAgICAge3sgbmV4dExhYmVsIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { PdmDataTableComponent } from './data-table.component';
4
+ import { PdmDraggableTableComponent } from './draggable-table.component';
5
+ import { PdmTableComponent } from './table.component';
6
+ import * as i0 from "@angular/core";
7
+ const COMPONENTS = [
8
+ PdmDataTableComponent,
9
+ PdmDraggableTableComponent,
10
+ PdmTableComponent,
11
+ ];
12
+ export class PdmDataTableModule {
13
+ }
14
+ PdmDataTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDataTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ PdmDataTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmDataTableModule, declarations: [PdmDataTableComponent,
16
+ PdmDraggableTableComponent,
17
+ PdmTableComponent], imports: [CommonModule], exports: [PdmDataTableComponent,
18
+ PdmDraggableTableComponent,
19
+ PdmTableComponent] });
20
+ PdmDataTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDataTableModule, imports: [CommonModule] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDataTableModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ imports: [CommonModule],
25
+ declarations: COMPONENTS,
26
+ exports: COMPONENTS
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFdEQsTUFBTSxVQUFVLEdBQUc7SUFDakIscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQixpQkFBaUI7Q0FDbEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFWN0IscUJBQXFCO1FBQ3JCLDBCQUEwQjtRQUMxQixpQkFBaUIsYUFJUCxZQUFZLGFBTnRCLHFCQUFxQjtRQUNyQiwwQkFBMEI7UUFDMUIsaUJBQWlCO2dIQVFOLGtCQUFrQixZQUpuQixZQUFZOzJGQUlYLGtCQUFrQjtrQkFMOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxVQUFVO29CQUN4QixPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBkbURhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtRHJhZ2dhYmxlVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2RyYWdnYWJsZS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIFBkbURhdGFUYWJsZUNvbXBvbmVudCxcbiAgUGRtRHJhZ2dhYmxlVGFibGVDb21wb25lbnQsXG4gIFBkbVRhYmxlQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogQ09NUE9ORU5UUyxcbiAgZXhwb3J0czogQ09NUE9ORU5UU1xufSlcbmV4cG9ydCBjbGFzcyBQZG1EYXRhVGFibGVNb2R1bGUge31cbiJdfQ==