pdm-ui-kit 1.0.0 → 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 (772) hide show
  1. package/calendar/calendar.module.d.ts +1 -1
  2. package/calendar/date-picker.component.d.ts +2 -2
  3. package/command/command.component.d.ts +1 -1
  4. package/command/command.module.d.ts +1 -1
  5. package/context-menu/context-menu.component.d.ts +1 -1
  6. package/data-table/data-table.component.d.ts +1 -1
  7. package/data-table/draggable-table.component.d.ts +1 -1
  8. package/data-table/table.component.d.ts +1 -1
  9. package/drawer/drawer.module.d.ts +1 -1
  10. package/dropdown-menu/dropdown-menu.component.d.ts +1 -1
  11. package/empty/empty.module.d.ts +2 -2
  12. package/esm2020/calendar/calendar.module.mjs +2 -2
  13. package/esm2020/calendar/date-picker.component.mjs +4 -4
  14. package/esm2020/combobox/combobox.component.mjs +2 -2
  15. package/esm2020/command/command.component.mjs +2 -2
  16. package/esm2020/command/command.module.mjs +2 -2
  17. package/esm2020/context-menu/context-menu.component.mjs +2 -2
  18. package/esm2020/data-table/data-table.component.mjs +1 -1
  19. package/esm2020/data-table/draggable-table.component.mjs +1 -1
  20. package/esm2020/data-table/table.component.mjs +2 -2
  21. package/esm2020/dialog/dialog.component.mjs +3 -3
  22. package/esm2020/drawer/drawer.component.mjs +2 -2
  23. package/esm2020/drawer/drawer.module.mjs +2 -2
  24. package/esm2020/drawer/sheet.component.mjs +1 -1
  25. package/esm2020/dropdown-menu/dropdown-menu.component.mjs +3 -3
  26. package/esm2020/empty/empty.component.mjs +2 -2
  27. package/esm2020/empty/empty.module.mjs +3 -3
  28. package/esm2020/hover-card/hover-card.component.mjs +2 -2
  29. package/esm2020/input/input-group.component.mjs +1 -1
  30. package/esm2020/input/input-password.component.mjs +1 -1
  31. package/esm2020/input/input.module.mjs +2 -2
  32. package/esm2020/menubar/menubar.component.mjs +2 -2
  33. package/esm2020/native-select/native-select.component.mjs +1 -1
  34. package/esm2020/native-select/native-select.module.mjs +2 -2
  35. package/esm2020/pagination/pagination.component.mjs +3 -3
  36. package/esm2020/pagination/pagination.module.mjs +3 -3
  37. package/esm2020/popover/popover.component.mjs +2 -2
  38. package/esm2020/select/select.component.mjs +4 -4
  39. package/esm2020/select/select.module.mjs +2 -2
  40. package/esm2020/sonner/sonner.component.mjs +1 -1
  41. package/esm2020/sonner/sonner.module.mjs +2 -2
  42. package/esm2020/src/accordion/accordion.component.mjs +42 -0
  43. package/esm2020/src/accordion/accordion.module.mjs +21 -0
  44. package/esm2020/src/accordion/pdm-ui-kit-src-accordion.mjs +5 -0
  45. package/esm2020/src/accordion/public-api.mjs +3 -0
  46. package/esm2020/src/alert/alert-dialog.component.mjs +87 -0
  47. package/esm2020/src/alert/alert.component.mjs +35 -0
  48. package/esm2020/src/alert/alert.module.mjs +25 -0
  49. package/esm2020/src/alert/pdm-ui-kit-src-alert.mjs +5 -0
  50. package/esm2020/src/alert/public-api.mjs +4 -0
  51. package/esm2020/src/aspect-ratio/aspect-ratio.component.mjs +31 -0
  52. package/esm2020/src/aspect-ratio/aspect-ratio.module.mjs +21 -0
  53. package/esm2020/src/aspect-ratio/pdm-ui-kit-src-aspect-ratio.mjs +5 -0
  54. package/esm2020/src/aspect-ratio/public-api.mjs +3 -0
  55. package/esm2020/src/avatar/avatar.component.mjs +46 -0
  56. package/esm2020/src/avatar/avatar.module.mjs +21 -0
  57. package/esm2020/src/avatar/pdm-ui-kit-src-avatar.mjs +5 -0
  58. package/esm2020/src/avatar/public-api.mjs +3 -0
  59. package/esm2020/src/badge/badge.component.mjs +23 -0
  60. package/esm2020/src/badge/badge.module.mjs +21 -0
  61. package/esm2020/src/badge/pdm-ui-kit-src-badge.mjs +5 -0
  62. package/esm2020/src/badge/public-api.mjs +3 -0
  63. package/esm2020/src/breadcrumb/breadcrumb.component.mjs +62 -0
  64. package/esm2020/src/breadcrumb/breadcrumb.module.mjs +21 -0
  65. package/esm2020/src/breadcrumb/pdm-ui-kit-src-breadcrumb.mjs +5 -0
  66. package/esm2020/src/breadcrumb/public-api.mjs +3 -0
  67. package/esm2020/src/button/button-group.component.mjs +236 -0
  68. package/esm2020/src/button/button.component.mjs +114 -0
  69. package/esm2020/src/button/button.module.mjs +25 -0
  70. package/esm2020/src/button/pdm-ui-kit-src-button.mjs +5 -0
  71. package/esm2020/src/button/public-api.mjs +4 -0
  72. package/esm2020/src/calendar/calendar.component.mjs +529 -0
  73. package/esm2020/src/calendar/calendar.module.mjs +22 -0
  74. package/esm2020/src/calendar/date-picker.component.mjs +362 -0
  75. package/esm2020/src/calendar/pdm-ui-kit-src-calendar.mjs +5 -0
  76. package/esm2020/src/calendar/public-api.mjs +4 -0
  77. package/esm2020/src/card/card.component.mjs +48 -0
  78. package/esm2020/src/card/card.module.mjs +21 -0
  79. package/esm2020/src/card/pdm-ui-kit-src-card.mjs +5 -0
  80. package/esm2020/src/card/public-api.mjs +3 -0
  81. package/esm2020/src/carousel/carousel.component.mjs +102 -0
  82. package/esm2020/src/carousel/carousel.module.mjs +21 -0
  83. package/esm2020/src/carousel/pdm-ui-kit-src-carousel.mjs +5 -0
  84. package/esm2020/src/carousel/public-api.mjs +3 -0
  85. package/esm2020/src/chart/chart.component.mjs +177 -0
  86. package/esm2020/src/chart/chart.module.mjs +21 -0
  87. package/esm2020/src/chart/pdm-ui-kit-src-chart.mjs +5 -0
  88. package/esm2020/src/chart/public-api.mjs +3 -0
  89. package/esm2020/src/checkbox/checkbox.component.mjs +47 -0
  90. package/esm2020/src/checkbox/checkbox.module.mjs +21 -0
  91. package/esm2020/src/checkbox/pdm-ui-kit-src-checkbox.mjs +5 -0
  92. package/esm2020/src/checkbox/public-api.mjs +3 -0
  93. package/esm2020/src/collapsible/collapsible.component.mjs +43 -0
  94. package/esm2020/src/collapsible/collapsible.module.mjs +21 -0
  95. package/esm2020/src/collapsible/pdm-ui-kit-src-collapsible.mjs +5 -0
  96. package/esm2020/src/collapsible/public-api.mjs +3 -0
  97. package/esm2020/src/combobox/combobox.component.mjs +173 -0
  98. package/esm2020/src/combobox/combobox.module.mjs +22 -0
  99. package/esm2020/src/combobox/pdm-ui-kit-src-combobox.mjs +5 -0
  100. package/esm2020/src/combobox/public-api.mjs +3 -0
  101. package/esm2020/src/command/command.component.mjs +75 -0
  102. package/esm2020/src/command/command.module.mjs +20 -0
  103. package/esm2020/src/command/pdm-ui-kit-src-command.mjs +5 -0
  104. package/esm2020/src/command/public-api.mjs +3 -0
  105. package/esm2020/src/context-menu/context-menu.component.mjs +165 -0
  106. package/esm2020/src/context-menu/context-menu.module.mjs +22 -0
  107. package/esm2020/src/context-menu/pdm-ui-kit-src-context-menu.mjs +5 -0
  108. package/esm2020/src/context-menu/public-api.mjs +3 -0
  109. package/esm2020/src/data-table/data-table.component.mjs +299 -0
  110. package/esm2020/src/data-table/data-table.module.mjs +29 -0
  111. package/esm2020/src/data-table/draggable-table.component.mjs +300 -0
  112. package/esm2020/src/data-table/pdm-ui-kit-src-data-table.mjs +5 -0
  113. package/esm2020/src/data-table/public-api.mjs +5 -0
  114. package/esm2020/src/data-table/table.component.mjs +182 -0
  115. package/esm2020/src/dialog/dialog.component.mjs +265 -0
  116. package/esm2020/src/dialog/dialog.module.mjs +21 -0
  117. package/esm2020/src/dialog/pdm-ui-kit-src-dialog.mjs +5 -0
  118. package/esm2020/src/dialog/public-api.mjs +3 -0
  119. package/esm2020/src/drawer/drawer.component.mjs +217 -0
  120. package/esm2020/src/drawer/drawer.module.mjs +21 -0
  121. package/esm2020/src/drawer/pdm-ui-kit-src-drawer.mjs +5 -0
  122. package/esm2020/src/drawer/public-api.mjs +4 -0
  123. package/esm2020/src/drawer/sheet.component.mjs +116 -0
  124. package/esm2020/src/dropdown-menu/dropdown-menu.component.mjs +192 -0
  125. package/esm2020/src/dropdown-menu/dropdown-menu.module.mjs +22 -0
  126. package/esm2020/src/dropdown-menu/pdm-ui-kit-src-dropdown-menu.mjs +5 -0
  127. package/esm2020/src/dropdown-menu/public-api.mjs +3 -0
  128. package/esm2020/src/empty/empty.component.mjs +58 -0
  129. package/esm2020/src/empty/empty.module.mjs +21 -0
  130. package/esm2020/src/empty/pdm-ui-kit-src-empty.mjs +5 -0
  131. package/esm2020/src/empty/public-api.mjs +3 -0
  132. package/esm2020/src/field/field.component.mjs +64 -0
  133. package/esm2020/src/field/field.module.mjs +21 -0
  134. package/esm2020/src/field/pdm-ui-kit-src-field.mjs +5 -0
  135. package/esm2020/src/field/public-api.mjs +3 -0
  136. package/esm2020/src/hover-card/hover-card.component.mjs +205 -0
  137. package/esm2020/src/hover-card/hover-card.module.mjs +22 -0
  138. package/esm2020/src/hover-card/pdm-ui-kit-src-hover-card.mjs +5 -0
  139. package/esm2020/src/hover-card/public-api.mjs +3 -0
  140. package/esm2020/src/icon/icon.component.mjs +144 -0
  141. package/esm2020/src/icon/icon.module.mjs +21 -0
  142. package/esm2020/src/icon/pdm-ui-kit-src-icon.mjs +5 -0
  143. package/esm2020/src/icon/public-api.mjs +3 -0
  144. package/esm2020/src/input/input-group.component.mjs +63 -0
  145. package/esm2020/src/input/input-otp.component.mjs +144 -0
  146. package/esm2020/src/input/input-password.component.mjs +78 -0
  147. package/esm2020/src/input/input.component.mjs +71 -0
  148. package/esm2020/src/input/input.module.mjs +38 -0
  149. package/esm2020/src/input/pdm-ui-kit-src-input.mjs +5 -0
  150. package/esm2020/src/input/public-api.mjs +7 -0
  151. package/esm2020/src/input/textarea.component.mjs +59 -0
  152. package/esm2020/src/item/item.component.mjs +23 -0
  153. package/esm2020/src/item/item.module.mjs +21 -0
  154. package/esm2020/src/item/pdm-ui-kit-src-item.mjs +5 -0
  155. package/esm2020/src/item/public-api.mjs +3 -0
  156. package/esm2020/src/kbd/kbd.component.mjs +17 -0
  157. package/esm2020/src/kbd/kbd.module.mjs +21 -0
  158. package/esm2020/src/kbd/pdm-ui-kit-src-kbd.mjs +5 -0
  159. package/esm2020/src/kbd/public-api.mjs +3 -0
  160. package/esm2020/src/label/label.component.mjs +23 -0
  161. package/esm2020/src/label/label.module.mjs +21 -0
  162. package/esm2020/src/label/pdm-ui-kit-src-label.mjs +5 -0
  163. package/esm2020/src/label/public-api.mjs +3 -0
  164. package/esm2020/src/menubar/menubar.component.mjs +144 -0
  165. package/esm2020/src/menubar/menubar.module.mjs +22 -0
  166. package/esm2020/src/menubar/pdm-ui-kit-src-menubar.mjs +5 -0
  167. package/esm2020/src/menubar/public-api.mjs +3 -0
  168. package/esm2020/src/native-select/native-select.component.mjs +42 -0
  169. package/esm2020/src/native-select/native-select.module.mjs +20 -0
  170. package/esm2020/src/native-select/pdm-ui-kit-src-native-select.mjs +5 -0
  171. package/esm2020/src/native-select/public-api.mjs +3 -0
  172. package/esm2020/src/navigation-menu/navigation-menu.component.mjs +42 -0
  173. package/esm2020/src/navigation-menu/navigation-menu.module.mjs +21 -0
  174. package/esm2020/src/navigation-menu/pdm-ui-kit-src-navigation-menu.mjs +5 -0
  175. package/esm2020/src/navigation-menu/public-api.mjs +3 -0
  176. package/esm2020/src/overlay/create-flexible-position-strategy.mjs +54 -0
  177. package/esm2020/src/overlay/pdm-outside-click.directive.mjs +86 -0
  178. package/esm2020/src/overlay/pdm-outside-click.module.mjs +18 -0
  179. package/esm2020/src/overlay/pdm-overlay-options.mjs +2 -0
  180. package/esm2020/src/overlay/pdm-ui-kit-src-overlay.mjs +5 -0
  181. package/esm2020/src/overlay/public-api.mjs +6 -0
  182. package/esm2020/src/overlay/z-index-helper.mjs +69 -0
  183. package/esm2020/src/pagination/pagination.component.mjs +72 -0
  184. package/esm2020/src/pagination/pagination.module.mjs +21 -0
  185. package/esm2020/src/pagination/pdm-ui-kit-src-pagination.mjs +5 -0
  186. package/esm2020/src/pagination/public-api.mjs +3 -0
  187. package/esm2020/src/popover/pdm-ui-kit-src-popover.mjs +5 -0
  188. package/esm2020/src/popover/popover.component.mjs +162 -0
  189. package/esm2020/src/popover/popover.module.mjs +22 -0
  190. package/esm2020/src/popover/public-api.mjs +3 -0
  191. package/esm2020/src/progress/pdm-ui-kit-src-progress.mjs +5 -0
  192. package/esm2020/src/progress/progress.component.mjs +33 -0
  193. package/esm2020/src/progress/progress.module.mjs +21 -0
  194. package/esm2020/src/progress/public-api.mjs +3 -0
  195. package/esm2020/src/radio-group/pdm-ui-kit-src-radio-group.mjs +5 -0
  196. package/esm2020/src/radio-group/public-api.mjs +3 -0
  197. package/esm2020/src/radio-group/radio-group.component.mjs +38 -0
  198. package/esm2020/src/radio-group/radio-group.module.mjs +21 -0
  199. package/esm2020/src/scroll-area/pdm-ui-kit-src-scroll-area.mjs +5 -0
  200. package/esm2020/src/scroll-area/public-api.mjs +3 -0
  201. package/esm2020/src/scroll-area/scroll-area.component.mjs +20 -0
  202. package/esm2020/src/scroll-area/scroll-area.module.mjs +21 -0
  203. package/esm2020/src/select/pdm-ui-kit-src-select.mjs +5 -0
  204. package/esm2020/src/select/public-api.mjs +4 -0
  205. package/esm2020/src/select/select-option.directive.mjs +55 -0
  206. package/esm2020/src/select/select.component.mjs +164 -0
  207. package/esm2020/src/select/select.module.mjs +22 -0
  208. package/esm2020/src/separator/pdm-ui-kit-src-separator.mjs +5 -0
  209. package/esm2020/src/separator/public-api.mjs +3 -0
  210. package/esm2020/src/separator/separator.component.mjs +26 -0
  211. package/esm2020/src/separator/separator.module.mjs +21 -0
  212. package/esm2020/src/sidebar/pdm-ui-kit-src-sidebar.mjs +5 -0
  213. package/esm2020/src/sidebar/public-api.mjs +3 -0
  214. package/esm2020/src/sidebar/sidebar.component.mjs +67 -0
  215. package/esm2020/src/sidebar/sidebar.module.mjs +21 -0
  216. package/esm2020/src/skeleton/pdm-ui-kit-src-skeleton.mjs +5 -0
  217. package/esm2020/src/skeleton/public-api.mjs +3 -0
  218. package/esm2020/src/skeleton/skeleton.component.mjs +17 -0
  219. package/esm2020/src/skeleton/skeleton.module.mjs +21 -0
  220. package/esm2020/src/slider/pdm-ui-kit-src-slider.mjs +5 -0
  221. package/esm2020/src/slider/public-api.mjs +3 -0
  222. package/esm2020/src/slider/slider.component.mjs +46 -0
  223. package/esm2020/src/slider/slider.module.mjs +21 -0
  224. package/esm2020/src/sonner/pdm-ui-kit-src-sonner.mjs +5 -0
  225. package/esm2020/src/sonner/public-api.mjs +3 -0
  226. package/esm2020/src/sonner/sonner.component.mjs +39 -0
  227. package/esm2020/src/sonner/sonner.module.mjs +20 -0
  228. package/esm2020/src/spinner/pdm-ui-kit-src-spinner.mjs +5 -0
  229. package/esm2020/src/spinner/public-api.mjs +3 -0
  230. package/esm2020/src/spinner/spinner.component.mjs +20 -0
  231. package/esm2020/src/spinner/spinner.module.mjs +21 -0
  232. package/esm2020/src/switch/pdm-ui-kit-src-switch.mjs +5 -0
  233. package/esm2020/src/switch/public-api.mjs +3 -0
  234. package/esm2020/src/switch/switch.component.mjs +58 -0
  235. package/esm2020/src/switch/switch.module.mjs +21 -0
  236. package/esm2020/src/tabs/pdm-ui-kit-src-tabs.mjs +5 -0
  237. package/esm2020/src/tabs/public-api.mjs +3 -0
  238. package/esm2020/src/tabs/tabs.component.mjs +34 -0
  239. package/esm2020/src/tabs/tabs.module.mjs +21 -0
  240. package/esm2020/src/toggle/pdm-ui-kit-src-toggle.mjs +5 -0
  241. package/esm2020/src/toggle/public-api.mjs +4 -0
  242. package/esm2020/src/toggle/toggle-group.component.mjs +31 -0
  243. package/esm2020/src/toggle/toggle.component.mjs +41 -0
  244. package/esm2020/src/toggle/toggle.module.mjs +25 -0
  245. package/esm2020/src/tooltip/pdm-ui-kit-src-tooltip.mjs +5 -0
  246. package/esm2020/src/tooltip/public-api.mjs +3 -0
  247. package/esm2020/src/tooltip/tooltip.component.mjs +176 -0
  248. package/esm2020/src/tooltip/tooltip.module.mjs +22 -0
  249. package/esm2020/src/utils/pdm-ui-kit-src-utils.mjs +5 -0
  250. package/esm2020/src/utils/public-api.mjs +3 -0
  251. package/esm2020/src/utils/responsive.mjs +143 -0
  252. package/esm2020/src/utils/z-index.mjs +90 -0
  253. package/esm2020/tooltip/tooltip.component.mjs +2 -2
  254. package/fesm2015/pdm-ui-kit-src-accordion.mjs +68 -0
  255. package/fesm2015/pdm-ui-kit-src-accordion.mjs.map +1 -0
  256. package/fesm2015/pdm-ui-kit-src-alert.mjs +147 -0
  257. package/fesm2015/pdm-ui-kit-src-alert.mjs.map +1 -0
  258. package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
  259. package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
  260. package/fesm2015/pdm-ui-kit-src-avatar.mjs +71 -0
  261. package/fesm2015/pdm-ui-kit-src-avatar.mjs.map +1 -0
  262. package/fesm2015/pdm-ui-kit-src-badge.mjs +48 -0
  263. package/fesm2015/pdm-ui-kit-src-badge.mjs.map +1 -0
  264. package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs +87 -0
  265. package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
  266. package/fesm2015/pdm-ui-kit-src-button.mjs +376 -0
  267. package/fesm2015/pdm-ui-kit-src-button.mjs.map +1 -0
  268. package/fesm2015/pdm-ui-kit-src-calendar.mjs +912 -0
  269. package/fesm2015/pdm-ui-kit-src-calendar.mjs.map +1 -0
  270. package/fesm2015/pdm-ui-kit-src-card.mjs +73 -0
  271. package/fesm2015/pdm-ui-kit-src-card.mjs.map +1 -0
  272. package/fesm2015/pdm-ui-kit-src-carousel.mjs +127 -0
  273. package/fesm2015/pdm-ui-kit-src-carousel.mjs.map +1 -0
  274. package/fesm2015/pdm-ui-kit-src-chart.mjs +203 -0
  275. package/fesm2015/pdm-ui-kit-src-chart.mjs.map +1 -0
  276. package/fesm2015/pdm-ui-kit-src-checkbox.mjs +72 -0
  277. package/fesm2015/pdm-ui-kit-src-checkbox.mjs.map +1 -0
  278. package/fesm2015/pdm-ui-kit-src-collapsible.mjs +68 -0
  279. package/fesm2015/pdm-ui-kit-src-collapsible.mjs.map +1 -0
  280. package/fesm2015/pdm-ui-kit-src-combobox.mjs +200 -0
  281. package/fesm2015/pdm-ui-kit-src-combobox.mjs.map +1 -0
  282. package/fesm2015/pdm-ui-kit-src-command.mjs +100 -0
  283. package/fesm2015/pdm-ui-kit-src-command.mjs.map +1 -0
  284. package/fesm2015/pdm-ui-kit-src-context-menu.mjs +191 -0
  285. package/fesm2015/pdm-ui-kit-src-context-menu.mjs.map +1 -0
  286. package/fesm2015/pdm-ui-kit-src-data-table.mjs +806 -0
  287. package/fesm2015/pdm-ui-kit-src-data-table.mjs.map +1 -0
  288. package/fesm2015/pdm-ui-kit-src-dialog.mjs +289 -0
  289. package/fesm2015/pdm-ui-kit-src-dialog.mjs.map +1 -0
  290. package/fesm2015/pdm-ui-kit-src-drawer.mjs +354 -0
  291. package/fesm2015/pdm-ui-kit-src-drawer.mjs.map +1 -0
  292. package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs +212 -0
  293. package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
  294. package/fesm2015/pdm-ui-kit-src-empty.mjs +83 -0
  295. package/fesm2015/pdm-ui-kit-src-empty.mjs.map +1 -0
  296. package/fesm2015/pdm-ui-kit-src-field.mjs +89 -0
  297. package/fesm2015/pdm-ui-kit-src-field.mjs.map +1 -0
  298. package/fesm2015/pdm-ui-kit-src-hover-card.mjs +231 -0
  299. package/fesm2015/pdm-ui-kit-src-hover-card.mjs.map +1 -0
  300. package/fesm2015/pdm-ui-kit-src-icon.mjs +172 -0
  301. package/fesm2015/pdm-ui-kit-src-icon.mjs.map +1 -0
  302. package/fesm2015/pdm-ui-kit-src-input.mjs +443 -0
  303. package/fesm2015/pdm-ui-kit-src-input.mjs.map +1 -0
  304. package/fesm2015/pdm-ui-kit-src-item.mjs +48 -0
  305. package/fesm2015/pdm-ui-kit-src-item.mjs.map +1 -0
  306. package/fesm2015/pdm-ui-kit-src-kbd.mjs +42 -0
  307. package/fesm2015/pdm-ui-kit-src-kbd.mjs.map +1 -0
  308. package/fesm2015/pdm-ui-kit-src-label.mjs +48 -0
  309. package/fesm2015/pdm-ui-kit-src-label.mjs.map +1 -0
  310. package/fesm2015/pdm-ui-kit-src-menubar.mjs +170 -0
  311. package/fesm2015/pdm-ui-kit-src-menubar.mjs.map +1 -0
  312. package/fesm2015/pdm-ui-kit-src-native-select.mjs +66 -0
  313. package/fesm2015/pdm-ui-kit-src-native-select.mjs.map +1 -0
  314. package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs +67 -0
  315. package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
  316. package/fesm2015/pdm-ui-kit-src-overlay.mjs +225 -0
  317. package/fesm2015/pdm-ui-kit-src-overlay.mjs.map +1 -0
  318. package/fesm2015/pdm-ui-kit-src-pagination.mjs +97 -0
  319. package/fesm2015/pdm-ui-kit-src-pagination.mjs.map +1 -0
  320. package/fesm2015/pdm-ui-kit-src-popover.mjs +189 -0
  321. package/fesm2015/pdm-ui-kit-src-popover.mjs.map +1 -0
  322. package/fesm2015/pdm-ui-kit-src-progress.mjs +58 -0
  323. package/fesm2015/pdm-ui-kit-src-progress.mjs.map +1 -0
  324. package/fesm2015/pdm-ui-kit-src-radio-group.mjs +63 -0
  325. package/fesm2015/pdm-ui-kit-src-radio-group.mjs.map +1 -0
  326. package/fesm2015/pdm-ui-kit-src-scroll-area.mjs +45 -0
  327. package/fesm2015/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
  328. package/fesm2015/pdm-ui-kit-src-select.mjs +238 -0
  329. package/fesm2015/pdm-ui-kit-src-select.mjs.map +1 -0
  330. package/fesm2015/pdm-ui-kit-src-separator.mjs +51 -0
  331. package/fesm2015/pdm-ui-kit-src-separator.mjs.map +1 -0
  332. package/fesm2015/pdm-ui-kit-src-sidebar.mjs +92 -0
  333. package/fesm2015/pdm-ui-kit-src-sidebar.mjs.map +1 -0
  334. package/fesm2015/pdm-ui-kit-src-skeleton.mjs +42 -0
  335. package/fesm2015/pdm-ui-kit-src-skeleton.mjs.map +1 -0
  336. package/fesm2015/pdm-ui-kit-src-slider.mjs +71 -0
  337. package/fesm2015/pdm-ui-kit-src-slider.mjs.map +1 -0
  338. package/fesm2015/pdm-ui-kit-src-sonner.mjs +63 -0
  339. package/fesm2015/pdm-ui-kit-src-sonner.mjs.map +1 -0
  340. package/fesm2015/pdm-ui-kit-src-spinner.mjs +45 -0
  341. package/fesm2015/pdm-ui-kit-src-spinner.mjs.map +1 -0
  342. package/fesm2015/pdm-ui-kit-src-switch.mjs +83 -0
  343. package/fesm2015/pdm-ui-kit-src-switch.mjs.map +1 -0
  344. package/fesm2015/pdm-ui-kit-src-tabs.mjs +59 -0
  345. package/fesm2015/pdm-ui-kit-src-tabs.mjs.map +1 -0
  346. package/fesm2015/pdm-ui-kit-src-toggle.mjs +97 -0
  347. package/fesm2015/pdm-ui-kit-src-toggle.mjs.map +1 -0
  348. package/fesm2015/pdm-ui-kit-src-tooltip.mjs +202 -0
  349. package/fesm2015/pdm-ui-kit-src-tooltip.mjs.map +1 -0
  350. package/fesm2015/pdm-ui-kit-src-utils.mjs +239 -0
  351. package/fesm2015/pdm-ui-kit-src-utils.mjs.map +1 -0
  352. package/fesm2015/pdm-ui-kit.mjs +1019 -1009
  353. package/fesm2015/pdm-ui-kit.mjs.map +1 -1
  354. package/fesm2020/pdm-ui-kit-src-accordion.mjs +67 -0
  355. package/fesm2020/pdm-ui-kit-src-accordion.mjs.map +1 -0
  356. package/fesm2020/pdm-ui-kit-src-alert.mjs +147 -0
  357. package/fesm2020/pdm-ui-kit-src-alert.mjs.map +1 -0
  358. package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
  359. package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
  360. package/fesm2020/pdm-ui-kit-src-avatar.mjs +71 -0
  361. package/fesm2020/pdm-ui-kit-src-avatar.mjs.map +1 -0
  362. package/fesm2020/pdm-ui-kit-src-badge.mjs +48 -0
  363. package/fesm2020/pdm-ui-kit-src-badge.mjs.map +1 -0
  364. package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs +87 -0
  365. package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
  366. package/fesm2020/pdm-ui-kit-src-button.mjs +375 -0
  367. package/fesm2020/pdm-ui-kit-src-button.mjs.map +1 -0
  368. package/fesm2020/pdm-ui-kit-src-calendar.mjs +911 -0
  369. package/fesm2020/pdm-ui-kit-src-calendar.mjs.map +1 -0
  370. package/fesm2020/pdm-ui-kit-src-card.mjs +73 -0
  371. package/fesm2020/pdm-ui-kit-src-card.mjs.map +1 -0
  372. package/fesm2020/pdm-ui-kit-src-carousel.mjs +127 -0
  373. package/fesm2020/pdm-ui-kit-src-carousel.mjs.map +1 -0
  374. package/fesm2020/pdm-ui-kit-src-chart.mjs +202 -0
  375. package/fesm2020/pdm-ui-kit-src-chart.mjs.map +1 -0
  376. package/fesm2020/pdm-ui-kit-src-checkbox.mjs +72 -0
  377. package/fesm2020/pdm-ui-kit-src-checkbox.mjs.map +1 -0
  378. package/fesm2020/pdm-ui-kit-src-collapsible.mjs +68 -0
  379. package/fesm2020/pdm-ui-kit-src-collapsible.mjs.map +1 -0
  380. package/fesm2020/pdm-ui-kit-src-combobox.mjs +199 -0
  381. package/fesm2020/pdm-ui-kit-src-combobox.mjs.map +1 -0
  382. package/fesm2020/pdm-ui-kit-src-command.mjs +99 -0
  383. package/fesm2020/pdm-ui-kit-src-command.mjs.map +1 -0
  384. package/fesm2020/pdm-ui-kit-src-context-menu.mjs +191 -0
  385. package/fesm2020/pdm-ui-kit-src-context-menu.mjs.map +1 -0
  386. package/fesm2020/pdm-ui-kit-src-data-table.mjs +805 -0
  387. package/fesm2020/pdm-ui-kit-src-data-table.mjs.map +1 -0
  388. package/fesm2020/pdm-ui-kit-src-dialog.mjs +289 -0
  389. package/fesm2020/pdm-ui-kit-src-dialog.mjs.map +1 -0
  390. package/fesm2020/pdm-ui-kit-src-drawer.mjs +354 -0
  391. package/fesm2020/pdm-ui-kit-src-drawer.mjs.map +1 -0
  392. package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs +218 -0
  393. package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
  394. package/fesm2020/pdm-ui-kit-src-empty.mjs +83 -0
  395. package/fesm2020/pdm-ui-kit-src-empty.mjs.map +1 -0
  396. package/fesm2020/pdm-ui-kit-src-field.mjs +89 -0
  397. package/fesm2020/pdm-ui-kit-src-field.mjs.map +1 -0
  398. package/fesm2020/pdm-ui-kit-src-hover-card.mjs +231 -0
  399. package/fesm2020/pdm-ui-kit-src-hover-card.mjs.map +1 -0
  400. package/fesm2020/pdm-ui-kit-src-icon.mjs +169 -0
  401. package/fesm2020/pdm-ui-kit-src-icon.mjs.map +1 -0
  402. package/fesm2020/pdm-ui-kit-src-input.mjs +441 -0
  403. package/fesm2020/pdm-ui-kit-src-input.mjs.map +1 -0
  404. package/fesm2020/pdm-ui-kit-src-item.mjs +48 -0
  405. package/fesm2020/pdm-ui-kit-src-item.mjs.map +1 -0
  406. package/fesm2020/pdm-ui-kit-src-kbd.mjs +42 -0
  407. package/fesm2020/pdm-ui-kit-src-kbd.mjs.map +1 -0
  408. package/fesm2020/pdm-ui-kit-src-label.mjs +48 -0
  409. package/fesm2020/pdm-ui-kit-src-label.mjs.map +1 -0
  410. package/fesm2020/pdm-ui-kit-src-menubar.mjs +170 -0
  411. package/fesm2020/pdm-ui-kit-src-menubar.mjs.map +1 -0
  412. package/fesm2020/pdm-ui-kit-src-native-select.mjs +66 -0
  413. package/fesm2020/pdm-ui-kit-src-native-select.mjs.map +1 -0
  414. package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs +67 -0
  415. package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
  416. package/fesm2020/pdm-ui-kit-src-overlay.mjs +229 -0
  417. package/fesm2020/pdm-ui-kit-src-overlay.mjs.map +1 -0
  418. package/fesm2020/pdm-ui-kit-src-pagination.mjs +97 -0
  419. package/fesm2020/pdm-ui-kit-src-pagination.mjs.map +1 -0
  420. package/fesm2020/pdm-ui-kit-src-popover.mjs +188 -0
  421. package/fesm2020/pdm-ui-kit-src-popover.mjs.map +1 -0
  422. package/fesm2020/pdm-ui-kit-src-progress.mjs +58 -0
  423. package/fesm2020/pdm-ui-kit-src-progress.mjs.map +1 -0
  424. package/fesm2020/pdm-ui-kit-src-radio-group.mjs +63 -0
  425. package/fesm2020/pdm-ui-kit-src-radio-group.mjs.map +1 -0
  426. package/fesm2020/pdm-ui-kit-src-scroll-area.mjs +45 -0
  427. package/fesm2020/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
  428. package/fesm2020/pdm-ui-kit-src-select.mjs +241 -0
  429. package/fesm2020/pdm-ui-kit-src-select.mjs.map +1 -0
  430. package/fesm2020/pdm-ui-kit-src-separator.mjs +51 -0
  431. package/fesm2020/pdm-ui-kit-src-separator.mjs.map +1 -0
  432. package/fesm2020/pdm-ui-kit-src-sidebar.mjs +92 -0
  433. package/fesm2020/pdm-ui-kit-src-sidebar.mjs.map +1 -0
  434. package/fesm2020/pdm-ui-kit-src-skeleton.mjs +42 -0
  435. package/fesm2020/pdm-ui-kit-src-skeleton.mjs.map +1 -0
  436. package/fesm2020/pdm-ui-kit-src-slider.mjs +71 -0
  437. package/fesm2020/pdm-ui-kit-src-slider.mjs.map +1 -0
  438. package/fesm2020/pdm-ui-kit-src-sonner.mjs +63 -0
  439. package/fesm2020/pdm-ui-kit-src-sonner.mjs.map +1 -0
  440. package/fesm2020/pdm-ui-kit-src-spinner.mjs +45 -0
  441. package/fesm2020/pdm-ui-kit-src-spinner.mjs.map +1 -0
  442. package/fesm2020/pdm-ui-kit-src-switch.mjs +83 -0
  443. package/fesm2020/pdm-ui-kit-src-switch.mjs.map +1 -0
  444. package/fesm2020/pdm-ui-kit-src-tabs.mjs +59 -0
  445. package/fesm2020/pdm-ui-kit-src-tabs.mjs.map +1 -0
  446. package/fesm2020/pdm-ui-kit-src-toggle.mjs +97 -0
  447. package/fesm2020/pdm-ui-kit-src-toggle.mjs.map +1 -0
  448. package/fesm2020/pdm-ui-kit-src-tooltip.mjs +202 -0
  449. package/fesm2020/pdm-ui-kit-src-tooltip.mjs.map +1 -0
  450. package/fesm2020/pdm-ui-kit-src-utils.mjs +239 -0
  451. package/fesm2020/pdm-ui-kit-src-utils.mjs.map +1 -0
  452. package/fesm2020/pdm-ui-kit.mjs +1022 -1012
  453. package/fesm2020/pdm-ui-kit.mjs.map +1 -1
  454. package/input/input-password.component.d.ts +1 -1
  455. package/input/input.module.d.ts +1 -1
  456. package/menubar/menubar.component.d.ts +1 -1
  457. package/native-select/native-select.module.d.ts +1 -1
  458. package/package.json +703 -115
  459. package/pagination/pagination.component.d.ts +1 -1
  460. package/pagination/pagination.module.d.ts +2 -2
  461. package/select/select.component.d.ts +1 -1
  462. package/select/select.module.d.ts +1 -1
  463. package/sonner/sonner.module.d.ts +1 -1
  464. package/src/accordion/accordion.component.d.ts +19 -0
  465. package/src/accordion/accordion.module.d.ts +8 -0
  466. package/src/accordion/index.d.ts +5 -0
  467. package/src/accordion/public-api.d.ts +2 -0
  468. package/src/alert/alert-dialog.component.d.ts +29 -0
  469. package/src/alert/alert.component.d.ts +13 -0
  470. package/src/alert/alert.module.d.ts +9 -0
  471. package/src/alert/index.d.ts +5 -0
  472. package/src/alert/public-api.d.ts +3 -0
  473. package/src/aspect-ratio/aspect-ratio.component.d.ts +10 -0
  474. package/src/aspect-ratio/aspect-ratio.module.d.ts +8 -0
  475. package/src/aspect-ratio/index.d.ts +5 -0
  476. package/src/aspect-ratio/public-api.d.ts +2 -0
  477. package/src/avatar/avatar.component.d.ts +20 -0
  478. package/src/avatar/avatar.module.d.ts +8 -0
  479. package/src/avatar/index.d.ts +5 -0
  480. package/src/avatar/public-api.d.ts +2 -0
  481. package/src/badge/badge.component.d.ts +9 -0
  482. package/src/badge/badge.module.d.ts +8 -0
  483. package/src/badge/index.d.ts +5 -0
  484. package/src/badge/public-api.d.ts +2 -0
  485. package/src/breadcrumb/breadcrumb.component.d.ts +32 -0
  486. package/src/breadcrumb/breadcrumb.module.d.ts +8 -0
  487. package/src/breadcrumb/index.d.ts +5 -0
  488. package/src/breadcrumb/public-api.d.ts +2 -0
  489. package/src/button/button-group.component.d.ts +19 -0
  490. package/src/button/button.component.d.ts +29 -0
  491. package/src/button/button.module.d.ts +9 -0
  492. package/src/button/index.d.ts +5 -0
  493. package/src/button/public-api.d.ts +3 -0
  494. package/src/calendar/calendar.component.d.ts +149 -0
  495. package/src/calendar/calendar.module.d.ts +11 -0
  496. package/src/calendar/date-picker.component.d.ts +89 -0
  497. package/src/calendar/index.d.ts +5 -0
  498. package/src/calendar/public-api.d.ts +3 -0
  499. package/src/card/card.component.d.ts +37 -0
  500. package/src/card/card.module.d.ts +8 -0
  501. package/src/card/index.d.ts +5 -0
  502. package/src/card/public-api.d.ts +2 -0
  503. package/src/carousel/carousel.component.d.ts +28 -0
  504. package/src/carousel/carousel.module.d.ts +8 -0
  505. package/src/carousel/index.d.ts +5 -0
  506. package/src/carousel/public-api.d.ts +2 -0
  507. package/src/chart/chart.component.d.ts +44 -0
  508. package/src/chart/chart.module.d.ts +8 -0
  509. package/src/chart/index.d.ts +5 -0
  510. package/src/chart/public-api.d.ts +2 -0
  511. package/src/checkbox/checkbox.component.d.ts +17 -0
  512. package/src/checkbox/checkbox.module.d.ts +8 -0
  513. package/src/checkbox/index.d.ts +5 -0
  514. package/src/checkbox/public-api.d.ts +2 -0
  515. package/src/collapsible/collapsible.component.d.ts +14 -0
  516. package/src/collapsible/collapsible.module.d.ts +8 -0
  517. package/src/collapsible/index.d.ts +5 -0
  518. package/src/collapsible/public-api.d.ts +2 -0
  519. package/src/combobox/combobox.component.d.ts +35 -0
  520. package/src/combobox/combobox.module.d.ts +9 -0
  521. package/src/combobox/index.d.ts +5 -0
  522. package/src/combobox/public-api.d.ts +2 -0
  523. package/src/command/command.component.d.ts +33 -0
  524. package/src/command/command.module.d.ts +9 -0
  525. package/src/command/index.d.ts +5 -0
  526. package/src/command/public-api.d.ts +2 -0
  527. package/src/context-menu/context-menu.component.d.ts +38 -0
  528. package/src/context-menu/context-menu.module.d.ts +9 -0
  529. package/src/context-menu/index.d.ts +5 -0
  530. package/src/context-menu/public-api.d.ts +2 -0
  531. package/src/data-table/data-table.component.d.ts +200 -0
  532. package/src/data-table/data-table.module.d.ts +10 -0
  533. package/src/data-table/draggable-table.component.d.ts +74 -0
  534. package/src/data-table/index.d.ts +5 -0
  535. package/src/data-table/public-api.d.ts +4 -0
  536. package/src/data-table/table.component.d.ts +55 -0
  537. package/src/dialog/dialog.component.d.ts +72 -0
  538. package/src/dialog/dialog.module.d.ts +8 -0
  539. package/src/dialog/index.d.ts +5 -0
  540. package/src/dialog/public-api.d.ts +2 -0
  541. package/src/drawer/drawer.component.d.ts +96 -0
  542. package/src/drawer/drawer.module.d.ts +10 -0
  543. package/src/drawer/index.d.ts +5 -0
  544. package/src/drawer/public-api.d.ts +3 -0
  545. package/src/drawer/sheet.component.d.ts +46 -0
  546. package/src/dropdown-menu/dropdown-menu.component.d.ts +61 -0
  547. package/src/dropdown-menu/dropdown-menu.module.d.ts +9 -0
  548. package/src/dropdown-menu/index.d.ts +5 -0
  549. package/src/dropdown-menu/public-api.d.ts +2 -0
  550. package/src/empty/empty.component.d.ts +19 -0
  551. package/src/empty/empty.module.d.ts +10 -0
  552. package/src/empty/index.d.ts +5 -0
  553. package/src/empty/public-api.d.ts +2 -0
  554. package/src/field/field.component.d.ts +23 -0
  555. package/src/field/field.module.d.ts +8 -0
  556. package/src/field/index.d.ts +5 -0
  557. package/src/field/public-api.d.ts +2 -0
  558. package/src/hover-card/hover-card.component.d.ts +37 -0
  559. package/src/hover-card/hover-card.module.d.ts +9 -0
  560. package/src/hover-card/index.d.ts +5 -0
  561. package/src/hover-card/public-api.d.ts +2 -0
  562. package/src/icon/icon.component.d.ts +28 -0
  563. package/src/icon/icon.module.d.ts +8 -0
  564. package/src/icon/index.d.ts +5 -0
  565. package/src/icon/public-api.d.ts +2 -0
  566. package/src/input/index.d.ts +5 -0
  567. package/src/input/input-group.component.d.ts +22 -0
  568. package/src/input/input-otp.component.d.ts +26 -0
  569. package/src/input/input-password.component.d.ts +28 -0
  570. package/src/input/input.component.d.ts +27 -0
  571. package/src/input/input.module.d.ts +13 -0
  572. package/src/input/public-api.d.ts +6 -0
  573. package/src/input/textarea.component.d.ts +21 -0
  574. package/src/item/index.d.ts +5 -0
  575. package/src/item/item.component.d.ts +8 -0
  576. package/src/item/item.module.d.ts +8 -0
  577. package/src/item/public-api.d.ts +2 -0
  578. package/src/kbd/index.d.ts +5 -0
  579. package/src/kbd/kbd.component.d.ts +6 -0
  580. package/src/kbd/kbd.module.d.ts +8 -0
  581. package/src/kbd/public-api.d.ts +2 -0
  582. package/src/label/index.d.ts +5 -0
  583. package/src/label/label.component.d.ts +8 -0
  584. package/src/label/label.module.d.ts +8 -0
  585. package/src/label/public-api.d.ts +2 -0
  586. package/src/menubar/index.d.ts +5 -0
  587. package/src/menubar/menubar.component.d.ts +34 -0
  588. package/src/menubar/menubar.module.d.ts +9 -0
  589. package/src/menubar/public-api.d.ts +2 -0
  590. package/src/native-select/index.d.ts +5 -0
  591. package/src/native-select/native-select.component.d.ts +20 -0
  592. package/src/native-select/native-select.module.d.ts +9 -0
  593. package/src/native-select/public-api.d.ts +2 -0
  594. package/src/navigation-menu/index.d.ts +5 -0
  595. package/src/navigation-menu/navigation-menu.component.d.ts +33 -0
  596. package/src/navigation-menu/navigation-menu.module.d.ts +8 -0
  597. package/src/navigation-menu/public-api.d.ts +2 -0
  598. package/src/overlay/create-flexible-position-strategy.d.ts +15 -0
  599. package/src/overlay/index.d.ts +5 -0
  600. package/src/overlay/pdm-outside-click.directive.d.ts +40 -0
  601. package/src/overlay/pdm-outside-click.module.d.ts +8 -0
  602. package/src/overlay/pdm-overlay-options.d.ts +21 -0
  603. package/src/overlay/public-api.d.ts +5 -0
  604. package/src/overlay/z-index-helper.d.ts +36 -0
  605. package/src/pagination/index.d.ts +5 -0
  606. package/src/pagination/pagination.component.d.ts +21 -0
  607. package/src/pagination/pagination.module.d.ts +10 -0
  608. package/src/pagination/public-api.d.ts +2 -0
  609. package/src/popover/index.d.ts +5 -0
  610. package/src/popover/popover.component.d.ts +32 -0
  611. package/src/popover/popover.module.d.ts +9 -0
  612. package/src/popover/public-api.d.ts +2 -0
  613. package/src/progress/index.d.ts +5 -0
  614. package/src/progress/progress.component.d.ts +10 -0
  615. package/src/progress/progress.module.d.ts +8 -0
  616. package/src/progress/public-api.d.ts +2 -0
  617. package/src/radio-group/index.d.ts +5 -0
  618. package/src/radio-group/public-api.d.ts +2 -0
  619. package/src/radio-group/radio-group.component.d.ts +19 -0
  620. package/src/radio-group/radio-group.module.d.ts +8 -0
  621. package/src/scroll-area/index.d.ts +5 -0
  622. package/src/scroll-area/public-api.d.ts +2 -0
  623. package/src/scroll-area/scroll-area.component.d.ts +7 -0
  624. package/src/scroll-area/scroll-area.module.d.ts +8 -0
  625. package/src/select/index.d.ts +5 -0
  626. package/src/select/public-api.d.ts +3 -0
  627. package/src/select/select-option.directive.d.ts +34 -0
  628. package/src/select/select.component.d.ts +55 -0
  629. package/src/select/select.module.d.ts +11 -0
  630. package/src/separator/index.d.ts +5 -0
  631. package/src/separator/public-api.d.ts +2 -0
  632. package/src/separator/separator.component.d.ts +9 -0
  633. package/src/separator/separator.module.d.ts +8 -0
  634. package/src/sidebar/index.d.ts +5 -0
  635. package/src/sidebar/public-api.d.ts +2 -0
  636. package/src/sidebar/sidebar.component.d.ts +45 -0
  637. package/src/sidebar/sidebar.module.d.ts +8 -0
  638. package/src/skeleton/index.d.ts +5 -0
  639. package/src/skeleton/public-api.d.ts +2 -0
  640. package/src/skeleton/skeleton.component.d.ts +6 -0
  641. package/src/skeleton/skeleton.module.d.ts +8 -0
  642. package/src/slider/index.d.ts +5 -0
  643. package/src/slider/public-api.d.ts +2 -0
  644. package/src/slider/slider.component.d.ts +15 -0
  645. package/src/slider/slider.module.d.ts +8 -0
  646. package/src/sonner/index.d.ts +5 -0
  647. package/src/sonner/public-api.d.ts +2 -0
  648. package/src/sonner/sonner.component.d.ts +13 -0
  649. package/src/sonner/sonner.module.d.ts +9 -0
  650. package/src/spinner/index.d.ts +5 -0
  651. package/src/spinner/public-api.d.ts +2 -0
  652. package/src/spinner/spinner.component.d.ts +7 -0
  653. package/src/spinner/spinner.module.d.ts +8 -0
  654. package/src/switch/index.d.ts +5 -0
  655. package/src/switch/public-api.d.ts +2 -0
  656. package/src/switch/switch.component.d.ts +18 -0
  657. package/src/switch/switch.module.d.ts +8 -0
  658. package/src/tabs/index.d.ts +5 -0
  659. package/src/tabs/public-api.d.ts +2 -0
  660. package/src/tabs/tabs.component.d.ts +18 -0
  661. package/src/tabs/tabs.module.d.ts +8 -0
  662. package/src/toggle/index.d.ts +5 -0
  663. package/src/toggle/public-api.d.ts +3 -0
  664. package/src/toggle/toggle-group.component.d.ts +16 -0
  665. package/src/toggle/toggle.component.d.ts +14 -0
  666. package/src/toggle/toggle.module.d.ts +9 -0
  667. package/src/tooltip/index.d.ts +5 -0
  668. package/src/tooltip/public-api.d.ts +2 -0
  669. package/src/tooltip/tooltip.component.d.ts +28 -0
  670. package/src/tooltip/tooltip.module.d.ts +9 -0
  671. package/src/utils/index.d.ts +5 -0
  672. package/src/utils/public-api.d.ts +2 -0
  673. package/src/utils/responsive.d.ts +107 -0
  674. package/src/utils/z-index.d.ts +69 -0
  675. package/accordion/index.d.ts +0 -2
  676. package/accordion/index.mjs +0 -2
  677. package/alert/index.d.ts +0 -3
  678. package/alert/index.mjs +0 -3
  679. package/aspect-ratio/index.d.ts +0 -2
  680. package/aspect-ratio/index.mjs +0 -2
  681. package/avatar/index.d.ts +0 -2
  682. package/avatar/index.mjs +0 -2
  683. package/badge/index.d.ts +0 -2
  684. package/badge/index.mjs +0 -2
  685. package/breadcrumb/index.d.ts +0 -2
  686. package/breadcrumb/index.mjs +0 -2
  687. package/button/index.d.ts +0 -3
  688. package/button/index.mjs +0 -3
  689. package/calendar/index.d.ts +0 -3
  690. package/calendar/index.mjs +0 -3
  691. package/card/index.d.ts +0 -2
  692. package/card/index.mjs +0 -2
  693. package/carousel/index.d.ts +0 -2
  694. package/carousel/index.mjs +0 -2
  695. package/chart/index.d.ts +0 -2
  696. package/chart/index.mjs +0 -2
  697. package/checkbox/index.d.ts +0 -2
  698. package/checkbox/index.mjs +0 -2
  699. package/collapsible/index.d.ts +0 -2
  700. package/collapsible/index.mjs +0 -2
  701. package/combobox/index.d.ts +0 -2
  702. package/combobox/index.mjs +0 -2
  703. package/command/index.d.ts +0 -2
  704. package/command/index.mjs +0 -2
  705. package/context-menu/index.d.ts +0 -2
  706. package/context-menu/index.mjs +0 -2
  707. package/data-table/index.d.ts +0 -4
  708. package/data-table/index.mjs +0 -4
  709. package/dialog/index.d.ts +0 -2
  710. package/dialog/index.mjs +0 -2
  711. package/drawer/index.d.ts +0 -3
  712. package/drawer/index.mjs +0 -3
  713. package/dropdown-menu/index.d.ts +0 -2
  714. package/dropdown-menu/index.mjs +0 -2
  715. package/empty/index.d.ts +0 -2
  716. package/empty/index.mjs +0 -2
  717. package/field/index.d.ts +0 -2
  718. package/field/index.mjs +0 -2
  719. package/hover-card/index.d.ts +0 -2
  720. package/hover-card/index.mjs +0 -2
  721. package/icon/index.d.ts +0 -2
  722. package/icon/index.mjs +0 -2
  723. package/input/index.d.ts +0 -6
  724. package/input/index.mjs +0 -6
  725. package/item/index.d.ts +0 -2
  726. package/item/index.mjs +0 -2
  727. package/kbd/index.d.ts +0 -2
  728. package/kbd/index.mjs +0 -2
  729. package/label/index.d.ts +0 -2
  730. package/label/index.mjs +0 -2
  731. package/menubar/index.d.ts +0 -2
  732. package/menubar/index.mjs +0 -2
  733. package/native-select/index.d.ts +0 -2
  734. package/native-select/index.mjs +0 -2
  735. package/navigation-menu/index.d.ts +0 -2
  736. package/navigation-menu/index.mjs +0 -2
  737. package/overlay/index.d.ts +0 -8
  738. package/overlay/index.mjs +0 -8
  739. package/pagination/index.d.ts +0 -2
  740. package/pagination/index.mjs +0 -2
  741. package/popover/index.d.ts +0 -2
  742. package/popover/index.mjs +0 -2
  743. package/progress/index.d.ts +0 -2
  744. package/progress/index.mjs +0 -2
  745. package/radio-group/index.d.ts +0 -2
  746. package/radio-group/index.mjs +0 -2
  747. package/scroll-area/index.d.ts +0 -2
  748. package/scroll-area/index.mjs +0 -2
  749. package/select/index.d.ts +0 -3
  750. package/select/index.mjs +0 -3
  751. package/separator/index.d.ts +0 -2
  752. package/separator/index.mjs +0 -2
  753. package/sidebar/index.d.ts +0 -2
  754. package/sidebar/index.mjs +0 -2
  755. package/skeleton/index.d.ts +0 -2
  756. package/skeleton/index.mjs +0 -2
  757. package/slider/index.d.ts +0 -2
  758. package/slider/index.mjs +0 -2
  759. package/sonner/index.d.ts +0 -2
  760. package/sonner/index.mjs +0 -2
  761. package/spinner/index.d.ts +0 -2
  762. package/spinner/index.mjs +0 -2
  763. package/switch/index.d.ts +0 -2
  764. package/switch/index.mjs +0 -2
  765. package/tabs/index.d.ts +0 -2
  766. package/tabs/index.mjs +0 -2
  767. package/toggle/index.d.ts +0 -3
  768. package/toggle/index.mjs +0 -3
  769. package/tooltip/index.d.ts +0 -2
  770. package/tooltip/index.mjs +0 -2
  771. package/utils/index.d.ts +0 -3
  772. package/utils/index.mjs +0 -3
@@ -0,0 +1,265 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, } from "@angular/core";
2
+ import { responsive } from "pdm-ui-kit/src/utils";
3
+ import { Z_INDEX } from "pdm-ui-kit/src/utils";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ /**
7
+ * Modal/Dialog component con soporte responsive
8
+ *
9
+ * MEJORADO en v0.2.0:
10
+ * - Modo 'responsive' (default): fullscreen en mobile, modal en desktop
11
+ * - Tamaños predefinidos: sm, md, lg, xl
12
+ * - Mejor manejo de scroll en mobile
13
+ *
14
+ * @example
15
+ * // Responsive (recomendado)
16
+ * <pdm-dialog [open]="isOpen" size="responsive">
17
+ * <p>Content</p>
18
+ * </pdm-dialog>
19
+ *
20
+ * @example
21
+ * // Tamaño fijo
22
+ * <pdm-dialog [open]="isOpen" size="lg">
23
+ * <p>Content</p>
24
+ * </pdm-dialog>
25
+ */
26
+ export class PdmDialogComponent {
27
+ constructor() {
28
+ this.open = false;
29
+ this.variant = "default";
30
+ /**
31
+ * Tamaño del dialog
32
+ * - responsive: fullscreen mobile, modal desktop (recomendado)
33
+ * - sm: 400px max
34
+ * - md: 500px max
35
+ * - lg: 640px max (default)
36
+ * - xl: 800px max
37
+ * - desktop/mobile/mobile-fullscreen: legacy, deprecado
38
+ */
39
+ this.size = "responsive";
40
+ this.title = "Edit profile";
41
+ this.description = "";
42
+ this.closeOnBackdrop = true;
43
+ this.closeOnEsc = true;
44
+ this.showCloseButton = true;
45
+ this.showHeader = true;
46
+ this.showFooter = true;
47
+ this.primaryActionText = "Save changes";
48
+ this.secondaryActionText = "Cancel";
49
+ this.alignFooter = "right";
50
+ this.headerClassName = "";
51
+ this.bodyClassName = "";
52
+ this.footerClassName = "";
53
+ this.className = "";
54
+ this.openChange = new EventEmitter();
55
+ this.primaryAction = new EventEmitter();
56
+ this.secondaryAction = new EventEmitter();
57
+ }
58
+ onEsc() {
59
+ if (this.open && this.closeOnEsc) {
60
+ this.close();
61
+ }
62
+ }
63
+ close() {
64
+ this.openChange.emit(false);
65
+ }
66
+ onPrimaryAction() {
67
+ this.primaryAction.emit();
68
+ }
69
+ onSecondaryAction() {
70
+ this.secondaryAction.emit();
71
+ }
72
+ onBackdropClick() {
73
+ if (this.closeOnBackdrop) {
74
+ this.close();
75
+ }
76
+ }
77
+ get panelClassName() {
78
+ // Legacy sizes (backward compatibility)
79
+ if (this.size === "desktop") {
80
+ return this.buildPanelClasses([
81
+ "max-w-[640px]",
82
+ "max-h-[calc(100vh-2rem)]",
83
+ "rounded-[10px]",
84
+ ]);
85
+ }
86
+ if (this.size === "mobile") {
87
+ return this.buildPanelClasses([
88
+ "max-w-[320px]",
89
+ "min-h-[240px]",
90
+ "rounded-[10px]",
91
+ ]);
92
+ }
93
+ if (this.size === "mobile-fullscreen") {
94
+ return this.buildPanelClasses([
95
+ "max-w-[320px]",
96
+ "h-[min(100dvh,640px)]",
97
+ "rounded-none",
98
+ "sm:rounded-[10px]",
99
+ ]);
100
+ }
101
+ // New responsive mode (recomendado)
102
+ if (this.size === "responsive") {
103
+ return this.buildPanelClasses([
104
+ // Mobile: fullscreen con bordes redondeados solo arriba
105
+ "w-full",
106
+ "h-full",
107
+ "max-h-[100dvh]",
108
+ "rounded-t-[10px]",
109
+ "sm:rounded-[10px]",
110
+ // Desktop: modal centrado
111
+ "sm:w-auto",
112
+ "sm:h-auto",
113
+ "sm:max-w-[640px]",
114
+ "sm:max-h-[calc(100vh-4rem)]",
115
+ ]);
116
+ }
117
+ // New size options
118
+ const sizeMap = {
119
+ sm: "sm:max-w-[400px]",
120
+ md: "sm:max-w-[500px]",
121
+ lg: "sm:max-w-[640px]",
122
+ xl: "sm:max-w-[800px]",
123
+ };
124
+ const maxWidth = sizeMap[this.size] || sizeMap.lg;
125
+ return this.buildPanelClasses([
126
+ // Mobile: fullscreen
127
+ "w-full",
128
+ "h-full",
129
+ "max-h-[100dvh]",
130
+ "rounded-t-[10px]",
131
+ // Desktop: modal
132
+ "sm:rounded-[10px]",
133
+ "sm:w-auto",
134
+ "sm:h-auto",
135
+ maxWidth,
136
+ "sm:max-h-[calc(100vh-4rem)]",
137
+ ]);
138
+ }
139
+ buildPanelClasses(sizeClasses) {
140
+ const base = [
141
+ "relative",
142
+ Z_INDEX.modal,
143
+ "flex",
144
+ "flex-col",
145
+ "border border-solid",
146
+ "border-border",
147
+ "bg-background",
148
+ "text-foreground",
149
+ "shadow-lg",
150
+ "overflow-hidden",
151
+ ...sizeClasses,
152
+ this.className,
153
+ ];
154
+ return base.filter(Boolean).join(" ");
155
+ }
156
+ get bodyWrapperClassName() {
157
+ // min-h-0 is CRITICAL for flex child to shrink and allow internal scroll
158
+ const base = [
159
+ "flex-1",
160
+ "min-h-0",
161
+ "overflow-y-auto",
162
+ "px-4",
163
+ "py-6",
164
+ "sm:px-6",
165
+ this.bodyClassName,
166
+ ];
167
+ return base.filter(Boolean).join(" ");
168
+ }
169
+ get headerWrapperClassName() {
170
+ const base = [
171
+ "flex",
172
+ "items-start",
173
+ "justify-between",
174
+ "gap-3",
175
+ "p-4",
176
+ "sm:p-6",
177
+ "border-b",
178
+ "border-border",
179
+ this.headerClassName,
180
+ ];
181
+ return base.filter(Boolean).join(" ");
182
+ }
183
+ get footerWrapperClassName() {
184
+ const effectiveAlign = this.alignFooter === "right" && this.variant === "custom-close"
185
+ ? "left"
186
+ : this.alignFooter;
187
+ const base = [
188
+ "p-4",
189
+ "sm:p-6",
190
+ "border-t",
191
+ "border-border",
192
+ // Mobile: siempre full-width
193
+ "flex",
194
+ "flex-col",
195
+ "gap-2",
196
+ // Desktop: según alignFooter
197
+ effectiveAlign === "full-width"
198
+ ? "sm:flex-col"
199
+ : "sm:flex-row sm:items-center",
200
+ effectiveAlign === "left" ? "sm:justify-start" : "",
201
+ effectiveAlign === "right" ? "sm:justify-end" : "",
202
+ this.footerClassName,
203
+ ];
204
+ return base.filter(Boolean).join(" ");
205
+ }
206
+ get containerClassName() {
207
+ // Container con backdrop z-40
208
+ // Mobile: fullscreen desde el bottom
209
+ // Desktop: centrado
210
+ return responsive({
211
+ default: `fixed inset-x-0 bottom-0 ${Z_INDEX.modalBackdrop} flex items-end justify-center`,
212
+ sm: `fixed inset-0 ${Z_INDEX.modalBackdrop} flex items-center justify-center p-4`,
213
+ });
214
+ }
215
+ }
216
+ PdmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
217
+ PdmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDialogComponent, selector: "pdm-dialog", inputs: { open: "open", variant: "variant", size: "size", title: "title", description: "description", closeOnBackdrop: "closeOnBackdrop", closeOnEsc: "closeOnEsc", showCloseButton: "showCloseButton", showHeader: "showHeader", showFooter: "showFooter", primaryActionText: "primaryActionText", secondaryActionText: "secondaryActionText", alignFooter: "alignFooter", headerClassName: "headerClassName", bodyClassName: "bodyClassName", footerClassName: "footerClassName", className: "className" }, outputs: { openChange: "openChange", primaryAction: "primaryAction", secondaryAction: "secondaryAction" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, ngImport: i0, template: "<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <!-- Backdrop -->\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n \n <!-- Dialog Panel -->\n <section role=\"dialog\" aria-modal=\"true\" [ngClass]=\"panelClassName\">\n <!-- Header -->\n <div *ngIf=\"showHeader\" [ngClass]=\"headerWrapperClassName\">\n <div class=\"min-w-0 flex-1\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 mt-2 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 flex-shrink-0 appearance-none box-border items-center justify-center rounded-sm border-0 bg-transparent p-0 text-foreground opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\"\n (click)=\"close()\"\n aria-label=\"Close dialog\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6L18 18M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Body -->\n <div [ngClass]=\"bodyWrapperClassName\">\n <ng-content></ng-content>\n </div>\n\n <!-- Footer -->\n <div *ngIf=\"showFooter\" [ngClass]=\"footerWrapperClassName\">\n <ng-container *ngIf=\"variant === 'custom-close'; else defaultActions\">\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm sm:w-auto\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n </ng-template>\n </div>\n </section>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogComponent, decorators: [{
219
+ type: Component,
220
+ args: [{ selector: "pdm-dialog", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <!-- Backdrop -->\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n \n <!-- Dialog Panel -->\n <section role=\"dialog\" aria-modal=\"true\" [ngClass]=\"panelClassName\">\n <!-- Header -->\n <div *ngIf=\"showHeader\" [ngClass]=\"headerWrapperClassName\">\n <div class=\"min-w-0 flex-1\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 mt-2 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 flex-shrink-0 appearance-none box-border items-center justify-center rounded-sm border-0 bg-transparent p-0 text-foreground opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\"\n (click)=\"close()\"\n aria-label=\"Close dialog\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6L18 18M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Body -->\n <div [ngClass]=\"bodyWrapperClassName\">\n <ng-content></ng-content>\n </div>\n\n <!-- Footer -->\n <div *ngIf=\"showFooter\" [ngClass]=\"footerWrapperClassName\">\n <ng-container *ngIf=\"variant === 'custom-close'; else defaultActions\">\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm sm:w-auto\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n </ng-template>\n </div>\n </section>\n</div>\n", styles: [":host{display:block}\n"] }]
221
+ }], propDecorators: { open: [{
222
+ type: Input
223
+ }], variant: [{
224
+ type: Input
225
+ }], size: [{
226
+ type: Input
227
+ }], title: [{
228
+ type: Input
229
+ }], description: [{
230
+ type: Input
231
+ }], closeOnBackdrop: [{
232
+ type: Input
233
+ }], closeOnEsc: [{
234
+ type: Input
235
+ }], showCloseButton: [{
236
+ type: Input
237
+ }], showHeader: [{
238
+ type: Input
239
+ }], showFooter: [{
240
+ type: Input
241
+ }], primaryActionText: [{
242
+ type: Input
243
+ }], secondaryActionText: [{
244
+ type: Input
245
+ }], alignFooter: [{
246
+ type: Input
247
+ }], headerClassName: [{
248
+ type: Input
249
+ }], bodyClassName: [{
250
+ type: Input
251
+ }], footerClassName: [{
252
+ type: Input
253
+ }], className: [{
254
+ type: Input
255
+ }], openChange: [{
256
+ type: Output
257
+ }], primaryAction: [{
258
+ type: Output
259
+ }], secondaryAction: [{
260
+ type: Output
261
+ }], onEsc: [{
262
+ type: HostListener,
263
+ args: ["document:keydown.escape"]
264
+ }] } });
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFtQi9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBYUgsTUFBTSxPQUFPLGtCQUFrQjtJQVovQjtRQWFVLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixZQUFPLEdBQXFCLFNBQVMsQ0FBQztRQUUvQzs7Ozs7Ozs7V0FRRztRQUNNLFNBQUksR0FBa0IsWUFBWSxDQUFDO1FBRW5DLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsc0JBQWlCLEdBQUcsY0FBYyxDQUFDO1FBQ25DLHdCQUFtQixHQUFHLFFBQVEsQ0FBQztRQUMvQixnQkFBVyxHQUF5QixPQUFPLENBQUM7UUFDNUMsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsY0FBUyxHQUFHLEVBQUUsQ0FB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O2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUdQLEtBQUs7c0JBREosWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFdmVudEVtaXR0ZXIsXG5cdEhvc3RMaXN0ZW5lcixcblx0SW5wdXQsXG5cdE91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHJlc3BvbnNpdmUgfSBmcm9tIFwicGRtLXVpLWtpdC9zcmMvdXRpbHNcIjtcbmltcG9ydCB7IFpfSU5ERVggfSBmcm9tIFwicGRtLXVpLWtpdC9zcmMvdXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgUGRtRGlhbG9nVmFyaWFudCA9IFwiZGVmYXVsdFwiIHwgXCJjdXN0b20tY2xvc2VcIjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgJ3Jlc3BvbnNpdmUnIG1vZGUgaW5zdGVhZC4gV2lsbCBiZSByZW1vdmVkIGluIHYwLjMuMFxuICovXG5leHBvcnQgdHlwZSBQZG1EaWFsb2dTaXplID1cblx0fCBcImRlc2t0b3BcIlxuXHR8IFwibW9iaWxlXCJcblx0fCBcIm1vYmlsZS1mdWxsc2NyZWVuXCJcblx0fCBcInNtXCJcblx0fCBcIm1kXCJcblx0fCBcImxnXCJcblx0fCBcInhsXCJcblx0fCBcInJlc3BvbnNpdmVcIjtcblxuZXhwb3J0IHR5cGUgUGRtRGlhbG9nRm9vdGVyQWxpZ24gPSBcInJpZ2h0XCIgfCBcImZ1bGwtd2lkdGhcIiB8IFwibGVmdFwiO1xuXG4vKipcbiAqIE1vZGFsL0RpYWxvZyBjb21wb25lbnQgY29uIHNvcG9ydGUgcmVzcG9uc2l2ZVxuICpcbiAqIE1FSk9SQURPIGVuIHYwLjIuMDpcbiAqIC0gTW9kbyAncmVzcG9uc2l2ZScgKGRlZmF1bHQpOiBmdWxsc2NyZWVuIGVuIG1vYmlsZSwgbW9kYWwgZW4gZGVza3RvcFxuICogLSBUYW1hw7FvcyBwcmVkZWZpbmlkb3M6IHNtLCBtZCwgbGcsIHhsXG4gKiAtIE1lam9yIG1hbmVqbyBkZSBzY3JvbGwgZW4gbW9iaWxlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFJlc3BvbnNpdmUgKHJlY29tZW5kYWRvKVxuICogPHBkbS1kaWFsb2cgW29wZW5dPVwiaXNPcGVuXCIgc2l6ZT1cInJlc3BvbnNpdmVcIj5cbiAqICAgPHA+Q29udGVudDwvcD5cbiAqIDwvcGRtLWRpYWxvZz5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGFtYcOxbyBmaWpvXG4gKiA8cGRtLWRpYWxvZyBbb3Blbl09XCJpc09wZW5cIiBzaXplPVwibGdcIj5cbiAqICAgPHA+Q29udGVudDwvcD5cbiAqIDwvcGRtLWRpYWxvZz5cbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1kaWFsb2dcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9kaWFsb2cuY29tcG9uZW50Lmh0bWxcIixcblx0c3R5bGVzOiBbXG5cdFx0YFxuICAgIDpob3N0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgYCxcblx0XSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBkbURpYWxvZ0NvbXBvbmVudCB7XG5cdEBJbnB1dCgpIG9wZW4gPSBmYWxzZTtcblx0QElucHV0KCkgdmFyaWFudDogUGRtRGlhbG9nVmFyaWFudCA9IFwiZGVmYXVsdFwiO1xuXG5cdC8qKlxuXHQgKiBUYW1hw7FvIGRlbCBkaWFsb2dcblx0ICogLSByZXNwb25zaXZlOiBmdWxsc2NyZWVuIG1vYmlsZSwgbW9kYWwgZGVza3RvcCAocmVjb21lbmRhZG8pXG5cdCAqIC0gc206IDQwMHB4IG1heFxuXHQgKiAtIG1kOiA1MDBweCBtYXhcblx0ICogLSBsZzogNjQwcHggbWF4IChkZWZhdWx0KVxuXHQgKiAtIHhsOiA4MDBweCBtYXhcblx0ICogLSBkZXNrdG9wL21vYmlsZS9tb2JpbGUtZnVsbHNjcmVlbjogbGVnYWN5LCBkZXByZWNhZG9cblx0ICovXG5cdEBJbnB1dCgpIHNpemU6IFBkbURpYWxvZ1NpemUgPSBcInJlc3BvbnNpdmVcIjtcblxuXHRASW5wdXQoKSB0aXRsZSA9IFwiRWRpdCBwcm9maWxlXCI7XG5cdEBJbnB1dCgpIGRlc2NyaXB0aW9uID0gXCJcIjtcblx0QElucHV0KCkgY2xvc2VPbkJhY2tkcm9wID0gdHJ1ZTtcblx0QElucHV0KCkgY2xvc2VPbkVzYyA9IHRydWU7XG5cdEBJbnB1dCgpIHNob3dDbG9zZUJ1dHRvbiA9IHRydWU7XG5cdEBJbnB1dCgpIHNob3dIZWFkZXIgPSB0cnVlO1xuXHRASW5wdXQoKSBzaG93Rm9vdGVyID0gdHJ1ZTtcblx0QElucHV0KCkgcHJpbWFyeUFjdGlvblRleHQgPSBcIlNhdmUgY2hhbmdlc1wiO1xuXHRASW5wdXQoKSBzZWNvbmRhcnlBY3Rpb25UZXh0ID0gXCJDYW5jZWxcIjtcblx0QElucHV0KCkgYWxpZ25Gb290ZXI6IFBkbURpYWxvZ0Zvb3RlckFsaWduID0gXCJyaWdodFwiO1xuXHRASW5wdXQoKSBoZWFkZXJDbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBib2R5Q2xhc3NOYW1lID0gXCJcIjtcblx0QElucHV0KCkgZm9vdGVyQ2xhc3NOYW1lID0gXCJcIjtcblx0QElucHV0KCkgY2xhc3NOYW1lID0gXCJcIjtcblxuXHRAT3V0cHV0KCkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblx0QE91dHB1dCgpIHByaW1hcnlBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBzZWNvbmRhcnlBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmtleWRvd24uZXNjYXBlXCIpXG5cdG9uRXNjKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9wZW4gJiYgdGhpcy5jbG9zZU9uRXNjKSB7XG5cdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0fVxuXHR9XG5cblx0Y2xvc2UoKTogdm9pZCB7XG5cdFx0dGhpcy5vcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuXHR9XG5cblx0b25QcmltYXJ5QWN0aW9uKCk6IHZvaWQge1xuXHRcdHRoaXMucHJpbWFyeUFjdGlvbi5lbWl0KCk7XG5cdH1cblxuXHRvblNlY29uZGFyeUFjdGlvbigpOiB2b2lkIHtcblx0XHR0aGlzLnNlY29uZGFyeUFjdGlvbi5lbWl0KCk7XG5cdH1cblxuXHRvbkJhY2tkcm9wQ2xpY2soKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuY2xvc2VPbkJhY2tkcm9wKSB7XG5cdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0IHBhbmVsQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG5cdFx0Ly8gTGVnYWN5IHNpemVzIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KVxuXHRcdGlmICh0aGlzLnNpemUgPT09IFwiZGVza3RvcFwiKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5idWlsZFBhbmVsQ2xhc3NlcyhbXG5cdFx0XHRcdFwibWF4LXctWzY0MHB4XVwiLFxuXHRcdFx0XHRcIm1heC1oLVtjYWxjKDEwMHZoLTJyZW0pXVwiLFxuXHRcdFx0XHRcInJvdW5kZWQtWzEwcHhdXCIsXG5cdFx0XHRdKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5zaXplID09PSBcIm1vYmlsZVwiKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5idWlsZFBhbmVsQ2xhc3NlcyhbXG5cdFx0XHRcdFwibWF4LXctWzMyMHB4XVwiLFxuXHRcdFx0XHRcIm1pbi1oLVsyNDBweF1cIixcblx0XHRcdFx0XCJyb3VuZGVkLVsxMHB4XVwiLFxuXHRcdFx0XSk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuc2l6ZSA9PT0gXCJtb2JpbGUtZnVsbHNjcmVlblwiKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5idWlsZFBhbmVsQ2xhc3NlcyhbXG5cdFx0XHRcdFwibWF4LXctWzMyMHB4XVwiLFxuXHRcdFx0XHRcImgtW21pbigxMDBkdmgsNjQwcHgpXVwiLFxuXHRcdFx0XHRcInJvdW5kZWQtbm9uZVwiLFxuXHRcdFx0XHRcInNtOnJvdW5kZWQtWzEwcHhdXCIsXG5cdFx0XHRdKTtcblx0XHR9XG5cblx0XHQvLyBOZXcgcmVzcG9uc2l2ZSBtb2RlIChyZWNvbWVuZGFkbylcblx0XHRpZiAodGhpcy5zaXplID09PSBcInJlc3BvbnNpdmVcIikge1xuXHRcdFx0cmV0dXJuIHRoaXMuYnVpbGRQYW5lbENsYXNzZXMoW1xuXHRcdFx0XHQvLyBNb2JpbGU6IGZ1bGxzY3JlZW4gY29uIGJvcmRlcyByZWRvbmRlYWRvcyBzb2xvIGFycmliYVxuXHRcdFx0XHRcInctZnVsbFwiLFxuXHRcdFx0XHRcImgtZnVsbFwiLFxuXHRcdFx0XHRcIm1heC1oLVsxMDBkdmhdXCIsXG5cdFx0XHRcdFwicm91bmRlZC10LVsxMHB4XVwiLFxuXHRcdFx0XHRcInNtOnJvdW5kZWQtWzEwcHhdXCIsXG5cdFx0XHRcdC8vIERlc2t0b3A6IG1vZGFsIGNlbnRyYWRvXG5cdFx0XHRcdFwic206dy1hdXRvXCIsXG5cdFx0XHRcdFwic206aC1hdXRvXCIsXG5cdFx0XHRcdFwic206bWF4LXctWzY0MHB4XVwiLFxuXHRcdFx0XHRcInNtOm1heC1oLVtjYWxjKDEwMHZoLTRyZW0pXVwiLFxuXHRcdFx0XSk7XG5cdFx0fVxuXG5cdFx0Ly8gTmV3IHNpemUgb3B0aW9uc1xuXHRcdGNvbnN0IHNpemVNYXAgPSB7XG5cdFx0XHRzbTogXCJzbTptYXgtdy1bNDAwcHhdXCIsXG5cdFx0XHRtZDogXCJzbTptYXgtdy1bNTAwcHhdXCIsXG5cdFx0XHRsZzogXCJzbTptYXgtdy1bNjQwcHhdXCIsXG5cdFx0XHR4bDogXCJzbTptYXgtdy1bODAwcHhdXCIsXG5cdFx0fTtcblxuXHRcdGNvbnN0IG1heFdpZHRoID0gc2l6ZU1hcFt0aGlzLnNpemUgYXMga2V5b2YgdHlwZW9mIHNpemVNYXBdIHx8IHNpemVNYXAubGc7XG5cblx0XHRyZXR1cm4gdGhpcy5idWlsZFBhbmVsQ2xhc3NlcyhbXG5cdFx0XHQvLyBNb2JpbGU6IGZ1bGxzY3JlZW5cblx0XHRcdFwidy1mdWxsXCIsXG5cdFx0XHRcImgtZnVsbFwiLFxuXHRcdFx0XCJtYXgtaC1bMTAwZHZoXVwiLFxuXHRcdFx0XCJyb3VuZGVkLXQtWzEwcHhdXCIsXG5cdFx0XHQvLyBEZXNrdG9wOiBtb2RhbFxuXHRcdFx0XCJzbTpyb3VuZGVkLVsxMHB4XVwiLFxuXHRcdFx0XCJzbTp3LWF1dG9cIixcblx0XHRcdFwic206aC1hdXRvXCIsXG5cdFx0XHRtYXhXaWR0aCxcblx0XHRcdFwic206bWF4LWgtW2NhbGMoMTAwdmgtNHJlbSldXCIsXG5cdFx0XSk7XG5cdH1cblxuXHRwcml2YXRlIGJ1aWxkUGFuZWxDbGFzc2VzKHNpemVDbGFzc2VzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG5cdFx0Y29uc3QgYmFzZSA9IFtcblx0XHRcdFwicmVsYXRpdmVcIixcblx0XHRcdFpfSU5ERVgubW9kYWwsIC8vIHotNTAgLSBkZWJlIGVzdGFyIHNvYnJlIGJhY2tkcm9wICh6LTQwKVxuXHRcdFx0XCJmbGV4XCIsXG5cdFx0XHRcImZsZXgtY29sXCIsXG5cdFx0XHRcImJvcmRlciBib3JkZXItc29saWRcIixcblx0XHRcdFwiYm9yZGVyLWJvcmRlclwiLFxuXHRcdFx0XCJiZy1iYWNrZ3JvdW5kXCIsXG5cdFx0XHRcInRleHQtZm9yZWdyb3VuZFwiLFxuXHRcdFx0XCJzaGFkb3ctbGdcIixcblx0XHRcdFwib3ZlcmZsb3ctaGlkZGVuXCIsXG5cdFx0XHQuLi5zaXplQ2xhc3Nlcyxcblx0XHRcdHRoaXMuY2xhc3NOYW1lLFxuXHRcdF07XG5cblx0XHRyZXR1cm4gYmFzZS5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIik7XG5cdH1cblxuXHRnZXQgYm9keVdyYXBwZXJDbGFzc05hbWUoKTogc3RyaW5nIHtcblx0XHQvLyBtaW4taC0wIGlzIENSSVRJQ0FMIGZvciBmbGV4IGNoaWxkIHRvIHNocmluayBhbmQgYWxsb3cgaW50ZXJuYWwgc2Nyb2xsXG5cdFx0Y29uc3QgYmFzZSA9IFtcblx0XHRcdFwiZmxleC0xXCIsXG5cdFx0XHRcIm1pbi1oLTBcIixcblx0XHRcdFwib3ZlcmZsb3cteS1hdXRvXCIsXG5cdFx0XHRcInB4LTRcIixcblx0XHRcdFwicHktNlwiLFxuXHRcdFx0XCJzbTpweC02XCIsXG5cdFx0XHR0aGlzLmJvZHlDbGFzc05hbWUsXG5cdFx0XTtcblxuXHRcdHJldHVybiBiYXNlLmZpbHRlcihCb29sZWFuKS5qb2luKFwiIFwiKTtcblx0fVxuXG5cdGdldCBoZWFkZXJXcmFwcGVyQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgYmFzZSA9IFtcblx0XHRcdFwiZmxleFwiLFxuXHRcdFx0XCJpdGVtcy1zdGFydFwiLFxuXHRcdFx0XCJqdXN0aWZ5LWJldHdlZW5cIixcblx0XHRcdFwiZ2FwLTNcIixcblx0XHRcdFwicC00XCIsXG5cdFx0XHRcInNtOnAtNlwiLFxuXHRcdFx0XCJib3JkZXItYlwiLFxuXHRcdFx0XCJib3JkZXItYm9yZGVyXCIsXG5cdFx0XHR0aGlzLmhlYWRlckNsYXNzTmFtZSxcblx0XHRdO1xuXG5cdFx0cmV0dXJuIGJhc2UuZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpO1xuXHR9XG5cblx0Z2V0IGZvb3RlcldyYXBwZXJDbGFzc05hbWUoKTogc3RyaW5nIHtcblx0XHRjb25zdCBlZmZlY3RpdmVBbGlnbiA9XG5cdFx0XHR0aGlzLmFsaWduRm9vdGVyID09PSBcInJpZ2h0XCIgJiYgdGhpcy52YXJpYW50ID09PSBcImN1c3RvbS1jbG9zZVwiXG5cdFx0XHRcdD8gXCJsZWZ0XCJcblx0XHRcdFx0OiB0aGlzLmFsaWduRm9vdGVyO1xuXG5cdFx0Y29uc3QgYmFzZSA9IFtcblx0XHRcdFwicC00XCIsXG5cdFx0XHRcInNtOnAtNlwiLFxuXHRcdFx0XCJib3JkZXItdFwiLFxuXHRcdFx0XCJib3JkZXItYm9yZGVyXCIsXG5cdFx0XHQvLyBNb2JpbGU6IHNpZW1wcmUgZnVsbC13aWR0aFxuXHRcdFx0XCJmbGV4XCIsXG5cdFx0XHRcImZsZXgtY29sXCIsXG5cdFx0XHRcImdhcC0yXCIsXG5cdFx0XHQvLyBEZXNrdG9wOiBzZWfDum4gYWxpZ25Gb290ZXJcblx0XHRcdGVmZmVjdGl2ZUFsaWduID09PSBcImZ1bGwtd2lkdGhcIlxuXHRcdFx0XHQ/IFwic206ZmxleC1jb2xcIlxuXHRcdFx0XHQ6IFwic206ZmxleC1yb3cgc206aXRlbXMtY2VudGVyXCIsXG5cdFx0XHRlZmZlY3RpdmVBbGlnbiA9PT0gXCJsZWZ0XCIgPyBcInNtOmp1c3RpZnktc3RhcnRcIiA6IFwiXCIsXG5cdFx0XHRlZmZlY3RpdmVBbGlnbiA9PT0gXCJyaWdodFwiID8gXCJzbTpqdXN0aWZ5LWVuZFwiIDogXCJcIixcblx0XHRcdHRoaXMuZm9vdGVyQ2xhc3NOYW1lLFxuXHRcdF07XG5cblx0XHRyZXR1cm4gYmFzZS5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIik7XG5cdH1cblxuXHRnZXQgY29udGFpbmVyQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG5cdFx0Ly8gQ29udGFpbmVyIGNvbiBiYWNrZHJvcCB6LTQwXG5cdFx0Ly8gTW9iaWxlOiBmdWxsc2NyZWVuIGRlc2RlIGVsIGJvdHRvbVxuXHRcdC8vIERlc2t0b3A6IGNlbnRyYWRvXG5cdFx0cmV0dXJuIHJlc3BvbnNpdmUoe1xuXHRcdFx0ZGVmYXVsdDogYGZpeGVkIGluc2V0LXgtMCBib3R0b20tMCAke1pfSU5ERVgubW9kYWxCYWNrZHJvcH0gZmxleCBpdGVtcy1lbmQganVzdGlmeS1jZW50ZXJgLFxuXHRcdFx0c206IGBmaXhlZCBpbnNldC0wICR7Wl9JTkRFWC5tb2RhbEJhY2tkcm9wfSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTRgLFxuXHRcdH0pO1xuXHR9XG59XG4iLCI8ZGl2ICpuZ0lmPVwib3BlblwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzTmFtZVwiPlxuICA8IS0tIEJhY2tkcm9wIC0tPlxuICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1mb3JlZ3JvdW5kLzMwIGJhY2tkcm9wLWJsdXItc21cIiAoY2xpY2spPVwib25CYWNrZHJvcENsaWNrKClcIj48L2Rpdj5cbiAgXG4gIDwhLS0gRGlhbG9nIFBhbmVsIC0tPlxuICA8c2VjdGlvbiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiBbbmdDbGFzc109XCJwYW5lbENsYXNzTmFtZVwiPlxuICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93SGVhZGVyXCIgW25nQ2xhc3NdPVwiaGVhZGVyV3JhcHBlckNsYXNzTmFtZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pbi13LTAgZmxleC0xXCI+XG4gICAgICAgIDxoMiBjbGFzcz1cIm0tMCB0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0IHRleHQtZm9yZWdyb3VuZFwiPnt7IHRpdGxlIH19PC9oMj5cbiAgICAgICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwibS0wIG10LTIgdGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNob3dDbG9zZUJ1dHRvblwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtNiB3LTYgZmxleC1zaHJpbmstMCBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1zbSBib3JkZXItMCBiZy10cmFuc3BhcmVudCBwLTAgdGV4dC1mb3JlZ3JvdW5kIG9wYWNpdHktNzAgcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLW9wYWNpdHkgaG92ZXI6b3BhY2l0eS0xMDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXJpbmcgZm9jdXM6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgZGlhbG9nXCJcbiAgICAgID5cbiAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgPHBhdGggZD1cIk02IDZMMTggMThNMTggNkw2IDE4XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiPjwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQm9keSAtLT5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cImJvZHlXcmFwcGVyQ2xhc3NOYW1lXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEZvb3RlciAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0Zvb3RlclwiIFtuZ0NsYXNzXT1cImZvb3RlcldyYXBwZXJDbGFzc05hbWVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2YXJpYW50ID09PSAnY3VzdG9tLWNsb3NlJzsgZWxzZSBkZWZhdWx0QWN0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBib3gtYm9yZGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgcHgtNCBweS0yIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kIHNoYWRvdy1zbSBzbTp3LWF1dG9cIlxuICAgICAgICAgIChjbGljayk9XCJvblNlY29uZGFyeUFjdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHNlY29uZGFyeUFjdGlvblRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0QWN0aW9ucz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaC05IHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTQgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc20gc206dy1hdXRvXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWNvbmRhcnlBY3Rpb24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBzZWNvbmRhcnlBY3Rpb25UZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBib3gtYm9yZGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJnLXByaW1hcnkgcHgtNCBweS0yIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgc2hhZG93LXNtIHNtOnctYXV0b1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uUHJpbWFyeUFjdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHByaW1hcnlBY3Rpb25UZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { PdmDialogComponent } from './dialog.component';
4
+ import * as i0 from "@angular/core";
5
+ const COMPONENTS = [
6
+ PdmDialogComponent,
7
+ ];
8
+ export class PdmDialogModule {
9
+ }
10
+ PdmDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ PdmDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, declarations: [PdmDialogComponent], imports: [CommonModule], exports: [PdmDialogComponent] });
12
+ PdmDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, imports: [CommonModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [CommonModule],
17
+ declarations: COMPONENTS,
18
+ exports: COMPONENTS
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFeEQsTUFBTSxVQUFVLEdBQUc7SUFDakIsa0JBQWtCO0NBQ25CLENBQUM7QUFPRixNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQVIxQixrQkFBa0IsYUFJUixZQUFZLGFBSnRCLGtCQUFrQjs2R0FRUCxlQUFlLFlBSmhCLFlBQVk7MkZBSVgsZUFBZTtrQkFMM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxVQUFVO29CQUN4QixPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBkbURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIFBkbURpYWxvZ0NvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IENPTVBPTkVOVFMsXG4gIGV4cG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgUGRtRGlhbG9nTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRtLXVpLWtpdC1zcmMtZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RpYWxvZy9wZG0tdWkta2l0LXNyYy1kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './dialog.component';
2
+ export * from './dialog.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,217 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import { Z_INDEX } from 'pdm-ui-kit/src/utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ /**
6
+ * Drawer/Sheet component con soporte responsive
7
+ *
8
+ * MEJORADO en v0.2.0:
9
+ * - Posicionamiento configurable (bottom, left, right, top)
10
+ * - Tamaños predefinidos
11
+ * - Responsive: bottom sheet en mobile, side panel en desktop
12
+ * - Contenido genérico via ng-content
13
+ *
14
+ * @example
15
+ * // Drawer simple desde el bottom
16
+ * <pdm-drawer [open]="isOpen" position="bottom">
17
+ * <h3>Title</h3>
18
+ * <p>Content</p>
19
+ * </pdm-drawer>
20
+ *
21
+ * @example
22
+ * // Side panel desde la right
23
+ * <pdm-drawer [open]="isOpen" position="right" size="md">
24
+ * <p>Content</p>
25
+ * </pdm-drawer>
26
+ */
27
+ export class PdmDrawerComponent {
28
+ constructor() {
29
+ this.open = false;
30
+ /**
31
+ * Posición del drawer
32
+ * - bottom: desde abajo (default, mejor para mobile)
33
+ * - left: side panel desde izquierda
34
+ * - right: side panel desde derecha
35
+ * - top: desde arriba (poco común)
36
+ */
37
+ this.position = 'bottom';
38
+ /**
39
+ * Tamaño del drawer
40
+ * - sm: 400px (side) / 50vh (bottom/top)
41
+ * - md: 500px (side) / 66vh (bottom/top) (default)
42
+ * - lg: 640px (side) / 80vh (bottom/top)
43
+ * - full: 100% ancho/alto
44
+ */
45
+ this.size = 'md';
46
+ /**
47
+ * @deprecated Use position="bottom" instead
48
+ */
49
+ this.variant = 'drawer';
50
+ this.className = '';
51
+ this.title = '';
52
+ this.description = '';
53
+ /**
54
+ * Mostrar handle visual (línea para arrastrar)
55
+ * Solo tiene sentido en position="bottom"
56
+ */
57
+ this.showHandle = true;
58
+ /**
59
+ * Mostrar botón de cerrar
60
+ */
61
+ this.showCloseButton = true;
62
+ this.closeOnEsc = true;
63
+ this.closeOnBackdropClick = true;
64
+ this.openChange = new EventEmitter();
65
+ // DEPRECATED: contenido específico que se movió a ng-content
66
+ this.value = '';
67
+ this.unit = '';
68
+ this.decrementLabel = '-';
69
+ this.incrementLabel = '+';
70
+ this.primaryLabel = '';
71
+ this.secondaryLabel = '';
72
+ this.profileTitle = '';
73
+ this.profileDescription = '';
74
+ this.nameLabel = 'Name';
75
+ this.nameValue = '';
76
+ this.usernameLabel = 'Username';
77
+ this.usernameValue = '';
78
+ this.responsivePrimaryLabel = '';
79
+ this.bars = [];
80
+ this.primaryAction = new EventEmitter();
81
+ this.secondaryAction = new EventEmitter();
82
+ }
83
+ onEsc() {
84
+ if (this.open && this.closeOnEsc) {
85
+ this.close();
86
+ }
87
+ }
88
+ onBackdropClick() {
89
+ if (this.closeOnBackdropClick) {
90
+ this.close();
91
+ }
92
+ }
93
+ close() {
94
+ this.openChange.emit(false);
95
+ }
96
+ onPrimaryAction() {
97
+ this.primaryAction.emit();
98
+ }
99
+ onSecondaryAction() {
100
+ this.secondaryAction.emit();
101
+ }
102
+ get containerClassName() {
103
+ return `fixed inset-0 ${Z_INDEX.drawer} ${this.className}`;
104
+ }
105
+ get panelClassName() {
106
+ const base = [
107
+ 'absolute',
108
+ 'bg-background',
109
+ 'border border-solid',
110
+ 'border-border',
111
+ 'shadow-lg',
112
+ 'overflow-auto'
113
+ ];
114
+ // Posicionamiento
115
+ const positionClasses = this.getPositionClasses();
116
+ // Tamaño
117
+ const sizeClasses = this.getSizeClasses();
118
+ return [...base, ...positionClasses, ...sizeClasses].filter(Boolean).join(' ');
119
+ }
120
+ getPositionClasses() {
121
+ const map = {
122
+ bottom: ['inset-x-0', 'bottom-0', 'rounded-t-xl'],
123
+ top: ['inset-x-0', 'top-0', 'rounded-b-xl'],
124
+ left: ['inset-y-0', 'left-0', 'rounded-r-xl'],
125
+ right: ['inset-y-0', 'right-0', 'rounded-l-xl']
126
+ };
127
+ return map[this.position] || map.bottom;
128
+ }
129
+ getSizeClasses() {
130
+ const isVertical = this.position === 'bottom' || this.position === 'top';
131
+ if (this.size === 'full') {
132
+ return ['w-full', 'h-full'];
133
+ }
134
+ const sizeMap = {
135
+ sm: isVertical ? 'max-h-[50vh]' : 'max-w-[400px]',
136
+ md: isVertical ? 'max-h-[66vh]' : 'max-w-[500px]',
137
+ lg: isVertical ? 'max-h-[80vh]' : 'max-w-[640px]'
138
+ };
139
+ const maxDimension = sizeMap[this.size] || sizeMap.md;
140
+ if (isVertical) {
141
+ return ['w-full', maxDimension];
142
+ }
143
+ else {
144
+ return ['h-full', maxDimension];
145
+ }
146
+ }
147
+ get showLegacyContent() {
148
+ // Mostrar contenido legacy si variant está siendo usado
149
+ return this.variant === 'drawer' || this.variant === 'responsive-dialog';
150
+ }
151
+ }
152
+ PdmDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
+ PdmDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDrawerComponent, selector: "pdm-drawer", inputs: { open: "open", position: "position", size: "size", variant: "variant", className: "className", title: "title", description: "description", showHandle: "showHandle", showCloseButton: "showCloseButton", closeOnEsc: "closeOnEsc", closeOnBackdropClick: "closeOnBackdropClick", value: "value", unit: "unit", decrementLabel: "decrementLabel", incrementLabel: "incrementLabel", primaryLabel: "primaryLabel", secondaryLabel: "secondaryLabel", profileTitle: "profileTitle", profileDescription: "profileDescription", nameLabel: "nameLabel", nameValue: "nameValue", usernameLabel: "usernameLabel", usernameValue: "usernameValue", responsivePrimaryLabel: "responsivePrimaryLabel", bars: "bars" }, outputs: { openChange: "openChange", primaryAction: "primaryAction", secondaryAction: "secondaryAction" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, ngImport: i0, template: "<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <!-- Backdrop -->\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n\n <!-- Panel -->\n <section [ngClass]=\"panelClassName\">\n <!-- Handle visual (solo para bottom) -->\n <div \n *ngIf=\"showHandle && position === 'bottom'\" \n class=\"mx-auto mb-4 mt-2 h-1 w-10 rounded-full bg-border\">\n </div>\n\n <!-- Header (opcional) -->\n <div *ngIf=\"title || description || showCloseButton\" class=\"flex items-start justify-between gap-4 p-6 pb-4\">\n <div *ngIf=\"title || description\" class=\"flex-1 min-w-0\">\n <h3 *ngIf=\"title\" class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">\n {{ title }}\n </h3>\n <p *ngIf=\"description\" class=\"m-0 mt-1 text-sm text-muted-foreground\">\n {{ description }}\n </p>\n </div>\n \n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 flex-shrink-0 appearance-none box-border items-center justify-center rounded-sm border-0 bg-transparent p-0 text-foreground opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\"\n (click)=\"close()\"\n aria-label=\"Close drawer\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6L18 18M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Content -->\n <div class=\"px-6 pb-6\">\n <!-- Contenido gen\u00E9rico -->\n <ng-container *ngIf=\"!showLegacyContent\">\n <ng-content></ng-content>\n </ng-container>\n\n <!-- LEGACY: contenido espec\u00EDfico hardcodeado (backward compatibility) -->\n <ng-container *ngIf=\"showLegacyContent\">\n <!-- Variant: drawer -->\n <div *ngIf=\"variant === 'drawer'\" class=\"mx-auto flex max-w-sm flex-col items-center\">\n <div *ngIf=\"value !== ''\" class=\"mt-3 flex w-full items-center justify-center gap-4\">\n <button type=\"button\" class=\"inline-flex h-6 w-6 appearance-none box-border items-center justify-center rounded-full border border-solid border-border bg-transparent p-0 text-muted-foreground\">{{ decrementLabel }}</button>\n <div class=\"text-center\">\n <div class=\"text-5xl font-semibold leading-none text-foreground\">{{ value }}</div>\n <div *ngIf=\"unit\" class=\"mt-1 text-xs tracking-wide text-muted-foreground\">{{ unit }}</div>\n </div>\n <button type=\"button\" class=\"inline-flex h-6 w-6 appearance-none box-border items-center justify-center rounded-full border border-solid border-border bg-transparent p-0 text-muted-foreground\">{{ incrementLabel }}</button>\n </div>\n\n <div *ngIf=\"bars.length\" class=\"mt-3 flex h-14 w-full items-end gap-1\">\n <div *ngFor=\"let bar of bars\" class=\"flex-1 bg-foreground\" [style.height.px]=\"bar\"></div>\n </div>\n\n <button *ngIf=\"primaryLabel\" type=\"button\" class=\"mt-3 h-9 w-full appearance-none box-border rounded-md bg-primary text-sm font-medium text-primary-foreground\" (click)=\"onPrimaryAction()\">{{ primaryLabel }}</button>\n <button *ngIf=\"secondaryLabel\" type=\"button\" class=\"mt-2 h-9 w-full appearance-none box-border rounded-md border border-solid border-input bg-background text-sm font-medium text-foreground\" (click)=\"onSecondaryAction()\">{{ secondaryLabel }}</button>\n </div>\n\n <!-- Variant: responsive-dialog -->\n <div *ngIf=\"variant === 'responsive-dialog'\" class=\"flex flex-col gap-3\">\n <div *ngIf=\"nameLabel && nameValue\">\n <label class=\"mb-1 block text-xs font-medium text-foreground\">{{ nameLabel }}</label>\n <div class=\"h-8 rounded-md border border-solid border-border bg-background px-2 py-1 text-xs text-foreground\">{{ nameValue }}</div>\n </div>\n <div *ngIf=\"usernameLabel && usernameValue\">\n <label class=\"mb-1 block text-xs font-medium text-foreground\">{{ usernameLabel }}</label>\n <div class=\"h-8 rounded-md border border-solid border-border bg-background px-2 py-1 text-xs text-foreground\">{{ usernameValue }}</div>\n </div>\n\n <button *ngIf=\"responsivePrimaryLabel\" type=\"button\" class=\"mt-3 h-8 w-full appearance-none box-border rounded-md bg-primary text-xs font-medium text-primary-foreground\" (click)=\"onPrimaryAction()\">{{ responsivePrimaryLabel }}</button>\n </div>\n </ng-container>\n </div>\n </section>\n</div>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDrawerComponent, decorators: [{
155
+ type: Component,
156
+ args: [{ selector: 'pdm-drawer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <!-- Backdrop -->\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n\n <!-- Panel -->\n <section [ngClass]=\"panelClassName\">\n <!-- Handle visual (solo para bottom) -->\n <div \n *ngIf=\"showHandle && position === 'bottom'\" \n class=\"mx-auto mb-4 mt-2 h-1 w-10 rounded-full bg-border\">\n </div>\n\n <!-- Header (opcional) -->\n <div *ngIf=\"title || description || showCloseButton\" class=\"flex items-start justify-between gap-4 p-6 pb-4\">\n <div *ngIf=\"title || description\" class=\"flex-1 min-w-0\">\n <h3 *ngIf=\"title\" class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">\n {{ title }}\n </h3>\n <p *ngIf=\"description\" class=\"m-0 mt-1 text-sm text-muted-foreground\">\n {{ description }}\n </p>\n </div>\n \n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 flex-shrink-0 appearance-none box-border items-center justify-center rounded-sm border-0 bg-transparent p-0 text-foreground opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\"\n (click)=\"close()\"\n aria-label=\"Close drawer\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6L18 18M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Content -->\n <div class=\"px-6 pb-6\">\n <!-- Contenido gen\u00E9rico -->\n <ng-container *ngIf=\"!showLegacyContent\">\n <ng-content></ng-content>\n </ng-container>\n\n <!-- LEGACY: contenido espec\u00EDfico hardcodeado (backward compatibility) -->\n <ng-container *ngIf=\"showLegacyContent\">\n <!-- Variant: drawer -->\n <div *ngIf=\"variant === 'drawer'\" class=\"mx-auto flex max-w-sm flex-col items-center\">\n <div *ngIf=\"value !== ''\" class=\"mt-3 flex w-full items-center justify-center gap-4\">\n <button type=\"button\" class=\"inline-flex h-6 w-6 appearance-none box-border items-center justify-center rounded-full border border-solid border-border bg-transparent p-0 text-muted-foreground\">{{ decrementLabel }}</button>\n <div class=\"text-center\">\n <div class=\"text-5xl font-semibold leading-none text-foreground\">{{ value }}</div>\n <div *ngIf=\"unit\" class=\"mt-1 text-xs tracking-wide text-muted-foreground\">{{ unit }}</div>\n </div>\n <button type=\"button\" class=\"inline-flex h-6 w-6 appearance-none box-border items-center justify-center rounded-full border border-solid border-border bg-transparent p-0 text-muted-foreground\">{{ incrementLabel }}</button>\n </div>\n\n <div *ngIf=\"bars.length\" class=\"mt-3 flex h-14 w-full items-end gap-1\">\n <div *ngFor=\"let bar of bars\" class=\"flex-1 bg-foreground\" [style.height.px]=\"bar\"></div>\n </div>\n\n <button *ngIf=\"primaryLabel\" type=\"button\" class=\"mt-3 h-9 w-full appearance-none box-border rounded-md bg-primary text-sm font-medium text-primary-foreground\" (click)=\"onPrimaryAction()\">{{ primaryLabel }}</button>\n <button *ngIf=\"secondaryLabel\" type=\"button\" class=\"mt-2 h-9 w-full appearance-none box-border rounded-md border border-solid border-input bg-background text-sm font-medium text-foreground\" (click)=\"onSecondaryAction()\">{{ secondaryLabel }}</button>\n </div>\n\n <!-- Variant: responsive-dialog -->\n <div *ngIf=\"variant === 'responsive-dialog'\" class=\"flex flex-col gap-3\">\n <div *ngIf=\"nameLabel && nameValue\">\n <label class=\"mb-1 block text-xs font-medium text-foreground\">{{ nameLabel }}</label>\n <div class=\"h-8 rounded-md border border-solid border-border bg-background px-2 py-1 text-xs text-foreground\">{{ nameValue }}</div>\n </div>\n <div *ngIf=\"usernameLabel && usernameValue\">\n <label class=\"mb-1 block text-xs font-medium text-foreground\">{{ usernameLabel }}</label>\n <div class=\"h-8 rounded-md border border-solid border-border bg-background px-2 py-1 text-xs text-foreground\">{{ usernameValue }}</div>\n </div>\n\n <button *ngIf=\"responsivePrimaryLabel\" type=\"button\" class=\"mt-3 h-8 w-full appearance-none box-border rounded-md bg-primary text-xs font-medium text-primary-foreground\" (click)=\"onPrimaryAction()\">{{ responsivePrimaryLabel }}</button>\n </div>\n </ng-container>\n </div>\n </section>\n</div>\n" }]
157
+ }], propDecorators: { open: [{
158
+ type: Input
159
+ }], position: [{
160
+ type: Input
161
+ }], size: [{
162
+ type: Input
163
+ }], variant: [{
164
+ type: Input
165
+ }], className: [{
166
+ type: Input
167
+ }], title: [{
168
+ type: Input
169
+ }], description: [{
170
+ type: Input
171
+ }], showHandle: [{
172
+ type: Input
173
+ }], showCloseButton: [{
174
+ type: Input
175
+ }], closeOnEsc: [{
176
+ type: Input
177
+ }], closeOnBackdropClick: [{
178
+ type: Input
179
+ }], openChange: [{
180
+ type: Output
181
+ }], value: [{
182
+ type: Input
183
+ }], unit: [{
184
+ type: Input
185
+ }], decrementLabel: [{
186
+ type: Input
187
+ }], incrementLabel: [{
188
+ type: Input
189
+ }], primaryLabel: [{
190
+ type: Input
191
+ }], secondaryLabel: [{
192
+ type: Input
193
+ }], profileTitle: [{
194
+ type: Input
195
+ }], profileDescription: [{
196
+ type: Input
197
+ }], nameLabel: [{
198
+ type: Input
199
+ }], nameValue: [{
200
+ type: Input
201
+ }], usernameLabel: [{
202
+ type: Input
203
+ }], usernameValue: [{
204
+ type: Input
205
+ }], responsivePrimaryLabel: [{
206
+ type: Input
207
+ }], bars: [{
208
+ type: Input
209
+ }], primaryAction: [{
210
+ type: Output
211
+ }], secondaryAction: [{
212
+ type: Output
213
+ }], onEsc: [{
214
+ type: HostListener,
215
+ args: ['document:keydown.escape']
216
+ }] } });
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBVS9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBTVcsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUV0Qjs7Ozs7O1dBTUc7UUFDTSxhQUFRLEdBQXNCLFFBQVEsQ0FBQztRQUVoRDs7Ozs7O1dBTUc7UUFDTSxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUVwQzs7V0FFRztRQUNNLFlBQU8sR0FBcUIsUUFBUSxDQUFDO1FBRXJDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFMUI7OztXQUdHO1FBQ00sZUFBVSxHQUFHLElBQUksQ0FBQztRQUUzQjs7V0FFRztRQUNNLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRTNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRW5ELDZEQUE2RDtRQUNwRCxVQUFLLEdBQW9CLEVBQUUsQ0FBQztRQUM1QixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsbUJBQWMsR0FBRyxHQUFHLENBQUM7UUFDckIsbUJBQWMsR0FBRyxHQUFHLENBQUM7UUFD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cEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBR1AsS0FBSztzQkFESixZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByZXNwb25zaXZlIH0gZnJvbSAncGRtLXVpLWtpdC9zcmMvdXRpbHMnO1xuaW1wb3J0IHsgWl9JTkRFWCB9IGZyb20gJ3BkbS11aS1raXQvc3JjL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgUGRtRHJhd2VyUG9zaXRpb24gPSAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJztcbmV4cG9ydCB0eXBlIFBkbURyYXdlclNpemUgPSAnc20nIHwgJ21kJyB8ICdsZycgfCAnZnVsbCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHNwZWNpZmljIGRyYXdlciB0eXBlcy4gV2lsbCBiZSByZW1vdmVkIGluIHYwLjMuMFxuICovXG5leHBvcnQgdHlwZSBQZG1EcmF3ZXJWYXJpYW50ID0gJ2RyYXdlcicgfCAncmVzcG9uc2l2ZS1kaWFsb2cnO1xuXG4vKipcbiAqIERyYXdlci9TaGVldCBjb21wb25lbnQgY29uIHNvcG9ydGUgcmVzcG9uc2l2ZVxuICogXG4gKiBNRUpPUkFETyBlbiB2MC4yLjA6XG4gKiAtIFBvc2ljaW9uYW1pZW50byBjb25maWd1cmFibGUgKGJvdHRvbSwgbGVmdCwgcmlnaHQsIHRvcClcbiAqIC0gVGFtYcOxb3MgcHJlZGVmaW5pZG9zXG4gKiAtIFJlc3BvbnNpdmU6IGJvdHRvbSBzaGVldCBlbiBtb2JpbGUsIHNpZGUgcGFuZWwgZW4gZGVza3RvcFxuICogLSBDb250ZW5pZG8gZ2Vuw6lyaWNvIHZpYSBuZy1jb250ZW50XG4gKiBcbiAqIEBleGFtcGxlXG4gKiAvLyBEcmF3ZXIgc2ltcGxlIGRlc2RlIGVsIGJvdHRvbVxuICogPHBkbS1kcmF3ZXIgW29wZW5dPVwiaXNPcGVuXCIgcG9zaXRpb249XCJib3R0b21cIj5cbiAqICAgPGgzPlRpdGxlPC9oMz5cbiAqICAgPHA+Q29udGVudDwvcD5cbiAqIDwvcGRtLWRyYXdlcj5cbiAqIFxuICogQGV4YW1wbGVcbiAqIC8vIFNpZGUgcGFuZWwgZGVzZGUgbGEgcmlnaHRcbiAqIDxwZG0tZHJhd2VyIFtvcGVuXT1cImlzT3BlblwiIHBvc2l0aW9uPVwicmlnaHRcIiBzaXplPVwibWRcIj5cbiAqICAgPHA+Q29udGVudDwvcD5cbiAqIDwvcGRtLWRyYXdlcj5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWRyYXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1EcmF3ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBvcGVuID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogUG9zaWNpw7NuIGRlbCBkcmF3ZXJcbiAgICogLSBib3R0b206IGRlc2RlIGFiYWpvIChkZWZhdWx0LCBtZWpvciBwYXJhIG1vYmlsZSlcbiAgICogLSBsZWZ0OiBzaWRlIHBhbmVsIGRlc2RlIGl6cXVpZXJkYVxuICAgKiAtIHJpZ2h0OiBzaWRlIHBhbmVsIGRlc2RlIGRlcmVjaGFcbiAgICogLSB0b3A6IGRlc2RlIGFycmliYSAocG9jbyBjb23Dum4pXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogUGRtRHJhd2VyUG9zaXRpb24gPSAnYm90dG9tJztcbiAgXG4gIC8qKlxuICAgKiBUYW1hw7FvIGRlbCBkcmF3ZXJcbiAgICogLSBzbTogNDAwcHggKHNpZGUpIC8gNTB2aCAoYm90dG9tL3RvcClcbiAgICogLSBtZDogNTAwcHggKHNpZGUpIC8gNjZ2aCAoYm90dG9tL3RvcCkgKGRlZmF1bHQpXG4gICAqIC0gbGc6IDY0MHB4IChzaWRlKSAvIDgwdmggKGJvdHRvbS90b3ApXG4gICAqIC0gZnVsbDogMTAwJSBhbmNoby9hbHRvXG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBQZG1EcmF3ZXJTaXplID0gJ21kJztcbiAgXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgcG9zaXRpb249XCJib3R0b21cIiBpbnN0ZWFkXG4gICAqL1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1EcmF3ZXJWYXJpYW50ID0gJ2RyYXdlcic7XG4gIFxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24gPSAnJztcbiAgXG4gIC8qKlxuICAgKiBNb3N0cmFyIGhhbmRsZSB2aXN1YWwgKGzDrW5lYSBwYXJhIGFycmFzdHJhcilcbiAgICogU29sbyB0aWVuZSBzZW50aWRvIGVuIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICovXG4gIEBJbnB1dCgpIHNob3dIYW5kbGUgPSB0cnVlO1xuICBcbiAgLyoqXG4gICAqIE1vc3RyYXIgYm90w7NuIGRlIGNlcnJhclxuICAgKi9cbiAgQElucHV0KCkgc2hvd0Nsb3NlQnV0dG9uID0gdHJ1ZTtcbiAgXG4gIEBJbnB1dCgpIGNsb3NlT25Fc2MgPSB0cnVlO1xuICBASW5wdXQoKSBjbG9zZU9uQmFja2Ryb3BDbGljayA9IHRydWU7XG5cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLy8gREVQUkVDQVRFRDogY29udGVuaWRvIGVzcGVjw61maWNvIHF1ZSBzZSBtb3Zpw7MgYSBuZy1jb250ZW50XG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdW5pdCA9ICcnO1xuICBASW5wdXQoKSBkZWNyZW1lbnRMYWJlbCA9ICctJztcbiAgQElucHV0KCkgaW5jcmVtZW50TGFiZWwgPSAnKyc7XG4gIEBJbnB1dCgpIHByaW1hcnlMYWJlbCA9ICcnO1xuICBASW5wdXQoKSBzZWNvbmRhcnlMYWJlbCA9ICcnO1xuICBASW5wdXQoKSBwcm9maWxlVGl0bGUgPSAnJztcbiAgQElucHV0KCkgcHJvZmlsZURlc2NyaXB0aW9uID0gJyc7XG4gIEBJbnB1dCgpIG5hbWVMYWJlbCA9ICdOYW1lJztcbiAgQElucHV0KCkgbmFtZVZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIHVzZXJuYW1lTGFiZWwgPSAnVXNlcm5hbWUnO1xuICBASW5wdXQoKSB1c2VybmFtZVZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVQcmltYXJ5TGFiZWwgPSAnJztcbiAgQElucHV0KCkgYmFyczogbnVtYmVyW10gPSBbXTtcbiAgQE91dHB1dCgpIHByaW1hcnlBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzZWNvbmRhcnlBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxuICBvbkVzYygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcGVuICYmIHRoaXMuY2xvc2VPbkVzYykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQmFja2Ryb3BDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uQmFja2Ryb3BDbGljaykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIG9uUHJpbWFyeUFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgb25TZWNvbmRhcnlBY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgZ2V0IGNvbnRhaW5lckNsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZml4ZWQgaW5zZXQtMCAke1pfSU5ERVguZHJhd2VyfSAke3RoaXMuY2xhc3NOYW1lfWA7XG4gIH1cblxuICBnZXQgcGFuZWxDbGFzc05hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlID0gW1xuICAgICAgJ2Fic29sdXRlJyxcbiAgICAgICdiZy1iYWNrZ3JvdW5kJyxcbiAgICAgICdib3JkZXIgYm9yZGVyLXNvbGlkJyxcbiAgICAgICdib3JkZXItYm9yZGVyJyxcbiAgICAgICdzaGFkb3ctbGcnLFxuICAgICAgJ292ZXJmbG93LWF1dG8nXG4gICAgXTtcblxuICAgIC8vIFBvc2ljaW9uYW1pZW50b1xuICAgIGNvbnN0IHBvc2l0aW9uQ2xhc3NlcyA9IHRoaXMuZ2V0UG9zaXRpb25DbGFzc2VzKCk7XG4gICAgXG4gICAgLy8gVGFtYcOxb1xuICAgIGNvbnN0IHNpemVDbGFzc2VzID0gdGhpcy5nZXRTaXplQ2xhc3NlcygpO1xuXG4gICAgcmV0dXJuIFsuLi5iYXNlLCAuLi5wb3NpdGlvbkNsYXNzZXMsIC4uLnNpemVDbGFzc2VzXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQb3NpdGlvbkNsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG1hcDogUmVjb3JkPFBkbURyYXdlclBvc2l0aW9uLCBzdHJpbmdbXT4gPSB7XG4gICAgICBib3R0b206IFsnaW5zZXQteC0wJywgJ2JvdHRvbS0wJywgJ3JvdW5kZWQtdC14bCddLFxuICAgICAgdG9wOiBbJ2luc2V0LXgtMCcsICd0b3AtMCcsICdyb3VuZGVkLWIteGwnXSxcbiAgICAgIGxlZnQ6IFsnaW5zZXQteS0wJywgJ2xlZnQtMCcsICdyb3VuZGVkLXIteGwnXSxcbiAgICAgIHJpZ2h0OiBbJ2luc2V0LXktMCcsICdyaWdodC0wJywgJ3JvdW5kZWQtbC14bCddXG4gICAgfTtcblxuICAgIHJldHVybiBtYXBbdGhpcy5wb3NpdGlvbl0gfHwgbWFwLmJvdHRvbTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2l6ZUNsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGlzVmVydGljYWwgPSB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJyB8fCB0aGlzLnBvc2l0aW9uID09PSAndG9wJztcbiAgICBcbiAgICBpZiAodGhpcy5zaXplID09PSAnZnVsbCcpIHtcbiAgICAgIHJldHVybiBbJ3ctZnVsbCcsICdoLWZ1bGwnXTtcbiAgICB9XG5cbiAgICBjb25zdCBzaXplTWFwID0ge1xuICAgICAgc206IGlzVmVydGljYWwgPyAnbWF4LWgtWzUwdmhdJyA6ICdtYXgtdy1bNDAwcHhdJyxcbiAgICAgIG1kOiBpc1ZlcnRpY2FsID8gJ21heC1oLVs2NnZoXScgOiAnbWF4LXctWzUwMHB4XScsXG4gICAgICBsZzogaXNWZXJ0aWNhbCA/ICdtYXgtaC1bODB2aF0nIDogJ21heC13LVs2NDBweF0nXG4gICAgfTtcblxuICAgIGNvbnN0IG1heERpbWVuc2lvbiA9IHNpemVNYXBbdGhpcy5zaXplXSB8fCBzaXplTWFwLm1kO1xuXG4gICAgaWYgKGlzVmVydGljYWwpIHtcbiAgICAgIHJldHVybiBbJ3ctZnVsbCcsIG1heERpbWVuc2lvbl07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbJ2gtZnVsbCcsIG1heERpbWVuc2lvbl07XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dMZWdhY3lDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8vIE1vc3RyYXIgY29udGVuaWRvIGxlZ2FjeSBzaSB2YXJpYW50IGVzdMOhIHNpZW5kbyB1c2Fkb1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnQgPT09ICdkcmF3ZXInIHx8IHRoaXMudmFyaWFudCA9PT0gJ3Jlc3BvbnNpdmUtZGlhbG9nJztcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIm9wZW5cIiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc05hbWVcIj5cbiAgPCEtLSBCYWNrZHJvcCAtLT5cbiAgPGRpdiBjbGFzcz1cImFic29sdXRlIGluc2V0LTAgYmctZm9yZWdyb3VuZC8zMCBiYWNrZHJvcC1ibHVyLXNtXCIgKGNsaWNrKT1cIm9uQmFja2Ryb3BDbGljaygpXCI+PC9kaXY+XG5cbiAgPCEtLSBQYW5lbCAtLT5cbiAgPHNlY3Rpb24gW25nQ2xhc3NdPVwicGFuZWxDbGFzc05hbWVcIj5cbiAgICA8IS0tIEhhbmRsZSB2aXN1YWwgKHNvbG8gcGFyYSBib3R0b20pIC0tPlxuICAgIDxkaXYgXG4gICAgICAqbmdJZj1cInNob3dIYW5kbGUgJiYgcG9zaXRpb24gPT09ICdib3R0b20nXCIgXG4gICAgICBjbGFzcz1cIm14LWF1dG8gbWItNCBtdC0yIGgtMSB3LTEwIHJvdW5kZWQtZnVsbCBiZy1ib3JkZXJcIj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gSGVhZGVyIChvcGNpb25hbCkgLS0+XG4gICAgPGRpdiAqbmdJZj1cInRpdGxlIHx8IGRlc2NyaXB0aW9uIHx8IHNob3dDbG9zZUJ1dHRvblwiIGNsYXNzPVwiZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LWJldHdlZW4gZ2FwLTQgcC02IHBiLTRcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ0aXRsZSB8fCBkZXNjcmlwdGlvblwiIGNsYXNzPVwiZmxleC0xIG1pbi13LTBcIj5cbiAgICAgICAgPGgzICpuZ0lmPVwidGl0bGVcIiBjbGFzcz1cIm0tMCB0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0IHRleHQtZm9yZWdyb3VuZFwiPlxuICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cIm0tMCBtdC0xIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XG4gICAgICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTYgdy02IGZsZXgtc2hyaW5rLTAgYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtc20gYm9yZGVyLTAgYmctdHJhbnNwYXJlbnQgcC0wIHRleHQtZm9yZWdyb3VuZCBvcGFjaXR5LTcwIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgdHJhbnNpdGlvbi1vcGFjaXR5IGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1yaW5nIGZvY3VzOnJpbmctb2Zmc2V0LTJcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZSBkcmF3ZXJcIlxuICAgICAgPlxuICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtNCB3LTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTYgNkwxOCAxOE0xOCA2TDYgMThcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJweC02IHBiLTZcIj5cbiAgICAgIDwhLS0gQ29udGVuaWRvIGdlbsOpcmljbyAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0xlZ2FjeUNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gTEVHQUNZOiBjb250ZW5pZG8gZXNwZWPDrWZpY28gaGFyZGNvZGVhZG8gKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dMZWdhY3lDb250ZW50XCI+XG4gICAgICAgIDwhLS0gVmFyaWFudDogZHJhd2VyIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwidmFyaWFudCA9PT0gJ2RyYXdlcidcIiBjbGFzcz1cIm14LWF1dG8gZmxleCBtYXgtdy1zbSBmbGV4LWNvbCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwidmFsdWUgIT09ICcnXCIgY2xhc3M9XCJtdC0zIGZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTYgdy02IGFwcGVhcmFuY2Utbm9uZSBib3gtYm9yZGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItYm9yZGVyIGJnLXRyYW5zcGFyZW50IHAtMCB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj57eyBkZWNyZW1lbnRMYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTV4bCBmb250LXNlbWlib2xkIGxlYWRpbmctbm9uZSB0ZXh0LWZvcmVncm91bmRcIj57eyB2YWx1ZSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidW5pdFwiIGNsYXNzPVwibXQtMSB0ZXh0LXhzIHRyYWNraW5nLXdpZGUgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+e3sgdW5pdCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtNiB3LTYgYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1ib3JkZXIgYmctdHJhbnNwYXJlbnQgcC0wIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPnt7IGluY3JlbWVudExhYmVsIH19PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFycy5sZW5ndGhcIiBjbGFzcz1cIm10LTMgZmxleCBoLTE0IHctZnVsbCBpdGVtcy1lbmQgZ2FwLTFcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJhciBvZiBiYXJzXCIgY2xhc3M9XCJmbGV4LTEgYmctZm9yZWdyb3VuZFwiIFtzdHlsZS5oZWlnaHQucHhdPVwiYmFyXCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwicHJpbWFyeUxhYmVsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibXQtMyBoLTkgdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBib3gtYm9yZGVyIHJvdW5kZWQtbWQgYmctcHJpbWFyeSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIgKGNsaWNrKT1cIm9uUHJpbWFyeUFjdGlvbigpXCI+e3sgcHJpbWFyeUxhYmVsIH19PC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNlY29uZGFyeUxhYmVsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibXQtMiBoLTkgdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBib3gtYm9yZGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZFwiIChjbGljayk9XCJvblNlY29uZGFyeUFjdGlvbigpXCI+e3sgc2Vjb25kYXJ5TGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBWYXJpYW50OiByZXNwb25zaXZlLWRpYWxvZyAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cInZhcmlhbnQgPT09ICdyZXNwb25zaXZlLWRpYWxvZydcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibmFtZUxhYmVsICYmIG5hbWVWYWx1ZVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWItMSBibG9jayB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZFwiPnt7IG5hbWVMYWJlbCB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC04IHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItYm9yZGVyIGJnLWJhY2tncm91bmQgcHgtMiBweS0xIHRleHQteHMgdGV4dC1mb3JlZ3JvdW5kXCI+e3sgbmFtZVZhbHVlIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJuYW1lTGFiZWwgJiYgdXNlcm5hbWVWYWx1ZVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWItMSBibG9jayB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZFwiPnt7IHVzZXJuYW1lTGFiZWwgfX08L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtOCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHB4LTIgcHktMSB0ZXh0LXhzIHRleHQtZm9yZWdyb3VuZFwiPnt7IHVzZXJuYW1lVmFsdWUgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJyZXNwb25zaXZlUHJpbWFyeUxhYmVsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibXQtMyBoLTggdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBib3gtYm9yZGVyIHJvdW5kZWQtbWQgYmctcHJpbWFyeSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIgKGNsaWNrKT1cIm9uUHJpbWFyeUFjdGlvbigpXCI+e3sgcmVzcG9uc2l2ZVByaW1hcnlMYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG48L2Rpdj5cbiJdfQ==