pdm-ui-kit 0.1.1 → 0.1.3

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 (378) hide show
  1. package/README.md +99 -50
  2. package/dist/corelusa-pdm-ui-kit/README.md +79 -0
  3. package/dist/corelusa-pdm-ui-kit/esm2020/corelusa-pdm-ui-kit.mjs +5 -0
  4. package/{fesm2015/pdm-ui-kit.mjs → dist/corelusa-pdm-ui-kit/fesm2015/corelusa-pdm-ui-kit.mjs} +1 -1
  5. package/dist/corelusa-pdm-ui-kit/fesm2015/corelusa-pdm-ui-kit.mjs.map +1 -0
  6. package/{fesm2020/pdm-ui-kit.mjs → dist/corelusa-pdm-ui-kit/fesm2020/corelusa-pdm-ui-kit.mjs} +1 -1
  7. package/dist/corelusa-pdm-ui-kit/fesm2020/corelusa-pdm-ui-kit.mjs.map +1 -0
  8. package/dist/corelusa-pdm-ui-kit/index.d.ts +5 -0
  9. package/dist/corelusa-pdm-ui-kit/package.json +47 -0
  10. package/dist/pdm-ui-kit/README.md +128 -0
  11. package/dist/pdm-ui-kit/esm2020/lib/components/accordion/accordion.component.mjs +42 -0
  12. package/dist/pdm-ui-kit/esm2020/lib/components/alert/alert.component.mjs +35 -0
  13. package/dist/pdm-ui-kit/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +69 -0
  14. package/dist/pdm-ui-kit/esm2020/lib/components/aspect-ratio/aspect-ratio.component.mjs +31 -0
  15. package/dist/pdm-ui-kit/esm2020/lib/components/avatar/avatar.component.mjs +46 -0
  16. package/dist/pdm-ui-kit/esm2020/lib/components/badge/badge.component.mjs +23 -0
  17. package/dist/pdm-ui-kit/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +29 -0
  18. package/dist/pdm-ui-kit/esm2020/lib/components/button/button.component.mjs +82 -0
  19. package/dist/pdm-ui-kit/esm2020/lib/components/button-group/button-group.component.mjs +23 -0
  20. package/dist/pdm-ui-kit/esm2020/lib/components/calendar/calendar.component.mjs +71 -0
  21. package/dist/pdm-ui-kit/esm2020/lib/components/card/card.component.mjs +65 -0
  22. package/dist/pdm-ui-kit/esm2020/lib/components/carousel/carousel.component.mjs +97 -0
  23. package/dist/pdm-ui-kit/esm2020/lib/components/chart/chart.component.mjs +174 -0
  24. package/dist/pdm-ui-kit/esm2020/lib/components/checkbox/checkbox.component.mjs +47 -0
  25. package/dist/pdm-ui-kit/esm2020/lib/components/collapsible/collapsible.component.mjs +43 -0
  26. package/dist/pdm-ui-kit/esm2020/lib/components/combobox/combobox.component.mjs +51 -0
  27. package/dist/pdm-ui-kit/esm2020/lib/components/command/command.component.mjs +75 -0
  28. package/dist/pdm-ui-kit/esm2020/lib/components/context-menu/context-menu.component.mjs +78 -0
  29. package/dist/pdm-ui-kit/esm2020/lib/components/data-table/data-table.component.mjs +89 -0
  30. package/dist/pdm-ui-kit/esm2020/lib/components/date-picker/date-picker.component.mjs +63 -0
  31. package/dist/pdm-ui-kit/esm2020/lib/components/dialog/dialog.component.mjs +90 -0
  32. package/dist/pdm-ui-kit/esm2020/lib/components/drawer/drawer.component.mjs +72 -0
  33. package/dist/pdm-ui-kit/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +120 -0
  34. package/dist/pdm-ui-kit/esm2020/lib/components/empty/empty.component.mjs +58 -0
  35. package/dist/pdm-ui-kit/esm2020/lib/components/field/field.component.mjs +64 -0
  36. package/dist/pdm-ui-kit/esm2020/lib/components/hover-card/hover-card.component.mjs +44 -0
  37. package/dist/pdm-ui-kit/esm2020/lib/components/icon/icon.component.mjs +94 -0
  38. package/dist/pdm-ui-kit/esm2020/lib/components/input/input.component.mjs +65 -0
  39. package/dist/pdm-ui-kit/esm2020/lib/components/input-group/input-group.component.mjs +63 -0
  40. package/dist/pdm-ui-kit/esm2020/lib/components/input-otp/input-otp.component.mjs +140 -0
  41. package/dist/pdm-ui-kit/esm2020/lib/components/input-password/input-password.component.mjs +72 -0
  42. package/dist/pdm-ui-kit/esm2020/lib/components/item/item.component.mjs +23 -0
  43. package/dist/pdm-ui-kit/esm2020/lib/components/kbd/kbd.component.mjs +17 -0
  44. package/dist/pdm-ui-kit/esm2020/lib/components/label/label.component.mjs +23 -0
  45. package/dist/pdm-ui-kit/esm2020/lib/components/menubar/menubar.component.mjs +31 -0
  46. package/dist/pdm-ui-kit/esm2020/lib/components/native-select/native-select.component.mjs +42 -0
  47. package/dist/pdm-ui-kit/esm2020/lib/components/navigation-menu/navigation-menu.component.mjs +20 -0
  48. package/dist/pdm-ui-kit/esm2020/lib/components/pagination/pagination.component.mjs +47 -0
  49. package/dist/pdm-ui-kit/esm2020/lib/components/popover/popover.component.mjs +58 -0
  50. package/dist/pdm-ui-kit/esm2020/lib/components/progress/progress.component.mjs +33 -0
  51. package/dist/pdm-ui-kit/esm2020/lib/components/radio-group/radio-group.component.mjs +38 -0
  52. package/dist/pdm-ui-kit/esm2020/lib/components/scroll-area/scroll-area.component.mjs +20 -0
  53. package/dist/pdm-ui-kit/esm2020/lib/components/select/select.component.mjs +38 -0
  54. package/dist/pdm-ui-kit/esm2020/lib/components/separator/separator.component.mjs +26 -0
  55. package/dist/pdm-ui-kit/esm2020/lib/components/sheet/sheet.component.mjs +39 -0
  56. package/dist/pdm-ui-kit/esm2020/lib/components/sidebar/sidebar.component.mjs +20 -0
  57. package/dist/pdm-ui-kit/esm2020/lib/components/skeleton/skeleton.component.mjs +17 -0
  58. package/dist/pdm-ui-kit/esm2020/lib/components/slider/slider.component.mjs +46 -0
  59. package/dist/pdm-ui-kit/esm2020/lib/components/sonner/sonner.component.mjs +39 -0
  60. package/dist/pdm-ui-kit/esm2020/lib/components/spinner/spinner.component.mjs +20 -0
  61. package/dist/pdm-ui-kit/esm2020/lib/components/switch/switch.component.mjs +35 -0
  62. package/dist/pdm-ui-kit/esm2020/lib/components/table/table.component.mjs +17 -0
  63. package/dist/pdm-ui-kit/esm2020/lib/components/tabs/tabs.component.mjs +31 -0
  64. package/dist/pdm-ui-kit/esm2020/lib/components/textarea/textarea.component.mjs +59 -0
  65. package/dist/pdm-ui-kit/esm2020/lib/components/toggle/toggle.component.mjs +41 -0
  66. package/dist/pdm-ui-kit/esm2020/lib/components/toggle-group/toggle-group.component.mjs +31 -0
  67. package/dist/pdm-ui-kit/esm2020/lib/components/tooltip/tooltip.component.mjs +33 -0
  68. package/dist/pdm-ui-kit/esm2020/lib/pdm-ui-kit.module.mjs +245 -0
  69. package/dist/pdm-ui-kit/esm2020/public-api.mjs +59 -0
  70. package/dist/pdm-ui-kit/fesm2015/pdm-ui-kit.mjs +2980 -0
  71. package/dist/pdm-ui-kit/fesm2015/pdm-ui-kit.mjs.map +1 -0
  72. package/dist/pdm-ui-kit/fesm2020/pdm-ui-kit.mjs +2975 -0
  73. package/dist/pdm-ui-kit/fesm2020/pdm-ui-kit.mjs.map +1 -0
  74. package/dist/pdm-ui-kit/lib/components/accordion/accordion.component.d.ts +19 -0
  75. package/dist/pdm-ui-kit/lib/components/alert/alert.component.d.ts +13 -0
  76. package/dist/pdm-ui-kit/lib/components/alert-dialog/alert-dialog.component.d.ts +21 -0
  77. package/dist/pdm-ui-kit/lib/components/aspect-ratio/aspect-ratio.component.d.ts +10 -0
  78. package/dist/pdm-ui-kit/lib/components/avatar/avatar.component.d.ts +20 -0
  79. package/dist/pdm-ui-kit/lib/components/badge/badge.component.d.ts +9 -0
  80. package/dist/pdm-ui-kit/lib/components/breadcrumb/breadcrumb.component.d.ts +10 -0
  81. package/dist/pdm-ui-kit/lib/components/button/button.component.d.ts +24 -0
  82. package/dist/pdm-ui-kit/lib/components/button-group/button-group.component.d.ts +9 -0
  83. package/dist/pdm-ui-kit/lib/components/calendar/calendar.component.d.ts +28 -0
  84. package/dist/pdm-ui-kit/lib/components/card/card.component.d.ts +24 -0
  85. package/dist/pdm-ui-kit/lib/components/carousel/carousel.component.d.ts +25 -0
  86. package/dist/pdm-ui-kit/lib/components/chart/chart.component.d.ts +41 -0
  87. package/dist/pdm-ui-kit/lib/components/checkbox/checkbox.component.d.ts +17 -0
  88. package/dist/pdm-ui-kit/lib/components/collapsible/collapsible.component.d.ts +14 -0
  89. package/dist/pdm-ui-kit/lib/components/combobox/combobox.component.d.ts +18 -0
  90. package/dist/pdm-ui-kit/lib/components/command/command.component.d.ts +33 -0
  91. package/dist/pdm-ui-kit/lib/components/context-menu/context-menu.component.d.ts +26 -0
  92. package/dist/pdm-ui-kit/lib/components/data-table/data-table.component.d.ts +36 -0
  93. package/dist/pdm-ui-kit/lib/components/date-picker/date-picker.component.d.ts +23 -0
  94. package/dist/pdm-ui-kit/lib/components/dialog/dialog.component.d.ts +30 -0
  95. package/dist/pdm-ui-kit/lib/components/drawer/drawer.component.d.ts +27 -0
  96. package/dist/pdm-ui-kit/lib/components/dropdown-menu/dropdown-menu.component.d.ts +34 -0
  97. package/dist/pdm-ui-kit/lib/components/empty/empty.component.d.ts +19 -0
  98. package/dist/pdm-ui-kit/lib/components/field/field.component.d.ts +23 -0
  99. package/dist/pdm-ui-kit/lib/components/hover-card/hover-card.component.d.ts +14 -0
  100. package/dist/pdm-ui-kit/lib/components/icon/icon.component.d.ts +18 -0
  101. package/dist/pdm-ui-kit/lib/components/input/input.component.d.ts +23 -0
  102. package/dist/pdm-ui-kit/lib/components/input-group/input-group.component.d.ts +22 -0
  103. package/dist/pdm-ui-kit/lib/components/input-otp/input-otp.component.d.ts +26 -0
  104. package/dist/pdm-ui-kit/lib/components/input-password/input-password.component.d.ts +25 -0
  105. package/dist/pdm-ui-kit/lib/components/item/item.component.d.ts +8 -0
  106. package/dist/pdm-ui-kit/lib/components/kbd/kbd.component.d.ts +6 -0
  107. package/dist/pdm-ui-kit/lib/components/label/label.component.d.ts +8 -0
  108. package/dist/pdm-ui-kit/lib/components/menubar/menubar.component.d.ts +17 -0
  109. package/dist/pdm-ui-kit/lib/components/native-select/native-select.component.d.ts +20 -0
  110. package/dist/pdm-ui-kit/lib/components/navigation-menu/navigation-menu.component.d.ts +12 -0
  111. package/dist/pdm-ui-kit/lib/components/pagination/pagination.component.d.ts +13 -0
  112. package/dist/pdm-ui-kit/lib/components/popover/popover.component.d.ts +17 -0
  113. package/dist/pdm-ui-kit/lib/components/progress/progress.component.d.ts +10 -0
  114. package/dist/pdm-ui-kit/lib/components/radio-group/radio-group.component.d.ts +19 -0
  115. package/dist/pdm-ui-kit/lib/components/scroll-area/scroll-area.component.d.ts +7 -0
  116. package/dist/pdm-ui-kit/lib/components/select/select.component.d.ts +19 -0
  117. package/dist/pdm-ui-kit/lib/components/separator/separator.component.d.ts +9 -0
  118. package/dist/pdm-ui-kit/lib/components/sheet/sheet.component.d.ts +13 -0
  119. package/dist/pdm-ui-kit/lib/components/sidebar/sidebar.component.d.ts +7 -0
  120. package/dist/pdm-ui-kit/lib/components/skeleton/skeleton.component.d.ts +6 -0
  121. package/dist/pdm-ui-kit/lib/components/slider/slider.component.d.ts +15 -0
  122. package/dist/pdm-ui-kit/lib/components/sonner/sonner.component.d.ts +13 -0
  123. package/dist/pdm-ui-kit/lib/components/spinner/spinner.component.d.ts +7 -0
  124. package/dist/pdm-ui-kit/lib/components/switch/switch.component.d.ts +13 -0
  125. package/dist/pdm-ui-kit/lib/components/table/table.component.d.ts +6 -0
  126. package/dist/pdm-ui-kit/lib/components/tabs/tabs.component.d.ts +16 -0
  127. package/dist/pdm-ui-kit/lib/components/textarea/textarea.component.d.ts +21 -0
  128. package/dist/pdm-ui-kit/lib/components/toggle/toggle.component.d.ts +14 -0
  129. package/dist/pdm-ui-kit/lib/components/toggle-group/toggle-group.component.d.ts +16 -0
  130. package/dist/pdm-ui-kit/lib/components/tooltip/tooltip.component.d.ts +10 -0
  131. package/dist/pdm-ui-kit/lib/pdm-ui-kit.module.d.ts +64 -0
  132. package/dist/pdm-ui-kit/package.json +44 -0
  133. package/dist/pdm-ui-kit/public-api.d.ts +58 -0
  134. package/ng-package.json +8 -0
  135. package/package.json +13 -20
  136. package/pdm-ui-kit-0.1.1.tgz +0 -0
  137. package/pdm-ui-kit-0.1.2.tgz +0 -0
  138. package/pdm-ui-kit-0.1.3.tgz +0 -0
  139. package/src/lib/components/accordion/accordion.component.html +34 -0
  140. package/src/lib/components/accordion/accordion.component.ts +38 -0
  141. package/src/lib/components/alert/alert.component.html +52 -0
  142. package/src/lib/components/alert/alert.component.ts +25 -0
  143. package/src/lib/components/alert-dialog/alert-dialog.component.html +41 -0
  144. package/src/lib/components/alert-dialog/alert-dialog.component.ts +45 -0
  145. package/src/lib/components/aspect-ratio/aspect-ratio.component.html +11 -0
  146. package/src/lib/components/aspect-ratio/aspect-ratio.component.ts +18 -0
  147. package/src/lib/components/avatar/avatar.component.html +21 -0
  148. package/src/lib/components/avatar/avatar.component.ts +32 -0
  149. package/src/lib/components/badge/badge.component.html +28 -0
  150. package/src/lib/components/badge/badge.component.ts +23 -0
  151. package/src/lib/components/breadcrumb/breadcrumb.component.html +39 -0
  152. package/src/lib/components/breadcrumb/breadcrumb.component.ts +26 -0
  153. package/src/lib/components/button/button.component.html +15 -0
  154. package/src/lib/components/button/button.component.ts +84 -0
  155. package/src/lib/components/button-group/button-group.component.html +39 -0
  156. package/src/lib/components/button-group/button-group.component.ts +15 -0
  157. package/src/lib/components/calendar/calendar.component.html +73 -0
  158. package/src/lib/components/calendar/calendar.component.ts +78 -0
  159. package/src/lib/components/card/card.component.html +77 -0
  160. package/src/lib/components/card/card.component.ts +39 -0
  161. package/src/lib/components/carousel/carousel.component.html +86 -0
  162. package/src/lib/components/carousel/carousel.component.ts +100 -0
  163. package/src/lib/components/chart/chart.component.html +143 -0
  164. package/src/lib/components/chart/chart.component.ts +147 -0
  165. package/src/lib/components/checkbox/checkbox.component.html +38 -0
  166. package/src/lib/components/checkbox/checkbox.component.ts +32 -0
  167. package/src/lib/components/collapsible/collapsible.component.html +26 -0
  168. package/src/lib/components/collapsible/collapsible.component.ts +29 -0
  169. package/src/lib/components/combobox/combobox.component.html +42 -0
  170. package/src/lib/components/combobox/combobox.component.ts +32 -0
  171. package/src/lib/components/command/command.component.html +55 -0
  172. package/src/lib/components/command/command.component.ts +67 -0
  173. package/src/lib/components/context-menu/context-menu.component.html +47 -0
  174. package/src/lib/components/context-menu/context-menu.component.ts +67 -0
  175. package/src/lib/components/data-table/data-table.component.html +63 -0
  176. package/src/lib/components/data-table/data-table.component.ts +78 -0
  177. package/src/lib/components/date-picker/date-picker.component.html +38 -0
  178. package/src/lib/components/date-picker/date-picker.component.ts +38 -0
  179. package/src/lib/components/dialog/dialog.component.html +78 -0
  180. package/src/lib/components/dialog/dialog.component.ts +55 -0
  181. package/src/lib/components/drawer/drawer.component.html +56 -0
  182. package/src/lib/components/drawer/drawer.component.ts +43 -0
  183. package/src/lib/components/dropdown-menu/dropdown-menu.component.html +56 -0
  184. package/src/lib/components/dropdown-menu/dropdown-menu.component.ts +126 -0
  185. package/src/lib/components/empty/empty.component.html +29 -0
  186. package/src/lib/components/empty/empty.component.ts +35 -0
  187. package/src/lib/components/field/field.component.html +26 -0
  188. package/src/lib/components/field/field.component.ts +42 -0
  189. package/src/lib/components/hover-card/hover-card.component.html +24 -0
  190. package/src/lib/components/hover-card/hover-card.component.ts +36 -0
  191. package/src/lib/components/icon/icon.component.html +286 -0
  192. package/src/lib/components/icon/icon.component.ts +133 -0
  193. package/src/lib/components/input/input.component.html +25 -0
  194. package/src/lib/components/input/input.component.ts +33 -0
  195. package/src/lib/components/input-group/input-group.component.html +59 -0
  196. package/src/lib/components/input-group/input-group.component.ts +32 -0
  197. package/src/lib/components/input-otp/input-otp.component.html +25 -0
  198. package/src/lib/components/input-otp/input-otp.component.ts +146 -0
  199. package/src/lib/components/input-password/input-password.component.html +66 -0
  200. package/src/lib/components/input-password/input-password.component.ts +46 -0
  201. package/src/lib/components/item/item.component.html +10 -0
  202. package/src/lib/components/item/item.component.ts +12 -0
  203. package/src/lib/components/kbd/kbd.component.html +3 -0
  204. package/src/lib/components/kbd/kbd.component.ts +10 -0
  205. package/src/lib/components/label/label.component.html +7 -0
  206. package/src/lib/components/label/label.component.ts +12 -0
  207. package/src/lib/components/menubar/menubar.component.html +16 -0
  208. package/src/lib/components/menubar/menubar.component.ts +29 -0
  209. package/src/lib/components/native-select/native-select.component.html +17 -0
  210. package/src/lib/components/native-select/native-select.component.ts +28 -0
  211. package/src/lib/components/navigation-menu/navigation-menu.component.html +15 -0
  212. package/src/lib/components/navigation-menu/navigation-menu.component.ts +17 -0
  213. package/src/lib/components/pagination/pagination.component.html +30 -0
  214. package/src/lib/components/pagination/pagination.component.ts +37 -0
  215. package/src/lib/components/popover/popover.component.html +6 -0
  216. package/src/lib/components/popover/popover.component.ts +40 -0
  217. package/src/lib/components/progress/progress.component.html +9 -0
  218. package/src/lib/components/progress/progress.component.ts +20 -0
  219. package/src/lib/components/radio-group/radio-group.component.html +25 -0
  220. package/src/lib/components/radio-group/radio-group.component.ts +30 -0
  221. package/src/lib/components/scroll-area/scroll-area.component.html +5 -0
  222. package/src/lib/components/scroll-area/scroll-area.component.ts +11 -0
  223. package/src/lib/components/select/select.component.html +14 -0
  224. package/src/lib/components/select/select.component.ts +27 -0
  225. package/src/lib/components/separator/separator.component.html +5 -0
  226. package/src/lib/components/separator/separator.component.ts +16 -0
  227. package/src/lib/components/sheet/sheet.component.html +10 -0
  228. package/src/lib/components/sheet/sheet.component.ts +28 -0
  229. package/src/lib/components/sidebar/sidebar.component.html +3 -0
  230. package/src/lib/components/sidebar/sidebar.component.ts +11 -0
  231. package/src/lib/components/skeleton/skeleton.component.html +1 -0
  232. package/src/lib/components/skeleton/skeleton.component.ts +10 -0
  233. package/src/lib/components/slider/slider.component.html +15 -0
  234. package/src/lib/components/slider/slider.component.ts +31 -0
  235. package/src/lib/components/sonner/sonner.component.html +10 -0
  236. package/src/lib/components/sonner/sonner.component.ts +25 -0
  237. package/src/lib/components/spinner/spinner.component.html +6 -0
  238. package/src/lib/components/spinner/spinner.component.ts +11 -0
  239. package/src/lib/components/switch/switch.component.html +14 -0
  240. package/src/lib/components/switch/switch.component.ts +20 -0
  241. package/src/lib/components/table/table.component.html +5 -0
  242. package/src/lib/components/table/table.component.ts +10 -0
  243. package/src/lib/components/tabs/tabs.component.html +21 -0
  244. package/src/lib/components/tabs/tabs.component.ts +26 -0
  245. package/src/lib/components/textarea/textarea.component.html +21 -0
  246. package/src/lib/components/textarea/textarea.component.ts +28 -0
  247. package/src/lib/components/toggle/toggle.component.html +16 -0
  248. package/src/lib/components/toggle/toggle.component.ts +29 -0
  249. package/src/lib/components/toggle-group/toggle-group.component.html +17 -0
  250. package/src/lib/components/toggle-group/toggle-group.component.ts +26 -0
  251. package/src/lib/components/tooltip/tooltip.component.html +6 -0
  252. package/src/lib/components/tooltip/tooltip.component.ts +20 -0
  253. package/src/lib/pdm-ui-kit.module.ts +126 -0
  254. package/src/public-api.ts +58 -0
  255. package/tsconfig.json +30 -0
  256. package/tsconfig.lib.json +17 -0
  257. package/fesm2015/pdm-ui-kit.mjs.map +0 -1
  258. package/fesm2020/pdm-ui-kit.mjs.map +0 -1
  259. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/accordion/accordion.component.mjs +0 -0
  260. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/alert/alert.component.mjs +0 -0
  261. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/alert-dialog/alert-dialog.component.mjs +0 -0
  262. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/aspect-ratio/aspect-ratio.component.mjs +0 -0
  263. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/avatar/avatar.component.mjs +0 -0
  264. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/badge/badge.component.mjs +0 -0
  265. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/breadcrumb/breadcrumb.component.mjs +0 -0
  266. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/button/button.component.mjs +0 -0
  267. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/button-group/button-group.component.mjs +0 -0
  268. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/calendar/calendar.component.mjs +0 -0
  269. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/card/card.component.mjs +0 -0
  270. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/carousel/carousel.component.mjs +0 -0
  271. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/chart/chart.component.mjs +0 -0
  272. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/checkbox/checkbox.component.mjs +0 -0
  273. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/collapsible/collapsible.component.mjs +0 -0
  274. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/combobox/combobox.component.mjs +0 -0
  275. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/command/command.component.mjs +0 -0
  276. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/context-menu/context-menu.component.mjs +0 -0
  277. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/data-table/data-table.component.mjs +0 -0
  278. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/date-picker/date-picker.component.mjs +0 -0
  279. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/dialog/dialog.component.mjs +0 -0
  280. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/drawer/drawer.component.mjs +0 -0
  281. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -0
  282. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/empty/empty.component.mjs +0 -0
  283. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/field/field.component.mjs +0 -0
  284. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/hover-card/hover-card.component.mjs +0 -0
  285. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/icon/icon.component.mjs +0 -0
  286. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/input/input.component.mjs +0 -0
  287. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/input-group/input-group.component.mjs +0 -0
  288. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/input-otp/input-otp.component.mjs +0 -0
  289. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/input-password/input-password.component.mjs +0 -0
  290. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/item/item.component.mjs +0 -0
  291. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/kbd/kbd.component.mjs +0 -0
  292. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/label/label.component.mjs +0 -0
  293. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/menubar/menubar.component.mjs +0 -0
  294. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/native-select/native-select.component.mjs +0 -0
  295. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/navigation-menu/navigation-menu.component.mjs +0 -0
  296. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/pagination/pagination.component.mjs +0 -0
  297. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/popover/popover.component.mjs +0 -0
  298. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/progress/progress.component.mjs +0 -0
  299. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/radio-group/radio-group.component.mjs +0 -0
  300. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/scroll-area/scroll-area.component.mjs +0 -0
  301. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/select/select.component.mjs +0 -0
  302. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/separator/separator.component.mjs +0 -0
  303. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/sheet/sheet.component.mjs +0 -0
  304. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/sidebar/sidebar.component.mjs +0 -0
  305. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/skeleton/skeleton.component.mjs +0 -0
  306. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/slider/slider.component.mjs +0 -0
  307. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/sonner/sonner.component.mjs +0 -0
  308. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/spinner/spinner.component.mjs +0 -0
  309. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/switch/switch.component.mjs +0 -0
  310. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/table/table.component.mjs +0 -0
  311. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/tabs/tabs.component.mjs +0 -0
  312. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/textarea/textarea.component.mjs +0 -0
  313. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/toggle/toggle.component.mjs +0 -0
  314. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/toggle-group/toggle-group.component.mjs +0 -0
  315. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/tooltip/tooltip.component.mjs +0 -0
  316. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/pdm-ui-kit.module.mjs +0 -0
  317. /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/public-api.mjs +0 -0
  318. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/accordion/accordion.component.d.ts +0 -0
  319. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/alert/alert.component.d.ts +0 -0
  320. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/alert-dialog/alert-dialog.component.d.ts +0 -0
  321. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/aspect-ratio/aspect-ratio.component.d.ts +0 -0
  322. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/avatar/avatar.component.d.ts +0 -0
  323. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/badge/badge.component.d.ts +0 -0
  324. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/breadcrumb/breadcrumb.component.d.ts +0 -0
  325. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/button/button.component.d.ts +0 -0
  326. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/button-group/button-group.component.d.ts +0 -0
  327. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/calendar/calendar.component.d.ts +0 -0
  328. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/card/card.component.d.ts +0 -0
  329. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/carousel/carousel.component.d.ts +0 -0
  330. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/chart/chart.component.d.ts +0 -0
  331. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/checkbox/checkbox.component.d.ts +0 -0
  332. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/collapsible/collapsible.component.d.ts +0 -0
  333. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/combobox/combobox.component.d.ts +0 -0
  334. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/command/command.component.d.ts +0 -0
  335. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/context-menu/context-menu.component.d.ts +0 -0
  336. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/data-table/data-table.component.d.ts +0 -0
  337. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/date-picker/date-picker.component.d.ts +0 -0
  338. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/dialog/dialog.component.d.ts +0 -0
  339. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/drawer/drawer.component.d.ts +0 -0
  340. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/dropdown-menu/dropdown-menu.component.d.ts +0 -0
  341. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/empty/empty.component.d.ts +0 -0
  342. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/field/field.component.d.ts +0 -0
  343. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/hover-card/hover-card.component.d.ts +0 -0
  344. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/icon/icon.component.d.ts +0 -0
  345. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/input/input.component.d.ts +0 -0
  346. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/input-group/input-group.component.d.ts +0 -0
  347. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/input-otp/input-otp.component.d.ts +0 -0
  348. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/input-password/input-password.component.d.ts +0 -0
  349. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/item/item.component.d.ts +0 -0
  350. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/kbd/kbd.component.d.ts +0 -0
  351. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/label/label.component.d.ts +0 -0
  352. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/menubar/menubar.component.d.ts +0 -0
  353. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/native-select/native-select.component.d.ts +0 -0
  354. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/navigation-menu/navigation-menu.component.d.ts +0 -0
  355. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/pagination/pagination.component.d.ts +0 -0
  356. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/popover/popover.component.d.ts +0 -0
  357. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/progress/progress.component.d.ts +0 -0
  358. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/radio-group/radio-group.component.d.ts +0 -0
  359. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/scroll-area/scroll-area.component.d.ts +0 -0
  360. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/select/select.component.d.ts +0 -0
  361. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/separator/separator.component.d.ts +0 -0
  362. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/sheet/sheet.component.d.ts +0 -0
  363. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/sidebar/sidebar.component.d.ts +0 -0
  364. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/skeleton/skeleton.component.d.ts +0 -0
  365. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/slider/slider.component.d.ts +0 -0
  366. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/sonner/sonner.component.d.ts +0 -0
  367. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/spinner/spinner.component.d.ts +0 -0
  368. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/switch/switch.component.d.ts +0 -0
  369. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/table/table.component.d.ts +0 -0
  370. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/tabs/tabs.component.d.ts +0 -0
  371. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/textarea/textarea.component.d.ts +0 -0
  372. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/toggle/toggle.component.d.ts +0 -0
  373. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/toggle-group/toggle-group.component.d.ts +0 -0
  374. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/tooltip/tooltip.component.d.ts +0 -0
  375. /package/{lib → dist/corelusa-pdm-ui-kit/lib}/pdm-ui-kit.module.d.ts +0 -0
  376. /package/{public-api.d.ts → dist/corelusa-pdm-ui-kit/public-api.d.ts} +0 -0
  377. /package/{esm2020 → dist/pdm-ui-kit/esm2020}/pdm-ui-kit.mjs +0 -0
  378. /package/{index.d.ts → dist/pdm-ui-kit/index.d.ts} +0 -0
@@ -0,0 +1,140 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChildren } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmInputOtpComponent {
5
+ constructor() {
6
+ this.length = 6;
7
+ this.groupSize = 3;
8
+ this.disabled = false;
9
+ this.invalid = false;
10
+ this.className = '';
11
+ this.valueChange = new EventEmitter();
12
+ this.completed = new EventEmitter();
13
+ this.values = Array.from({ length: this.length }, () => '');
14
+ }
15
+ ngOnChanges() {
16
+ if (this.values.length !== this.length) {
17
+ this.values = Array.from({ length: this.length }, (_, index) => this.values[index] ?? '');
18
+ }
19
+ }
20
+ trackByIndex(index) {
21
+ return index;
22
+ }
23
+ onInput(index, event) {
24
+ const input = event.target;
25
+ const char = (input.value || '').replace(/\D+/g, '').slice(-1);
26
+ this.values[index] = char;
27
+ input.value = char;
28
+ this.emit();
29
+ if (char) {
30
+ this.focusInput(index + 1, true);
31
+ }
32
+ }
33
+ onKeyDown(index, event) {
34
+ if (event.key === 'Backspace' && !this.values[index]) {
35
+ this.focusInput(index - 1);
36
+ return;
37
+ }
38
+ if (event.key === 'ArrowLeft') {
39
+ event.preventDefault();
40
+ this.focusInput(index - 1);
41
+ return;
42
+ }
43
+ if (event.key === 'ArrowRight') {
44
+ event.preventDefault();
45
+ this.focusInput(index + 1);
46
+ }
47
+ }
48
+ onPaste(event) {
49
+ event.preventDefault();
50
+ const pastedText = (event.clipboardData?.getData('text') ?? '').replace(/\D+/g, '').slice(0, this.length);
51
+ if (!pastedText) {
52
+ return;
53
+ }
54
+ this.values = Array.from({ length: this.length }, (_, index) => pastedText[index] ?? '');
55
+ this.emit();
56
+ const nextIndex = Math.min(pastedText.length, this.length - 1);
57
+ this.focusInput(nextIndex);
58
+ }
59
+ getInputClasses(index) {
60
+ const classes = [
61
+ 'h-9 w-9 appearance-none border bg-background text-center text-sm font-normal text-foreground outline-none transition focus:outline-none focus-visible:outline-none',
62
+ 'shadow-[0_1px_2px_0_rgba(0,0,0,0.1)]',
63
+ 'focus:border-input focus:ring-1 focus:ring-primary/30',
64
+ 'disabled:cursor-not-allowed disabled:opacity-50',
65
+ ];
66
+ if (this.invalid) {
67
+ classes.push('border-destructive focus:border-destructive focus:ring-destructive');
68
+ }
69
+ else {
70
+ classes.push('border-input');
71
+ }
72
+ if (this.isGroupStart(index)) {
73
+ classes.push('rounded-l-md border-l');
74
+ }
75
+ else {
76
+ classes.push('border-l-0');
77
+ }
78
+ if (this.isGroupEnd(index)) {
79
+ classes.push('rounded-r-md');
80
+ }
81
+ return classes.join(' ');
82
+ }
83
+ shouldShowSeparator(index) {
84
+ return this.groupSize > 0 && (index + 1) % this.groupSize === 0 && index < this.length - 1;
85
+ }
86
+ isGroupStart(index) {
87
+ return this.groupSize <= 0 || index % this.groupSize === 0;
88
+ }
89
+ isGroupEnd(index) {
90
+ if (this.groupSize <= 0) {
91
+ return index === this.length - 1;
92
+ }
93
+ return (index + 1) % this.groupSize === 0 || index === this.length - 1;
94
+ }
95
+ emit() {
96
+ const value = this.values.join('');
97
+ this.valueChange.emit(value);
98
+ if (value.length === this.length && !this.values.includes('')) {
99
+ this.completed.emit(value);
100
+ }
101
+ }
102
+ focusInput(index, deferred = false) {
103
+ if (deferred) {
104
+ requestAnimationFrame(() => this.focusInput(index, false));
105
+ return;
106
+ }
107
+ if (!this.inputs || index < 0 || index >= this.length) {
108
+ return;
109
+ }
110
+ const input = this.inputs.get(index)?.nativeElement;
111
+ if (input) {
112
+ input.focus();
113
+ input.select();
114
+ }
115
+ }
116
+ }
117
+ PdmInputOtpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmInputOtpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
118
+ PdmInputOtpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmInputOtpComponent, selector: "pdm-input-otp", inputs: { length: "length", groupSize: "groupSize", disabled: "disabled", invalid: "invalid", className: "className" }, outputs: { valueChange: "valueChange", completed: "completed" }, viewQueries: [{ propertyName: "inputs", predicate: ["otpInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"['inline-flex items-center justify-center', className]\" (paste)=\"onPaste($event)\">\n <ng-container *ngFor=\"let value of values; let index = index; trackBy: trackByIndex\">\n <input\n #otpInput\n [class]=\"getInputClasses(index)\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n [attr.name]=\"'otp-digit-' + index\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-label]=\"'OTP digit ' + (index + 1)\"\n (input)=\"onInput(index, $event)\"\n (keydown)=\"onKeyDown(index, $event)\"\n />\n <span\n *ngIf=\"shouldShowSeparator(index)\"\n class=\"mx-2 mt-[-1px] h-px w-6 bg-foreground opacity-80\"\n aria-hidden=\"true\"\n ></span>\n </ng-container>\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 });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmInputOtpComponent, decorators: [{
120
+ type: Component,
121
+ args: [{ selector: 'pdm-input-otp', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['inline-flex items-center justify-center', className]\" (paste)=\"onPaste($event)\">\n <ng-container *ngFor=\"let value of values; let index = index; trackBy: trackByIndex\">\n <input\n #otpInput\n [class]=\"getInputClasses(index)\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n [attr.name]=\"'otp-digit-' + index\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-label]=\"'OTP digit ' + (index + 1)\"\n (input)=\"onInput(index, $event)\"\n (keydown)=\"onKeyDown(index, $event)\"\n />\n <span\n *ngIf=\"shouldShowSeparator(index)\"\n class=\"mx-2 mt-[-1px] h-px w-6 bg-foreground opacity-80\"\n aria-hidden=\"true\"\n ></span>\n </ng-container>\n</div>\n" }]
122
+ }], propDecorators: { length: [{
123
+ type: Input
124
+ }], groupSize: [{
125
+ type: Input
126
+ }], disabled: [{
127
+ type: Input
128
+ }], invalid: [{
129
+ type: Input
130
+ }], className: [{
131
+ type: Input
132
+ }], valueChange: [{
133
+ type: Output
134
+ }], completed: [{
135
+ type: Output
136
+ }], inputs: [{
137
+ type: ViewChildren,
138
+ args: ['otpInput']
139
+ }] } });
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtb3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1vdHAvaW5wdXQtb3RwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1vdHAvaW5wdXQtb3RwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPckksTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFJakQsV0FBTSxHQUFhLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBOEhsRTtJQTVIQyxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJ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QU07c0JBQWhELFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWlucHV0LW90cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1vdHAuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1JbnB1dE90cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxlbmd0aCA9IDY7XG4gIEBJbnB1dCgpIGdyb3VwU2l6ZSA9IDM7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBjb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkcmVuKCdvdHBJbnB1dCcpIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRzPzogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+O1xuXG4gIHZhbHVlczogc3RyaW5nW10gPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmxlbmd0aCB9LCAoKSA9PiAnJyk7XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCAhPT0gdGhpcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudmFsdWVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5sZW5ndGggfSwgKF8sIGluZGV4KSA9PiB0aGlzLnZhbHVlc1tpbmRleF0gPz8gJycpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBvbklucHV0KGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgY2hhciA9IChpbnB1dC52YWx1ZSB8fCAnJykucmVwbGFjZSgvXFxEKy9nLCAnJykuc2xpY2UoLTEpO1xuXG4gICAgdGhpcy52YWx1ZXNbaW5kZXhdID0gY2hhcjtcbiAgICBpbnB1dC52YWx1ZSA9IGNoYXI7XG4gICAgdGhpcy5lbWl0KCk7XG5cbiAgICBpZiAoY2hhcikge1xuICAgICAgdGhpcy5mb2N1c0lucHV0KGluZGV4ICsgMSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25LZXlEb3duKGluZGV4OiBudW1iZXIsIGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgJiYgIXRoaXMudmFsdWVzW2luZGV4XSkge1xuICAgICAgdGhpcy5mb2N1c0lucHV0KGluZGV4IC0gMSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5wdXQoaW5kZXggLSAxKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5wdXQoaW5kZXggKyAxKTtcbiAgICB9XG4gIH1cblxuICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBjb25zdCBwYXN0ZWRUZXh0ID0gKGV2ZW50LmNsaXBib2FyZERhdGE/LmdldERhdGEoJ3RleHQnKSA/PyAnJykucmVwbGFjZSgvXFxEKy9nLCAnJykuc2xpY2UoMCwgdGhpcy5sZW5ndGgpO1xuXG4gICAgaWYgKCFwYXN0ZWRUZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmxlbmd0aCB9LCAoXywgaW5kZXgpID0+IHBhc3RlZFRleHRbaW5kZXhdID8/ICcnKTtcbiAgICB0aGlzLmVtaXQoKTtcblxuICAgIGNvbnN0IG5leHRJbmRleCA9IE1hdGgubWluKHBhc3RlZFRleHQubGVuZ3RoLCB0aGlzLmxlbmd0aCAtIDEpO1xuICAgIHRoaXMuZm9jdXNJbnB1dChuZXh0SW5kZXgpO1xuICB9XG5cbiAgZ2V0SW5wdXRDbGFzc2VzKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbXG4gICAgICAnaC05IHctOSBhcHBlYXJhbmNlLW5vbmUgYm9yZGVyIGJnLWJhY2tncm91bmQgdGV4dC1jZW50ZXIgdGV4dC1zbSBmb250LW5vcm1hbCB0ZXh0LWZvcmVncm91bmQgb3V0bGluZS1ub25lIHRyYW5zaXRpb24gZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lJyxcbiAgICAgICdzaGFkb3ctWzBfMXB4XzJweF8wX3JnYmEoMCwwLDAsMC4xKV0nLFxuICAgICAgJ2ZvY3VzOmJvcmRlci1pbnB1dCBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy1wcmltYXJ5LzMwJyxcbiAgICAgICdkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCcsXG4gICAgXTtcblxuICAgIGlmICh0aGlzLmludmFsaWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnYm9yZGVyLWRlc3RydWN0aXZlIGZvY3VzOmJvcmRlci1kZXN0cnVjdGl2ZSBmb2N1czpyaW5nLWRlc3RydWN0aXZlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnYm9yZGVyLWlucHV0Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHcm91cFN0YXJ0KGluZGV4KSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdyb3VuZGVkLWwtbWQgYm9yZGVyLWwnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdib3JkZXItbC0wJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHcm91cEVuZChpbmRleCkpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgncm91bmRlZC1yLW1kJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuICB9XG5cbiAgc2hvdWxkU2hvd1NlcGFyYXRvcihpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBTaXplID4gMCAmJiAoaW5kZXggKyAxKSAlIHRoaXMuZ3JvdXBTaXplID09PSAwICYmIGluZGV4IDwgdGhpcy5sZW5ndGggLSAxO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0dyb3VwU3RhcnQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwU2l6ZSA8PSAwIHx8IGluZGV4ICUgdGhpcy5ncm91cFNpemUgPT09IDA7XG4gIH1cblxuICBwcml2YXRlIGlzR3JvdXBFbmQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmdyb3VwU2l6ZSA8PSAwKSB7XG4gICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgcmV0dXJuIChpbmRleCArIDEpICUgdGhpcy5ncm91cFNpemUgPT09IDAgfHwgaW5kZXggPT09IHRoaXMubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWVzLmpvaW4oJycpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICBpZiAodmFsdWUubGVuZ3RoID09PSB0aGlzLmxlbmd0aCAmJiAhdGhpcy52YWx1ZXMuaW5jbHVkZXMoJycpKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzSW5wdXQoaW5kZXg6IG51bWJlciwgZGVmZXJyZWQgPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmIChkZWZlcnJlZCkge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMuZm9jdXNJbnB1dChpbmRleCwgZmFsc2UpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaW5wdXRzIHx8IGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dHMuZ2V0KGluZGV4KT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgICBpbnB1dC5zZWxlY3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXInLCBjbGFzc05hbWVdXCIgKHBhc3RlKT1cIm9uUGFzdGUoJGV2ZW50KVwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiB2YWx1ZXM7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICA8aW5wdXRcbiAgICAgICNvdHBJbnB1dFxuICAgICAgW2NsYXNzXT1cImdldElucHV0Q2xhc3NlcyhpbmRleClcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgIG1heGxlbmd0aD1cIjFcIlxuICAgICAgW2F0dHIubmFtZV09XCInb3RwLWRpZ2l0LScgKyBpbmRleFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09UUCBkaWdpdCAnICsgKGluZGV4ICsgMSlcIlxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoaW5kZXgsICRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKGluZGV4LCAkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cInNob3VsZFNob3dTZXBhcmF0b3IoaW5kZXgpXCJcbiAgICAgIGNsYXNzPVwibXgtMiBtdC1bLTFweF0gaC1weCB3LTYgYmctZm9yZWdyb3VuZCBvcGFjaXR5LTgwXCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPjwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -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 PdmInputPasswordComponent {
5
+ constructor() {
6
+ this.id = '';
7
+ this.value = '';
8
+ this.placeholder = '';
9
+ this.disabled = false;
10
+ this.readonly = false;
11
+ this.required = false;
12
+ this.invalid = false;
13
+ this.className = '';
14
+ this.inputClassName = '';
15
+ this.label = '';
16
+ this.helperText = '';
17
+ this.errorText = '';
18
+ this.valueChange = new EventEmitter();
19
+ this.blurred = new EventEmitter();
20
+ this.showPassword = false;
21
+ }
22
+ get inputType() {
23
+ return this.showPassword ? 'text' : 'password';
24
+ }
25
+ onInput(event) {
26
+ this.valueChange.emit(event.target.value);
27
+ }
28
+ onBlur(event) {
29
+ this.blurred.emit(event);
30
+ }
31
+ toggleVisibility() {
32
+ if (this.disabled) {
33
+ return;
34
+ }
35
+ this.showPassword = !this.showPassword;
36
+ }
37
+ }
38
+ PdmInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ PdmInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmInputPasswordComponent, selector: "pdm-input-password", inputs: { id: "id", value: "value", placeholder: "placeholder", disabled: "disabled", readonly: "readonly", required: "required", invalid: "invalid", className: "className", inputClassName: "inputClassName", label: "label", helperText: "helperText", errorText: "errorText" }, outputs: { valueChange: "valueChange", blurred: "blurred" }, ngImport: i0, template: "<div [ngClass]=\"['grid w-full gap-3', className]\">\n <label *ngIf=\"label\" [attr.for]=\"id\" class=\"text-sm font-medium leading-5 text-[hsl(var(--foreground))]\">{{ label }}</label>\n <div class=\"relative\">\n <input\n [id]=\"id\"\n [type]=\"inputType\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"[\n 'flex h-9 w-full rounded-[8px] border bg-[hsl(var(--background))] px-3 py-1 pr-10 text-base leading-6 text-[hsl(var(--foreground))] shadow-[0_1px_2px_rgba(0,0,0,0.1)] outline-none transition-[border-color,box-shadow] placeholder:text-[hsl(var(--muted-foreground))] focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50',\n invalid\n ? 'border-[hsl(var(--destructive))] focus:border-[hsl(var(--destructive))] focus:shadow-[0_0_0_3px_hsl(var(--destructive)/0.2)]'\n : 'border-[hsl(var(--input))] focus:border-[hsl(var(--ring))] focus:shadow-[0_0_0_3px_hsl(var(--ring)/0.5)]',\n inputClassName\n ]\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur($event)\"\n />\n <button\n type=\"button\"\n class=\"absolute right-2 top-1/2 inline-flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded border-0 bg-transparent p-0 text-[hsl(var(--muted-foreground))] outline-none transition-colors hover:text-[hsl(var(--foreground))] focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"showPassword ? 'Hide password' : 'Show password'\"\n (click)=\"toggleVisibility()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <path d=\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\"></path>\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <path d=\"M3 3l18 18\"></path>\n <path d=\"M10.58 10.58a2 2 0 1 0 2.83 2.83\"></path>\n <path d=\"M9.88 5.09A10.94 10.94 0 0 1 12 4.91c5.05 0 9.27 3.11 10.6 7.09a1 1 0 0 1 0 .64 11.9 11.9 0 0 1-1.84 3.2\"></path>\n <path d=\"M6.61 6.61A11.81 11.81 0 0 0 1.4 12a1 1 0 0 0 0 .64 11.83 11.83 0 0 0 8.79 7.54\"></path>\n </svg>\n </button>\n </div>\n <p *ngIf=\"!invalid && helperText\" class=\"text-sm leading-5 text-[hsl(var(--muted-foreground))]\">{{ helperText }}</p>\n <p *ngIf=\"invalid && errorText\" class=\"text-sm leading-5 text-[hsl(var(--destructive))]\">{{ errorText }}</p>\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 });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmInputPasswordComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'pdm-input-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['grid w-full gap-3', className]\">\n <label *ngIf=\"label\" [attr.for]=\"id\" class=\"text-sm font-medium leading-5 text-[hsl(var(--foreground))]\">{{ label }}</label>\n <div class=\"relative\">\n <input\n [id]=\"id\"\n [type]=\"inputType\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"[\n 'flex h-9 w-full rounded-[8px] border bg-[hsl(var(--background))] px-3 py-1 pr-10 text-base leading-6 text-[hsl(var(--foreground))] shadow-[0_1px_2px_rgba(0,0,0,0.1)] outline-none transition-[border-color,box-shadow] placeholder:text-[hsl(var(--muted-foreground))] focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50',\n invalid\n ? 'border-[hsl(var(--destructive))] focus:border-[hsl(var(--destructive))] focus:shadow-[0_0_0_3px_hsl(var(--destructive)/0.2)]'\n : 'border-[hsl(var(--input))] focus:border-[hsl(var(--ring))] focus:shadow-[0_0_0_3px_hsl(var(--ring)/0.5)]',\n inputClassName\n ]\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur($event)\"\n />\n <button\n type=\"button\"\n class=\"absolute right-2 top-1/2 inline-flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded border-0 bg-transparent p-0 text-[hsl(var(--muted-foreground))] outline-none transition-colors hover:text-[hsl(var(--foreground))] focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"showPassword ? 'Hide password' : 'Show password'\"\n (click)=\"toggleVisibility()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <path d=\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\"></path>\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <path d=\"M3 3l18 18\"></path>\n <path d=\"M10.58 10.58a2 2 0 1 0 2.83 2.83\"></path>\n <path d=\"M9.88 5.09A10.94 10.94 0 0 1 12 4.91c5.05 0 9.27 3.11 10.6 7.09a1 1 0 0 1 0 .64 11.9 11.9 0 0 1-1.84 3.2\"></path>\n <path d=\"M6.61 6.61A11.81 11.81 0 0 0 1.4 12a1 1 0 0 0 0 .64 11.83 11.83 0 0 0 8.79 7.54\"></path>\n </svg>\n </button>\n </div>\n <p *ngIf=\"!invalid && helperText\" class=\"text-sm leading-5 text-[hsl(var(--muted-foreground))]\">{{ helperText }}</p>\n <p *ngIf=\"invalid && errorText\" class=\"text-sm leading-5 text-[hsl(var(--destructive))]\">{{ errorText }}</p>\n</div>\n" }]
43
+ }], propDecorators: { id: [{
44
+ type: Input
45
+ }], value: [{
46
+ type: Input
47
+ }], placeholder: [{
48
+ type: Input
49
+ }], disabled: [{
50
+ type: Input
51
+ }], readonly: [{
52
+ type: Input
53
+ }], required: [{
54
+ type: Input
55
+ }], invalid: [{
56
+ type: Input
57
+ }], className: [{
58
+ type: Input
59
+ }], inputClassName: [{
60
+ type: Input
61
+ }], label: [{
62
+ type: Input
63
+ }], helperText: [{
64
+ type: Input
65
+ }], errorText: [{
66
+ type: Input
67
+ }], valueChange: [{
68
+ type: Output
69
+ }], blurred: [{
70
+ type: Output
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1wYXNzd29yZC9pbnB1dC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPaEcsTUFBTSxPQUFPLHlCQUF5QjtJQUx0QztRQU1XLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVkLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUVuRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztLQXFCdEI7SUFuQkMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFpQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3pDLENBQUM7O3VIQXJDVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwyWUNQdEMsOHRHQWtFQTs0RkQzRGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQixtQkFFYix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0taW5wdXQtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1JbnB1dFBhc3N3b3JkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQgPSAnJztcbiAgQElucHV0KCkgdmFsdWUgPSAnJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgaW5wdXRDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgaGVscGVyVGV4dCA9ICcnO1xuICBASW5wdXQoKSBlcnJvclRleHQgPSAnJztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGJsdXJyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgc2hvd1Bhc3N3b3JkID0gZmFsc2U7XG5cbiAgZ2V0IGlucHV0VHlwZSgpOiAndGV4dCcgfCAncGFzc3dvcmQnIHtcbiAgICByZXR1cm4gdGhpcy5zaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnO1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XG4gIH1cblxuICBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXJyZWQuZW1pdChldmVudCk7XG4gIH1cblxuICB0b2dnbGVWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UGFzc3dvcmQgPSAhdGhpcy5zaG93UGFzc3dvcmQ7XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydncmlkIHctZnVsbCBnYXAtMycsIGNsYXNzTmFtZV1cIj5cbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBbYXR0ci5mb3JdPVwiaWRcIiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy01IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICA8aW5wdXRcbiAgICAgIFtpZF09XCJpZFwiXG4gICAgICBbdHlwZV09XCJpbnB1dFR5cGVcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICdmbGV4IGgtOSB3LWZ1bGwgcm91bmRlZC1bOHB4XSBib3JkZXIgYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB4LTMgcHktMSBwci0xMCB0ZXh0LWJhc2UgbGVhZGluZy02IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIHNoYWRvdy1bMF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4xKV0gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tW2JvcmRlci1jb2xvcixib3gtc2hhZG93XSBwbGFjZWhvbGRlcjp0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAnLFxuICAgICAgICBpbnZhbGlkXG4gICAgICAgICAgPyAnYm9yZGVyLVtoc2wodmFyKC0tZGVzdHJ1Y3RpdmUpKV0gZm9jdXM6Ym9yZGVyLVtoc2wodmFyKC0tZGVzdHJ1Y3RpdmUpKV0gZm9jdXM6c2hhZG93LVswXzBfMF8zcHhfaHNsKHZhcigtLWRlc3RydWN0aXZlKS8wLjIpXSdcbiAgICAgICAgICA6ICdib3JkZXItW2hzbCh2YXIoLS1pbnB1dCkpXSBmb2N1czpib3JkZXItW2hzbCh2YXIoLS1yaW5nKSldIGZvY3VzOnNoYWRvdy1bMF8wXzBfM3B4X2hzbCh2YXIoLS1yaW5nKS8wLjUpXScsXG4gICAgICAgIGlucHV0Q2xhc3NOYW1lXG4gICAgICBdXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgIC8+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImFic29sdXRlIHJpZ2h0LTIgdG9wLTEvMiBpbmxpbmUtZmxleCBoLTYgdy02IC10cmFuc2xhdGUteS0xLzIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQgYm9yZGVyLTAgYmctdHJhbnNwYXJlbnQgcC0wIHRleHQtW2hzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSldIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNjBcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic2hvd1Bhc3N3b3JkID8gJ0hpZGUgcGFzc3dvcmQnIDogJ1Nob3cgcGFzc3dvcmQnXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVWaXNpYmlsaXR5KClcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhc2hvd1Bhc3N3b3JkXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICBjbGFzcz1cImgtNCB3LTRcIlxuICAgICAgPlxuICAgICAgICA8cGF0aCBkPVwiTTIuMDYyIDEyLjM0OGExIDEgMCAwIDEgMC0uNjk2IDEwLjc1IDEwLjc1IDAgMCAxIDE5Ljg3NiAwIDEgMSAwIDAgMSAwIC42OTYgMTAuNzUgMTAuNzUgMCAwIDEtMTkuODc2IDBcIj48L3BhdGg+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiM1wiPjwvY2lyY2xlPlxuICAgICAgPC9zdmc+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ0lmPVwic2hvd1Bhc3N3b3JkXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICBjbGFzcz1cImgtNCB3LTRcIlxuICAgICAgPlxuICAgICAgICA8cGF0aCBkPVwiTTMgM2wxOCAxOFwiPjwvcGF0aD5cbiAgICAgICAgPHBhdGggZD1cIk0xMC41OCAxMC41OGEyIDIgMCAxIDAgMi44MyAyLjgzXCI+PC9wYXRoPlxuICAgICAgICA8cGF0aCBkPVwiTTkuODggNS4wOUExMC45NCAxMC45NCAwIDAgMSAxMiA0LjkxYzUuMDUgMCA5LjI3IDMuMTEgMTAuNiA3LjA5YTEgMSAwIDAgMSAwIC42NCAxMS45IDExLjkgMCAwIDEtMS44NCAzLjJcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGQ9XCJNNi42MSA2LjYxQTExLjgxIDExLjgxIDAgMCAwIDEuNCAxMmExIDEgMCAwIDAgMCAuNjQgMTEuODMgMTEuODMgMCAwIDAgOC43OSA3LjU0XCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8cCAqbmdJZj1cIiFpbnZhbGlkICYmIGhlbHBlclRleHRcIiBjbGFzcz1cInRleHQtc20gbGVhZGluZy01IHRleHQtW2hzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSldXCI+e3sgaGVscGVyVGV4dCB9fTwvcD5cbiAgPHAgKm5nSWY9XCJpbnZhbGlkICYmIGVycm9yVGV4dFwiIGNsYXNzPVwidGV4dC1zbSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWRlc3RydWN0aXZlKSldXCI+e3sgZXJyb3JUZXh0IH19PC9wPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmItemComponent {
5
+ constructor() {
6
+ this.className = '';
7
+ this.disabled = false;
8
+ this.selected = false;
9
+ }
10
+ }
11
+ PdmItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ PdmItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmItemComponent, selector: "pdm-item", inputs: { className: "className", disabled: "disabled", selected: "selected" }, ngImport: i0, template: "<div\n [ngClass]=\"[\n 'relative flex w-full select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors',\n selected ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]' : 'text-[hsl(var(--foreground))]',\n disabled ? 'pointer-events-none opacity-50' : 'hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]',\n className\n ]\"\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmItemComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'pdm-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [ngClass]=\"[\n 'relative flex w-full select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors',\n selected ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]' : 'text-[hsl(var(--foreground))]',\n disabled ? 'pointer-events-none opacity-50' : 'hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]',\n className\n ]\"\n>\n <ng-content></ng-content>\n</div>\n" }]
16
+ }], propDecorators: { className: [{
17
+ type: Input
18
+ }], disabled: [{
19
+ type: Input
20
+ }], selected: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaXRlbS9pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pdGVtL2l0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xRSxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBTVcsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztLQUMzQjs7OEdBSlksZ0JBQWdCO2tHQUFoQixnQkFBZ0IsZ0lDUDdCLGtjQVVBOzRGREhhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVLG1CQUVILHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0ZWQgPSBmYWxzZTtcbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwiW1xuICAgICdyZWxhdGl2ZSBmbGV4IHctZnVsbCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZC1zbSBweC0yIHB5LTEuNSB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycycsXG4gICAgc2VsZWN0ZWQgPyAnYmctW2hzbCh2YXIoLS1hY2NlbnQpKV0gdGV4dC1baHNsKHZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKSldJyA6ICd0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXScsXG4gICAgZGlzYWJsZWQgPyAncG9pbnRlci1ldmVudHMtbm9uZSBvcGFjaXR5LTUwJyA6ICdob3ZlcjpiZy1baHNsKHZhcigtLWFjY2VudCkpXSBob3Zlcjp0ZXh0LVtoc2wodmFyKC0tYWNjZW50LWZvcmVncm91bmQpKV0nLFxuICAgIGNsYXNzTmFtZVxuICBdXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmKbdComponent {
5
+ constructor() {
6
+ this.className = '';
7
+ }
8
+ }
9
+ PdmKbdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmKbdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ PdmKbdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmKbdComponent, selector: "pdm-kbd", inputs: { className: "className" }, ngImport: i0, template: "<kbd [ngClass]=\"['inline-flex h-6 min-w-[24px] items-center justify-center rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted))] px-1.5 font-mono text-xs font-medium text-[hsl(var(--muted-foreground))]', className]\">\n <ng-content></ng-content>\n</kbd>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmKbdComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'pdm-kbd', changeDetection: ChangeDetectionStrategy.OnPush, template: "<kbd [ngClass]=\"['inline-flex h-6 min-w-[24px] items-center justify-center rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted))] px-1.5 font-mono text-xs font-medium text-[hsl(var(--muted-foreground))]', className]\">\n <ng-content></ng-content>\n</kbd>\n" }]
14
+ }], propDecorators: { className: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9rYmQva2JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9rYmQva2JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPMUUsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFNVyxjQUFTLEdBQUcsRUFBRSxDQUFDO0tBQ3pCOzs2R0FGWSxlQUFlO2lHQUFmLGVBQWUsbUZDUDVCLGtSQUdBOzRGRElhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWtiZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9rYmQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1LYmRDb21wb25lbnQge1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbn1cbiIsIjxrYmQgW25nQ2xhc3NdPVwiWydpbmxpbmUtZmxleCBoLTYgbWluLXctWzI0cHhdIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1tdXRlZCkpXSBweC0xLjUgZm9udC1tb25vIHRleHQteHMgZm9udC1tZWRpdW0gdGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV0nLCBjbGFzc05hbWVdXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwva2JkPlxuIl19
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmLabelComponent {
5
+ constructor() {
6
+ this.forId = '';
7
+ this.required = false;
8
+ this.className = '';
9
+ }
10
+ }
11
+ PdmLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ PdmLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmLabelComponent, selector: "pdm-label", inputs: { forId: "forId", required: "required", className: "className" }, ngImport: i0, template: "<label\n [attr.for]=\"forId\"\n [ngClass]=\"['text-sm font-medium leading-5 text-[hsl(var(--foreground))] peer-disabled:cursor-not-allowed peer-disabled:opacity-70', className]\"\n>\n <ng-content></ng-content>\n <span *ngIf=\"required\" class=\"ml-1 text-[hsl(var(--destructive))]\">*</span>\n</label>\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 });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmLabelComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'pdm-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\n [attr.for]=\"forId\"\n [ngClass]=\"['text-sm font-medium leading-5 text-[hsl(var(--foreground))] peer-disabled:cursor-not-allowed peer-disabled:opacity-70', className]\"\n>\n <ng-content></ng-content>\n <span *ngIf=\"required\" class=\"ml-1 text-[hsl(var(--destructive))]\">*</span>\n</label>\n" }]
16
+ }], propDecorators: { forId: [{
17
+ type: Input
18
+ }], required: [{
19
+ type: Input
20
+ }], className: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xhYmVsL2xhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbC9sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFFLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFNVyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsRUFBRSxDQUFDO0tBQ3pCOzsrR0FKWSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwySENQOUIscVRBT0E7NEZEQWEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1sYWJlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUxhYmVsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZm9ySWQgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG59XG4iLCI8bGFiZWxcbiAgW2F0dHIuZm9yXT1cImZvcklkXCJcbiAgW25nQ2xhc3NdPVwiWyd0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBwZWVyLWRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBwZWVyLWRpc2FibGVkOm9wYWNpdHktNzAnLCBjbGFzc05hbWVdXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJtbC0xIHRleHQtW2hzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpXVwiPio8L3NwYW4+XG48L2xhYmVsPlxuIl19
@@ -0,0 +1,31 @@
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 PdmMenubarComponent {
5
+ constructor() {
6
+ this.menus = [];
7
+ this.className = '';
8
+ this.itemSelect = new EventEmitter();
9
+ this.openIndex = -1;
10
+ }
11
+ toggle(index) {
12
+ this.openIndex = this.openIndex === index ? -1 : index;
13
+ }
14
+ select(value) {
15
+ this.itemSelect.emit(value);
16
+ this.openIndex = -1;
17
+ }
18
+ }
19
+ PdmMenubarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmMenubarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ PdmMenubarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmMenubarComponent, selector: "pdm-menubar", inputs: { menus: "menus", className: "className" }, outputs: { itemSelect: "itemSelect" }, ngImport: i0, template: "<nav role=\"menubar\" [ngClass]=\"['inline-flex h-9 items-center gap-0.5 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-1 shadow-[0_1px_2px_rgba(0,0,0,0.1)]', className]\">\n <div *ngFor=\"let menu of menus; let i = index\" class=\"relative\">\n <button type=\"button\" class=\"inline-flex h-7 items-center rounded-sm px-3 text-sm leading-5 text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))]\" (click)=\"toggle(i)\">{{ menu.label }}</button>\n <div *ngIf=\"openIndex === i\" class=\"absolute left-0 top-full z-50 mt-1 min-w-[12rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-[0_4px_6px_rgba(0,0,0,0.09)]\">\n <button\n *ngFor=\"let item of menu.items\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"relative flex w-full cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm leading-5 outline-none hover:bg-[hsl(var(--accent))] disabled:pointer-events-none disabled:opacity-50\"\n (click)=\"select(item.value)\"\n >\n {{ item.label }}\n </button>\n </div>\n </div>\n</nav>\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 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmMenubarComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'pdm-menubar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav role=\"menubar\" [ngClass]=\"['inline-flex h-9 items-center gap-0.5 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-1 shadow-[0_1px_2px_rgba(0,0,0,0.1)]', className]\">\n <div *ngFor=\"let menu of menus; let i = index\" class=\"relative\">\n <button type=\"button\" class=\"inline-flex h-7 items-center rounded-sm px-3 text-sm leading-5 text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))]\" (click)=\"toggle(i)\">{{ menu.label }}</button>\n <div *ngIf=\"openIndex === i\" class=\"absolute left-0 top-full z-50 mt-1 min-w-[12rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-[0_4px_6px_rgba(0,0,0,0.09)]\">\n <button\n *ngFor=\"let item of menu.items\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"relative flex w-full cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm leading-5 outline-none hover:bg-[hsl(var(--accent))] disabled:pointer-events-none disabled:opacity-50\"\n (click)=\"select(item.value)\"\n >\n {{ item.label }}\n </button>\n </div>\n </div>\n</nav>\n" }]
24
+ }], propDecorators: { menus: [{
25
+ type: Input
26
+ }], className: [{
27
+ type: Input
28
+ }], itemSelect: [{
29
+ type: Output
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBYWhHLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFNVyxVQUFLLEdBQXFCLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFbEQsY0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBVWhCO0lBUkMsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDOztpSEFkVSxtQkFBbUI7cUdBQW5CLG1CQUFtQiw4SUNiaEMsb3FDQWdCQTs0RkRIYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZG1NZW51SXRlbSB9IGZyb20gJy4uL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBkbU1lbnViYXJJdGVtIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgaXRlbXM6IFBkbU1lbnVJdGVtW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1tZW51YmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnViYXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1NZW51YmFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbWVudXM6IFBkbU1lbnViYXJJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgb3BlbkluZGV4ID0gLTE7XG5cbiAgdG9nZ2xlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5JbmRleCA9IHRoaXMub3BlbkluZGV4ID09PSBpbmRleCA/IC0xIDogaW5kZXg7XG4gIH1cblxuICBzZWxlY3QodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVNlbGVjdC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLm9wZW5JbmRleCA9IC0xO1xuICB9XG59XG4iLCI8bmF2IHJvbGU9XCJtZW51YmFyXCIgW25nQ2xhc3NdPVwiWydpbmxpbmUtZmxleCBoLTkgaXRlbXMtY2VudGVyIGdhcC0wLjUgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBwLTEgc2hhZG93LVswXzFweF8ycHhfcmdiYSgwLDAsMCwwLjEpXScsIGNsYXNzTmFtZV1cIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51czsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtNyBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweC0zIHRleHQtc20gbGVhZGluZy01IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIGhvdmVyOmJnLVtoc2wodmFyKC0tYWNjZW50KSldXCIgKGNsaWNrKT1cInRvZ2dsZShpKVwiPnt7IG1lbnUubGFiZWwgfX08L2J1dHRvbj5cbiAgICA8ZGl2ICpuZ0lmPVwib3BlbkluZGV4ID09PSBpXCIgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLWZ1bGwgei01MCBtdC0xIG1pbi13LVsxMnJlbV0gcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tcG9wb3ZlcikpXSBwLTEgdGV4dC1baHNsKHZhcigtLXBvcG92ZXItZm9yZWdyb3VuZCkpXSBzaGFkb3ctWzBfNHB4XzZweF9yZ2JhKDAsMCwwLDAuMDkpXVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51Lml0ZW1zXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBmbGV4IHctZnVsbCBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweC0yIHB5LTEuNSB0ZXh0LXNtIGxlYWRpbmctNSBvdXRsaW5lLW5vbmUgaG92ZXI6YmctW2hzbCh2YXIoLS1hY2NlbnQpKV0gZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpdGVtLnZhbHVlKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmF2PlxuIl19
@@ -0,0 +1,42 @@
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 "../icon/icon.component";
5
+ export class PdmNativeSelectComponent {
6
+ constructor() {
7
+ this.id = '';
8
+ this.value = '';
9
+ this.disabled = false;
10
+ this.invalid = false;
11
+ this.options = [];
12
+ this.placeholder = 'Select an option';
13
+ this.className = '';
14
+ this.valueChange = new EventEmitter();
15
+ }
16
+ onChange(event) {
17
+ this.valueChange.emit(event.target.value);
18
+ }
19
+ }
20
+ PdmNativeSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmNativeSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ PdmNativeSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmNativeSelectComponent, selector: "pdm-native-select", inputs: { id: "id", value: "value", disabled: "disabled", invalid: "invalid", options: "options", placeholder: "placeholder", className: "className" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"relative\" [ngClass]=\"className\">\n <select\n [id]=\"id\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n (change)=\"onChange($event)\"\n [ngClass]=\"[\n 'flex h-9 w-full appearance-none rounded-[8px] border bg-[hsl(var(--background))] px-3 py-2 pr-9 text-sm leading-5 shadow-[0_1px_2px_rgba(0,0,0,0.1)] ring-offset-[hsl(var(--background))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--foreground))] disabled:cursor-not-allowed disabled:opacity-50',\n invalid ? 'border-[hsl(var(--destructive))]' : 'border-[hsl(var(--input))]'\n ]\"\n >\n <option value=\"\" disabled>{{ placeholder }}</option>\n <option *ngFor=\"let option of options\" [value]=\"option.value\" [disabled]=\"option.disabled\">{{ option.label }}</option>\n </select>\n <pdm-icon className=\"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-[hsl(var(--muted-foreground))]\" name=\"chevron-down\" [size]=\"16\"></pdm-icon>\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: "component", type: i2.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmNativeSelectComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'pdm-native-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\" [ngClass]=\"className\">\n <select\n [id]=\"id\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n (change)=\"onChange($event)\"\n [ngClass]=\"[\n 'flex h-9 w-full appearance-none rounded-[8px] border bg-[hsl(var(--background))] px-3 py-2 pr-9 text-sm leading-5 shadow-[0_1px_2px_rgba(0,0,0,0.1)] ring-offset-[hsl(var(--background))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--foreground))] disabled:cursor-not-allowed disabled:opacity-50',\n invalid ? 'border-[hsl(var(--destructive))]' : 'border-[hsl(var(--input))]'\n ]\"\n >\n <option value=\"\" disabled>{{ placeholder }}</option>\n <option *ngFor=\"let option of options\" [value]=\"option.value\" [disabled]=\"option.disabled\">{{ option.label }}</option>\n </select>\n <pdm-icon className=\"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-[hsl(var(--muted-foreground))]\" name=\"chevron-down\" [size]=\"16\"></pdm-icon>\n</div>\n" }]
25
+ }], propDecorators: { id: [{
26
+ type: Input
27
+ }], value: [{
28
+ type: Input
29
+ }], disabled: [{
30
+ type: Input
31
+ }], invalid: [{
32
+ type: Input
33
+ }], options: [{
34
+ type: Input
35
+ }], placeholder: [{
36
+ type: Input
37
+ }], className: [{
38
+ type: Input
39
+ }], valueChange: [{
40
+ type: Output
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbmF0aXZlLXNlbGVjdC9uYXRpdmUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9uYXRpdmUtc2VsZWN0L25hdGl2ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWFoRyxNQUFNLE9BQU8sd0JBQXdCO0lBTHJDO1FBTVcsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUE0QixFQUFFLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQztRQUNqQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBS3BEO0lBSEMsUUFBUSxDQUFDLEtBQVk7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLE1BQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7c0hBYlUsd0JBQXdCOzBHQUF4Qix3QkFBd0IsMFBDYnJDLGdoQ0FpQkE7NEZESmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG1CQUFtQixtQkFFWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBkbU5hdGl2ZVNlbGVjdE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLW5hdGl2ZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF0aXZlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbU5hdGl2ZVNlbGVjdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlkID0gJyc7XG4gIEBJbnB1dCgpIHZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcbiAgQElucHV0KCkgb3B0aW9uczogUGRtTmF0aXZlU2VsZWN0T3B0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IGFuIG9wdGlvbic7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCgoZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50KS52YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiPlxuICA8c2VsZWN0XG4gICAgW2lkXT1cImlkXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgW25nQ2xhc3NdPVwiW1xuICAgICAgJ2ZsZXggaC05IHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgcm91bmRlZC1bOHB4XSBib3JkZXIgYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB4LTMgcHktMiBwci05IHRleHQtc20gbGVhZGluZy01IHNoYWRvdy1bMF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4xKV0gcmluZy1vZmZzZXQtW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0xIGZvY3VzLXZpc2libGU6cmluZy1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAnLFxuICAgICAgaW52YWxpZCA/ICdib3JkZXItW2hzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpXScgOiAnYm9yZGVyLVtoc2wodmFyKC0taW5wdXQpKV0nXG4gICAgXVwiXG4gID5cbiAgICA8b3B0aW9uIHZhbHVlPVwiXCIgZGlzYWJsZWQ+e3sgcGxhY2Vob2xkZXIgfX08L29wdGlvbj5cbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIiBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuICA8cGRtLWljb24gY2xhc3NOYW1lPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSByaWdodC0zIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiB0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXVwiIG5hbWU9XCJjaGV2cm9uLWRvd25cIiBbc2l6ZV09XCIxNlwiPjwvcGRtLWljb24+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmNavigationMenuComponent {
5
+ constructor() {
6
+ this.items = [];
7
+ this.className = '';
8
+ }
9
+ }
10
+ PdmNavigationMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmNavigationMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ PdmNavigationMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmNavigationMenuComponent, selector: "pdm-navigation-menu", inputs: { items: "items", className: "className" }, ngImport: i0, template: "<nav [ngClass]=\"['relative z-10 flex max-w-max flex-1 items-center justify-center', className]\">\n <ul class=\"group flex flex-1 list-none items-center justify-center space-x-1\">\n <li *ngFor=\"let item of items\">\n <a\n [href]=\"item.href || '#'\"\n [ngClass]=\"[\n 'group inline-flex h-9 w-max items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]',\n item.active ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]' : 'text-[hsl(var(--foreground))]'\n ]\"\n >\n {{ item.label }}\n </a>\n </li>\n </ul>\n</nav>\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 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmNavigationMenuComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'pdm-navigation-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav [ngClass]=\"['relative z-10 flex max-w-max flex-1 items-center justify-center', className]\">\n <ul class=\"group flex flex-1 list-none items-center justify-center space-x-1\">\n <li *ngFor=\"let item of items\">\n <a\n [href]=\"item.href || '#'\"\n [ngClass]=\"[\n 'group inline-flex h-9 w-max items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]',\n item.active ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]' : 'text-[hsl(var(--foreground))]'\n ]\"\n >\n {{ item.label }}\n </a>\n </li>\n </ul>\n</nav>\n" }]
15
+ }], propDecorators: { items: [{
16
+ type: Input
17
+ }], className: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1lbnUvbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1lbnUvbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFhMUUsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQU1XLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxFQUFFLENBQUM7S0FDekI7O3dIQUhZLDBCQUEwQjs0R0FBMUIsMEJBQTBCLCtHQ2J2Qyxtc0JBZUE7NEZERmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRtTmF2aWdhdGlvbkl0ZW0ge1xuICBsYWJlbDogc3RyaW5nO1xuICBocmVmPzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tbmF2aWdhdGlvbi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbU5hdmlnYXRpb25NZW51Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IFBkbU5hdmlnYXRpb25JdGVtW10gPSBbXTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG59XG4iLCI8bmF2IFtuZ0NsYXNzXT1cIlsncmVsYXRpdmUgei0xMCBmbGV4IG1heC13LW1heCBmbGV4LTEgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyJywgY2xhc3NOYW1lXVwiPlxuICA8dWwgY2xhc3M9XCJncm91cCBmbGV4IGZsZXgtMSBsaXN0LW5vbmUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNwYWNlLXgtMVwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgICAgPGFcbiAgICAgICAgW2hyZWZdPVwiaXRlbS5ocmVmIHx8ICcjJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAnZ3JvdXAgaW5saW5lLWZsZXggaC05IHctbWF4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIHB4LTMgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLVtoc2wodmFyKC0tYWNjZW50KSldIGhvdmVyOnRleHQtW2hzbCh2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCkpXScsXG4gICAgICAgICAgaXRlbS5hY3RpdmUgPyAnYmctW2hzbCh2YXIoLS1hY2NlbnQpKV0gdGV4dC1baHNsKHZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKSldJyA6ICd0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSdcbiAgICAgICAgXVwiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uYXY+XG4iXX0=
@@ -0,0 +1,47 @@
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 "../icon/icon.component";
5
+ export class PdmPaginationComponent {
6
+ constructor() {
7
+ this.page = 1;
8
+ this.pageCount = 1;
9
+ this.maxVisible = 5;
10
+ this.className = '';
11
+ this.pageChange = new EventEmitter();
12
+ }
13
+ get visiblePages() {
14
+ const total = Math.max(1, this.pageCount);
15
+ const visible = Math.max(1, this.maxVisible);
16
+ const half = Math.floor(visible / 2);
17
+ let start = Math.max(1, this.page - half);
18
+ let end = Math.min(total, start + visible - 1);
19
+ if (end - start + 1 < visible) {
20
+ start = Math.max(1, end - visible + 1);
21
+ }
22
+ return Array.from({ length: end - start + 1 }, (_, i) => start + i);
23
+ }
24
+ setPage(next) {
25
+ if (next < 1 || next > this.pageCount || next === this.page) {
26
+ return;
27
+ }
28
+ this.pageChange.emit(next);
29
+ }
30
+ }
31
+ PdmPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ PdmPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmPaginationComponent, selector: "pdm-pagination", inputs: { page: "page", pageCount: "pageCount", maxVisible: "maxVisible", className: "className" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<nav aria-label=\"Pagination\" [ngClass]=\"['mx-auto flex w-full justify-center', className]\">\n <ul class=\"flex items-center gap-1\">\n <li>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center gap-1 rounded-md px-2 text-sm text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50\" [disabled]=\"page <= 1\" (click)=\"setPage(page - 1)\">\n <pdm-icon name=\"chevron-left\" [size]=\"14\"></pdm-icon>\n Previous\n </button>\n </li>\n <li *ngFor=\"let pageNumber of visiblePages\">\n <button\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-6 min-w-[24px] items-center justify-center rounded-md px-2 text-sm',\n pageNumber === page\n ? 'border border-[hsl(var(--border))] bg-[hsl(var(--muted))] text-[hsl(var(--foreground))] shadow-[0_1px_2px_rgba(0,0,0,0.1)]'\n : 'text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]'\n ]\"\n (click)=\"setPage(pageNumber)\"\n >\n {{ pageNumber }}\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center gap-1 rounded-md px-2 text-sm text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50\" [disabled]=\"page >= pageCount\" (click)=\"setPage(page + 1)\">\n Next\n <pdm-icon name=\"chevron-right\" [size]=\"14\"></pdm-icon>\n </button>\n </li>\n </ul>\n</nav>\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: "component", type: i2.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmPaginationComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'pdm-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav aria-label=\"Pagination\" [ngClass]=\"['mx-auto flex w-full justify-center', className]\">\n <ul class=\"flex items-center gap-1\">\n <li>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center gap-1 rounded-md px-2 text-sm text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50\" [disabled]=\"page <= 1\" (click)=\"setPage(page - 1)\">\n <pdm-icon name=\"chevron-left\" [size]=\"14\"></pdm-icon>\n Previous\n </button>\n </li>\n <li *ngFor=\"let pageNumber of visiblePages\">\n <button\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-6 min-w-[24px] items-center justify-center rounded-md px-2 text-sm',\n pageNumber === page\n ? 'border border-[hsl(var(--border))] bg-[hsl(var(--muted))] text-[hsl(var(--foreground))] shadow-[0_1px_2px_rgba(0,0,0,0.1)]'\n : 'text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]'\n ]\"\n (click)=\"setPage(pageNumber)\"\n >\n {{ pageNumber }}\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center gap-1 rounded-md px-2 text-sm text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50\" [disabled]=\"page >= pageCount\" (click)=\"setPage(page + 1)\">\n Next\n <pdm-icon name=\"chevron-right\" [size]=\"14\"></pdm-icon>\n </button>\n </li>\n </ul>\n</nav>\n" }]
36
+ }], propDecorators: { page: [{
37
+ type: Input
38
+ }], pageCount: [{
39
+ type: Input
40
+ }], maxVisible: [{
41
+ type: Input
42
+ }], className: [{
43
+ type: Input
44
+ }], pageChange: [{
45
+ type: Output
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU9oRyxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBTVcsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVkLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBdUJuRDtJQXJCQyxJQUFJLFlBQVk7UUFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUvQyxJQUFJLEdBQUcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRTtZQUM3QixLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4QztRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDM0QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7b0hBNUJVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLGlNQ1BuQyx5L0NBOEJBOzRGRHZCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUVULHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1QYWdpbmF0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcGFnZSA9IDE7XG4gIEBJbnB1dCgpIHBhZ2VDb3VudCA9IDE7XG4gIEBJbnB1dCgpIG1heFZpc2libGUgPSA1O1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcblxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGdldCB2aXNpYmxlUGFnZXMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHRvdGFsID0gTWF0aC5tYXgoMSwgdGhpcy5wYWdlQ291bnQpO1xuICAgIGNvbnN0IHZpc2libGUgPSBNYXRoLm1heCgxLCB0aGlzLm1heFZpc2libGUpO1xuICAgIGNvbnN0IGhhbGYgPSBNYXRoLmZsb29yKHZpc2libGUgLyAyKTtcbiAgICBsZXQgc3RhcnQgPSBNYXRoLm1heCgxLCB0aGlzLnBhZ2UgLSBoYWxmKTtcbiAgICBsZXQgZW5kID0gTWF0aC5taW4odG90YWwsIHN0YXJ0ICsgdmlzaWJsZSAtIDEpO1xuXG4gICAgaWYgKGVuZCAtIHN0YXJ0ICsgMSA8IHZpc2libGUpIHtcbiAgICAgIHN0YXJ0ID0gTWF0aC5tYXgoMSwgZW5kIC0gdmlzaWJsZSArIDEpO1xuICAgIH1cblxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBlbmQgLSBzdGFydCArIDEgfSwgKF8sIGkpID0+IHN0YXJ0ICsgaSk7XG4gIH1cblxuICBzZXRQYWdlKG5leHQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChuZXh0IDwgMSB8fCBuZXh0ID4gdGhpcy5wYWdlQ291bnQgfHwgbmV4dCA9PT0gdGhpcy5wYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQobmV4dCk7XG4gIH1cbn1cbiIsIjxuYXYgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIiBbbmdDbGFzc109XCJbJ214LWF1dG8gZmxleCB3LWZ1bGwganVzdGlmeS1jZW50ZXInLCBjbGFzc05hbWVdXCI+XG4gIDx1bCBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gICAgPGxpPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIHJvdW5kZWQtbWQgcHgtMiB0ZXh0LXNtIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIGhvdmVyOmJnLVtoc2wodmFyKC0tYWNjZW50KSldIGRpc2FibGVkOm9wYWNpdHktNTBcIiBbZGlzYWJsZWRdPVwicGFnZSA8PSAxXCIgKGNsaWNrKT1cInNldFBhZ2UocGFnZSAtIDEpXCI+XG4gICAgICAgIDxwZG0taWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0XCIgW3NpemVdPVwiMTRcIj48L3BkbS1pY29uPlxuICAgICAgICBQcmV2aW91c1xuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2VOdW1iZXIgb2YgdmlzaWJsZVBhZ2VzXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgJ2lubGluZS1mbGV4IGgtNiBtaW4tdy1bMjRweF0gaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgcHgtMiB0ZXh0LXNtJyxcbiAgICAgICAgICBwYWdlTnVtYmVyID09PSBwYWdlXG4gICAgICAgICAgICA/ICdib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tbXV0ZWQpKV0gdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gc2hhZG93LVswXzFweF8ycHhfcmdiYSgwLDAsMCwwLjEpXSdcbiAgICAgICAgICAgIDogJ3RleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIGhvdmVyOmJnLVtoc2wodmFyKC0tYWNjZW50KSldIGhvdmVyOnRleHQtW2hzbCh2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCkpXSdcbiAgICAgICAgXVwiXG4gICAgICAgIChjbGljayk9XCJzZXRQYWdlKHBhZ2VOdW1iZXIpXCJcbiAgICAgID5cbiAgICAgICAge3sgcGFnZU51bWJlciB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgICA8bGk+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEgcm91bmRlZC1tZCBweC0yIHRleHQtc20gdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gaG92ZXI6YmctW2hzbCh2YXIoLS1hY2NlbnQpKV0gZGlzYWJsZWQ6b3BhY2l0eS01MFwiIFtkaXNhYmxlZF09XCJwYWdlID49IHBhZ2VDb3VudFwiIChjbGljayk9XCJzZXRQYWdlKHBhZ2UgKyAxKVwiPlxuICAgICAgICBOZXh0XG4gICAgICAgIDxwZG0taWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiIFtzaXplXT1cIjE0XCI+PC9wZG0taWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L25hdj5cbiJdfQ==