pdm-ui-kit 0.1.4 → 0.1.6

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 (402) hide show
  1. package/esm2020/lib/components/accordion/accordion.component.mjs +42 -0
  2. package/esm2020/lib/components/alert/alert.component.mjs +35 -0
  3. package/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +69 -0
  4. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/aspect-ratio/aspect-ratio.component.mjs +4 -4
  5. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/avatar/avatar.component.mjs +5 -5
  6. package/esm2020/lib/components/badge/badge.component.mjs +23 -0
  7. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +29 -0
  8. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/button/button.component.mjs +4 -4
  9. package/esm2020/lib/components/button-group/button-group.component.mjs +23 -0
  10. package/esm2020/lib/components/calendar/calendar.component.mjs +71 -0
  11. package/esm2020/lib/components/card/card.component.mjs +65 -0
  12. package/esm2020/lib/components/carousel/carousel.component.mjs +97 -0
  13. package/esm2020/lib/components/chart/chart.component.mjs +174 -0
  14. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/checkbox/checkbox.component.mjs +5 -5
  15. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/collapsible/collapsible.component.mjs +5 -5
  16. package/esm2020/lib/components/combobox/combobox.component.mjs +51 -0
  17. package/esm2020/lib/components/command/command.component.mjs +75 -0
  18. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/context-menu/context-menu.component.mjs +5 -5
  19. package/esm2020/lib/components/data-table/data-table.component.mjs +89 -0
  20. package/esm2020/lib/components/date-picker/date-picker.component.mjs +63 -0
  21. package/esm2020/lib/components/dialog/dialog.component.mjs +90 -0
  22. package/esm2020/lib/components/drawer/drawer.component.mjs +72 -0
  23. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/dropdown-menu/dropdown-menu.component.mjs +5 -5
  24. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/empty/empty.component.mjs +4 -4
  25. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/field/field.component.mjs +4 -4
  26. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/hover-card/hover-card.component.mjs +5 -5
  27. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/icon/icon.component.mjs +4 -4
  28. package/esm2020/lib/components/input/input.component.mjs +71 -0
  29. package/esm2020/lib/components/input-group/input-group.component.mjs +63 -0
  30. package/esm2020/lib/components/input-otp/input-otp.component.mjs +140 -0
  31. package/esm2020/lib/components/input-password/input-password.component.mjs +78 -0
  32. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/item/item.component.mjs +4 -4
  33. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/kbd/kbd.component.mjs +4 -4
  34. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/label/label.component.mjs +4 -4
  35. package/esm2020/lib/components/menubar/menubar.component.mjs +37 -0
  36. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/native-select/native-select.component.mjs +5 -5
  37. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/navigation-menu/navigation-menu.component.mjs +4 -4
  38. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/pagination/pagination.component.mjs +5 -5
  39. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/popover/popover.component.mjs +5 -5
  40. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/progress/progress.component.mjs +4 -4
  41. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/radio-group/radio-group.component.mjs +4 -4
  42. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/scroll-area/scroll-area.component.mjs +4 -4
  43. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/select/select.component.mjs +5 -5
  44. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/separator/separator.component.mjs +4 -4
  45. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/sheet/sheet.component.mjs +5 -5
  46. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/sidebar/sidebar.component.mjs +4 -4
  47. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/skeleton/skeleton.component.mjs +4 -4
  48. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/slider/slider.component.mjs +5 -5
  49. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/sonner/sonner.component.mjs +4 -4
  50. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/spinner/spinner.component.mjs +4 -4
  51. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/switch/switch.component.mjs +5 -5
  52. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/table/table.component.mjs +4 -4
  53. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/tabs/tabs.component.mjs +5 -5
  54. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/textarea/textarea.component.mjs +5 -5
  55. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/toggle/toggle.component.mjs +4 -4
  56. package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/toggle-group/toggle-group.component.mjs +4 -4
  57. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/tooltip/tooltip.component.mjs +4 -4
  58. package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/pdm-ui-kit.module.mjs +5 -5
  59. package/fesm2015/pdm-ui-kit.mjs +2998 -0
  60. package/fesm2015/pdm-ui-kit.mjs.map +1 -0
  61. package/fesm2020/pdm-ui-kit.mjs +2993 -0
  62. package/fesm2020/pdm-ui-kit.mjs.map +1 -0
  63. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/accordion/accordion.component.d.ts +1 -1
  64. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/alert/alert.component.d.ts +2 -2
  65. package/{dist/pdm-ui-kit/lib → lib}/components/alert-dialog/alert-dialog.component.d.ts +1 -1
  66. package/{dist/pdm-ui-kit/lib → lib}/components/aspect-ratio/aspect-ratio.component.d.ts +1 -1
  67. package/{dist/pdm-ui-kit/lib → lib}/components/avatar/avatar.component.d.ts +2 -2
  68. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/badge/badge.component.d.ts +2 -2
  69. package/{dist/pdm-ui-kit/lib → lib}/components/breadcrumb/breadcrumb.component.d.ts +2 -2
  70. package/{dist/pdm-ui-kit/lib → lib}/components/button/button.component.d.ts +4 -4
  71. package/{dist/pdm-ui-kit/lib → lib}/components/button-group/button-group.component.d.ts +2 -2
  72. package/{dist/pdm-ui-kit/lib → lib}/components/calendar/calendar.component.d.ts +2 -2
  73. package/{dist/pdm-ui-kit/lib → lib}/components/card/card.component.d.ts +2 -2
  74. package/{dist/pdm-ui-kit/lib → lib}/components/carousel/carousel.component.d.ts +2 -2
  75. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/chart/chart.component.d.ts +2 -2
  76. package/{dist/pdm-ui-kit/lib → lib}/components/checkbox/checkbox.component.d.ts +2 -2
  77. package/{dist/pdm-ui-kit/lib → lib}/components/collapsible/collapsible.component.d.ts +1 -1
  78. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/combobox/combobox.component.d.ts +1 -1
  79. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/command/command.component.d.ts +1 -1
  80. package/{dist/pdm-ui-kit/lib → lib}/components/context-menu/context-menu.component.d.ts +1 -1
  81. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/data-table/data-table.component.d.ts +1 -1
  82. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/date-picker/date-picker.component.d.ts +2 -2
  83. package/{dist/pdm-ui-kit/lib → lib}/components/dialog/dialog.component.d.ts +2 -2
  84. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/drawer/drawer.component.d.ts +2 -2
  85. package/{dist/pdm-ui-kit/lib → lib}/components/dropdown-menu/dropdown-menu.component.d.ts +2 -2
  86. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/empty/empty.component.d.ts +2 -2
  87. package/{dist/pdm-ui-kit/lib → lib}/components/field/field.component.d.ts +3 -3
  88. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/hover-card/hover-card.component.d.ts +3 -3
  89. package/lib/components/icon/icon.component.d.ts +18 -0
  90. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/input/input.component.d.ts +5 -1
  91. package/{dist/pdm-ui-kit/lib → lib}/components/input-group/input-group.component.d.ts +1 -1
  92. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/input-otp/input-otp.component.d.ts +1 -1
  93. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/input-password/input-password.component.d.ts +4 -1
  94. package/{dist/pdm-ui-kit/lib → lib}/components/item/item.component.d.ts +1 -1
  95. package/{dist/pdm-ui-kit/lib → lib}/components/kbd/kbd.component.d.ts +1 -1
  96. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/label/label.component.d.ts +1 -1
  97. package/{dist/pdm-ui-kit/lib → lib}/components/menubar/menubar.component.d.ts +2 -1
  98. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/native-select/native-select.component.d.ts +1 -1
  99. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/navigation-menu/navigation-menu.component.d.ts +1 -1
  100. package/{dist/pdm-ui-kit/lib → lib}/components/pagination/pagination.component.d.ts +1 -1
  101. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/popover/popover.component.d.ts +1 -1
  102. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/progress/progress.component.d.ts +1 -1
  103. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/radio-group/radio-group.component.d.ts +1 -1
  104. package/{dist/pdm-ui-kit/lib → lib}/components/scroll-area/scroll-area.component.d.ts +1 -1
  105. package/{dist/pdm-ui-kit/lib → lib}/components/select/select.component.d.ts +1 -1
  106. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/separator/separator.component.d.ts +1 -1
  107. package/{dist/pdm-ui-kit/lib → lib}/components/sheet/sheet.component.d.ts +2 -2
  108. package/{dist/pdm-ui-kit/lib → lib}/components/sidebar/sidebar.component.d.ts +1 -1
  109. package/{dist/pdm-ui-kit/lib → lib}/components/skeleton/skeleton.component.d.ts +1 -1
  110. package/{dist/pdm-ui-kit/lib → lib}/components/slider/slider.component.d.ts +1 -1
  111. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/sonner/sonner.component.d.ts +2 -2
  112. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/spinner/spinner.component.d.ts +1 -1
  113. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/switch/switch.component.d.ts +1 -1
  114. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/table/table.component.d.ts +1 -1
  115. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/tabs/tabs.component.d.ts +1 -1
  116. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/textarea/textarea.component.d.ts +1 -1
  117. package/{dist/pdm-ui-kit/lib → lib}/components/toggle/toggle.component.d.ts +2 -2
  118. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/toggle-group/toggle-group.component.d.ts +1 -1
  119. package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/tooltip/tooltip.component.d.ts +1 -1
  120. package/package.json +22 -15
  121. package/dist/corelusa-pdm-ui-kit/README.md +0 -79
  122. package/dist/corelusa-pdm-ui-kit/esm2020/corelusa-pdm-ui-kit.mjs +0 -5
  123. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/accordion/accordion.component.mjs +0 -42
  124. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/alert/alert.component.mjs +0 -35
  125. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +0 -69
  126. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/avatar/avatar.component.mjs +0 -46
  127. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/badge/badge.component.mjs +0 -23
  128. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -29
  129. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/button/button.component.mjs +0 -82
  130. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/button-group/button-group.component.mjs +0 -23
  131. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/calendar/calendar.component.mjs +0 -71
  132. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/card/card.component.mjs +0 -65
  133. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/carousel/carousel.component.mjs +0 -97
  134. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/chart/chart.component.mjs +0 -174
  135. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/checkbox/checkbox.component.mjs +0 -47
  136. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/combobox/combobox.component.mjs +0 -51
  137. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/command/command.component.mjs +0 -75
  138. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/data-table/data-table.component.mjs +0 -89
  139. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/date-picker/date-picker.component.mjs +0 -63
  140. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/dialog/dialog.component.mjs +0 -90
  141. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/drawer/drawer.component.mjs +0 -72
  142. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/empty/empty.component.mjs +0 -58
  143. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/field/field.component.mjs +0 -52
  144. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/input/input.component.mjs +0 -65
  145. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/input-group/input-group.component.mjs +0 -54
  146. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -140
  147. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/input-password/input-password.component.mjs +0 -72
  148. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/item/item.component.mjs +0 -23
  149. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/label/label.component.mjs +0 -23
  150. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/menubar/menubar.component.mjs +0 -31
  151. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/native-select/native-select.component.mjs +0 -42
  152. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/navigation-menu/navigation-menu.component.mjs +0 -20
  153. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/pagination/pagination.component.mjs +0 -47
  154. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/popover/popover.component.mjs +0 -58
  155. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/progress/progress.component.mjs +0 -33
  156. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/radio-group/radio-group.component.mjs +0 -38
  157. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/select/select.component.mjs +0 -38
  158. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/separator/separator.component.mjs +0 -26
  159. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/sidebar/sidebar.component.mjs +0 -20
  160. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/slider/slider.component.mjs +0 -46
  161. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/table/table.component.mjs +0 -17
  162. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/tabs/tabs.component.mjs +0 -31
  163. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/toggle/toggle.component.mjs +0 -41
  164. package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -33
  165. package/dist/corelusa-pdm-ui-kit/esm2020/lib/pdm-ui-kit.module.mjs +0 -245
  166. package/dist/corelusa-pdm-ui-kit/fesm2015/corelusa-pdm-ui-kit.mjs +0 -2959
  167. package/dist/corelusa-pdm-ui-kit/fesm2015/corelusa-pdm-ui-kit.mjs.map +0 -1
  168. package/dist/corelusa-pdm-ui-kit/fesm2020/corelusa-pdm-ui-kit.mjs +0 -2954
  169. package/dist/corelusa-pdm-ui-kit/fesm2020/corelusa-pdm-ui-kit.mjs.map +0 -1
  170. package/dist/corelusa-pdm-ui-kit/index.d.ts +0 -5
  171. package/dist/corelusa-pdm-ui-kit/lib/components/alert-dialog/alert-dialog.component.d.ts +0 -21
  172. package/dist/corelusa-pdm-ui-kit/lib/components/aspect-ratio/aspect-ratio.component.d.ts +0 -10
  173. package/dist/corelusa-pdm-ui-kit/lib/components/avatar/avatar.component.d.ts +0 -20
  174. package/dist/corelusa-pdm-ui-kit/lib/components/breadcrumb/breadcrumb.component.d.ts +0 -10
  175. package/dist/corelusa-pdm-ui-kit/lib/components/button/button.component.d.ts +0 -24
  176. package/dist/corelusa-pdm-ui-kit/lib/components/button-group/button-group.component.d.ts +0 -9
  177. package/dist/corelusa-pdm-ui-kit/lib/components/calendar/calendar.component.d.ts +0 -28
  178. package/dist/corelusa-pdm-ui-kit/lib/components/card/card.component.d.ts +0 -24
  179. package/dist/corelusa-pdm-ui-kit/lib/components/carousel/carousel.component.d.ts +0 -25
  180. package/dist/corelusa-pdm-ui-kit/lib/components/checkbox/checkbox.component.d.ts +0 -17
  181. package/dist/corelusa-pdm-ui-kit/lib/components/collapsible/collapsible.component.d.ts +0 -14
  182. package/dist/corelusa-pdm-ui-kit/lib/components/context-menu/context-menu.component.d.ts +0 -26
  183. package/dist/corelusa-pdm-ui-kit/lib/components/dialog/dialog.component.d.ts +0 -30
  184. package/dist/corelusa-pdm-ui-kit/lib/components/dropdown-menu/dropdown-menu.component.d.ts +0 -34
  185. package/dist/corelusa-pdm-ui-kit/lib/components/field/field.component.d.ts +0 -18
  186. package/dist/corelusa-pdm-ui-kit/lib/components/icon/icon.component.d.ts +0 -18
  187. package/dist/corelusa-pdm-ui-kit/lib/components/input-group/input-group.component.d.ts +0 -19
  188. package/dist/corelusa-pdm-ui-kit/lib/components/item/item.component.d.ts +0 -8
  189. package/dist/corelusa-pdm-ui-kit/lib/components/kbd/kbd.component.d.ts +0 -6
  190. package/dist/corelusa-pdm-ui-kit/lib/components/menubar/menubar.component.d.ts +0 -17
  191. package/dist/corelusa-pdm-ui-kit/lib/components/pagination/pagination.component.d.ts +0 -13
  192. package/dist/corelusa-pdm-ui-kit/lib/components/scroll-area/scroll-area.component.d.ts +0 -7
  193. package/dist/corelusa-pdm-ui-kit/lib/components/select/select.component.d.ts +0 -19
  194. package/dist/corelusa-pdm-ui-kit/lib/components/sheet/sheet.component.d.ts +0 -13
  195. package/dist/corelusa-pdm-ui-kit/lib/components/sidebar/sidebar.component.d.ts +0 -7
  196. package/dist/corelusa-pdm-ui-kit/lib/components/skeleton/skeleton.component.d.ts +0 -6
  197. package/dist/corelusa-pdm-ui-kit/lib/components/slider/slider.component.d.ts +0 -15
  198. package/dist/corelusa-pdm-ui-kit/lib/components/toggle/toggle.component.d.ts +0 -14
  199. package/dist/corelusa-pdm-ui-kit/package.json +0 -47
  200. package/dist/pdm-ui-kit/README.md +0 -128
  201. package/dist/pdm-ui-kit/esm2020/lib/components/accordion/accordion.component.mjs +0 -42
  202. package/dist/pdm-ui-kit/esm2020/lib/components/alert/alert.component.mjs +0 -35
  203. package/dist/pdm-ui-kit/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +0 -69
  204. package/dist/pdm-ui-kit/esm2020/lib/components/aspect-ratio/aspect-ratio.component.mjs +0 -31
  205. package/dist/pdm-ui-kit/esm2020/lib/components/badge/badge.component.mjs +0 -23
  206. package/dist/pdm-ui-kit/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -29
  207. package/dist/pdm-ui-kit/esm2020/lib/components/button-group/button-group.component.mjs +0 -23
  208. package/dist/pdm-ui-kit/esm2020/lib/components/calendar/calendar.component.mjs +0 -71
  209. package/dist/pdm-ui-kit/esm2020/lib/components/card/card.component.mjs +0 -65
  210. package/dist/pdm-ui-kit/esm2020/lib/components/carousel/carousel.component.mjs +0 -97
  211. package/dist/pdm-ui-kit/esm2020/lib/components/chart/chart.component.mjs +0 -174
  212. package/dist/pdm-ui-kit/esm2020/lib/components/collapsible/collapsible.component.mjs +0 -43
  213. package/dist/pdm-ui-kit/esm2020/lib/components/combobox/combobox.component.mjs +0 -51
  214. package/dist/pdm-ui-kit/esm2020/lib/components/command/command.component.mjs +0 -75
  215. package/dist/pdm-ui-kit/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -78
  216. package/dist/pdm-ui-kit/esm2020/lib/components/data-table/data-table.component.mjs +0 -89
  217. package/dist/pdm-ui-kit/esm2020/lib/components/date-picker/date-picker.component.mjs +0 -63
  218. package/dist/pdm-ui-kit/esm2020/lib/components/dialog/dialog.component.mjs +0 -90
  219. package/dist/pdm-ui-kit/esm2020/lib/components/drawer/drawer.component.mjs +0 -72
  220. package/dist/pdm-ui-kit/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -120
  221. package/dist/pdm-ui-kit/esm2020/lib/components/hover-card/hover-card.component.mjs +0 -44
  222. package/dist/pdm-ui-kit/esm2020/lib/components/icon/icon.component.mjs +0 -94
  223. package/dist/pdm-ui-kit/esm2020/lib/components/input/input.component.mjs +0 -65
  224. package/dist/pdm-ui-kit/esm2020/lib/components/input-group/input-group.component.mjs +0 -63
  225. package/dist/pdm-ui-kit/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -140
  226. package/dist/pdm-ui-kit/esm2020/lib/components/input-password/input-password.component.mjs +0 -72
  227. package/dist/pdm-ui-kit/esm2020/lib/components/kbd/kbd.component.mjs +0 -17
  228. package/dist/pdm-ui-kit/esm2020/lib/components/menubar/menubar.component.mjs +0 -31
  229. package/dist/pdm-ui-kit/esm2020/lib/components/scroll-area/scroll-area.component.mjs +0 -20
  230. package/dist/pdm-ui-kit/esm2020/lib/components/sheet/sheet.component.mjs +0 -39
  231. package/dist/pdm-ui-kit/esm2020/lib/components/skeleton/skeleton.component.mjs +0 -17
  232. package/dist/pdm-ui-kit/esm2020/lib/components/sonner/sonner.component.mjs +0 -39
  233. package/dist/pdm-ui-kit/esm2020/lib/components/spinner/spinner.component.mjs +0 -20
  234. package/dist/pdm-ui-kit/esm2020/lib/components/switch/switch.component.mjs +0 -35
  235. package/dist/pdm-ui-kit/esm2020/lib/components/textarea/textarea.component.mjs +0 -59
  236. package/dist/pdm-ui-kit/esm2020/lib/components/toggle-group/toggle-group.component.mjs +0 -31
  237. package/dist/pdm-ui-kit/esm2020/public-api.mjs +0 -59
  238. package/dist/pdm-ui-kit/fesm2015/pdm-ui-kit.mjs +0 -2980
  239. package/dist/pdm-ui-kit/fesm2015/pdm-ui-kit.mjs.map +0 -1
  240. package/dist/pdm-ui-kit/fesm2020/pdm-ui-kit.mjs +0 -2975
  241. package/dist/pdm-ui-kit/fesm2020/pdm-ui-kit.mjs.map +0 -1
  242. package/dist/pdm-ui-kit/lib/components/accordion/accordion.component.d.ts +0 -19
  243. package/dist/pdm-ui-kit/lib/components/alert/alert.component.d.ts +0 -13
  244. package/dist/pdm-ui-kit/lib/components/badge/badge.component.d.ts +0 -9
  245. package/dist/pdm-ui-kit/lib/components/chart/chart.component.d.ts +0 -41
  246. package/dist/pdm-ui-kit/lib/components/combobox/combobox.component.d.ts +0 -18
  247. package/dist/pdm-ui-kit/lib/components/command/command.component.d.ts +0 -33
  248. package/dist/pdm-ui-kit/lib/components/data-table/data-table.component.d.ts +0 -36
  249. package/dist/pdm-ui-kit/lib/components/date-picker/date-picker.component.d.ts +0 -23
  250. package/dist/pdm-ui-kit/lib/components/drawer/drawer.component.d.ts +0 -27
  251. package/dist/pdm-ui-kit/lib/components/empty/empty.component.d.ts +0 -19
  252. package/dist/pdm-ui-kit/lib/components/hover-card/hover-card.component.d.ts +0 -14
  253. package/dist/pdm-ui-kit/lib/components/icon/icon.component.d.ts +0 -18
  254. package/dist/pdm-ui-kit/lib/components/input/input.component.d.ts +0 -23
  255. package/dist/pdm-ui-kit/lib/components/input-otp/input-otp.component.d.ts +0 -26
  256. package/dist/pdm-ui-kit/lib/components/input-password/input-password.component.d.ts +0 -25
  257. package/dist/pdm-ui-kit/lib/components/label/label.component.d.ts +0 -8
  258. package/dist/pdm-ui-kit/lib/components/native-select/native-select.component.d.ts +0 -20
  259. package/dist/pdm-ui-kit/lib/components/navigation-menu/navigation-menu.component.d.ts +0 -12
  260. package/dist/pdm-ui-kit/lib/components/popover/popover.component.d.ts +0 -17
  261. package/dist/pdm-ui-kit/lib/components/progress/progress.component.d.ts +0 -10
  262. package/dist/pdm-ui-kit/lib/components/radio-group/radio-group.component.d.ts +0 -19
  263. package/dist/pdm-ui-kit/lib/components/separator/separator.component.d.ts +0 -9
  264. package/dist/pdm-ui-kit/lib/components/sonner/sonner.component.d.ts +0 -13
  265. package/dist/pdm-ui-kit/lib/components/spinner/spinner.component.d.ts +0 -7
  266. package/dist/pdm-ui-kit/lib/components/switch/switch.component.d.ts +0 -13
  267. package/dist/pdm-ui-kit/lib/components/table/table.component.d.ts +0 -6
  268. package/dist/pdm-ui-kit/lib/components/tabs/tabs.component.d.ts +0 -16
  269. package/dist/pdm-ui-kit/lib/components/textarea/textarea.component.d.ts +0 -21
  270. package/dist/pdm-ui-kit/lib/components/toggle-group/toggle-group.component.d.ts +0 -16
  271. package/dist/pdm-ui-kit/lib/components/tooltip/tooltip.component.d.ts +0 -10
  272. package/dist/pdm-ui-kit/lib/pdm-ui-kit.module.d.ts +0 -64
  273. package/dist/pdm-ui-kit/package.json +0 -44
  274. package/dist/pdm-ui-kit/public-api.d.ts +0 -58
  275. package/ng-package.json +0 -8
  276. package/pdm-ui-kit-0.1.1.tgz +0 -0
  277. package/pdm-ui-kit-0.1.2.tgz +0 -0
  278. package/pdm-ui-kit-0.1.3.tgz +0 -0
  279. package/pdm-ui-kit-0.1.4.tgz +0 -0
  280. package/src/lib/components/accordion/accordion.component.html +0 -34
  281. package/src/lib/components/accordion/accordion.component.ts +0 -38
  282. package/src/lib/components/alert/alert.component.html +0 -52
  283. package/src/lib/components/alert/alert.component.ts +0 -25
  284. package/src/lib/components/alert-dialog/alert-dialog.component.html +0 -41
  285. package/src/lib/components/alert-dialog/alert-dialog.component.ts +0 -45
  286. package/src/lib/components/aspect-ratio/aspect-ratio.component.html +0 -11
  287. package/src/lib/components/aspect-ratio/aspect-ratio.component.ts +0 -18
  288. package/src/lib/components/avatar/avatar.component.html +0 -21
  289. package/src/lib/components/avatar/avatar.component.ts +0 -32
  290. package/src/lib/components/badge/badge.component.html +0 -28
  291. package/src/lib/components/badge/badge.component.ts +0 -23
  292. package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -39
  293. package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -26
  294. package/src/lib/components/button/button.component.html +0 -15
  295. package/src/lib/components/button/button.component.ts +0 -84
  296. package/src/lib/components/button-group/button-group.component.html +0 -39
  297. package/src/lib/components/button-group/button-group.component.ts +0 -15
  298. package/src/lib/components/calendar/calendar.component.html +0 -73
  299. package/src/lib/components/calendar/calendar.component.ts +0 -78
  300. package/src/lib/components/card/card.component.html +0 -77
  301. package/src/lib/components/card/card.component.ts +0 -39
  302. package/src/lib/components/carousel/carousel.component.html +0 -86
  303. package/src/lib/components/carousel/carousel.component.ts +0 -100
  304. package/src/lib/components/chart/chart.component.html +0 -143
  305. package/src/lib/components/chart/chart.component.ts +0 -147
  306. package/src/lib/components/checkbox/checkbox.component.html +0 -38
  307. package/src/lib/components/checkbox/checkbox.component.ts +0 -32
  308. package/src/lib/components/collapsible/collapsible.component.html +0 -26
  309. package/src/lib/components/collapsible/collapsible.component.ts +0 -29
  310. package/src/lib/components/combobox/combobox.component.html +0 -42
  311. package/src/lib/components/combobox/combobox.component.ts +0 -32
  312. package/src/lib/components/command/command.component.html +0 -55
  313. package/src/lib/components/command/command.component.ts +0 -67
  314. package/src/lib/components/context-menu/context-menu.component.html +0 -47
  315. package/src/lib/components/context-menu/context-menu.component.ts +0 -67
  316. package/src/lib/components/data-table/data-table.component.html +0 -63
  317. package/src/lib/components/data-table/data-table.component.ts +0 -78
  318. package/src/lib/components/date-picker/date-picker.component.html +0 -38
  319. package/src/lib/components/date-picker/date-picker.component.ts +0 -38
  320. package/src/lib/components/dialog/dialog.component.html +0 -78
  321. package/src/lib/components/dialog/dialog.component.ts +0 -55
  322. package/src/lib/components/drawer/drawer.component.html +0 -56
  323. package/src/lib/components/drawer/drawer.component.ts +0 -43
  324. package/src/lib/components/dropdown-menu/dropdown-menu.component.html +0 -56
  325. package/src/lib/components/dropdown-menu/dropdown-menu.component.ts +0 -126
  326. package/src/lib/components/empty/empty.component.html +0 -29
  327. package/src/lib/components/empty/empty.component.ts +0 -35
  328. package/src/lib/components/field/field.component.html +0 -26
  329. package/src/lib/components/field/field.component.ts +0 -42
  330. package/src/lib/components/hover-card/hover-card.component.html +0 -24
  331. package/src/lib/components/hover-card/hover-card.component.ts +0 -36
  332. package/src/lib/components/icon/icon.component.html +0 -286
  333. package/src/lib/components/icon/icon.component.ts +0 -133
  334. package/src/lib/components/input/input.component.html +0 -25
  335. package/src/lib/components/input/input.component.ts +0 -33
  336. package/src/lib/components/input-group/input-group.component.html +0 -59
  337. package/src/lib/components/input-group/input-group.component.ts +0 -32
  338. package/src/lib/components/input-otp/input-otp.component.html +0 -25
  339. package/src/lib/components/input-otp/input-otp.component.ts +0 -146
  340. package/src/lib/components/input-password/input-password.component.html +0 -66
  341. package/src/lib/components/input-password/input-password.component.ts +0 -46
  342. package/src/lib/components/item/item.component.html +0 -10
  343. package/src/lib/components/item/item.component.ts +0 -12
  344. package/src/lib/components/kbd/kbd.component.html +0 -3
  345. package/src/lib/components/kbd/kbd.component.ts +0 -10
  346. package/src/lib/components/label/label.component.html +0 -7
  347. package/src/lib/components/label/label.component.ts +0 -12
  348. package/src/lib/components/menubar/menubar.component.html +0 -16
  349. package/src/lib/components/menubar/menubar.component.ts +0 -29
  350. package/src/lib/components/native-select/native-select.component.html +0 -17
  351. package/src/lib/components/native-select/native-select.component.ts +0 -28
  352. package/src/lib/components/navigation-menu/navigation-menu.component.html +0 -15
  353. package/src/lib/components/navigation-menu/navigation-menu.component.ts +0 -17
  354. package/src/lib/components/pagination/pagination.component.html +0 -30
  355. package/src/lib/components/pagination/pagination.component.ts +0 -37
  356. package/src/lib/components/popover/popover.component.html +0 -6
  357. package/src/lib/components/popover/popover.component.ts +0 -40
  358. package/src/lib/components/progress/progress.component.html +0 -9
  359. package/src/lib/components/progress/progress.component.ts +0 -20
  360. package/src/lib/components/radio-group/radio-group.component.html +0 -25
  361. package/src/lib/components/radio-group/radio-group.component.ts +0 -30
  362. package/src/lib/components/scroll-area/scroll-area.component.html +0 -5
  363. package/src/lib/components/scroll-area/scroll-area.component.ts +0 -11
  364. package/src/lib/components/select/select.component.html +0 -14
  365. package/src/lib/components/select/select.component.ts +0 -27
  366. package/src/lib/components/separator/separator.component.html +0 -5
  367. package/src/lib/components/separator/separator.component.ts +0 -16
  368. package/src/lib/components/sheet/sheet.component.html +0 -10
  369. package/src/lib/components/sheet/sheet.component.ts +0 -28
  370. package/src/lib/components/sidebar/sidebar.component.html +0 -3
  371. package/src/lib/components/sidebar/sidebar.component.ts +0 -11
  372. package/src/lib/components/skeleton/skeleton.component.html +0 -1
  373. package/src/lib/components/skeleton/skeleton.component.ts +0 -10
  374. package/src/lib/components/slider/slider.component.html +0 -15
  375. package/src/lib/components/slider/slider.component.ts +0 -31
  376. package/src/lib/components/sonner/sonner.component.html +0 -10
  377. package/src/lib/components/sonner/sonner.component.ts +0 -25
  378. package/src/lib/components/spinner/spinner.component.html +0 -6
  379. package/src/lib/components/spinner/spinner.component.ts +0 -11
  380. package/src/lib/components/switch/switch.component.html +0 -14
  381. package/src/lib/components/switch/switch.component.ts +0 -20
  382. package/src/lib/components/table/table.component.html +0 -5
  383. package/src/lib/components/table/table.component.ts +0 -10
  384. package/src/lib/components/tabs/tabs.component.html +0 -21
  385. package/src/lib/components/tabs/tabs.component.ts +0 -26
  386. package/src/lib/components/textarea/textarea.component.html +0 -21
  387. package/src/lib/components/textarea/textarea.component.ts +0 -28
  388. package/src/lib/components/toggle/toggle.component.html +0 -16
  389. package/src/lib/components/toggle/toggle.component.ts +0 -29
  390. package/src/lib/components/toggle-group/toggle-group.component.html +0 -17
  391. package/src/lib/components/toggle-group/toggle-group.component.ts +0 -26
  392. package/src/lib/components/tooltip/tooltip.component.html +0 -6
  393. package/src/lib/components/tooltip/tooltip.component.ts +0 -20
  394. package/src/lib/pdm-ui-kit.module.ts +0 -126
  395. package/src/public-api.ts +0 -58
  396. package/tsconfig.json +0 -30
  397. package/tsconfig.lib.json +0 -17
  398. /package/{dist/pdm-ui-kit/esm2020 → esm2020}/pdm-ui-kit.mjs +0 -0
  399. /package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/public-api.mjs +0 -0
  400. /package/{dist/pdm-ui-kit/index.d.ts → index.d.ts} +0 -0
  401. /package/{dist/corelusa-pdm-ui-kit/lib → lib}/pdm-ui-kit.module.d.ts +0 -0
  402. /package/{dist/corelusa-pdm-ui-kit/public-api.d.ts → public-api.d.ts} +0 -0
@@ -51,11 +51,11 @@ export class PdmContextMenuComponent {
51
51
  }
52
52
  }
53
53
  }
54
- PdmContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
55
- PdmContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmContextMenuComponent, selector: "pdm-context-menu", inputs: { items: "items", className: "className", triggerLabel: "triggerLabel", width: "width", height: "height" }, outputs: { itemSelect: "itemSelect" }, host: { listeners: { "document:keydown.escape": "onEsc()", "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div class=\"relative\" [ngClass]=\"className\" (contextmenu)=\"onContextMenu($event)\">\n <div\n class=\"flex items-center justify-center rounded-[8px] border border-dashed border-[#e5e5e5]\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n >\n <span class=\"text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ triggerLabel }}</span>\n </div>\n\n <div\n *ngIf=\"open\"\n class=\"fixed z-50 w-[208px] rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0_2px_4px_-2px_rgba(0,0,0,0.1),0_4px_6px_-1px_rgba(0,0,0,0.1)]\"\n [style.left.px]=\"x + 4\"\n [style.top.px]=\"y + 2\"\n >\n <div class=\"px-1 pt-1\">\n <ng-container *ngFor=\"let item of items\">\n <div *ngIf=\"item.type === 'separator'\" class=\"my-1 border-t border-[#e5e5e5]\"></div>\n\n <div *ngIf=\"item.type === 'label'\" class=\"h-8 px-8 py-[6px] text-[14px] font-semibold leading-5 text-[#0a0a0a]\">\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"flex h-8 w-full items-center rounded-[6px] py-[6px] pr-2 text-left disabled:opacity-50\"\n [ngClass]=\"item.inset ? 'pl-8' : 'px-2'\"\n (click)=\"select(item)\"\n >\n <span class=\"mr-2 inline-flex w-4 shrink-0 items-center justify-center text-[#0a0a0a]\">\n <svg *ngIf=\"item.checked\" viewBox=\"0 0 24 24\" class=\"h-3.5 w-3.5\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12.5L9.2 16.7L19 7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span *ngIf=\"item.selectedDot\" class=\"h-2 w-2 rounded-full bg-[#0a0a0a]\"></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate text-[14px] leading-5 text-[#0a0a0a]\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-[12px] leading-4 text-[#737373]\">{{ item.shortcut }}</span>\n <svg *ngIf=\"item.showChevron\" viewBox=\"0 0 24 24\" class=\"h-3.5 w-3.5 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 6L15 12L9 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </ng-container>\n </div>\n </div>\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 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmContextMenuComponent, decorators: [{
54
+ PdmContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
55
+ PdmContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmContextMenuComponent, selector: "pdm-context-menu", inputs: { items: "items", className: "className", triggerLabel: "triggerLabel", width: "width", height: "height" }, outputs: { itemSelect: "itemSelect" }, host: { listeners: { "document:keydown.escape": "onEsc()", "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div class=\"relative\" [ngClass]=\"className\" (contextmenu)=\"onContextMenu($event)\">\n <div\n class=\"flex items-center justify-center rounded-[8px] border border-dashed border-[hsl(var(--border))]\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n >\n <span class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ triggerLabel }}</span>\n </div>\n\n <div\n *ngIf=\"open\"\n class=\"fixed z-50 w-[208px] rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] shadow-md\"\n [style.left.px]=\"x + 4\"\n [style.top.px]=\"y + 2\"\n >\n <div class=\"px-1 pt-1\">\n <ng-container *ngFor=\"let item of items\">\n <div *ngIf=\"item.type === 'separator'\" class=\"my-1 border-t border-[hsl(var(--border))]\"></div>\n\n <div *ngIf=\"item.type === 'label'\" class=\"h-8 px-8 py-[6px] text-[14px] font-semibold leading-5 text-[hsl(var(--foreground))]\">\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"flex h-8 w-full items-center rounded-[6px] py-[6px] pr-2 text-left disabled:opacity-50\"\n [ngClass]=\"item.inset ? 'pl-8' : 'px-2'\"\n (click)=\"select(item)\"\n >\n <span class=\"mr-2 inline-flex w-4 shrink-0 items-center justify-center text-[hsl(var(--foreground))]\">\n <svg *ngIf=\"item.checked\" viewBox=\"0 0 24 24\" class=\"h-3.5 w-3.5\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12.5L9.2 16.7L19 7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span *ngIf=\"item.selectedDot\" class=\"h-2 w-2 rounded-full bg-[hsl(var(--foreground))]\"></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate text-[14px] leading-5 text-[hsl(var(--foreground))]\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-[12px] leading-4 text-[hsl(var(--muted-foreground))]\">{{ item.shortcut }}</span>\n <svg *ngIf=\"item.showChevron\" viewBox=\"0 0 24 24\" class=\"h-3.5 w-3.5 text-[hsl(var(--foreground))]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 6L15 12L9 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </ng-container>\n </div>\n </div>\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 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmContextMenuComponent, decorators: [{
57
57
  type: Component,
58
- args: [{ selector: 'pdm-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\" [ngClass]=\"className\" (contextmenu)=\"onContextMenu($event)\">\n <div\n class=\"flex items-center justify-center rounded-[8px] border border-dashed border-[#e5e5e5]\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n >\n <span class=\"text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ triggerLabel }}</span>\n </div>\n\n <div\n *ngIf=\"open\"\n class=\"fixed z-50 w-[208px] rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0_2px_4px_-2px_rgba(0,0,0,0.1),0_4px_6px_-1px_rgba(0,0,0,0.1)]\"\n [style.left.px]=\"x + 4\"\n [style.top.px]=\"y + 2\"\n >\n <div class=\"px-1 pt-1\">\n <ng-container *ngFor=\"let item of items\">\n <div *ngIf=\"item.type === 'separator'\" class=\"my-1 border-t border-[#e5e5e5]\"></div>\n\n <div *ngIf=\"item.type === 'label'\" class=\"h-8 px-8 py-[6px] text-[14px] font-semibold leading-5 text-[#0a0a0a]\">\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"flex h-8 w-full items-center rounded-[6px] py-[6px] pr-2 text-left disabled:opacity-50\"\n [ngClass]=\"item.inset ? 'pl-8' : 'px-2'\"\n (click)=\"select(item)\"\n >\n <span class=\"mr-2 inline-flex w-4 shrink-0 items-center justify-center text-[#0a0a0a]\">\n <svg *ngIf=\"item.checked\" viewBox=\"0 0 24 24\" class=\"h-3.5 w-3.5\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12.5L9.2 16.7L19 7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span *ngIf=\"item.selectedDot\" class=\"h-2 w-2 rounded-full bg-[#0a0a0a]\"></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate text-[14px] leading-5 text-[#0a0a0a]\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-[12px] leading-4 text-[#737373]\">{{ item.shortcut }}</span>\n <svg *ngIf=\"item.showChevron\" viewBox=\"0 0 24 24\" class=\"h-3.5 w-3.5 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 6L15 12L9 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
58
+ args: [{ selector: 'pdm-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\" [ngClass]=\"className\" (contextmenu)=\"onContextMenu($event)\">\n <div\n class=\"flex items-center justify-center rounded-[8px] border border-dashed border-[hsl(var(--border))]\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n >\n <span class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ triggerLabel }}</span>\n </div>\n\n <div\n *ngIf=\"open\"\n class=\"fixed z-50 w-[208px] rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] shadow-md\"\n [style.left.px]=\"x + 4\"\n [style.top.px]=\"y + 2\"\n >\n <div class=\"px-1 pt-1\">\n <ng-container *ngFor=\"let item of items\">\n <div *ngIf=\"item.type === 'separator'\" class=\"my-1 border-t border-[hsl(var(--border))]\"></div>\n\n <div *ngIf=\"item.type === 'label'\" class=\"h-8 px-8 py-[6px] text-[14px] font-semibold leading-5 text-[hsl(var(--foreground))]\">\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"flex h-8 w-full items-center rounded-[6px] py-[6px] pr-2 text-left disabled:opacity-50\"\n [ngClass]=\"item.inset ? 'pl-8' : 'px-2'\"\n (click)=\"select(item)\"\n >\n <span class=\"mr-2 inline-flex w-4 shrink-0 items-center justify-center text-[hsl(var(--foreground))]\">\n <svg *ngIf=\"item.checked\" viewBox=\"0 0 24 24\" class=\"h-3.5 w-3.5\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12.5L9.2 16.7L19 7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span *ngIf=\"item.selectedDot\" class=\"h-2 w-2 rounded-full bg-[hsl(var(--foreground))]\"></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate text-[14px] leading-5 text-[hsl(var(--foreground))]\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-[12px] leading-4 text-[hsl(var(--muted-foreground))]\">{{ item.shortcut }}</span>\n <svg *ngIf=\"item.showChevron\" viewBox=\"0 0 24 24\" class=\"h-3.5 w-3.5 text-[hsl(var(--foreground))]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 6L15 12L9 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
59
59
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { items: [{
60
60
  type: Input
61
61
  }], className: [{
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
75
75
  type: HostListener,
76
76
  args: ['document:click', ['$event']]
77
77
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFhMUgsTUFBTSxPQUFPLHVCQUF1QjtJQXlCbEMsWUFBNkIsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUF4QnZELFVBQUssR0FBeUI7WUFDckMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDM0UsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNqRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUMvRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFB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QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBkbU1lbnVJdGVtIH0gZnJvbSAnLi4vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRtQ29udGV4dE1lbnVJdGVtIGV4dGVuZHMgUGRtTWVudUl0ZW0ge1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgc2VsZWN0ZWREb3Q/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUNvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IFBkbUNvbnRleHRNZW51SXRlbVtdID0gW1xuICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ0JhY2snLCB2YWx1ZTogJ2JhY2snLCBpbnNldDogdHJ1ZSwgc2hvcnRjdXQ6ICfijJhbJyB9LFxuICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ0ZvcndhcmQnLCB2YWx1ZTogJ2ZvcndhcmQnLCBpbnNldDogdHJ1ZSwgc2hvcnRjdXQ6ICfijJhdJywgZGlzYWJsZWQ6IHRydWUgfSxcbiAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdSZWxvYWQnLCB2YWx1ZTogJ3JlbG9hZCcsIGluc2V0OiB0cnVlLCBzaG9ydGN1dDogJ+KMmFInIH0sXG4gICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnTW9yZSBUb29scycsIHZhbHVlOiAnbW9yZS10b29scycsIGluc2V0OiB0cnVlLCBzaG93Q2hldnJvbjogdHJ1ZSB9LFxuICAgIHsgdHlwZTogJ3NlcGFyYXRvcicgfSxcbiAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdTaG93IEJvb2ttYXJrcyBCYXInLCB2YWx1ZTogJ3Nob3ctYm9va21hcmtzJywgY2hlY2tlZDogdHJ1ZSB9LFxuICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ1Nob3cgRnVsbCBVUkxzJywgdmFsdWU6ICdzaG93LXVybHMnLCBpbnNldDogdHJ1ZSB9LFxuICAgIHsgdHlwZTogJ3NlcGFyYXRvcicgfSxcbiAgICB7IHR5cGU6ICdsYWJlbCcsIGxhYmVsOiAnUGVvcGxlJyB9LFxuICAgIHsgdHlwZTogJ3NlcGFyYXRvcicgfSxcbiAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdQZWRybyBEdWFydGUnLCB2YWx1ZTogJ3BlZHJvJywgc2VsZWN0ZWREb3Q6IHRydWUgfSxcbiAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdDb2xtIFR1aXRlJywgdmFsdWU6ICdjb2xtJywgaW5zZXQ6IHRydWUgfVxuICBdO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgdHJpZ2dlckxhYmVsID0gJ1JpZ2h0IGNsaWNrIGhlcmUnO1xuICBASW5wdXQoKSB3aWR0aCA9IDMwMDtcbiAgQElucHV0KCkgaGVpZ2h0ID0gMTUwO1xuICBAT3V0cHV0KCkgaXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG9wZW4gPSBmYWxzZTtcbiAgeCA9IDA7XG4gIHkgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgb25Db250ZXh0TWVudShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy54ID0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLnkgPSBldmVudC5jbGllbnRZO1xuICAgIHRoaXMub3BlbiA9IHRydWU7XG4gIH1cblxuICBzZWxlY3QoaXRlbTogUGRtQ29udGV4dE1lbnVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0uZGlzYWJsZWQgfHwgaXRlbS50eXBlID09PSAnc2VwYXJhdG9yJyB8fCBpdGVtLnR5cGUgPT09ICdsYWJlbCcgfHwgIWl0ZW0udmFsdWUpIHJldHVybjtcbiAgICB0aGlzLml0ZW1TZWxlY3QuZW1pdChpdGVtLnZhbHVlKTtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJylcbiAgb25Fc2MoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcGVuKSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGUgfCBudWxsO1xuICAgIGlmICh0YXJnZXQgJiYgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlXCIgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCIgKGNvbnRleHRtZW51KT1cIm9uQ29udGV4dE1lbnUoJGV2ZW50KVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItZGFzaGVkIGJvcmRlci1bI2U1ZTVlNV1cIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1bIzBhMGEwYV1cIj57eyB0cmlnZ2VyTGFiZWwgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIm9wZW5cIlxuICAgIGNsYXNzPVwiZml4ZWQgei01MCB3LVsyMDhweF0gcm91bmRlZC1bOHB4XSBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBiZy13aGl0ZSBzaGFkb3ctWzBfMnB4XzRweF8tMnB4X3JnYmEoMCwwLDAsMC4xKSwwXzRweF82cHhfLTFweF9yZ2JhKDAsMCwwLDAuMSldXCJcbiAgICBbc3R5bGUubGVmdC5weF09XCJ4ICsgNFwiXG4gICAgW3N0eWxlLnRvcC5weF09XCJ5ICsgMlwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicHgtMSBwdC0xXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdzZXBhcmF0b3InXCIgY2xhc3M9XCJteS0xIGJvcmRlci10IGJvcmRlci1bI2U1ZTVlNV1cIj48L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS50eXBlID09PSAnbGFiZWwnXCIgY2xhc3M9XCJoLTggcHgtOCBweS1bNnB4XSB0ZXh0LVsxNHB4XSBmb250LXNlbWlib2xkIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXVwiPlxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT09ICdpdGVtJ1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwiZmxleCBoLTggdy1mdWxsIGl0ZW1zLWNlbnRlciByb3VuZGVkLVs2cHhdIHB5LVs2cHhdIHByLTIgdGV4dC1sZWZ0IGRpc2FibGVkOm9wYWNpdHktNTBcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uaW5zZXQgPyAncGwtOCcgOiAncHgtMidcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoaXRlbSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtci0yIGlubGluZS1mbGV4IHctNCBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1bIzBhMGEwYV1cIj5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJpdGVtLmNoZWNrZWRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTMuNSB3LTMuNVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgMTIuNUw5LjIgMTYuN0wxOSA3XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS44XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2VsZWN0ZWREb3RcIiBjbGFzcz1cImgtMiB3LTIgcm91bmRlZC1mdWxsIGJnLVsjMGEwYTBhXVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4tdy0wIGZsZXgtMSB0cnVuY2F0ZSB0ZXh0LVsxNHB4XSBsZWFkaW5nLTUgdGV4dC1bIzBhMGEwYV1cIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwidGV4dC1bMTJweF0gbGVhZGluZy00IHRleHQtWyM3MzczNzNdXCI+e3sgaXRlbS5zaG9ydGN1dCB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXRlbS5zaG93Q2hldnJvblwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtMy41IHctMy41IHRleHQtWyMwYTBhMGFdXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTkgNkwxNSAxMkw5IDE4XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFhMUgsTUFBTSxPQUFPLHVCQUF1QjtJQXlCbEMsWUFBNkIsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUF4QnZELFVBQUssR0FBeUI7WUFDckMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDM0UsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNqRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUMvRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFB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QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBkbU1lbnVJdGVtIH0gZnJvbSAnLi4vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRtQ29udGV4dE1lbnVJdGVtIGV4dGVuZHMgUGRtTWVudUl0ZW0ge1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgc2VsZWN0ZWREb3Q/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUNvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IFBkbUNvbnRleHRNZW51SXRlbVtdID0gW1xuICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ0JhY2snLCB2YWx1ZTogJ2JhY2snLCBpbnNldDogdHJ1ZSwgc2hvcnRjdXQ6ICfijJhbJyB9LFxuICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ0ZvcndhcmQnLCB2YWx1ZTogJ2ZvcndhcmQnLCBpbnNldDogdHJ1ZSwgc2hvcnRjdXQ6ICfijJhdJywgZGlzYWJsZWQ6IHRydWUgfSxcbiAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdSZWxvYWQnLCB2YWx1ZTogJ3JlbG9hZCcsIGluc2V0OiB0cnVlLCBzaG9ydGN1dDogJ+KMmFInIH0sXG4gICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnTW9yZSBUb29scycsIHZhbHVlOiAnbW9yZS10b29scycsIGluc2V0OiB0cnVlLCBzaG93Q2hldnJvbjogdHJ1ZSB9LFxuICAgIHsgdHlwZTogJ3NlcGFyYXRvcicgfSxcbiAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdTaG93IEJvb2ttYXJrcyBCYXInLCB2YWx1ZTogJ3Nob3ctYm9va21hcmtzJywgY2hlY2tlZDogdHJ1ZSB9LFxuICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ1Nob3cgRnVsbCBVUkxzJywgdmFsdWU6ICdzaG93LXVybHMnLCBpbnNldDogdHJ1ZSB9LFxuICAgIHsgdHlwZTogJ3NlcGFyYXRvcicgfSxcbiAgICB7IHR5cGU6ICdsYWJlbCcsIGxhYmVsOiAnUGVvcGxlJyB9LFxuICAgIHsgdHlwZTogJ3NlcGFyYXRvcicgfSxcbiAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdQZWRybyBEdWFydGUnLCB2YWx1ZTogJ3BlZHJvJywgc2VsZWN0ZWREb3Q6IHRydWUgfSxcbiAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdDb2xtIFR1aXRlJywgdmFsdWU6ICdjb2xtJywgaW5zZXQ6IHRydWUgfVxuICBdO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgdHJpZ2dlckxhYmVsID0gJ1JpZ2h0IGNsaWNrIGhlcmUnO1xuICBASW5wdXQoKSB3aWR0aCA9IDMwMDtcbiAgQElucHV0KCkgaGVpZ2h0ID0gMTUwO1xuICBAT3V0cHV0KCkgaXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG9wZW4gPSBmYWxzZTtcbiAgeCA9IDA7XG4gIHkgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgb25Db250ZXh0TWVudShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy54ID0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLnkgPSBldmVudC5jbGllbnRZO1xuICAgIHRoaXMub3BlbiA9IHRydWU7XG4gIH1cblxuICBzZWxlY3QoaXRlbTogUGRtQ29udGV4dE1lbnVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0uZGlzYWJsZWQgfHwgaXRlbS50eXBlID09PSAnc2VwYXJhdG9yJyB8fCBpdGVtLnR5cGUgPT09ICdsYWJlbCcgfHwgIWl0ZW0udmFsdWUpIHJldHVybjtcbiAgICB0aGlzLml0ZW1TZWxlY3QuZW1pdChpdGVtLnZhbHVlKTtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJylcbiAgb25Fc2MoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcGVuKSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGUgfCBudWxsO1xuICAgIGlmICh0YXJnZXQgJiYgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlXCIgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCIgKGNvbnRleHRtZW51KT1cIm9uQ29udGV4dE1lbnUoJGV2ZW50KVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItZGFzaGVkIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXVwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IHRyaWdnZXJMYWJlbCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwib3BlblwiXG4gICAgY2xhc3M9XCJmaXhlZCB6LTUwIHctWzIwOHB4XSByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHNoYWRvdy1tZFwiXG4gICAgW3N0eWxlLmxlZnQucHhdPVwieCArIDRcIlxuICAgIFtzdHlsZS50b3AucHhdPVwieSArIDJcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInB4LTEgcHQtMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS50eXBlID09PSAnc2VwYXJhdG9yJ1wiIGNsYXNzPVwibXktMSBib3JkZXItdCBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV1cIj48L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS50eXBlID09PSAnbGFiZWwnXCIgY2xhc3M9XCJoLTggcHgtOCBweS1bNnB4XSB0ZXh0LVsxNHB4XSBmb250LXNlbWlib2xkIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPlxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT09ICdpdGVtJ1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwiZmxleCBoLTggdy1mdWxsIGl0ZW1zLWNlbnRlciByb3VuZGVkLVs2cHhdIHB5LVs2cHhdIHByLTIgdGV4dC1sZWZ0IGRpc2FibGVkOm9wYWNpdHktNTBcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uaW5zZXQgPyAncGwtOCcgOiAncHgtMidcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoaXRlbSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtci0yIGlubGluZS1mbGV4IHctNCBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJpdGVtLmNoZWNrZWRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTMuNSB3LTMuNVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgMTIuNUw5LjIgMTYuN0wxOSA3XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS44XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2VsZWN0ZWREb3RcIiBjbGFzcz1cImgtMiB3LTIgcm91bmRlZC1mdWxsIGJnLVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4tdy0wIGZsZXgtMSB0cnVuY2F0ZSB0ZXh0LVsxNHB4XSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwidGV4dC1bMTJweF0gbGVhZGluZy00IHRleHQtW2hzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSldXCI+e3sgaXRlbS5zaG9ydGN1dCB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXRlbS5zaG93Q2hldnJvblwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtMy41IHctMy41IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTkgNkwxNSAxMkw5IDE4XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,89 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmDataTableComponent {
5
+ constructor() {
6
+ this.className = '';
7
+ this.filterPlaceholder = 'Filter emails...';
8
+ this.columnsLabel = 'Columns';
9
+ this.rows = [
10
+ { id: '1', status: 'Success', email: 'ken99@yahoo.com', amount: '$316.00' },
11
+ { id: '2', status: 'Success', email: 'abe45@gmail.com', amount: '$242.00' },
12
+ { id: '3', status: 'Processing', email: 'monserrat44@gmail.com', amount: '$837.00' },
13
+ { id: '4', status: 'Success', email: 'silas22@gmail.com', amount: '$874.00' },
14
+ { id: '5', status: 'Failed', email: 'carmella@hotmail.com', amount: '$721.00' }
15
+ ];
16
+ this.page = 1;
17
+ this.pageSize = 5;
18
+ this.query = '';
19
+ this.queryChange = new EventEmitter();
20
+ this.rowAction = new EventEmitter();
21
+ this.pageChange = new EventEmitter();
22
+ this.selectionChange = new EventEmitter();
23
+ }
24
+ get filteredRows() {
25
+ const q = this.query.trim().toLowerCase();
26
+ if (!q)
27
+ return this.rows;
28
+ return this.rows.filter((r) => r.email.toLowerCase().includes(q));
29
+ }
30
+ get pagedRows() {
31
+ const start = (this.page - 1) * this.pageSize;
32
+ return this.filteredRows.slice(start, start + this.pageSize);
33
+ }
34
+ get totalPages() {
35
+ return Math.max(1, Math.ceil(this.filteredRows.length / this.pageSize));
36
+ }
37
+ get selectedCount() {
38
+ return this.rows.filter((row) => row.selected).length;
39
+ }
40
+ onQueryInput(event) {
41
+ const value = event.target.value;
42
+ this.queryChange.emit(value);
43
+ }
44
+ onToggleRow(row, event) {
45
+ this.selectionChange.emit({ id: row.id, selected: event.target.checked });
46
+ }
47
+ previous() {
48
+ if (this.page <= 1)
49
+ return;
50
+ this.pageChange.emit(this.page - 1);
51
+ }
52
+ next() {
53
+ if (this.page >= this.totalPages)
54
+ return;
55
+ this.pageChange.emit(this.page + 1);
56
+ }
57
+ onAction(row) {
58
+ this.rowAction.emit(row.id);
59
+ }
60
+ }
61
+ PdmDataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
+ PdmDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDataTableComponent, selector: "pdm-data-table", inputs: { className: "className", filterPlaceholder: "filterPlaceholder", columnsLabel: "columnsLabel", rows: "rows", page: "page", pageSize: "pageSize", query: "query" }, outputs: { queryChange: "queryChange", rowAction: "rowAction", pageChange: "pageChange", selectionChange: "selectionChange" }, ngImport: i0, template: "<section [ngClass]=\"['flex w-[590px] flex-col items-end', className]\">\n <div class=\"flex w-full items-center justify-between py-4\">\n <input\n type=\"text\"\n [placeholder]=\"filterPlaceholder\"\n [value]=\"query\"\n (input)=\"onQueryInput($event)\"\n class=\"h-9 w-[384px] rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--foreground))] shadow-sm placeholder:text-[hsl(var(--muted-foreground))] outline-none\"\n />\n\n <button type=\"button\" class=\"inline-flex h-9 items-center gap-2 rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-2 shadow-sm\">\n <span class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ columnsLabel }}</span>\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[hsl(var(--foreground))]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <div class=\"w-full overflow-hidden rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))]\">\n <table class=\"w-full border-collapse text-[14px] leading-5 text-[hsl(var(--foreground))]\">\n <thead>\n <tr class=\"border-b border-[hsl(var(--border))]\">\n <th class=\"w-[32px] px-2 text-left font-medium\"><input type=\"checkbox\" class=\"h-4 w-4 rounded-[4px] border border-[hsl(var(--border))]\" /></th>\n <th class=\"w-[120px] px-2 py-2 text-left font-medium\">Status</th>\n <th class=\"w-[270px] px-2 py-2 text-left font-medium\">\n <button type=\"button\" class=\"inline-flex items-center gap-1 rounded-[6px] px-3 py-2\">\n <span>Email</span>\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 6L4 10L8 14M16 18L20 14L16 10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </th>\n <th class=\"w-[100px] px-2 py-2 text-right font-medium\">Amount</th>\n <th class=\"px-2 py-2\"></th>\n </tr>\n </thead>\n\n <tbody>\n <tr *ngFor=\"let row of pagedRows\" class=\"border-b border-[hsl(var(--border))] last:border-b-0\">\n <td class=\"px-2 py-2\"><input type=\"checkbox\" [checked]=\"row.selected\" (change)=\"onToggleRow(row, $event)\" class=\"h-4 w-4 rounded-[4px] border border-[hsl(var(--border))]\" /></td>\n <td class=\"px-2 py-2\">{{ row.status }}</td>\n <td class=\"px-2 py-2\">{{ row.email }}</td>\n <td class=\"px-2 py-2 text-right\">{{ row.amount }}</td>\n <td class=\"px-2 py-2\">\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center\" (click)=\"onAction(row)\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"6\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"18\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n </svg>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"flex w-full items-center gap-2 py-4\">\n <p class=\"flex-1 pr-2 text-[14px] leading-5 text-[hsl(var(--muted-foreground))]\">{{ selectedCount }} of {{ rows.length }} row(s) selected.</p>\n <button type=\"button\" class=\"h-9 rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-4 text-[14px] font-medium text-[hsl(var(--foreground))] shadow-sm disabled:opacity-50\" [disabled]=\"page <= 1\" (click)=\"previous()\">Previous</button>\n <button type=\"button\" class=\"h-9 rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-4 text-[14px] font-medium text-[hsl(var(--foreground))] shadow-sm disabled:opacity-50\" [disabled]=\"page >= totalPages\" (click)=\"next()\">Next</button>\n </div>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDataTableComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'pdm-data-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section [ngClass]=\"['flex w-[590px] flex-col items-end', className]\">\n <div class=\"flex w-full items-center justify-between py-4\">\n <input\n type=\"text\"\n [placeholder]=\"filterPlaceholder\"\n [value]=\"query\"\n (input)=\"onQueryInput($event)\"\n class=\"h-9 w-[384px] rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--foreground))] shadow-sm placeholder:text-[hsl(var(--muted-foreground))] outline-none\"\n />\n\n <button type=\"button\" class=\"inline-flex h-9 items-center gap-2 rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-2 shadow-sm\">\n <span class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ columnsLabel }}</span>\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[hsl(var(--foreground))]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <div class=\"w-full overflow-hidden rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))]\">\n <table class=\"w-full border-collapse text-[14px] leading-5 text-[hsl(var(--foreground))]\">\n <thead>\n <tr class=\"border-b border-[hsl(var(--border))]\">\n <th class=\"w-[32px] px-2 text-left font-medium\"><input type=\"checkbox\" class=\"h-4 w-4 rounded-[4px] border border-[hsl(var(--border))]\" /></th>\n <th class=\"w-[120px] px-2 py-2 text-left font-medium\">Status</th>\n <th class=\"w-[270px] px-2 py-2 text-left font-medium\">\n <button type=\"button\" class=\"inline-flex items-center gap-1 rounded-[6px] px-3 py-2\">\n <span>Email</span>\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 6L4 10L8 14M16 18L20 14L16 10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </th>\n <th class=\"w-[100px] px-2 py-2 text-right font-medium\">Amount</th>\n <th class=\"px-2 py-2\"></th>\n </tr>\n </thead>\n\n <tbody>\n <tr *ngFor=\"let row of pagedRows\" class=\"border-b border-[hsl(var(--border))] last:border-b-0\">\n <td class=\"px-2 py-2\"><input type=\"checkbox\" [checked]=\"row.selected\" (change)=\"onToggleRow(row, $event)\" class=\"h-4 w-4 rounded-[4px] border border-[hsl(var(--border))]\" /></td>\n <td class=\"px-2 py-2\">{{ row.status }}</td>\n <td class=\"px-2 py-2\">{{ row.email }}</td>\n <td class=\"px-2 py-2 text-right\">{{ row.amount }}</td>\n <td class=\"px-2 py-2\">\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center\" (click)=\"onAction(row)\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"6\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"18\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n </svg>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"flex w-full items-center gap-2 py-4\">\n <p class=\"flex-1 pr-2 text-[14px] leading-5 text-[hsl(var(--muted-foreground))]\">{{ selectedCount }} of {{ rows.length }} row(s) selected.</p>\n <button type=\"button\" class=\"h-9 rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-4 text-[14px] font-medium text-[hsl(var(--foreground))] shadow-sm disabled:opacity-50\" [disabled]=\"page <= 1\" (click)=\"previous()\">Previous</button>\n <button type=\"button\" class=\"h-9 rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-4 text-[14px] font-medium text-[hsl(var(--foreground))] shadow-sm disabled:opacity-50\" [disabled]=\"page >= totalPages\" (click)=\"next()\">Next</button>\n </div>\n</section>\n" }]
66
+ }], propDecorators: { className: [{
67
+ type: Input
68
+ }], filterPlaceholder: [{
69
+ type: Input
70
+ }], columnsLabel: [{
71
+ type: Input
72
+ }], rows: [{
73
+ type: Input
74
+ }], page: [{
75
+ type: Input
76
+ }], pageSize: [{
77
+ type: Input
78
+ }], query: [{
79
+ type: Input
80
+ }], queryChange: [{
81
+ type: Output
82
+ }], rowAction: [{
83
+ type: Output
84
+ }], pageChange: [{
85
+ type: Output
86
+ }], selectionChange: [{
87
+ type: Output
88
+ }] } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBZWhHLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNVyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2Ysc0JBQWlCLEdBQUcsa0JBQWtCLENBQUM7UUFDdkMsaUJBQVksR0FBRyxTQUFTLENBQUM7UUFDekIsU0FBSSxHQUFzQjtZQUNqQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtZQUMzRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtZQUMzRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtZQUNwRixFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtZQUM3RSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVB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QUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFRRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBkbURhdGFUYWJsZVJvdyB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tZGF0YS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtRGF0YVRhYmxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBJbnB1dCgpIGZpbHRlclBsYWNlaG9sZGVyID0gJ0ZpbHRlciBlbWFpbHMuLi4nO1xuICBASW5wdXQoKSBjb2x1bW5zTGFiZWwgPSAnQ29sdW1ucyc7XG4gIEBJbnB1dCgpIHJvd3M6IFBkbURhdGFUYWJsZVJvd1tdID0gW1xuICAgIHsgaWQ6ICcxJywgc3RhdHVzOiAnU3VjY2VzcycsIGVtYWlsOiAna2VuOTlAeWFob28uY29tJywgYW1vdW50OiAnJDMxNi4wMCcgfSxcbiAgICB7IGlkOiAnMicsIHN0YXR1czogJ1N1Y2Nlc3MnLCBlbWFpbDogJ2FiZTQ1QGdtYWlsLmNvbScsIGFtb3VudDogJyQyNDIuMDAnIH0sXG4gICAgeyBpZDogJzMnLCBzdGF0dXM6ICdQcm9jZXNzaW5nJywgZW1haWw6ICdtb25zZXJyYXQ0NEBnbWFpbC5jb20nLCBhbW91bnQ6ICckODM3LjAwJyB9LFxuICAgIHsgaWQ6ICc0Jywgc3RhdHVzOiAnU3VjY2VzcycsIGVtYWlsOiAnc2lsYXMyMkBnbWFpbC5jb20nLCBhbW91bnQ6ICckODc0LjAwJyB9LFxuICAgIHsgaWQ6ICc1Jywgc3RhdHVzOiAnRmFpbGVkJywgZW1haWw6ICdjYXJtZWxsYUBob3RtYWlsLmNvbScsIGFtb3VudDogJyQ3MjEuMDAnIH1cbiAgXTtcblxuICBASW5wdXQoKSBwYWdlID0gMTtcbiAgQElucHV0KCkgcGFnZVNpemUgPSA1O1xuICBASW5wdXQoKSBxdWVyeSA9ICcnO1xuXG4gIEBPdXRwdXQoKSBxdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcm93QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaWQ6IHN0cmluZzsgc2VsZWN0ZWQ6IGJvb2xlYW4gfT4oKTtcblxuICBnZXQgZmlsdGVyZWRSb3dzKCk6IFBkbURhdGFUYWJsZVJvd1tdIHtcbiAgICBjb25zdCBxID0gdGhpcy5xdWVyeS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIXEpIHJldHVybiB0aGlzLnJvd3M7XG4gICAgcmV0dXJuIHRoaXMucm93cy5maWx0ZXIoKHIpID0+IHIuZW1haWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxKSk7XG4gIH1cblxuICBnZXQgcGFnZWRSb3dzKCk6IFBkbURhdGFUYWJsZVJvd1tdIHtcbiAgICBjb25zdCBzdGFydCA9ICh0aGlzLnBhZ2UgLSAxKSAqIHRoaXMucGFnZVNpemU7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRSb3dzLnNsaWNlKHN0YXJ0LCBzdGFydCArIHRoaXMucGFnZVNpemUpO1xuICB9XG5cbiAgZ2V0IHRvdGFsUGFnZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoMSwgTWF0aC5jZWlsKHRoaXMuZmlsdGVyZWRSb3dzLmxlbmd0aCAvIHRoaXMucGFnZVNpemUpKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucm93cy5maWx0ZXIoKHJvdykgPT4gcm93LnNlbGVjdGVkKS5sZW5ndGg7XG4gIH1cblxuICBvblF1ZXJ5SW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMucXVlcnlDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBvblRvZ2dsZVJvdyhyb3c6IFBkbURhdGFUYWJsZVJvdywgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh7IGlkOiByb3cuaWQsIHNlbGVjdGVkOiAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQgfSk7XG4gIH1cblxuICBwcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYWdlIDw9IDEpIHJldHVybjtcbiAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh0aGlzLnBhZ2UgLSAxKTtcbiAgfVxuXG4gIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFnZSA+PSB0aGlzLnRvdGFsUGFnZXMpIHJldHVybjtcbiAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh0aGlzLnBhZ2UgKyAxKTtcbiAgfVxuXG4gIG9uQWN0aW9uKHJvdzogUGRtRGF0YVRhYmxlUm93KTogdm9pZCB7XG4gICAgdGhpcy5yb3dBY3Rpb24uZW1pdChyb3cuaWQpO1xuICB9XG59XG4iLCI8c2VjdGlvbiBbbmdDbGFzc109XCJbJ2ZsZXggdy1bNTkwcHhdIGZsZXgtY29sIGl0ZW1zLWVuZCcsIGNsYXNzTmFtZV1cIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktNFwiPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImZpbHRlclBsYWNlaG9sZGVyXCJcbiAgICAgIFt2YWx1ZV09XCJxdWVyeVwiXG4gICAgICAoaW5wdXQpPVwib25RdWVyeUlucHV0KCRldmVudClcIlxuICAgICAgY2xhc3M9XCJoLTkgdy1bMzg0cHhdIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcHgtMyBweS0xIHRleHQtWzE2cHhdIGxlYWRpbmctNiB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBzaGFkb3ctc20gcGxhY2Vob2xkZXI6dGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV0gb3V0bGluZS1ub25lXCJcbiAgICAvPlxuXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgaXRlbXMtY2VudGVyIGdhcC0yIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcHgtMyBweS0yIHNoYWRvdy1zbVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyBjb2x1bW5zTGFiZWwgfX08L3NwYW4+XG4gICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtNCB3LTQgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGggZD1cIk03IDEwTDEyIDE1TDE3IDEwXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV1cIj5cbiAgICA8dGFibGUgY2xhc3M9XCJ3LWZ1bGwgYm9yZGVyLWNvbGxhcHNlIHRleHQtWzE0cHhdIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHIgY2xhc3M9XCJib3JkZXItYiBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV1cIj5cbiAgICAgICAgICA8dGggY2xhc3M9XCJ3LVszMnB4XSBweC0yIHRleHQtbGVmdCBmb250LW1lZGl1bVwiPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImgtNCB3LTQgcm91bmRlZC1bNHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldXCIgLz48L3RoPlxuICAgICAgICAgIDx0aCBjbGFzcz1cInctWzEyMHB4XSBweC0yIHB5LTIgdGV4dC1sZWZ0IGZvbnQtbWVkaXVtXCI+U3RhdHVzPC90aD5cbiAgICAgICAgICA8dGggY2xhc3M9XCJ3LVsyNzBweF0gcHgtMiBweS0yIHRleHQtbGVmdCBmb250LW1lZGl1bVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgcm91bmRlZC1bNnB4XSBweC0zIHB5LTJcIj5cbiAgICAgICAgICAgICAgPHNwYW4+RW1haWw8L3NwYW4+XG4gICAgICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiaC00IHctNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOCA2TDQgMTBMOCAxNE0xNiAxOEwyMCAxNEwxNiAxMFwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBjbGFzcz1cInctWzEwMHB4XSBweC0yIHB5LTIgdGV4dC1yaWdodCBmb250LW1lZGl1bVwiPkFtb3VudDwvdGg+XG4gICAgICAgICAgPHRoIGNsYXNzPVwicHgtMiBweS0yXCI+PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG5cbiAgICAgIDx0Ym9keT5cbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgcGFnZWRSb3dzXCIgY2xhc3M9XCJib3JkZXItYiBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gbGFzdDpib3JkZXItYi0wXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwicHgtMiBweS0yXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cInJvdy5zZWxlY3RlZFwiIChjaGFuZ2UpPVwib25Ub2dnbGVSb3cocm93LCAkZXZlbnQpXCIgY2xhc3M9XCJoLTQgdy00IHJvdW5kZWQtWzRweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXVwiIC8+PC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJweC0yIHB5LTJcIj57eyByb3cuc3RhdHVzIH19PC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJweC0yIHB5LTJcIj57eyByb3cuZW1haWwgfX08L3RkPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInB4LTIgcHktMiB0ZXh0LXJpZ2h0XCI+e3sgcm93LmFtb3VudCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwicHgtMiBweS0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCIgKGNsaWNrKT1cIm9uQWN0aW9uKHJvdylcIj5cbiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjZcIiBjeT1cIjEyXCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L2NpcmNsZT5cbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L2NpcmNsZT5cbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMThcIiBjeT1cIjEyXCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L2NpcmNsZT5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGdhcC0yIHB5LTRcIj5cbiAgICA8cCBjbGFzcz1cImZsZXgtMSBwci0yIHRleHQtWzE0cHhdIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXVwiPnt7IHNlbGVjdGVkQ291bnQgfX0gb2Yge3sgcm93cy5sZW5ndGggfX0gcm93KHMpIHNlbGVjdGVkLjwvcD5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImgtOSByb3VuZGVkLVsxMHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBweC00IHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIHNoYWRvdy1zbSBkaXNhYmxlZDpvcGFjaXR5LTUwXCIgW2Rpc2FibGVkXT1cInBhZ2UgPD0gMVwiIChjbGljayk9XCJwcmV2aW91cygpXCI+UHJldmlvdXM8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImgtOSByb3VuZGVkLVsxMHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBweC00IHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIHNoYWRvdy1zbSBkaXNhYmxlZDpvcGFjaXR5LTUwXCIgW2Rpc2FibGVkXT1cInBhZ2UgPj0gdG90YWxQYWdlc1wiIChjbGljayk9XCJuZXh0KClcIj5OZXh0PC9idXR0b24+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
@@ -0,0 +1,63 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../calendar/calendar.component";
5
+ export class PdmDatePickerComponent {
6
+ constructor() {
7
+ this.variant = 'default';
8
+ this.className = '';
9
+ this.open = false;
10
+ this.label = 'Date of Birth';
11
+ this.value = 'Select a date';
12
+ this.month = 6;
13
+ this.year = 2025;
14
+ this.selectedDay = 25;
15
+ this.time = '10:30:00';
16
+ this.naturalLanguageValue = 'In 2 days';
17
+ this.naturalLanguageHint = 'Your post will be published on June 21, 2025.';
18
+ this.openChange = new EventEmitter();
19
+ this.valueChange = new EventEmitter();
20
+ }
21
+ toggle() {
22
+ this.openChange.emit(!this.open);
23
+ }
24
+ selectPreset(value) {
25
+ this.valueChange.emit(value);
26
+ }
27
+ get monthLabel() {
28
+ return new Date(this.year, this.month - 1, 1).toLocaleString('en-US', { month: 'short' });
29
+ }
30
+ }
31
+ PdmDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ PdmDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDatePickerComponent, selector: "pdm-date-picker", inputs: { variant: "variant", className: "className", open: "open", label: "label", value: "value", month: "month", year: "year", selectedDay: "selectedDay", time: "time", naturalLanguageValue: "naturalLanguageValue", naturalLanguageHint: "naturalLanguageHint" }, outputs: { openChange: "openChange", valueChange: "valueChange" }, ngImport: i0, template: "<section [ngClass]=\"['flex flex-col gap-3', className]\" class=\"w-[250px]\">\n <label class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ label }}</label>\n\n <div class=\"flex items-center gap-2\" *ngIf=\"variant === 'date-time'\">\n <button type=\"button\" class=\"flex h-9 w-[150px] items-center justify-between rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 shadow-sm\" (click)=\"toggle()\">\n <span class=\"truncate text-[12px] leading-4 text-[hsl(var(--foreground))]\">{{ value }}</span>\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[hsl(var(--foreground))]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>\n </button>\n <div class=\"flex h-9 w-[92px] items-center rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[12px] leading-4 text-[hsl(var(--foreground))] shadow-sm\">{{ time }}</div>\n </div>\n\n <div *ngIf=\"variant !== 'date-time'\" class=\"flex flex-col gap-2\">\n <button type=\"button\" class=\"flex h-9 w-[192px] items-center justify-between rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 shadow-sm\" (click)=\"toggle()\">\n <span class=\"truncate text-[16px] leading-6 text-[hsl(var(--foreground))]\">{{ variant === 'natural-language' ? naturalLanguageValue : value }}</span>\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[hsl(var(--foreground))]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>\n </button>\n\n <p *ngIf=\"variant === 'natural-language'\" class=\"max-w-[192px] text-[12px] leading-4 text-[hsl(var(--muted-foreground))]\">{{ naturalLanguageHint }}</p>\n </div>\n\n <div *ngIf=\"open\" class=\"w-[250px] rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-3 shadow-sm\">\n <div class=\"mb-4 flex items-center justify-between\">\n <button type=\"button\" class=\"h-8 w-8 rounded-[6px] text-[hsl(var(--foreground))]\">\u2039</button>\n <div class=\"flex items-center gap-1.5\">\n <button type=\"button\" class=\"inline-flex h-8 items-center gap-1 rounded-[6px] border border-[hsl(var(--border))] px-2 text-[14px] font-medium text-[hsl(var(--foreground))] shadow-sm\">{{ monthLabel }} <span>\u02C5</span></button>\n <button type=\"button\" class=\"inline-flex h-8 items-center gap-1 rounded-[6px] border border-[hsl(var(--border))] px-2 text-[14px] font-medium text-[hsl(var(--foreground))] shadow-sm\">{{ year }} <span>\u02C5</span></button>\n </div>\n <button type=\"button\" class=\"h-8 w-8 rounded-[6px] text-[hsl(var(--foreground))]\">\u203A</button>\n </div>\n\n <pdm-calendar [month]=\"month\" [year]=\"year\" [selectedDay]=\"selectedDay\" mode=\"single\"></pdm-calendar>\n\n <div *ngIf=\"variant === 'with-input' || variant === 'natural-language'\" class=\"mt-3 flex gap-2\">\n <button type=\"button\" class=\"h-8 rounded-[8px] border border-[hsl(var(--border))] px-3 text-[12px] text-[hsl(var(--foreground))]\" (click)=\"selectPreset('Today')\">Today</button>\n <button type=\"button\" class=\"h-8 rounded-[8px] border border-[hsl(var(--border))] px-3 text-[12px] text-[hsl(var(--foreground))]\" (click)=\"selectPreset('Tomorrow')\">Tomorrow</button>\n </div>\n </div>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PdmCalendarComponent, selector: "pdm-calendar", inputs: ["mode", "month", "year", "selectedDay", "rangeStartDay", "rangeEndDay", "className"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDatePickerComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'pdm-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section [ngClass]=\"['flex flex-col gap-3', className]\" class=\"w-[250px]\">\n <label class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ label }}</label>\n\n <div class=\"flex items-center gap-2\" *ngIf=\"variant === 'date-time'\">\n <button type=\"button\" class=\"flex h-9 w-[150px] items-center justify-between rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 shadow-sm\" (click)=\"toggle()\">\n <span class=\"truncate text-[12px] leading-4 text-[hsl(var(--foreground))]\">{{ value }}</span>\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[hsl(var(--foreground))]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>\n </button>\n <div class=\"flex h-9 w-[92px] items-center rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[12px] leading-4 text-[hsl(var(--foreground))] shadow-sm\">{{ time }}</div>\n </div>\n\n <div *ngIf=\"variant !== 'date-time'\" class=\"flex flex-col gap-2\">\n <button type=\"button\" class=\"flex h-9 w-[192px] items-center justify-between rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 shadow-sm\" (click)=\"toggle()\">\n <span class=\"truncate text-[16px] leading-6 text-[hsl(var(--foreground))]\">{{ variant === 'natural-language' ? naturalLanguageValue : value }}</span>\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[hsl(var(--foreground))]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>\n </button>\n\n <p *ngIf=\"variant === 'natural-language'\" class=\"max-w-[192px] text-[12px] leading-4 text-[hsl(var(--muted-foreground))]\">{{ naturalLanguageHint }}</p>\n </div>\n\n <div *ngIf=\"open\" class=\"w-[250px] rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-3 shadow-sm\">\n <div class=\"mb-4 flex items-center justify-between\">\n <button type=\"button\" class=\"h-8 w-8 rounded-[6px] text-[hsl(var(--foreground))]\">\u2039</button>\n <div class=\"flex items-center gap-1.5\">\n <button type=\"button\" class=\"inline-flex h-8 items-center gap-1 rounded-[6px] border border-[hsl(var(--border))] px-2 text-[14px] font-medium text-[hsl(var(--foreground))] shadow-sm\">{{ monthLabel }} <span>\u02C5</span></button>\n <button type=\"button\" class=\"inline-flex h-8 items-center gap-1 rounded-[6px] border border-[hsl(var(--border))] px-2 text-[14px] font-medium text-[hsl(var(--foreground))] shadow-sm\">{{ year }} <span>\u02C5</span></button>\n </div>\n <button type=\"button\" class=\"h-8 w-8 rounded-[6px] text-[hsl(var(--foreground))]\">\u203A</button>\n </div>\n\n <pdm-calendar [month]=\"month\" [year]=\"year\" [selectedDay]=\"selectedDay\" mode=\"single\"></pdm-calendar>\n\n <div *ngIf=\"variant === 'with-input' || variant === 'natural-language'\" class=\"mt-3 flex gap-2\">\n <button type=\"button\" class=\"h-8 rounded-[8px] border border-[hsl(var(--border))] px-3 text-[12px] text-[hsl(var(--foreground))]\" (click)=\"selectPreset('Today')\">Today</button>\n <button type=\"button\" class=\"h-8 rounded-[8px] border border-[hsl(var(--border))] px-3 text-[12px] text-[hsl(var(--foreground))]\" (click)=\"selectPreset('Tomorrow')\">Tomorrow</button>\n </div>\n </div>\n</section>\n" }]
36
+ }], propDecorators: { variant: [{
37
+ type: Input
38
+ }], className: [{
39
+ type: Input
40
+ }], open: [{
41
+ type: Input
42
+ }], label: [{
43
+ type: Input
44
+ }], value: [{
45
+ type: Input
46
+ }], month: [{
47
+ type: Input
48
+ }], year: [{
49
+ type: Input
50
+ }], selectedDay: [{
51
+ type: Input
52
+ }], time: [{
53
+ type: Input
54
+ }], naturalLanguageValue: [{
55
+ type: Input
56
+ }], naturalLanguageHint: [{
57
+ type: Input
58
+ }], openChange: [{
59
+ type: Output
60
+ }], valueChange: [{
61
+ type: Output
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU2hHLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNVyxZQUFPLEdBQXlCLFNBQVMsQ0FBQztRQUMxQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUViLFVBQUssR0FBRyxlQUFlLENBQUM7UUFDeEIsVUFBSyxHQUFHLGVBQWUsQ0FBQztRQUN4QixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFNBQUksR0FBRyxVQUFVLENBQUM7UUFDbEIseUJBQW9CLEdBQUcsV0FBVyxDQUFDO1FBQ25DLHdCQUFtQixHQUFHLCtDQUErQyxDQUFDO1FBRXJFLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQWFwRDtJQVhDLE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQzs7bUhBM0JVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGtZQ1RuQyxvaEhBc0NBOzJGRDdCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUVWLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGRtRGF0ZVBpY2tlclZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnd2l0aC1pbnB1dCcgfCAnZGF0ZS10aW1lJyB8ICduYXR1cmFsLWxhbmd1YWdlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtRGF0ZVBpY2tlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbURhdGVQaWNrZXJWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGxhYmVsID0gJ0RhdGUgb2YgQmlydGgnO1xuICBASW5wdXQoKSB2YWx1ZSA9ICdTZWxlY3QgYSBkYXRlJztcbiAgQElucHV0KCkgbW9udGggPSA2O1xuICBASW5wdXQoKSB5ZWFyID0gMjAyNTtcbiAgQElucHV0KCkgc2VsZWN0ZWREYXkgPSAyNTtcbiAgQElucHV0KCkgdGltZSA9ICcxMDozMDowMCc7XG4gIEBJbnB1dCgpIG5hdHVyYWxMYW5ndWFnZVZhbHVlID0gJ0luIDIgZGF5cyc7XG4gIEBJbnB1dCgpIG5hdHVyYWxMYW5ndWFnZUhpbnQgPSAnWW91ciBwb3N0IHdpbGwgYmUgcHVibGlzaGVkIG9uIEp1bmUgMjEsIDIwMjUuJztcblxuICBAT3V0cHV0KCkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KCF0aGlzLm9wZW4pO1xuICB9XG5cbiAgc2VsZWN0UHJlc2V0KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IG1vbnRoTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy55ZWFyLCB0aGlzLm1vbnRoIC0gMSwgMSkudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywgeyBtb250aDogJ3Nob3J0JyB9KTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gW25nQ2xhc3NdPVwiWydmbGV4IGZsZXgtY29sIGdhcC0zJywgY2xhc3NOYW1lXVwiIGNsYXNzPVwidy1bMjUwcHhdXCI+XG4gIDxsYWJlbCBjbGFzcz1cInRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IGxhYmVsIH19PC9sYWJlbD5cblxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIiAqbmdJZj1cInZhcmlhbnQgPT09ICdkYXRlLXRpbWUnXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmbGV4IGgtOSB3LVsxNTBweF0gaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB4LTMgcHktMSBzaGFkb3ctc21cIiAoY2xpY2spPVwidG9nZ2xlKClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGUgdGV4dC1bMTJweF0gbGVhZGluZy00IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgdmFsdWUgfX08L3NwYW4+XG4gICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtNCB3LTQgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTcgMTBMMTIgMTVMMTcgMTBcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+PC9zdmc+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaC05IHctWzkycHhdIGl0ZW1zLWNlbnRlciByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB4LTMgcHktMSB0ZXh0LVsxMnB4XSBsZWFkaW5nLTQgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gc2hhZG93LXNtXCI+e3sgdGltZSB9fTwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwidmFyaWFudCAhPT0gJ2RhdGUtdGltZSdcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZsZXggaC05IHctWzE5MnB4XSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcHgtMyBweS0xIHNoYWRvdy1zbVwiIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0cnVuY2F0ZSB0ZXh0LVsxNnB4XSBsZWFkaW5nLTYgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyB2YXJpYW50ID09PSAnbmF0dXJhbC1sYW5ndWFnZScgPyBuYXR1cmFsTGFuZ3VhZ2VWYWx1ZSA6IHZhbHVlIH19PC9zcGFuPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk03IDEwTDEyIDE1TDE3IDEwXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPjwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPHAgKm5nSWY9XCJ2YXJpYW50ID09PSAnbmF0dXJhbC1sYW5ndWFnZSdcIiBjbGFzcz1cIm1heC13LVsxOTJweF0gdGV4dC1bMTJweF0gbGVhZGluZy00IHRleHQtW2hzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSldXCI+e3sgbmF0dXJhbExhbmd1YWdlSGludCB9fTwvcD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIm9wZW5cIiBjbGFzcz1cInctWzI1MHB4XSByb3VuZGVkLVsxMHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBwLTMgc2hhZG93LXNtXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImgtOCB3LTggcm91bmRlZC1bNnB4XSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPuKAuTwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggaXRlbXMtY2VudGVyIGdhcC0xIHJvdW5kZWQtWzZweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBweC0yIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIHNoYWRvdy1zbVwiPnt7IG1vbnRoTGFiZWwgfX0gPHNwYW4+y4U8L3NwYW4+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IGl0ZW1zLWNlbnRlciBnYXAtMSByb3VuZGVkLVs2cHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gcHgtMiB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBzaGFkb3ctc21cIj57eyB5ZWFyIH19IDxzcGFuPsuFPC9zcGFuPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImgtOCB3LTggcm91bmRlZC1bNnB4XSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPuKAujwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPHBkbS1jYWxlbmRhciBbbW9udGhdPVwibW9udGhcIiBbeWVhcl09XCJ5ZWFyXCIgW3NlbGVjdGVkRGF5XT1cInNlbGVjdGVkRGF5XCIgbW9kZT1cInNpbmdsZVwiPjwvcGRtLWNhbGVuZGFyPlxuXG4gICAgPGRpdiAqbmdJZj1cInZhcmlhbnQgPT09ICd3aXRoLWlucHV0JyB8fCB2YXJpYW50ID09PSAnbmF0dXJhbC1sYW5ndWFnZSdcIiBjbGFzcz1cIm10LTMgZmxleCBnYXAtMlwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJoLTggcm91bmRlZC1bOHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIHB4LTMgdGV4dC1bMTJweF0gdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIiAoY2xpY2spPVwic2VsZWN0UHJlc2V0KCdUb2RheScpXCI+VG9kYXk8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaC04IHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBweC0zIHRleHQtWzEycHhdIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCIgKGNsaWNrKT1cInNlbGVjdFByZXNldCgnVG9tb3Jyb3cnKVwiPlRvbW9ycm93PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
@@ -0,0 +1,90 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmDialogComponent {
5
+ constructor() {
6
+ this.open = false;
7
+ this.variant = 'default';
8
+ this.title = 'Edit profile';
9
+ this.description = 'Make changes to your profile here. Click save when you\'re done.';
10
+ this.closeOnBackdrop = true;
11
+ this.closeOnEsc = true;
12
+ this.showCloseButton = true;
13
+ this.primaryActionText = 'Save changes';
14
+ this.secondaryActionText = 'Cancel';
15
+ this.nameLabel = 'Name';
16
+ this.nameValue = 'Pedro Duarte';
17
+ this.usernameLabel = 'Username';
18
+ this.usernameValue = '@peduarte';
19
+ this.linkValue = 'https://ui.shadcn.com/docs/installation';
20
+ this.className = '';
21
+ this.openChange = new EventEmitter();
22
+ this.primaryAction = new EventEmitter();
23
+ this.secondaryAction = new EventEmitter();
24
+ }
25
+ onEsc() {
26
+ if (this.open && this.closeOnEsc) {
27
+ this.close();
28
+ }
29
+ }
30
+ close() {
31
+ this.openChange.emit(false);
32
+ }
33
+ onPrimaryAction() {
34
+ this.primaryAction.emit();
35
+ }
36
+ onSecondaryAction() {
37
+ this.secondaryAction.emit();
38
+ }
39
+ onBackdropClick() {
40
+ if (this.closeOnBackdrop) {
41
+ this.close();
42
+ }
43
+ }
44
+ }
45
+ PdmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
46
+ PdmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDialogComponent, selector: "pdm-dialog", inputs: { open: "open", variant: "variant", title: "title", description: "description", closeOnBackdrop: "closeOnBackdrop", closeOnEsc: "closeOnEsc", showCloseButton: "showCloseButton", primaryActionText: "primaryActionText", secondaryActionText: "secondaryActionText", nameLabel: "nameLabel", nameValue: "nameValue", usernameLabel: "usernameLabel", usernameValue: "usernameValue", linkValue: "linkValue", className: "className" }, outputs: { openChange: "openChange", primaryAction: "primaryAction", secondaryAction: "secondaryAction" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, ngImport: i0, template: "<div *ngIf=\"open\" class=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <div class=\"absolute inset-0 bg-[hsl(var(--foreground)/0.3)]\" (click)=\"onBackdropClick()\"></div>\n <section\n role=\"dialog\"\n aria-modal=\"true\"\n [ngClass]=\"[\n 'relative z-10 w-full max-w-[423px] rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-6 shadow-lg',\n className\n ]\"\n >\n <div class=\"flex items-start justify-between gap-3\">\n <div class=\"min-w-0\">\n <h2 class=\"m-0 text-[18px] font-semibold leading-7 text-[hsl(var(--foreground))]\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 mt-2 text-[14px] leading-5 text-[hsl(var(--muted-foreground))]\">{{ description }}</p>\n </div>\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 items-center justify-center text-[hsl(var(--foreground))] opacity-70\"\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 <ng-container *ngIf=\"variant === 'default'; else customCloseDialog\">\n <div class=\"mt-4 flex flex-col gap-4\">\n <div class=\"flex flex-col gap-3\">\n <label class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ nameLabel }}</label>\n <div class=\"h-9 rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--muted-foreground))] shadow-sm\">{{ nameValue }}</div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <label class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ usernameLabel }}</label>\n <div class=\"h-9 rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--muted-foreground))] shadow-sm\">{{ usernameValue }}</div>\n </div>\n </div>\n\n <div class=\"mt-4 flex justify-end gap-2\">\n <button\n type=\"button\"\n class=\"h-9 rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-4 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"h-9 rounded-[10px] bg-[hsl(var(--foreground))] px-4 text-[14px] font-medium leading-5 text-[hsl(var(--background))] shadow-sm\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n </div>\n </ng-container>\n\n <ng-template #customCloseDialog>\n <div class=\"mt-4 h-9 rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--muted-foreground))] shadow-sm\">\n {{ linkValue }}\n </div>\n <div class=\"mt-4 flex\">\n <button\n type=\"button\"\n class=\"h-9 rounded-[10px] bg-[hsl(var(--muted))] px-4 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\"\n (click)=\"onSecondaryAction()\"\n >\n Close\n </button>\n </div>\n </ng-template>\n\n <div class=\"mt-4\">\n <ng-content></ng-content>\n </div>\n </section>\n</div>\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 });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'pdm-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"open\" class=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <div class=\"absolute inset-0 bg-[hsl(var(--foreground)/0.3)]\" (click)=\"onBackdropClick()\"></div>\n <section\n role=\"dialog\"\n aria-modal=\"true\"\n [ngClass]=\"[\n 'relative z-10 w-full max-w-[423px] rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-6 shadow-lg',\n className\n ]\"\n >\n <div class=\"flex items-start justify-between gap-3\">\n <div class=\"min-w-0\">\n <h2 class=\"m-0 text-[18px] font-semibold leading-7 text-[hsl(var(--foreground))]\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 mt-2 text-[14px] leading-5 text-[hsl(var(--muted-foreground))]\">{{ description }}</p>\n </div>\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 items-center justify-center text-[hsl(var(--foreground))] opacity-70\"\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 <ng-container *ngIf=\"variant === 'default'; else customCloseDialog\">\n <div class=\"mt-4 flex flex-col gap-4\">\n <div class=\"flex flex-col gap-3\">\n <label class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ nameLabel }}</label>\n <div class=\"h-9 rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--muted-foreground))] shadow-sm\">{{ nameValue }}</div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <label class=\"text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ usernameLabel }}</label>\n <div class=\"h-9 rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--muted-foreground))] shadow-sm\">{{ usernameValue }}</div>\n </div>\n </div>\n\n <div class=\"mt-4 flex justify-end gap-2\">\n <button\n type=\"button\"\n class=\"h-9 rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-4 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"h-9 rounded-[10px] bg-[hsl(var(--foreground))] px-4 text-[14px] font-medium leading-5 text-[hsl(var(--background))] shadow-sm\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n </div>\n </ng-container>\n\n <ng-template #customCloseDialog>\n <div class=\"mt-4 h-9 rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--muted-foreground))] shadow-sm\">\n {{ linkValue }}\n </div>\n <div class=\"mt-4 flex\">\n <button\n type=\"button\"\n class=\"h-9 rounded-[10px] bg-[hsl(var(--muted))] px-4 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\"\n (click)=\"onSecondaryAction()\"\n >\n Close\n </button>\n </div>\n </ng-template>\n\n <div class=\"mt-4\">\n <ng-content></ng-content>\n </div>\n </section>\n</div>\n" }]
50
+ }], propDecorators: { open: [{
51
+ type: Input
52
+ }], variant: [{
53
+ type: Input
54
+ }], title: [{
55
+ type: Input
56
+ }], description: [{
57
+ type: Input
58
+ }], closeOnBackdrop: [{
59
+ type: Input
60
+ }], closeOnEsc: [{
61
+ type: Input
62
+ }], showCloseButton: [{
63
+ type: Input
64
+ }], primaryActionText: [{
65
+ type: Input
66
+ }], secondaryActionText: [{
67
+ type: Input
68
+ }], nameLabel: [{
69
+ type: Input
70
+ }], nameValue: [{
71
+ type: Input
72
+ }], usernameLabel: [{
73
+ type: Input
74
+ }], usernameValue: [{
75
+ type: Input
76
+ }], linkValue: [{
77
+ type: Input
78
+ }], className: [{
79
+ type: Input
80
+ }], openChange: [{
81
+ type: Output
82
+ }], primaryAction: [{
83
+ type: Output
84
+ }], secondaryAction: [{
85
+ type: Output
86
+ }], onEsc: [{
87
+ type: HostListener,
88
+ args: ['document:keydown.escape']
89
+ }] } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTOUcsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU1XLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixZQUFPLEdBQXFCLFNBQVMsQ0FBQztRQUN0QyxVQUFLLEdBQUcsY0FBYyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQUcsa0VBQWtFLENBQUM7UUFDakYsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixzQkFBaUIsR0FBRyxjQUFjLENBQUM7UUFDbkMsd0JBQW1CLEdBQUcsUUFBUSxDQUFDO1FBQy9CLGNBQVMsR0FBRyxNQUFNLENBQUM7UUFDbkIsY0FBUyxHQUFHLGNBQWMsQ0FBQztRQUMzQixrQkFBYSxHQUFHLFVBQVUsQ0FBQztRQUMzQixrQkFBYSxHQUFHLFdBQVcsQ0FBQztRQUM1QixjQUFTLEdBQUcseUNBQXlDLENBQUM7UUFDdEQsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVkLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3pDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0EwQnREO0lBdkJDLEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQzs7K0dBNUNVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDRvQkNUL0IsMmtIQThFQTsyRkRyRWEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUdQLEtBQUs7c0JBREosWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1EaWFsb2dWYXJpYW50ID0gJ2RlZmF1bHQnIHwgJ2N1c3RvbS1jbG9zZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtRGlhbG9nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1EaWFsb2dWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSB0aXRsZSA9ICdFZGl0IHByb2ZpbGUnO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbiA9ICdNYWtlIGNoYW5nZXMgdG8geW91ciBwcm9maWxlIGhlcmUuIENsaWNrIHNhdmUgd2hlbiB5b3VcXCdyZSBkb25lLic7XG4gIEBJbnB1dCgpIGNsb3NlT25CYWNrZHJvcCA9IHRydWU7XG4gIEBJbnB1dCgpIGNsb3NlT25Fc2MgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSBwcmltYXJ5QWN0aW9uVGV4dCA9ICdTYXZlIGNoYW5nZXMnO1xuICBASW5wdXQoKSBzZWNvbmRhcnlBY3Rpb25UZXh0ID0gJ0NhbmNlbCc7XG4gIEBJbnB1dCgpIG5hbWVMYWJlbCA9ICdOYW1lJztcbiAgQElucHV0KCkgbmFtZVZhbHVlID0gJ1BlZHJvIER1YXJ0ZSc7XG4gIEBJbnB1dCgpIHVzZXJuYW1lTGFiZWwgPSAnVXNlcm5hbWUnO1xuICBASW5wdXQoKSB1c2VybmFtZVZhbHVlID0gJ0BwZWR1YXJ0ZSc7XG4gIEBJbnB1dCgpIGxpbmtWYWx1ZSA9ICdodHRwczovL3VpLnNoYWRjbi5jb20vZG9jcy9pbnN0YWxsYXRpb24nO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcblxuICBAT3V0cHV0KCkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHByaW1hcnlBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzZWNvbmRhcnlBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxuICBvbkVzYygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcGVuICYmIHRoaXMuY2xvc2VPbkVzYykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIG9uUHJpbWFyeUFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgb25TZWNvbmRhcnlBY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgb25CYWNrZHJvcENsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25CYWNrZHJvcCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIm9wZW5cIiBjbGFzcz1cImZpeGVkIGluc2V0LTAgei01MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTRcIj5cbiAgPGRpdiBjbGFzcz1cImFic29sdXRlIGluc2V0LTAgYmctW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKS8wLjMpXVwiIChjbGljayk9XCJvbkJhY2tkcm9wQ2xpY2soKVwiPjwvZGl2PlxuICA8c2VjdGlvblxuICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICBbbmdDbGFzc109XCJbXG4gICAgICAncmVsYXRpdmUgei0xMCB3LWZ1bGwgbWF4LXctWzQyM3B4XSByb3VuZGVkLVsxMHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBwLTYgc2hhZG93LWxnJyxcbiAgICAgIGNsYXNzTmFtZVxuICAgIF1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtc3RhcnQganVzdGlmeS1iZXR3ZWVuIGdhcC0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXctMFwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJtLTAgdGV4dC1bMThweF0gZm9udC1zZW1pYm9sZCBsZWFkaW5nLTcgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyB0aXRsZSB9fTwvaDI+XG4gICAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cIm0tMCBtdC0yIHRleHQtWzE0cHhdIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXVwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwic2hvd0Nsb3NlQnV0dG9uXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaC02IHctNiBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gb3BhY2l0eS03MFwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlIGRpYWxvZ1wiXG4gICAgICA+XG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiaC00IHctNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNNiA2TDE4IDE4TTE4IDZMNiAxOFwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIj48L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFyaWFudCA9PT0gJ2RlZmF1bHQnOyBlbHNlIGN1c3RvbUNsb3NlRGlhbG9nXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibXQtNCBmbGV4IGZsZXgtY29sIGdhcC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidGV4dC1bMTRweF0gZm9udC1tZWRpdW0gbGVhZGluZy01IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgbmFtZUxhYmVsIH19PC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC05IHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcHgtMyBweS0xIHRleHQtWzE2cHhdIGxlYWRpbmctNiB0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXSBzaGFkb3ctc21cIj57eyBuYW1lVmFsdWUgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidGV4dC1bMTRweF0gZm9udC1tZWRpdW0gbGVhZGluZy01IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgdXNlcm5hbWVMYWJlbCB9fTwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImgtOSByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB4LTMgcHktMSB0ZXh0LVsxNnB4XSBsZWFkaW5nLTYgdGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV0gc2hhZG93LXNtXCI+e3sgdXNlcm5hbWVWYWx1ZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtNCBmbGV4IGp1c3RpZnktZW5kIGdhcC0yXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImgtOSByb3VuZGVkLVsxMHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBweC00IHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBzaGFkb3ctc21cIlxuICAgICAgICAgIChjbGljayk9XCJvblNlY29uZGFyeUFjdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHNlY29uZGFyeUFjdGlvblRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImgtOSByb3VuZGVkLVsxMHB4XSBiZy1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gcHgtNCB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gc2hhZG93LXNtXCJcbiAgICAgICAgICAoY2xpY2spPVwib25QcmltYXJ5QWN0aW9uKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgcHJpbWFyeUFjdGlvblRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tQ2xvc2VEaWFsb2c+XG4gICAgICA8ZGl2IGNsYXNzPVwibXQtNCBoLTkgcm91bmRlZC1bOHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBweC0zIHB5LTEgdGV4dC1bMTZweF0gbGVhZGluZy02IHRleHQtW2hzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSldIHNoYWRvdy1zbVwiPlxuICAgICAgICB7eyBsaW5rVmFsdWUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm10LTQgZmxleFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJoLTkgcm91bmRlZC1bMTBweF0gYmctW2hzbCh2YXIoLS1tdXRlZCkpXSBweC00IHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBzaGFkb3ctc21cIlxuICAgICAgICAgIChjbGljayk9XCJvblNlY29uZGFyeUFjdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIENsb3NlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxkaXYgY2xhc3M9XCJtdC00XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,72 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmDrawerComponent {
5
+ constructor() {
6
+ this.open = false;
7
+ this.variant = 'drawer';
8
+ this.className = '';
9
+ this.title = 'Move Goal';
10
+ this.description = 'Set your daily activity goal.';
11
+ this.value = 350;
12
+ this.unit = 'CALORIES/DAY';
13
+ this.profileTitle = 'Edit profile';
14
+ this.profileDescription = 'Make changes to your profile here. Click save when you\'re done.';
15
+ this.nameLabel = 'Name';
16
+ this.nameValue = 'Pedro Duarte';
17
+ this.usernameLabel = 'Username';
18
+ this.usernameValue = '@peduarte';
19
+ this.openChange = new EventEmitter();
20
+ this.primaryAction = new EventEmitter();
21
+ this.secondaryAction = new EventEmitter();
22
+ this.bars = [72, 54, 58, 49, 60, 65, 44, 53, 61, 52, 63, 48, 66];
23
+ }
24
+ close() {
25
+ this.openChange.emit(false);
26
+ }
27
+ onPrimaryAction() {
28
+ this.primaryAction.emit();
29
+ }
30
+ onSecondaryAction() {
31
+ this.secondaryAction.emit();
32
+ }
33
+ }
34
+ PdmDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
+ PdmDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDrawerComponent, selector: "pdm-drawer", inputs: { open: "open", variant: "variant", className: "className", title: "title", description: "description", value: "value", unit: "unit", profileTitle: "profileTitle", profileDescription: "profileDescription", nameLabel: "nameLabel", nameValue: "nameValue", usernameLabel: "usernameLabel", usernameValue: "usernameValue" }, outputs: { openChange: "openChange", primaryAction: "primaryAction", secondaryAction: "secondaryAction" }, ngImport: i0, template: "<div *ngIf=\"open\" class=\"fixed inset-0 z-50\" [ngClass]=\"className\">\n <div class=\"absolute inset-0 bg-[hsl(var(--foreground)/0.3)]\" (click)=\"close()\"></div>\n\n <section\n *ngIf=\"variant === 'drawer'; else responsiveDialog\"\n class=\"absolute inset-x-0 bottom-0 mx-auto w-full max-w-[1229px] rounded-t-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-6 shadow-lg\"\n >\n <div class=\"mx-auto mb-4 h-1 w-10 rounded-full bg-[hsl(var(--border))]\"></div>\n\n <div class=\"mx-auto flex max-w-[320px] flex-col items-center\">\n <h3 class=\"m-0 text-[14px] font-semibold leading-5 text-[hsl(var(--foreground))]\">{{ title }}</h3>\n <p class=\"m-0 mt-1 text-[12px] leading-4 text-[hsl(var(--muted-foreground))]\">{{ description }}</p>\n\n <div class=\"mt-3 flex w-full items-center justify-center gap-4\">\n <button type=\"button\" class=\"inline-flex h-6 w-6 items-center justify-center rounded-full border border-[hsl(var(--border))] text-[hsl(var(--muted-foreground))]\">-</button>\n <div class=\"text-center\">\n <div class=\"text-[48px] font-semibold leading-none text-[hsl(var(--foreground))]\">{{ value }}</div>\n <div class=\"mt-1 text-[10px] tracking-wide text-[hsl(var(--muted-foreground))]\">{{ unit }}</div>\n </div>\n <button type=\"button\" class=\"inline-flex h-6 w-6 items-center justify-center rounded-full border border-[hsl(var(--border))] text-[hsl(var(--muted-foreground))]\">+</button>\n </div>\n\n <div class=\"mt-3 flex h-[58px] w-full items-end gap-[3px]\">\n <div *ngFor=\"let bar of bars\" class=\"flex-1 bg-[hsl(var(--foreground))]\" [style.height.px]=\"bar\"></div>\n </div>\n\n <button type=\"button\" class=\"mt-3 h-9 w-full rounded-[10px] bg-[hsl(var(--foreground))] text-[14px] font-medium text-[hsl(var(--background))]\" (click)=\"onPrimaryAction()\">Submit</button>\n <button type=\"button\" class=\"mt-2 h-9 w-full rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] text-[14px] font-medium text-[hsl(var(--foreground))]\" (click)=\"onSecondaryAction()\">Cancel</button>\n </div>\n </section>\n\n <ng-template #responsiveDialog>\n <section class=\"absolute left-1/2 top-1/2 w-full max-w-[423px] -translate-x-1/2 -translate-y-1/2 rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-4 shadow-lg\">\n <div class=\"flex items-start justify-between\">\n <div>\n <h3 class=\"m-0 text-[18px] font-semibold leading-7 text-[hsl(var(--foreground))]\">{{ profileTitle }}</h3>\n <p class=\"m-0 mt-1 text-[12px] leading-4 text-[hsl(var(--muted-foreground))]\">{{ profileDescription }}</p>\n </div>\n <button type=\"button\" class=\"h-5 w-5 text-[hsl(var(--muted-foreground))]\" (click)=\"close()\">\u00D7</button>\n </div>\n\n <div class=\"mt-3 flex flex-col gap-3\">\n <div>\n <label class=\"mb-1 block text-[12px] font-medium leading-4 text-[hsl(var(--foreground))]\">{{ nameLabel }}</label>\n <div class=\"h-8 rounded-[6px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-2 py-1 text-[12px] leading-4 text-[hsl(var(--foreground))]\">{{ nameValue }}</div>\n </div>\n <div>\n <label class=\"mb-1 block text-[12px] font-medium leading-4 text-[hsl(var(--foreground))]\">{{ usernameLabel }}</label>\n <div class=\"h-8 rounded-[6px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-2 py-1 text-[12px] leading-4 text-[hsl(var(--foreground))]\">{{ usernameValue }}</div>\n </div>\n </div>\n\n <button type=\"button\" class=\"mt-3 h-8 w-full rounded-[8px] bg-[hsl(var(--foreground))] text-[12px] font-medium text-[hsl(var(--background))]\" (click)=\"onPrimaryAction()\">Save changes</button>\n </section>\n </ng-template>\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 });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDrawerComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'pdm-drawer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"open\" class=\"fixed inset-0 z-50\" [ngClass]=\"className\">\n <div class=\"absolute inset-0 bg-[hsl(var(--foreground)/0.3)]\" (click)=\"close()\"></div>\n\n <section\n *ngIf=\"variant === 'drawer'; else responsiveDialog\"\n class=\"absolute inset-x-0 bottom-0 mx-auto w-full max-w-[1229px] rounded-t-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-6 shadow-lg\"\n >\n <div class=\"mx-auto mb-4 h-1 w-10 rounded-full bg-[hsl(var(--border))]\"></div>\n\n <div class=\"mx-auto flex max-w-[320px] flex-col items-center\">\n <h3 class=\"m-0 text-[14px] font-semibold leading-5 text-[hsl(var(--foreground))]\">{{ title }}</h3>\n <p class=\"m-0 mt-1 text-[12px] leading-4 text-[hsl(var(--muted-foreground))]\">{{ description }}</p>\n\n <div class=\"mt-3 flex w-full items-center justify-center gap-4\">\n <button type=\"button\" class=\"inline-flex h-6 w-6 items-center justify-center rounded-full border border-[hsl(var(--border))] text-[hsl(var(--muted-foreground))]\">-</button>\n <div class=\"text-center\">\n <div class=\"text-[48px] font-semibold leading-none text-[hsl(var(--foreground))]\">{{ value }}</div>\n <div class=\"mt-1 text-[10px] tracking-wide text-[hsl(var(--muted-foreground))]\">{{ unit }}</div>\n </div>\n <button type=\"button\" class=\"inline-flex h-6 w-6 items-center justify-center rounded-full border border-[hsl(var(--border))] text-[hsl(var(--muted-foreground))]\">+</button>\n </div>\n\n <div class=\"mt-3 flex h-[58px] w-full items-end gap-[3px]\">\n <div *ngFor=\"let bar of bars\" class=\"flex-1 bg-[hsl(var(--foreground))]\" [style.height.px]=\"bar\"></div>\n </div>\n\n <button type=\"button\" class=\"mt-3 h-9 w-full rounded-[10px] bg-[hsl(var(--foreground))] text-[14px] font-medium text-[hsl(var(--background))]\" (click)=\"onPrimaryAction()\">Submit</button>\n <button type=\"button\" class=\"mt-2 h-9 w-full rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] text-[14px] font-medium text-[hsl(var(--foreground))]\" (click)=\"onSecondaryAction()\">Cancel</button>\n </div>\n </section>\n\n <ng-template #responsiveDialog>\n <section class=\"absolute left-1/2 top-1/2 w-full max-w-[423px] -translate-x-1/2 -translate-y-1/2 rounded-[10px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-4 shadow-lg\">\n <div class=\"flex items-start justify-between\">\n <div>\n <h3 class=\"m-0 text-[18px] font-semibold leading-7 text-[hsl(var(--foreground))]\">{{ profileTitle }}</h3>\n <p class=\"m-0 mt-1 text-[12px] leading-4 text-[hsl(var(--muted-foreground))]\">{{ profileDescription }}</p>\n </div>\n <button type=\"button\" class=\"h-5 w-5 text-[hsl(var(--muted-foreground))]\" (click)=\"close()\">\u00D7</button>\n </div>\n\n <div class=\"mt-3 flex flex-col gap-3\">\n <div>\n <label class=\"mb-1 block text-[12px] font-medium leading-4 text-[hsl(var(--foreground))]\">{{ nameLabel }}</label>\n <div class=\"h-8 rounded-[6px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-2 py-1 text-[12px] leading-4 text-[hsl(var(--foreground))]\">{{ nameValue }}</div>\n </div>\n <div>\n <label class=\"mb-1 block text-[12px] font-medium leading-4 text-[hsl(var(--foreground))]\">{{ usernameLabel }}</label>\n <div class=\"h-8 rounded-[6px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-2 py-1 text-[12px] leading-4 text-[hsl(var(--foreground))]\">{{ usernameValue }}</div>\n </div>\n </div>\n\n <button type=\"button\" class=\"mt-3 h-8 w-full rounded-[8px] bg-[hsl(var(--foreground))] text-[12px] font-medium text-[hsl(var(--background))]\" (click)=\"onPrimaryAction()\">Save changes</button>\n </section>\n </ng-template>\n</div>\n" }]
39
+ }], propDecorators: { open: [{
40
+ type: Input
41
+ }], variant: [{
42
+ type: Input
43
+ }], className: [{
44
+ type: Input
45
+ }], title: [{
46
+ type: Input
47
+ }], description: [{
48
+ type: Input
49
+ }], value: [{
50
+ type: Input
51
+ }], unit: [{
52
+ type: Input
53
+ }], profileTitle: [{
54
+ type: Input
55
+ }], profileDescription: [{
56
+ type: Input
57
+ }], nameLabel: [{
58
+ type: Input
59
+ }], nameValue: [{
60
+ type: Input
61
+ }], usernameLabel: [{
62
+ type: Input
63
+ }], usernameValue: [{
64
+ type: Input
65
+ }], openChange: [{
66
+ type: Output
67
+ }], primaryAction: [{
68
+ type: Output
69
+ }], secondaryAction: [{
70
+ type: Output
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVNoRyxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBTVcsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFlBQU8sR0FBcUIsUUFBUSxDQUFDO1FBQ3JDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixVQUFLLEdBQUcsV0FBVyxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsK0JBQStCLENBQUM7UUFDOUMsVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUNaLFNBQUksR0FBRyxjQUFjLENBQUM7UUFFdEIsaUJBQVksR0FBRyxjQUFjLENBQUM7UUFDOUIsdUJBQWtCLEdBQUcsa0VBQWtFLENBQUM7UUFDeEYsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNuQixjQUFTLEdBQUcsY0FBYyxDQUFDO1FBQzNCLGtCQUFhLEdBQUcsVUFBVSxDQUFDO1FBQzNCLGtCQUFhLEdBQUcsV0FBVyxDQUFDO1FBRTNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3pDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFNUMsU0FBSSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FhdEU7SUFYQyxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7OytHQWhDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxZUNUL0IsMjBIQXdEQTsyRkQvQ2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1EcmF3ZXJWYXJpYW50ID0gJ2RyYXdlcicgfCAncmVzcG9uc2l2ZS1kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tZHJhd2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbURyYXdlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG9wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdmFyaWFudDogUGRtRHJhd2VyVmFyaWFudCA9ICdkcmF3ZXInO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgdGl0bGUgPSAnTW92ZSBHb2FsJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24gPSAnU2V0IHlvdXIgZGFpbHkgYWN0aXZpdHkgZ29hbC4nO1xuICBASW5wdXQoKSB2YWx1ZSA9IDM1MDtcbiAgQElucHV0KCkgdW5pdCA9ICdDQUxPUklFUy9EQVknO1xuXG4gIEBJbnB1dCgpIHByb2ZpbGVUaXRsZSA9ICdFZGl0IHByb2ZpbGUnO1xuICBASW5wdXQoKSBwcm9maWxlRGVzY3JpcHRpb24gPSAnTWFrZSBjaGFuZ2VzIHRvIHlvdXIgcHJvZmlsZSBoZXJlLiBDbGljayBzYXZlIHdoZW4geW91XFwncmUgZG9uZS4nO1xuICBASW5wdXQoKSBuYW1lTGFiZWwgPSAnTmFtZSc7XG4gIEBJbnB1dCgpIG5hbWVWYWx1ZSA9ICdQZWRybyBEdWFydGUnO1xuICBASW5wdXQoKSB1c2VybmFtZUxhYmVsID0gJ1VzZXJuYW1lJztcbiAgQElucHV0KCkgdXNlcm5hbWVWYWx1ZSA9ICdAcGVkdWFydGUnO1xuXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHJpbWFyeUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNlY29uZGFyeUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICByZWFkb25seSBiYXJzID0gWzcyLCA1NCwgNTgsIDQ5LCA2MCwgNjUsIDQ0LCA1MywgNjEsIDUyLCA2MywgNDgsIDY2XTtcblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICBvblByaW1hcnlBY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIG9uU2Vjb25kYXJ5QWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2Vjb25kYXJ5QWN0aW9uLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIm9wZW5cIiBjbGFzcz1cImZpeGVkIGluc2V0LTAgei01MFwiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiPlxuICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1baHNsKHZhcigtLWZvcmVncm91bmQpLzAuMyldXCIgKGNsaWNrKT1cImNsb3NlKClcIj48L2Rpdj5cblxuICA8c2VjdGlvblxuICAgICpuZ0lmPVwidmFyaWFudCA9PT0gJ2RyYXdlcic7IGVsc2UgcmVzcG9uc2l2ZURpYWxvZ1wiXG4gICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC14LTAgYm90dG9tLTAgbXgtYXV0byB3LWZ1bGwgbWF4LXctWzEyMjlweF0gcm91bmRlZC10LVsxMHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBwLTYgc2hhZG93LWxnXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJteC1hdXRvIG1iLTQgaC0xIHctMTAgcm91bmRlZC1mdWxsIGJnLVtoc2wodmFyKC0tYm9yZGVyKSldXCI+PC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibXgtYXV0byBmbGV4IG1heC13LVszMjBweF0gZmxleC1jb2wgaXRlbXMtY2VudGVyXCI+XG4gICAgICA8aDMgY2xhc3M9XCJtLTAgdGV4dC1bMTRweF0gZm9udC1zZW1pYm9sZCBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyB0aXRsZSB9fTwvaDM+XG4gICAgICA8cCBjbGFzcz1cIm0tMCBtdC0xIHRleHQtWzEycHhdIGxlYWRpbmctNCB0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXVwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMyBmbGV4IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTYgdy02IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSB0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXVwiPi08L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtWzQ4cHhdIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgdmFsdWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMSB0ZXh0LVsxMHB4XSB0cmFja2luZy13aWRlIHRleHQtW2hzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSldXCI+e3sgdW5pdCB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTYgdy02IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSB0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXVwiPis8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMyBmbGV4IGgtWzU4cHhdIHctZnVsbCBpdGVtcy1lbmQgZ2FwLVszcHhdXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJhciBvZiBiYXJzXCIgY2xhc3M9XCJmbGV4LTEgYmctW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCIgW3N0eWxlLmhlaWdodC5weF09XCJiYXJcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm10LTMgaC05IHctZnVsbCByb3VuZGVkLVsxMHB4XSBiZy1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gdGV4dC1bMTRweF0gZm9udC1tZWRpdW0gdGV4dC1baHNsKHZhcigtLWJhY2tncm91bmQpKV1cIiAoY2xpY2spPVwib25QcmltYXJ5QWN0aW9uKClcIj5TdWJtaXQ8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibXQtMiBoLTkgdy1mdWxsIHJvdW5kZWQtWzEwcHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCIgKGNsaWNrKT1cIm9uU2Vjb25kYXJ5QWN0aW9uKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuXG4gIDxuZy10ZW1wbGF0ZSAjcmVzcG9uc2l2ZURpYWxvZz5cbiAgICA8c2VjdGlvbiBjbGFzcz1cImFic29sdXRlIGxlZnQtMS8yIHRvcC0xLzIgdy1mdWxsIG1heC13LVs0MjNweF0gLXRyYW5zbGF0ZS14LTEvMiAtdHJhbnNsYXRlLXktMS8yIHJvdW5kZWQtWzEwcHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHAtNCBzaGFkb3ctbGdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLXN0YXJ0IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxoMyBjbGFzcz1cIm0tMCB0ZXh0LVsxOHB4XSBmb250LXNlbWlib2xkIGxlYWRpbmctNyB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IHByb2ZpbGVUaXRsZSB9fTwvaDM+XG4gICAgICAgICAgPHAgY2xhc3M9XCJtLTAgbXQtMSB0ZXh0LVsxMnB4XSBsZWFkaW5nLTQgdGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV1cIj57eyBwcm9maWxlRGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImgtNSB3LTUgdGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV1cIiAoY2xpY2spPVwiY2xvc2UoKVwiPsOXPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm10LTMgZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm1iLTEgYmxvY2sgdGV4dC1bMTJweF0gZm9udC1tZWRpdW0gbGVhZGluZy00IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgbmFtZUxhYmVsIH19PC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC04IHJvdW5kZWQtWzZweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcHgtMiBweS0xIHRleHQtWzEycHhdIGxlYWRpbmctNCB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IG5hbWVWYWx1ZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJtYi0xIGJsb2NrIHRleHQtWzEycHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNCB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IHVzZXJuYW1lTGFiZWwgfX08L2xhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTggcm91bmRlZC1bNnB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBweC0yIHB5LTEgdGV4dC1bMTJweF0gbGVhZGluZy00IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgdXNlcm5hbWVWYWx1ZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm10LTMgaC04IHctZnVsbCByb3VuZGVkLVs4cHhdIGJnLVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSB0ZXh0LVsxMnB4XSBmb250LW1lZGl1bSB0ZXh0LVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXVwiIChjbGljayk9XCJvblByaW1hcnlBY3Rpb24oKVwiPlNhdmUgY2hhbmdlczwvYnV0dG9uPlxuICAgIDwvc2VjdGlvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19