pdm-ui-kit 0.4.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/accordion/accordion.module.d.ts +8 -0
  2. package/accordion/index.d.ts +2 -0
  3. package/accordion/index.mjs +2 -0
  4. package/alert/alert.module.d.ts +9 -0
  5. package/alert/index.d.ts +3 -0
  6. package/alert/index.mjs +3 -0
  7. package/aspect-ratio/aspect-ratio.module.d.ts +8 -0
  8. package/aspect-ratio/index.d.ts +2 -0
  9. package/aspect-ratio/index.mjs +2 -0
  10. package/avatar/avatar.module.d.ts +8 -0
  11. package/avatar/index.d.ts +2 -0
  12. package/avatar/index.mjs +2 -0
  13. package/badge/badge.module.d.ts +8 -0
  14. package/badge/index.d.ts +2 -0
  15. package/badge/index.mjs +2 -0
  16. package/breadcrumb/breadcrumb.module.d.ts +8 -0
  17. package/breadcrumb/index.d.ts +2 -0
  18. package/breadcrumb/index.mjs +2 -0
  19. package/button/button.module.d.ts +9 -0
  20. package/button/index.d.ts +3 -0
  21. package/button/index.mjs +3 -0
  22. package/calendar/calendar.module.d.ts +11 -0
  23. package/{lib/components/date-picker → calendar}/date-picker.component.d.ts +1 -1
  24. package/calendar/index.d.ts +3 -0
  25. package/calendar/index.mjs +3 -0
  26. package/card/card.module.d.ts +8 -0
  27. package/card/index.d.ts +2 -0
  28. package/card/index.mjs +2 -0
  29. package/carousel/carousel.module.d.ts +8 -0
  30. package/carousel/index.d.ts +2 -0
  31. package/carousel/index.mjs +2 -0
  32. package/chart/chart.module.d.ts +8 -0
  33. package/chart/index.d.ts +2 -0
  34. package/chart/index.mjs +2 -0
  35. package/checkbox/checkbox.module.d.ts +8 -0
  36. package/checkbox/index.d.ts +2 -0
  37. package/checkbox/index.mjs +2 -0
  38. package/collapsible/collapsible.module.d.ts +8 -0
  39. package/collapsible/index.d.ts +2 -0
  40. package/collapsible/index.mjs +2 -0
  41. package/combobox/combobox.module.d.ts +9 -0
  42. package/combobox/index.d.ts +2 -0
  43. package/combobox/index.mjs +2 -0
  44. package/command/command.module.d.ts +9 -0
  45. package/command/index.d.ts +2 -0
  46. package/command/index.mjs +2 -0
  47. package/context-menu/context-menu.module.d.ts +9 -0
  48. package/context-menu/index.d.ts +2 -0
  49. package/context-menu/index.mjs +2 -0
  50. package/{lib/components/data-table → data-table}/data-table.component.d.ts +1 -1
  51. package/data-table/data-table.module.d.ts +10 -0
  52. package/{lib/components/draggable-table → data-table}/draggable-table.component.d.ts +2 -2
  53. package/data-table/index.d.ts +4 -0
  54. package/data-table/index.mjs +4 -0
  55. package/{lib/components/table → data-table}/table.component.d.ts +1 -1
  56. package/dialog/dialog.module.d.ts +8 -0
  57. package/dialog/index.d.ts +2 -0
  58. package/dialog/index.mjs +2 -0
  59. package/drawer/drawer.module.d.ts +10 -0
  60. package/drawer/index.d.ts +3 -0
  61. package/drawer/index.mjs +3 -0
  62. package/{lib/components/dropdown-menu → dropdown-menu}/dropdown-menu.component.d.ts +1 -1
  63. package/dropdown-menu/dropdown-menu.module.d.ts +9 -0
  64. package/dropdown-menu/index.d.ts +2 -0
  65. package/dropdown-menu/index.mjs +2 -0
  66. package/empty/empty.module.d.ts +10 -0
  67. package/empty/index.d.ts +2 -0
  68. package/empty/index.mjs +2 -0
  69. package/esm2020/{lib/components/accordion → accordion}/accordion.component.mjs +1 -1
  70. package/esm2020/accordion/accordion.module.mjs +21 -0
  71. package/esm2020/{lib/components/alert-dialog → alert}/alert-dialog.component.mjs +1 -1
  72. package/esm2020/{lib/components/alert → alert}/alert.component.mjs +1 -1
  73. package/esm2020/alert/alert.module.mjs +25 -0
  74. package/esm2020/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.mjs +1 -1
  75. package/esm2020/aspect-ratio/aspect-ratio.module.mjs +21 -0
  76. package/esm2020/{lib/components/avatar → avatar}/avatar.component.mjs +1 -1
  77. package/esm2020/avatar/avatar.module.mjs +21 -0
  78. package/esm2020/{lib/components/badge → badge}/badge.component.mjs +1 -1
  79. package/esm2020/badge/badge.module.mjs +21 -0
  80. package/esm2020/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.mjs +1 -1
  81. package/esm2020/breadcrumb/breadcrumb.module.mjs +21 -0
  82. package/esm2020/button/button-group.component.mjs +236 -0
  83. package/esm2020/button/button.component.mjs +114 -0
  84. package/esm2020/button/button.module.mjs +25 -0
  85. package/esm2020/calendar/calendar.component.mjs +529 -0
  86. package/esm2020/calendar/calendar.module.mjs +22 -0
  87. package/esm2020/{lib/components/date-picker → calendar}/date-picker.component.mjs +6 -6
  88. package/esm2020/{lib/components/card → card}/card.component.mjs +1 -1
  89. package/esm2020/card/card.module.mjs +21 -0
  90. package/esm2020/carousel/carousel.component.mjs +102 -0
  91. package/esm2020/carousel/carousel.module.mjs +21 -0
  92. package/esm2020/{lib/components/chart → chart}/chart.component.mjs +1 -1
  93. package/esm2020/chart/chart.module.mjs +21 -0
  94. package/esm2020/{lib/components/checkbox → checkbox}/checkbox.component.mjs +1 -1
  95. package/esm2020/checkbox/checkbox.module.mjs +21 -0
  96. package/esm2020/{lib/components/collapsible → collapsible}/collapsible.component.mjs +1 -1
  97. package/esm2020/collapsible/collapsible.module.mjs +21 -0
  98. package/esm2020/combobox/combobox.component.mjs +173 -0
  99. package/esm2020/combobox/combobox.module.mjs +22 -0
  100. package/esm2020/command/command.component.mjs +75 -0
  101. package/esm2020/command/command.module.mjs +20 -0
  102. package/esm2020/context-menu/context-menu.component.mjs +165 -0
  103. package/esm2020/context-menu/context-menu.module.mjs +22 -0
  104. package/esm2020/data-table/data-table.component.mjs +299 -0
  105. package/esm2020/data-table/data-table.module.mjs +29 -0
  106. package/esm2020/data-table/draggable-table.component.mjs +300 -0
  107. package/esm2020/data-table/table.component.mjs +182 -0
  108. package/esm2020/{lib/components/dialog → dialog}/dialog.component.mjs +3 -3
  109. package/esm2020/dialog/dialog.module.mjs +21 -0
  110. package/esm2020/{lib/components/drawer → drawer}/drawer.component.mjs +2 -2
  111. package/esm2020/drawer/drawer.module.mjs +21 -0
  112. package/esm2020/drawer/sheet.component.mjs +116 -0
  113. package/esm2020/dropdown-menu/dropdown-menu.component.mjs +192 -0
  114. package/esm2020/dropdown-menu/dropdown-menu.module.mjs +22 -0
  115. package/esm2020/{lib/components/empty → empty}/empty.component.mjs +1 -1
  116. package/esm2020/empty/empty.module.mjs +21 -0
  117. package/esm2020/{lib/components/field → field}/field.component.mjs +1 -1
  118. package/esm2020/field/field.module.mjs +21 -0
  119. package/esm2020/hover-card/hover-card.component.mjs +205 -0
  120. package/esm2020/hover-card/hover-card.module.mjs +22 -0
  121. package/esm2020/icon/icon.component.mjs +144 -0
  122. package/esm2020/icon/icon.module.mjs +21 -0
  123. package/esm2020/{lib/components/input-group → input}/input-group.component.mjs +1 -1
  124. package/esm2020/input/input-otp.component.mjs +144 -0
  125. package/esm2020/{lib/components/input-password → input}/input-password.component.mjs +1 -1
  126. package/esm2020/{lib/components/input → input}/input.component.mjs +1 -1
  127. package/esm2020/input/input.module.mjs +38 -0
  128. package/esm2020/{lib/components/textarea → input}/textarea.component.mjs +1 -1
  129. package/esm2020/{lib/components/item → item}/item.component.mjs +1 -1
  130. package/esm2020/item/item.module.mjs +21 -0
  131. package/esm2020/{lib/components/kbd → kbd}/kbd.component.mjs +1 -1
  132. package/esm2020/kbd/kbd.module.mjs +21 -0
  133. package/esm2020/{lib/components/label → label}/label.component.mjs +1 -1
  134. package/esm2020/label/label.module.mjs +21 -0
  135. package/esm2020/menubar/menubar.component.mjs +144 -0
  136. package/esm2020/menubar/menubar.module.mjs +22 -0
  137. package/esm2020/{lib/components/native-select → native-select}/native-select.component.mjs +1 -1
  138. package/esm2020/native-select/native-select.module.mjs +20 -0
  139. package/esm2020/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.mjs +1 -1
  140. package/esm2020/navigation-menu/navigation-menu.module.mjs +21 -0
  141. package/esm2020/overlay/create-flexible-position-strategy.mjs +54 -0
  142. package/esm2020/overlay/pdm-outside-click.directive.mjs +86 -0
  143. package/esm2020/overlay/pdm-outside-click.module.mjs +18 -0
  144. package/esm2020/overlay/pdm-overlay-options.mjs +2 -0
  145. package/esm2020/overlay/z-index-helper.mjs +69 -0
  146. package/esm2020/{lib/components/pagination → pagination}/pagination.component.mjs +1 -1
  147. package/esm2020/pagination/pagination.module.mjs +21 -0
  148. package/esm2020/pdm-ui-kit.module.mjs +260 -0
  149. package/esm2020/popover/popover.component.mjs +162 -0
  150. package/esm2020/popover/popover.module.mjs +22 -0
  151. package/esm2020/{lib/components/progress → progress}/progress.component.mjs +1 -1
  152. package/esm2020/progress/progress.module.mjs +21 -0
  153. package/esm2020/public-api.mjs +117 -67
  154. package/esm2020/{lib/components/radio-group → radio-group}/radio-group.component.mjs +1 -1
  155. package/esm2020/radio-group/radio-group.module.mjs +21 -0
  156. package/esm2020/{lib/components/scroll-area → scroll-area}/scroll-area.component.mjs +1 -1
  157. package/esm2020/scroll-area/scroll-area.module.mjs +21 -0
  158. package/esm2020/select/select-option.directive.mjs +55 -0
  159. package/esm2020/select/select.component.mjs +164 -0
  160. package/esm2020/select/select.module.mjs +22 -0
  161. package/esm2020/{lib/components/separator → separator}/separator.component.mjs +1 -1
  162. package/esm2020/separator/separator.module.mjs +21 -0
  163. package/esm2020/{lib/components/sidebar → sidebar}/sidebar.component.mjs +1 -1
  164. package/esm2020/sidebar/sidebar.module.mjs +21 -0
  165. package/esm2020/{lib/components/skeleton → skeleton}/skeleton.component.mjs +1 -1
  166. package/esm2020/skeleton/skeleton.module.mjs +21 -0
  167. package/esm2020/{lib/components/slider → slider}/slider.component.mjs +1 -1
  168. package/esm2020/slider/slider.module.mjs +21 -0
  169. package/esm2020/{lib/components/sonner → sonner}/sonner.component.mjs +1 -1
  170. package/esm2020/sonner/sonner.module.mjs +20 -0
  171. package/esm2020/{lib/components/spinner → spinner}/spinner.component.mjs +1 -1
  172. package/esm2020/spinner/spinner.module.mjs +21 -0
  173. package/esm2020/switch/switch.component.mjs +58 -0
  174. package/esm2020/switch/switch.module.mjs +21 -0
  175. package/esm2020/{lib/components/tabs → tabs}/tabs.component.mjs +1 -1
  176. package/esm2020/tabs/tabs.module.mjs +21 -0
  177. package/esm2020/{lib/components/toggle-group → toggle}/toggle-group.component.mjs +1 -1
  178. package/esm2020/{lib/components/toggle → toggle}/toggle.component.mjs +1 -1
  179. package/esm2020/toggle/toggle.module.mjs +25 -0
  180. package/esm2020/tooltip/tooltip.component.mjs +176 -0
  181. package/esm2020/tooltip/tooltip.module.mjs +22 -0
  182. package/esm2020/utils/responsive.mjs +143 -0
  183. package/esm2020/utils/z-index.mjs +90 -0
  184. package/fesm2015/pdm-ui-kit.mjs +3333 -2493
  185. package/fesm2015/pdm-ui-kit.mjs.map +1 -1
  186. package/fesm2020/pdm-ui-kit.mjs +2669 -1829
  187. package/fesm2020/pdm-ui-kit.mjs.map +1 -1
  188. package/field/field.module.d.ts +8 -0
  189. package/field/index.d.ts +2 -0
  190. package/field/index.mjs +2 -0
  191. package/hover-card/hover-card.module.d.ts +9 -0
  192. package/hover-card/index.d.ts +2 -0
  193. package/hover-card/index.mjs +2 -0
  194. package/icon/icon.module.d.ts +8 -0
  195. package/icon/index.d.ts +2 -0
  196. package/icon/index.mjs +2 -0
  197. package/input/index.d.ts +6 -0
  198. package/input/index.mjs +6 -0
  199. package/input/input.module.d.ts +13 -0
  200. package/item/index.d.ts +2 -0
  201. package/item/index.mjs +2 -0
  202. package/item/item.module.d.ts +8 -0
  203. package/kbd/index.d.ts +2 -0
  204. package/kbd/index.mjs +2 -0
  205. package/kbd/kbd.module.d.ts +8 -0
  206. package/label/index.d.ts +2 -0
  207. package/label/index.mjs +2 -0
  208. package/label/label.module.d.ts +8 -0
  209. package/menubar/index.d.ts +2 -0
  210. package/menubar/index.mjs +2 -0
  211. package/menubar/menubar.module.d.ts +9 -0
  212. package/native-select/index.d.ts +2 -0
  213. package/native-select/index.mjs +2 -0
  214. package/native-select/native-select.module.d.ts +9 -0
  215. package/navigation-menu/index.d.ts +2 -0
  216. package/navigation-menu/index.mjs +2 -0
  217. package/navigation-menu/navigation-menu.module.d.ts +8 -0
  218. package/overlay/index.d.ts +8 -0
  219. package/overlay/index.mjs +8 -0
  220. package/overlay/pdm-outside-click.module.d.ts +8 -0
  221. package/package.json +198 -2
  222. package/pagination/index.d.ts +2 -0
  223. package/pagination/index.mjs +2 -0
  224. package/pagination/pagination.module.d.ts +10 -0
  225. package/pdm-ui-kit.module.d.ts +60 -0
  226. package/popover/index.d.ts +2 -0
  227. package/popover/index.mjs +2 -0
  228. package/popover/popover.module.d.ts +9 -0
  229. package/progress/index.d.ts +2 -0
  230. package/progress/index.mjs +2 -0
  231. package/progress/progress.module.d.ts +8 -0
  232. package/public-api.d.ts +114 -66
  233. package/radio-group/index.d.ts +2 -0
  234. package/radio-group/index.mjs +2 -0
  235. package/radio-group/radio-group.module.d.ts +8 -0
  236. package/scroll-area/index.d.ts +2 -0
  237. package/scroll-area/index.mjs +2 -0
  238. package/scroll-area/scroll-area.module.d.ts +8 -0
  239. package/select/index.d.ts +3 -0
  240. package/select/index.mjs +3 -0
  241. package/{lib/components/select → select}/select.component.d.ts +1 -1
  242. package/select/select.module.d.ts +11 -0
  243. package/separator/index.d.ts +2 -0
  244. package/separator/index.mjs +2 -0
  245. package/separator/separator.module.d.ts +8 -0
  246. package/sidebar/index.d.ts +2 -0
  247. package/sidebar/index.mjs +2 -0
  248. package/sidebar/sidebar.module.d.ts +8 -0
  249. package/skeleton/index.d.ts +2 -0
  250. package/skeleton/index.mjs +2 -0
  251. package/skeleton/skeleton.module.d.ts +8 -0
  252. package/slider/index.d.ts +2 -0
  253. package/slider/index.mjs +2 -0
  254. package/slider/slider.module.d.ts +8 -0
  255. package/sonner/index.d.ts +2 -0
  256. package/sonner/index.mjs +2 -0
  257. package/sonner/sonner.module.d.ts +9 -0
  258. package/spinner/index.d.ts +2 -0
  259. package/spinner/index.mjs +2 -0
  260. package/spinner/spinner.module.d.ts +8 -0
  261. package/switch/index.d.ts +2 -0
  262. package/switch/index.mjs +2 -0
  263. package/switch/switch.module.d.ts +8 -0
  264. package/tabs/index.d.ts +2 -0
  265. package/tabs/index.mjs +2 -0
  266. package/tabs/tabs.module.d.ts +8 -0
  267. package/toggle/index.d.ts +3 -0
  268. package/toggle/index.mjs +3 -0
  269. package/toggle/toggle.module.d.ts +9 -0
  270. package/tooltip/index.d.ts +2 -0
  271. package/tooltip/index.mjs +2 -0
  272. package/tooltip/tooltip.module.d.ts +9 -0
  273. package/utils/index.d.ts +3 -0
  274. package/utils/index.mjs +3 -0
  275. package/esm2020/lib/components/button/button.component.mjs +0 -114
  276. package/esm2020/lib/components/button-group/button-group.component.mjs +0 -236
  277. package/esm2020/lib/components/calendar/calendar.component.mjs +0 -529
  278. package/esm2020/lib/components/carousel/carousel.component.mjs +0 -102
  279. package/esm2020/lib/components/combobox/combobox.component.mjs +0 -173
  280. package/esm2020/lib/components/command/command.component.mjs +0 -75
  281. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -165
  282. package/esm2020/lib/components/data-table/data-table.component.mjs +0 -299
  283. package/esm2020/lib/components/draggable-table/draggable-table.component.mjs +0 -300
  284. package/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -192
  285. package/esm2020/lib/components/hover-card/hover-card.component.mjs +0 -205
  286. package/esm2020/lib/components/icon/icon.component.mjs +0 -144
  287. package/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -144
  288. package/esm2020/lib/components/menubar/menubar.component.mjs +0 -144
  289. package/esm2020/lib/components/popover/popover.component.mjs +0 -162
  290. package/esm2020/lib/components/select/select-option.directive.mjs +0 -55
  291. package/esm2020/lib/components/select/select.component.mjs +0 -164
  292. package/esm2020/lib/components/sheet/sheet.component.mjs +0 -116
  293. package/esm2020/lib/components/switch/switch.component.mjs +0 -58
  294. package/esm2020/lib/components/table/table.component.mjs +0 -182
  295. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -176
  296. package/esm2020/lib/overlay/create-flexible-position-strategy.mjs +0 -54
  297. package/esm2020/lib/overlay/pdm-outside-click.directive.mjs +0 -86
  298. package/esm2020/lib/overlay/pdm-overlay-options.mjs +0 -2
  299. package/esm2020/lib/overlay/z-index-helper.mjs +0 -69
  300. package/esm2020/lib/pdm-ui-kit.module.mjs +0 -258
  301. package/esm2020/lib/utils/responsive.mjs +0 -143
  302. package/esm2020/lib/utils/z-index.mjs +0 -90
  303. package/lib/pdm-ui-kit.module.d.ts +0 -68
  304. /package/{lib/components/accordion → accordion}/accordion.component.d.ts +0 -0
  305. /package/{lib/components/alert-dialog → alert}/alert-dialog.component.d.ts +0 -0
  306. /package/{lib/components/alert → alert}/alert.component.d.ts +0 -0
  307. /package/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.d.ts +0 -0
  308. /package/{lib/components/avatar → avatar}/avatar.component.d.ts +0 -0
  309. /package/{lib/components/badge → badge}/badge.component.d.ts +0 -0
  310. /package/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.d.ts +0 -0
  311. /package/{lib/components/button-group → button}/button-group.component.d.ts +0 -0
  312. /package/{lib/components/button → button}/button.component.d.ts +0 -0
  313. /package/{lib/components/calendar → calendar}/calendar.component.d.ts +0 -0
  314. /package/{lib/components/card → card}/card.component.d.ts +0 -0
  315. /package/{lib/components/carousel → carousel}/carousel.component.d.ts +0 -0
  316. /package/{lib/components/chart → chart}/chart.component.d.ts +0 -0
  317. /package/{lib/components/checkbox → checkbox}/checkbox.component.d.ts +0 -0
  318. /package/{lib/components/collapsible → collapsible}/collapsible.component.d.ts +0 -0
  319. /package/{lib/components/combobox → combobox}/combobox.component.d.ts +0 -0
  320. /package/{lib/components/command → command}/command.component.d.ts +0 -0
  321. /package/{lib/components/context-menu → context-menu}/context-menu.component.d.ts +0 -0
  322. /package/{lib/components/dialog → dialog}/dialog.component.d.ts +0 -0
  323. /package/{lib/components/drawer → drawer}/drawer.component.d.ts +0 -0
  324. /package/{lib/components/sheet → drawer}/sheet.component.d.ts +0 -0
  325. /package/{lib/components/empty → empty}/empty.component.d.ts +0 -0
  326. /package/{lib/components/field → field}/field.component.d.ts +0 -0
  327. /package/{lib/components/hover-card → hover-card}/hover-card.component.d.ts +0 -0
  328. /package/{lib/components/icon → icon}/icon.component.d.ts +0 -0
  329. /package/{lib/components/input-group → input}/input-group.component.d.ts +0 -0
  330. /package/{lib/components/input-otp → input}/input-otp.component.d.ts +0 -0
  331. /package/{lib/components/input-password → input}/input-password.component.d.ts +0 -0
  332. /package/{lib/components/input → input}/input.component.d.ts +0 -0
  333. /package/{lib/components/textarea → input}/textarea.component.d.ts +0 -0
  334. /package/{lib/components/item → item}/item.component.d.ts +0 -0
  335. /package/{lib/components/kbd → kbd}/kbd.component.d.ts +0 -0
  336. /package/{lib/components/label → label}/label.component.d.ts +0 -0
  337. /package/{lib/components/menubar → menubar}/menubar.component.d.ts +0 -0
  338. /package/{lib/components/native-select → native-select}/native-select.component.d.ts +0 -0
  339. /package/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.d.ts +0 -0
  340. /package/{lib/overlay → overlay}/create-flexible-position-strategy.d.ts +0 -0
  341. /package/{lib/overlay → overlay}/pdm-outside-click.directive.d.ts +0 -0
  342. /package/{lib/overlay → overlay}/pdm-overlay-options.d.ts +0 -0
  343. /package/{lib/overlay → overlay}/z-index-helper.d.ts +0 -0
  344. /package/{lib/components/pagination → pagination}/pagination.component.d.ts +0 -0
  345. /package/{lib/components/popover → popover}/popover.component.d.ts +0 -0
  346. /package/{lib/components/progress → progress}/progress.component.d.ts +0 -0
  347. /package/{lib/components/radio-group → radio-group}/radio-group.component.d.ts +0 -0
  348. /package/{lib/components/scroll-area → scroll-area}/scroll-area.component.d.ts +0 -0
  349. /package/{lib/components/select → select}/select-option.directive.d.ts +0 -0
  350. /package/{lib/components/separator → separator}/separator.component.d.ts +0 -0
  351. /package/{lib/components/sidebar → sidebar}/sidebar.component.d.ts +0 -0
  352. /package/{lib/components/skeleton → skeleton}/skeleton.component.d.ts +0 -0
  353. /package/{lib/components/slider → slider}/slider.component.d.ts +0 -0
  354. /package/{lib/components/sonner → sonner}/sonner.component.d.ts +0 -0
  355. /package/{lib/components/spinner → spinner}/spinner.component.d.ts +0 -0
  356. /package/src/{lib/styles → styles}/tokens.css +0 -0
  357. /package/{lib/components/switch → switch}/switch.component.d.ts +0 -0
  358. /package/{lib/components/tabs → tabs}/tabs.component.d.ts +0 -0
  359. /package/{lib/components/toggle-group → toggle}/toggle-group.component.d.ts +0 -0
  360. /package/{lib/components/toggle → toggle}/toggle.component.d.ts +0 -0
  361. /package/{lib/components/tooltip → tooltip}/tooltip.component.d.ts +0 -0
  362. /package/{lib/utils → utils}/responsive.d.ts +0 -0
  363. /package/{lib/utils → utils}/z-index.d.ts +0 -0
@@ -1,205 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostListener, Input, ViewChild, } from "@angular/core";
2
- import { TemplatePortal } from "@angular/cdk/portal";
3
- import { mergeOverlayPanelClass, OVERLAY_BASE_Z_INDEX, } from "../../overlay/z-index-helper";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/overlay";
6
- import * as i2 from "@angular/common";
7
- export class PdmHoverCardComponent {
8
- constructor(overlay, viewContainerRef, elementRef, cdr) {
9
- this.overlay = overlay;
10
- this.viewContainerRef = viewContainerRef;
11
- this.elementRef = elementRef;
12
- this.cdr = cdr;
13
- this.className = "";
14
- this.panelClassName = "";
15
- this.side = "bottom";
16
- this.align = "start";
17
- this.panelWidth = 304;
18
- this.open = false;
19
- this.overlayRef = null;
20
- this.showTimeout = null;
21
- this.hideTimeout = null;
22
- }
23
- ngOnDestroy() {
24
- this.clearTimeouts();
25
- this.destroyOverlay();
26
- }
27
- onMouseEnter() {
28
- this.clearTimeouts();
29
- this.showTimeout = setTimeout(() => this.show(), 150);
30
- }
31
- onMouseLeave() {
32
- this.clearTimeouts();
33
- this.hideTimeout = setTimeout(() => this.hide(), 150);
34
- }
35
- onFocusIn() {
36
- this.clearTimeouts();
37
- this.show();
38
- }
39
- onFocusOut() {
40
- this.clearTimeouts();
41
- this.hide();
42
- }
43
- clearTimeouts() {
44
- if (this.showTimeout) {
45
- clearTimeout(this.showTimeout);
46
- this.showTimeout = null;
47
- }
48
- if (this.hideTimeout) {
49
- clearTimeout(this.hideTimeout);
50
- this.hideTimeout = null;
51
- }
52
- }
53
- show() {
54
- if (this.open)
55
- return;
56
- this.open = true;
57
- this.cdr.markForCheck();
58
- this.createOverlay();
59
- }
60
- hide() {
61
- if (!this.open)
62
- return;
63
- this.open = false;
64
- this.cdr.markForCheck();
65
- this.destroyOverlay();
66
- }
67
- createOverlay() {
68
- if (this.overlayRef)
69
- return;
70
- const triggerEl = this.elementRef.nativeElement.querySelector("[pdmHoverTrigger]") ||
71
- this.elementRef.nativeElement;
72
- const positionStrategy = this.overlay
73
- .position()
74
- .flexibleConnectedTo(triggerEl)
75
- .withPositions(this.getPositionConfigs())
76
- .withFlexibleDimensions(false)
77
- .withPush(true);
78
- const panelClass = mergeOverlayPanelClass(OVERLAY_BASE_Z_INDEX, this.panelClassName);
79
- this.overlayRef = this.overlay.create({
80
- positionStrategy,
81
- panelClass,
82
- });
83
- const portal = new TemplatePortal(this.panelTemplateRef, this.viewContainerRef);
84
- this.overlayRef.attach(portal);
85
- }
86
- destroyOverlay() {
87
- if (this.overlayRef) {
88
- this.overlayRef.detach();
89
- this.overlayRef.dispose();
90
- this.overlayRef = null;
91
- }
92
- }
93
- getPositionConfigs() {
94
- // Map our side/align to CDK positions
95
- const configs = [];
96
- // Primary position based on side
97
- switch (this.side) {
98
- case "top":
99
- configs.push({
100
- originX: this.getAlignX(),
101
- originY: "top",
102
- overlayX: this.getAlignX(),
103
- overlayY: "bottom",
104
- offsetY: -8,
105
- });
106
- break;
107
- case "right":
108
- configs.push({
109
- originX: "end",
110
- originY: this.getAlignY(),
111
- overlayX: "start",
112
- overlayY: this.getAlignY(),
113
- offsetX: 8,
114
- });
115
- break;
116
- case "bottom":
117
- default:
118
- configs.push({
119
- originX: this.getAlignX(),
120
- originY: "bottom",
121
- overlayX: this.getAlignX(),
122
- overlayY: "top",
123
- offsetY: 8,
124
- });
125
- break;
126
- case "left":
127
- configs.push({
128
- originX: "start",
129
- originY: this.getAlignY(),
130
- overlayX: "end",
131
- overlayY: this.getAlignY(),
132
- offsetX: -8,
133
- });
134
- break;
135
- }
136
- // Add fallback positions
137
- switch (this.side) {
138
- case "top":
139
- case "bottom":
140
- configs.push({
141
- originX: "center",
142
- originY: this.side === "top" ? "top" : "bottom",
143
- overlayX: "center",
144
- overlayY: this.side === "top" ? "bottom" : "top",
145
- offsetY: this.side === "top" ? -8 : 8,
146
- });
147
- break;
148
- case "left":
149
- case "right":
150
- configs.push({
151
- originX: this.side === "left" ? "start" : "end",
152
- originY: "center",
153
- overlayX: this.side === "left" ? "end" : "start",
154
- overlayY: "center",
155
- offsetX: this.side === "left" ? -8 : 8,
156
- });
157
- break;
158
- }
159
- return configs;
160
- }
161
- getAlignX() {
162
- return this.align;
163
- }
164
- getAlignY() {
165
- // Map 'start'/'end' to 'top'/'bottom' for Y axis
166
- const alignMap = {
167
- start: "top",
168
- center: "center",
169
- end: "bottom",
170
- };
171
- return alignMap[this.align];
172
- }
173
- }
174
- PdmHoverCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmHoverCardComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
175
- PdmHoverCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmHoverCardComponent, selector: "pdm-hover-card", inputs: { className: "className", panelClassName: "panelClassName", side: "side", align: "align", panelWidth: "panelWidth" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, viewQueries: [{ propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div\n class=\"relative inline-flex\"\n [ngClass]=\"className\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n>\n <div>\n <ng-content select=\"[pdmHoverTrigger]\"></ng-content>\n </div>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <section\n [style.width.px]=\"panelWidth\"\n class=\"rounded-md border border-solid border-border bg-popover p-4 text-popover-foreground shadow-md\"\n >\n <ng-content select=\"[pdmHoverContent]\"></ng-content>\n </section>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmHoverCardComponent, decorators: [{
177
- type: Component,
178
- args: [{ selector: "pdm-hover-card", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"relative inline-flex\"\n [ngClass]=\"className\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n>\n <div>\n <ng-content select=\"[pdmHoverTrigger]\"></ng-content>\n </div>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <section\n [style.width.px]=\"panelWidth\"\n class=\"rounded-md border border-solid border-border bg-popover p-4 text-popover-foreground shadow-md\"\n >\n <ng-content select=\"[pdmHoverContent]\"></ng-content>\n </section>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}\n"] }]
179
- }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { className: [{
180
- type: Input
181
- }], panelClassName: [{
182
- type: Input
183
- }], side: [{
184
- type: Input
185
- }], align: [{
186
- type: Input
187
- }], panelWidth: [{
188
- type: Input
189
- }], panelTemplateRef: [{
190
- type: ViewChild,
191
- args: ["panelTemplate"]
192
- }], onMouseEnter: [{
193
- type: HostListener,
194
- args: ["mouseenter"]
195
- }], onMouseLeave: [{
196
- type: HostListener,
197
- args: ["mouseleave"]
198
- }], onFocusIn: [{
199
- type: HostListener,
200
- args: ["focusin"]
201
- }], onFocusOut: [{
202
- type: HostListener,
203
- args: ["focusout"]
204
- }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaG92ZXItY2FyZC9ob3Zlci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ob3Zlci1jYXJkL2hvdmVyLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsb0JBQW9CLEdBQ3BCLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFXdEMsTUFBTSxPQUFPLHFCQUFxQjtJQWNqQyxZQUNrQixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsVUFBbUMsRUFDbkMsR0FBc0I7UUFIdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBakIvQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsU0FBSSxHQUFxQixRQUFRLENBQUM7UUFDbEMsVUFBSyxHQUFzQixPQUFPLENBQUM7UUFDbkMsZUFBVSxHQUFHLEdBQUcsQ0FBQztRQUUxQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ0wsZUFBVSxHQUFzQixJQUFJLENBQUM7UUFDckMsZ0JBQVcsR0FBUSxJQUFJLENBQUM7UUFDeEIsZ0JBQVcsR0FBUSxJQUFJLENBQUM7SUFTN0IsQ0FBQztJQUVKLFdBQVc7UUFDVixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxZQUFZO1FBQ1gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBR0QsWUFBWTtRQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUdELFNBQVM7UUFDUixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUdELFVBQVU7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVPLGFBQWE7UUFDcEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDeEI7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNGLENBQUM7SUFFTyxJQUFJO1FBQ1gsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLElBQUk7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ3BCLElBQUksSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBRTVCLE1BQU0sU0FBUyxHQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztZQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUUvQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPO2FBQ25DLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLFNBQVMsQ0FBQzthQUM5QixhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDeEMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO2FBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqQixNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FDeEMsb0JBQW9CLEVBQ3BCLElBQUksQ0FBQyxjQUFjLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3JDLGdCQUFnQjtZQUNoQixVQUFVO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUNyQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLGNBQWM7UUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN2QjtJQUNGLENBQUM7SUFFTyxrQkFBa0I7UUFDekIsc0NBQXNDO1FBQ3RDLE1BQU0sT0FBTyxHQUF3QixFQUFFLENBQUM7UUFFeEMsaUNBQWlDO1FBQ2pDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNsQixLQUFLLEtBQUs7Z0JBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDekIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQzFCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDO2lCQUNYLENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1AsS0FBSyxPQUFPO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1osT0FBTyxFQUFFLEtBQUs7b0JBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ3pCLFFBQVEsRUFBRSxPQUFPO29CQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDMUIsT0FBTyxFQUFFLENBQUM7aUJBQ1YsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUCxLQUFLLFFBQVEsQ0FBQztZQUNkO2dCQUNDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ3pCLE9BQU8sRUFBRSxRQUFRO29CQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDMUIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsT0FBTyxFQUFFLENBQUM7aUJBQ1YsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUCxLQUFLLE1BQU07Z0JBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ3pCLFFBQVEsRUFBRSxLQUFLO29CQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxDQUFDO2lCQUNYLENBQUMsQ0FBQztnQkFDSCxNQUFNO1NBQ1A7UUFFRCx5QkFBeUI7UUFDekIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxRQUFRO2dCQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1osT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRO29CQUMvQyxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUs7b0JBQ2hELE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3JDLENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1AsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLE9BQU87Z0JBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSztvQkFDL0MsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPO29CQUNoRCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEMsQ0FBQyxDQUFDO2dCQUNILE1BQU07U0FDUDtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2hCLENBQUM7SUFFTyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBRU8sU0FBUztRQUNoQixpREFBaUQ7UUFDakQsTUFBTSxRQUFRLEdBQTJEO1lBQ3hFLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLFFBQVE7U0FDYixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7O2tIQXhNVyxxQkFBcUI7c0dBQXJCLHFCQUFxQixzYkMzQmxDLG1uQkFzQkE7MkZES2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNDLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3NMQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9zQixnQkFBZ0I7c0JBQTNDLFNBQVM7dUJBQUMsZUFBZTtnQkFlMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBTzFCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQU8xQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUztnQkFPdkIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRWaWV3Q2hpbGQsXG5cdFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmLCBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHtcblx0bWVyZ2VPdmVybGF5UGFuZWxDbGFzcyxcblx0T1ZFUkxBWV9CQVNFX1pfSU5ERVgsXG59IGZyb20gXCIuLi8uLi9vdmVybGF5L3otaW5kZXgtaGVscGVyXCI7XG5cbmV4cG9ydCB0eXBlIFBkbUhvdmVyQ2FyZFNpZGUgPSBcInRvcFwiIHwgXCJyaWdodFwiIHwgXCJib3R0b21cIiB8IFwibGVmdFwiO1xuZXhwb3J0IHR5cGUgUGRtSG92ZXJDYXJkQWxpZ24gPSBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1ob3Zlci1jYXJkXCIsXG5cdHRlbXBsYXRlVXJsOiBcIi4vaG92ZXItY2FyZC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1Ib3ZlckNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBwYW5lbENsYXNzTmFtZSA9IFwiXCI7XG5cdEBJbnB1dCgpIHNpZGU6IFBkbUhvdmVyQ2FyZFNpZGUgPSBcImJvdHRvbVwiO1xuXHRASW5wdXQoKSBhbGlnbjogUGRtSG92ZXJDYXJkQWxpZ24gPSBcInN0YXJ0XCI7XG5cdEBJbnB1dCgpIHBhbmVsV2lkdGggPSAzMDQ7XG5cblx0b3BlbiA9IGZhbHNlO1xuXHRwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBzaG93VGltZW91dDogYW55ID0gbnVsbDtcblx0cHJpdmF0ZSBoaWRlVGltZW91dDogYW55ID0gbnVsbDtcblxuXHRAVmlld0NoaWxkKFwicGFuZWxUZW1wbGF0ZVwiKSBwYW5lbFRlbXBsYXRlUmVmOiBhbnk7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0XHRwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcblx0KSB7fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuXHRcdHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIpXG5cdG9uTW91c2VFbnRlcigpOiB2b2lkIHtcblx0XHR0aGlzLmNsZWFyVGltZW91dHMoKTtcblx0XHR0aGlzLnNob3dUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnNob3coKSwgMTUwKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIpXG5cdG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsZWFyVGltZW91dHMoKTtcblx0XHR0aGlzLmhpZGVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgMTUwKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJmb2N1c2luXCIpXG5cdG9uRm9jdXNJbigpOiB2b2lkIHtcblx0XHR0aGlzLmNsZWFyVGltZW91dHMoKTtcblx0XHR0aGlzLnNob3coKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJmb2N1c291dFwiKVxuXHRvbkZvY3VzT3V0KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuXHRcdHRoaXMuaGlkZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBjbGVhclRpbWVvdXRzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnNob3dUaW1lb3V0KSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5zaG93VGltZW91dCk7XG5cdFx0XHR0aGlzLnNob3dUaW1lb3V0ID0gbnVsbDtcblx0XHR9XG5cdFx0aWYgKHRoaXMuaGlkZVRpbWVvdXQpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0KTtcblx0XHRcdHRoaXMuaGlkZVRpbWVvdXQgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc2hvdygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5vcGVuKSByZXR1cm47XG5cblx0XHR0aGlzLm9wZW4gPSB0cnVlO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHRcdHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBoaWRlKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5vcGVuKSByZXR1cm47XG5cblx0XHR0aGlzLm9wZW4gPSBmYWxzZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cdH1cblxuXHRwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG5cdFx0Y29uc3QgdHJpZ2dlckVsID1cblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJbcGRtSG92ZXJUcmlnZ2VyXVwiKSB8fFxuXHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG5cdFx0XHQucG9zaXRpb24oKVxuXHRcdFx0LmZsZXhpYmxlQ29ubmVjdGVkVG8odHJpZ2dlckVsKVxuXHRcdFx0LndpdGhQb3NpdGlvbnModGhpcy5nZXRQb3NpdGlvbkNvbmZpZ3MoKSlcblx0XHRcdC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuXHRcdFx0LndpdGhQdXNoKHRydWUpO1xuXG5cdFx0Y29uc3QgcGFuZWxDbGFzcyA9IG1lcmdlT3ZlcmxheVBhbmVsQ2xhc3MoXG5cdFx0XHRPVkVSTEFZX0JBU0VfWl9JTkRFWCxcblx0XHRcdHRoaXMucGFuZWxDbGFzc05hbWUsXG5cdFx0KTtcblxuXHRcdHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuXHRcdFx0cG9zaXRpb25TdHJhdGVneSxcblx0XHRcdHBhbmVsQ2xhc3MsXG5cdFx0fSk7XG5cblx0XHRjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG5cdFx0XHR0aGlzLnBhbmVsVGVtcGxhdGVSZWYsXG5cdFx0XHR0aGlzLnZpZXdDb250YWluZXJSZWYsXG5cdFx0KTtcblx0XHR0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cdH1cblxuXHRwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgZ2V0UG9zaXRpb25Db25maWdzKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuXHRcdC8vIE1hcCBvdXIgc2lkZS9hbGlnbiB0byBDREsgcG9zaXRpb25zXG5cdFx0Y29uc3QgY29uZmlnczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtdO1xuXG5cdFx0Ly8gUHJpbWFyeSBwb3NpdGlvbiBiYXNlZCBvbiBzaWRlXG5cdFx0c3dpdGNoICh0aGlzLnNpZGUpIHtcblx0XHRcdGNhc2UgXCJ0b3BcIjpcblx0XHRcdFx0Y29uZmlncy5wdXNoKHtcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLmdldEFsaWduWCgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IFwidG9wXCIsXG5cdFx0XHRcdFx0b3ZlcmxheVg6IHRoaXMuZ2V0QWxpZ25YKCksXG5cdFx0XHRcdFx0b3ZlcmxheVk6IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0b2Zmc2V0WTogLTgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJyaWdodFwiOlxuXHRcdFx0XHRjb25maWdzLnB1c2goe1xuXHRcdFx0XHRcdG9yaWdpblg6IFwiZW5kXCIsXG5cdFx0XHRcdFx0b3JpZ2luWTogdGhpcy5nZXRBbGlnblkoKSxcblx0XHRcdFx0XHRvdmVybGF5WDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLmdldEFsaWduWSgpLFxuXHRcdFx0XHRcdG9mZnNldFg6IDgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJib3R0b21cIjpcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNvbmZpZ3MucHVzaCh7XG5cdFx0XHRcdFx0b3JpZ2luWDogdGhpcy5nZXRBbGlnblgoKSxcblx0XHRcdFx0XHRvcmlnaW5ZOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLmdldEFsaWduWCgpLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiBcInRvcFwiLFxuXHRcdFx0XHRcdG9mZnNldFk6IDgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJsZWZ0XCI6XG5cdFx0XHRcdGNvbmZpZ3MucHVzaCh7XG5cdFx0XHRcdFx0b3JpZ2luWDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuZ2V0QWxpZ25ZKCksXG5cdFx0XHRcdFx0b3ZlcmxheVg6IFwiZW5kXCIsXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuZ2V0QWxpZ25ZKCksXG5cdFx0XHRcdFx0b2Zmc2V0WDogLTgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cblx0XHQvLyBBZGQgZmFsbGJhY2sgcG9zaXRpb25zXG5cdFx0c3dpdGNoICh0aGlzLnNpZGUpIHtcblx0XHRcdGNhc2UgXCJ0b3BcIjpcblx0XHRcdGNhc2UgXCJib3R0b21cIjpcblx0XHRcdFx0Y29uZmlncy5wdXNoKHtcblx0XHRcdFx0XHRvcmlnaW5YOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuc2lkZSA9PT0gXCJ0b3BcIiA/IFwidG9wXCIgOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLnNpZGUgPT09IFwidG9wXCIgPyBcImJvdHRvbVwiIDogXCJ0b3BcIixcblx0XHRcdFx0XHRvZmZzZXRZOiB0aGlzLnNpZGUgPT09IFwidG9wXCIgPyAtOCA6IDgsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJsZWZ0XCI6XG5cdFx0XHRjYXNlIFwicmlnaHRcIjpcblx0XHRcdFx0Y29uZmlncy5wdXNoKHtcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLnNpZGUgPT09IFwibGVmdFwiID8gXCJzdGFydFwiIDogXCJlbmRcIixcblx0XHRcdFx0XHRvcmlnaW5ZOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLnNpZGUgPT09IFwibGVmdFwiID8gXCJlbmRcIiA6IFwic3RhcnRcIixcblx0XHRcdFx0XHRvdmVybGF5WTogXCJjZW50ZXJcIixcblx0XHRcdFx0XHRvZmZzZXRYOiB0aGlzLnNpZGUgPT09IFwibGVmdFwiID8gLTggOiA4LFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNvbmZpZ3M7XG5cdH1cblxuXHRwcml2YXRlIGdldEFsaWduWCgpOiBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIiB7XG5cdFx0cmV0dXJuIHRoaXMuYWxpZ247XG5cdH1cblxuXHRwcml2YXRlIGdldEFsaWduWSgpOiBcInRvcFwiIHwgXCJjZW50ZXJcIiB8IFwiYm90dG9tXCIge1xuXHRcdC8vIE1hcCAnc3RhcnQnLydlbmQnIHRvICd0b3AnLydib3R0b20nIGZvciBZIGF4aXNcblx0XHRjb25zdCBhbGlnbk1hcDogUmVjb3JkPFBkbUhvdmVyQ2FyZEFsaWduLCBcInRvcFwiIHwgXCJjZW50ZXJcIiB8IFwiYm90dG9tXCI+ID0ge1xuXHRcdFx0c3RhcnQ6IFwidG9wXCIsXG5cdFx0XHRjZW50ZXI6IFwiY2VudGVyXCIsXG5cdFx0XHRlbmQ6IFwiYm90dG9tXCIsXG5cdFx0fTtcblx0XHRyZXR1cm4gYWxpZ25NYXBbdGhpcy5hbGlnbl07XG5cdH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJyZWxhdGl2ZSBpbmxpbmUtZmxleFwiXG4gIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxuICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiXG4gIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KClcIlxuPlxuICA8ZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwZG1Ib3ZlclRyaWdnZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8IS0tIFRlbXBsYXRlIGZvciBDREsgT3ZlcmxheSAtLT5cbiAgPG5nLXRlbXBsYXRlICNwYW5lbFRlbXBsYXRlPlxuICAgIDxzZWN0aW9uXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwicGFuZWxXaWR0aFwiXG4gICAgICBjbGFzcz1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItYm9yZGVyIGJnLXBvcG92ZXIgcC00IHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BkbUhvdmVyQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9zZWN0aW9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -1,144 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { icons } from 'lucide';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/platform-browser";
5
- import * as i2 from "@angular/common";
6
- const FALLBACK_NODE = [['circle', { cx: '12', cy: '12', r: '9' }]];
7
- export class PdmIconComponent {
8
- constructor(sanitizer) {
9
- this.sanitizer = sanitizer;
10
- this.name = 'check';
11
- this.library = 'lucide';
12
- this.assetUrl = null;
13
- this.size = 16;
14
- this.strokeWidth = 1.5;
15
- this.className = '';
16
- this.ariaLabel = null;
17
- this.decorative = false;
18
- this.lucideIndex = this.buildLucideIndex();
19
- this.aliasMapByLibrary = {
20
- lucide: {
21
- 'check-circle': 'circle-check',
22
- 'alert-circle': 'circle-alert',
23
- info: 'circle-info',
24
- 'sort-asc': 'arrow-up-a-z',
25
- 'sort-desc': 'arrow-down-z-a'
26
- },
27
- tabler: {
28
- 'alert-triangle': 'triangle-alert',
29
- 'user-circle': 'circle-user',
30
- 'settings-2': 'settings-2',
31
- 'external-link': 'external-link'
32
- },
33
- hugeicons: {
34
- 'alert-02': 'circle-alert',
35
- 'user-circle': 'circle-user',
36
- 'search-01': 'search',
37
- 'settings-01': 'settings',
38
- 'arrow-right-01': 'chevron-right',
39
- 'arrow-down-01': 'chevron-down'
40
- },
41
- phosphor: {
42
- 'warning-circle': 'circle-alert',
43
- 'caret-down': 'chevron-down',
44
- 'caret-right': 'chevron-right',
45
- 'user-circle': 'circle-user',
46
- gear: 'settings',
47
- 'arrow-square-out': 'external-link'
48
- },
49
- remix: {
50
- 'alert-line': 'circle-alert',
51
- 'arrow-right-line': 'chevron-right',
52
- 'arrow-down-s-line': 'chevron-down',
53
- 'external-link-line': 'external-link',
54
- 'user-line': 'user',
55
- 'settings-3-line': 'settings'
56
- }
57
- };
58
- }
59
- get resolvedStrokeWidth() {
60
- const value = Number(this.strokeWidth);
61
- if (Number.isFinite(value) && value > 0) {
62
- return value;
63
- }
64
- if (this.library === 'phosphor') {
65
- return 1.6;
66
- }
67
- if (this.library === 'tabler') {
68
- return 1.8;
69
- }
70
- return 1.5;
71
- }
72
- get resolvedSize() {
73
- const value = Number(this.size);
74
- return Number.isFinite(value) && value > 0 ? value : 16;
75
- }
76
- get iconKey() {
77
- const raw = `${this.name || ''}`.trim();
78
- if (!raw) {
79
- return 'circle';
80
- }
81
- const trimmed = raw.replace(/^(lucide|tabler|hugeicons|phosphor|remix)\//, '');
82
- const aliases = this.aliasMapByLibrary[this.library] ?? {};
83
- return aliases[trimmed] ?? trimmed;
84
- }
85
- get svgMarkup() {
86
- const node = this.resolveIconNode(this.iconKey) ?? FALLBACK_NODE;
87
- const strokeWidth = this.escapeAttr(this.resolvedStrokeWidth);
88
- const size = this.escapeAttr(this.resolvedSize);
89
- const body = node
90
- .map(([tag, attrs]) => {
91
- const serializedAttrs = Object.entries(attrs)
92
- .map(([key, value]) => `${key}="${this.escapeAttr(value)}"`)
93
- .join(' ');
94
- return serializedAttrs ? `<${tag} ${serializedAttrs}></${tag}>` : `<${tag}></${tag}>`;
95
- })
96
- .join('');
97
- const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="${strokeWidth}" stroke-linecap="round" stroke-linejoin="round">${body}</svg>`;
98
- return this.sanitizer.bypassSecurityTrustHtml(svg);
99
- }
100
- resolveIconNode(iconName) {
101
- const normalized = this.normalizeIconName(iconName);
102
- return this.lucideIndex.get(normalized) ?? null;
103
- }
104
- normalizeIconName(name) {
105
- return `${name || ''}`.toLowerCase().replace(/[^a-z0-9]/g, '');
106
- }
107
- buildLucideIndex() {
108
- const map = new Map();
109
- Object.entries(icons).forEach(([iconName, iconNode]) => {
110
- map.set(this.normalizeIconName(iconName), iconNode);
111
- });
112
- return map;
113
- }
114
- escapeAttr(value) {
115
- return `${value ?? ''}`
116
- .replace(/&/g, '&amp;')
117
- .replace(/"/g, '&quot;')
118
- .replace(/</g, '&lt;')
119
- .replace(/>/g, '&gt;');
120
- }
121
- }
122
- PdmIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmIconComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
123
- PdmIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmIconComponent, selector: "pdm-icon", inputs: { name: "name", library: "library", assetUrl: "assetUrl", size: "size", strokeWidth: "strokeWidth", className: "className", ariaLabel: "ariaLabel", decorative: "decorative" }, ngImport: i0, template: "<ng-container *ngIf=\"assetUrl; else inlineIcon\">\n <img\n [src]=\"assetUrl\"\n [style.width.px]=\"resolvedSize\"\n [style.height.px]=\"resolvedSize\"\n [ngClass]=\"className\"\n [attr.role]=\"decorative ? null : 'img'\"\n [attr.aria-hidden]=\"decorative ? 'true' : null\"\n [attr.aria-label]=\"!decorative ? ariaLabel || name : null\"\n alt=\"\"\n />\n</ng-container>\n\n<ng-template #inlineIcon>\n <span\n [ngClass]=\"className\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.justify-content]=\"'center'\"\n [style.line-height]=\"0\"\n [style.width.px]=\"resolvedSize\"\n [style.height.px]=\"resolvedSize\"\n [attr.role]=\"decorative ? null : 'img'\"\n [attr.aria-hidden]=\"decorative ? 'true' : null\"\n [attr.aria-label]=\"!decorative ? ariaLabel || name : null\"\n [innerHTML]=\"svgMarkup\"\n ></span>\n</ng-template>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}:host svg{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmIconComponent, decorators: [{
125
- type: Component,
126
- args: [{ selector: 'pdm-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"assetUrl; else inlineIcon\">\n <img\n [src]=\"assetUrl\"\n [style.width.px]=\"resolvedSize\"\n [style.height.px]=\"resolvedSize\"\n [ngClass]=\"className\"\n [attr.role]=\"decorative ? null : 'img'\"\n [attr.aria-hidden]=\"decorative ? 'true' : null\"\n [attr.aria-label]=\"!decorative ? ariaLabel || name : null\"\n alt=\"\"\n />\n</ng-container>\n\n<ng-template #inlineIcon>\n <span\n [ngClass]=\"className\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.justify-content]=\"'center'\"\n [style.line-height]=\"0\"\n [style.width.px]=\"resolvedSize\"\n [style.height.px]=\"resolvedSize\"\n [attr.role]=\"decorative ? null : 'img'\"\n [attr.aria-hidden]=\"decorative ? 'true' : null\"\n [attr.aria-label]=\"!decorative ? ariaLabel || name : null\"\n [innerHTML]=\"svgMarkup\"\n ></span>\n</ng-template>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}:host svg{display:block}\n"] }]
127
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { name: [{
128
- type: Input
129
- }], library: [{
130
- type: Input
131
- }], assetUrl: [{
132
- type: Input
133
- }], size: [{
134
- type: Input
135
- }], strokeWidth: [{
136
- type: Input
137
- }], className: [{
138
- type: Input
139
- }], ariaLabel: [{
140
- type: Input
141
- }], decorative: [{
142
- type: Input
143
- }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLEtBQUssRUFBaUIsTUFBTSxRQUFRLENBQUM7Ozs7QUF1RDlDLE1BQU0sYUFBYSxHQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQXNCN0UsTUFBTSxPQUFPLGdCQUFnQjtJQW9EM0IsWUFBNkIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQW5EM0MsU0FBSSxHQUF5QixPQUFPLENBQUM7UUFDckMsWUFBTyxHQUFtQixRQUFRLENBQUM7UUFDbkMsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDL0IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGdCQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRVgsZ0JBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV0QyxzQkFBaUIsR0FBbUQ7WUFDbkYsTUFBTSxFQUFFO2dCQUNOLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixjQUFjLEVBQUUsY0FBYztnQkFDOUIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLFVBQVUsRUFBRSxjQUFjO2dCQUMxQixXQUFXLEVBQUUsZ0JBQWdCO2FBQzlCO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixlQUFlLEVBQUUsZUFBZTthQUNqQztZQUNELFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsY0FBYztnQkFDMUIsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLFdBQVcsRUFBRSxRQUFRO2dCQUNyQixhQUFhLEVBQUUsVUFBVTtnQkFDekIsZ0JBQWdCLEVBQUUsZUFBZTtnQkFDakMsZUFBZSxFQUFFLGNBQWM7YUFDaEM7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsZ0JBQWdCLEVBQUUsY0FBYztnQkFDaEMsWUFBWSxFQUFFLGNBQWM7Z0JBQzVCLGFBQWEsRUFBRSxlQUFlO2dCQUM5QixhQUFhLEVBQUUsYUFBYTtnQkFDNUIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLGtCQUFrQixFQUFFLGVBQWU7YUFDcEM7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsWUFBWSxFQUFFLGNBQWM7Z0JBQzVCLGtCQUFrQixFQUFFLGVBQWU7Z0JBQ25DLG1CQUFtQixFQUFFLGNBQWM7Z0JBQ25DLG9CQUFvQixFQUFFLGVBQWU7Z0JBQ3JDLFdBQVcsRUFBRSxNQUFNO2dCQUNuQixpQkFBaUIsRUFBRSxVQUFVO2FBQzlCO1NBQ0YsQ0FBQztJQUVxRCxDQUFDO0lBRXhELElBQUksbUJBQW1CO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDdkMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7WUFDL0IsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyw2Q0FBNkMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLGFBQWEsQ0FBQztRQUNqRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhELE1BQU0sSUFBSSxHQUFHLElBQUk7YUFDZCxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2lCQUMxQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFYixPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksZUFBZSxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUN4RixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFWixNQUFNLEdBQUcsR0FBRyxrREFBa0QsSUFBSSxhQUFhLElBQUkseUVBQXlFLFdBQVcsb0RBQW9ELElBQUksUUFBUSxDQUFDO1FBRXhPLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFFBQWdCO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNsRCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBWTtRQUNwQyxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUV4QyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDckQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBb0IsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWM7UUFDL0IsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUU7YUFDcEIsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7YUFDdkIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDOzs2R0FwSVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isd09DL0U3QiwwNUJBNEJBOzJGRG1EYSxnQkFBZ0I7a0JBcEI1QixTQUFTOytCQUNFLFVBQVUsbUJBaUJILHVCQUF1QixDQUFDLE1BQU07bUdBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBpY29ucywgdHlwZSBJY29uTm9kZSB9IGZyb20gJ2x1Y2lkZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUljb25MaWJyYXJ5ID0gJ2x1Y2lkZScgfCAndGFibGVyJyB8ICdodWdlaWNvbnMnIHwgJ3Bob3NwaG9yJyB8ICdyZW1peCc7XG5cbmV4cG9ydCB0eXBlIFBkbUljb25OYW1lID1cbiAgfCAnY29tbWFuZCdcbiAgfCAnY2hlY2snXG4gIHwgJ2NoZWNrLWNpcmNsZSdcbiAgfCAnY2lyY2xlJ1xuICB8ICdkb3QnXG4gIHwgJ3gnXG4gIHwgJ2FsZXJ0LWNpcmNsZSdcbiAgfCAnaW5mbydcbiAgfCAnbG9hZGVyLTInXG4gIHwgJ21lbnUnXG4gIHwgJ3NlYXJjaCdcbiAgfCAnY2FsZW5kYXInXG4gIHwgJ3BhbmVsLWxlZnQnXG4gIHwgJ21vbml0b3InXG4gIHwgJ2xhcHRvcCdcbiAgfCAnc3VuJ1xuICB8ICdtb29uJ1xuICB8ICdjaGV2cm9uLWRvd24nXG4gIHwgJ2NoZXZyb24tdXAnXG4gIHwgJ2NoZXZyb24tbGVmdCdcbiAgfCAnY2hldnJvbi1yaWdodCdcbiAgfCAnY2hldnJvbnMtbGVmdCdcbiAgfCAnY2hldnJvbnMtcmlnaHQnXG4gIHwgJ2NoZXZyb25zLXVwLWRvd24nXG4gIHwgJ2Fycm93LXVwLWRvd24nXG4gIHwgJ2VsbGlwc2lzJ1xuICB8ICdmaWx0ZXInXG4gIHwgJ3NvcnQtYXNjJ1xuICB8ICdzb3J0LWRlc2MnXG4gIHwgJ3BsdXMnXG4gIHwgJ21pbnVzJ1xuICB8ICdjb3B5J1xuICB8ICdwZW5jaWwnXG4gIHwgJ3RyYXNoLTInXG4gIHwgJ2Rvd25sb2FkJ1xuICB8ICd1cGxvYWQnXG4gIHwgJ2hvbWUnXG4gIHwgJ21haWwnXG4gIHwgJ3Bob25lJ1xuICB8ICdsb2ctaW4nXG4gIHwgJ2xvZy1vdXQnXG4gIHwgJ3VzZXInXG4gIHwgJ3NldHRpbmdzJ1xuICB8ICdjcmVkaXQtY2FyZCdcbiAgfCAnc21pbGUnXG4gIHwgJ2NhbGN1bGF0b3InXG4gIHwgJ2V4dGVybmFsLWxpbmsnXG4gIHwgJ2ZvbGRlcidcbiAgfCAnYXJyb3ctdXAtcmlnaHQnO1xuXG5jb25zdCBGQUxMQkFDS19OT0RFOiBJY29uTm9kZSA9IFtbJ2NpcmNsZScsIHsgY3g6ICcxMicsIGN5OiAnMTInLCByOiAnOScgfV1dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0taWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgOmhvc3Qgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1JY29uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbmFtZTogUGRtSWNvbk5hbWUgfCBzdHJpbmcgPSAnY2hlY2snO1xuICBASW5wdXQoKSBsaWJyYXJ5OiBQZG1JY29uTGlicmFyeSA9ICdsdWNpZGUnO1xuICBASW5wdXQoKSBhc3NldFVybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHNpemUgPSAxNjtcbiAgQElucHV0KCkgc3Ryb2tlV2lkdGggPSAxLjU7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBkZWNvcmF0aXZlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsdWNpZGVJbmRleCA9IHRoaXMuYnVpbGRMdWNpZGVJbmRleCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWxpYXNNYXBCeUxpYnJhcnk6IFJlY29yZDxQZG1JY29uTGlicmFyeSwgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7XG4gICAgbHVjaWRlOiB7XG4gICAgICAnY2hlY2stY2lyY2xlJzogJ2NpcmNsZS1jaGVjaycsXG4gICAgICAnYWxlcnQtY2lyY2xlJzogJ2NpcmNsZS1hbGVydCcsXG4gICAgICBpbmZvOiAnY2lyY2xlLWluZm8nLFxuICAgICAgJ3NvcnQtYXNjJzogJ2Fycm93LXVwLWEteicsXG4gICAgICAnc29ydC1kZXNjJzogJ2Fycm93LWRvd24tei1hJ1xuICAgIH0sXG4gICAgdGFibGVyOiB7XG4gICAgICAnYWxlcnQtdHJpYW5nbGUnOiAndHJpYW5nbGUtYWxlcnQnLFxuICAgICAgJ3VzZXItY2lyY2xlJzogJ2NpcmNsZS11c2VyJyxcbiAgICAgICdzZXR0aW5ncy0yJzogJ3NldHRpbmdzLTInLFxuICAgICAgJ2V4dGVybmFsLWxpbmsnOiAnZXh0ZXJuYWwtbGluaydcbiAgICB9LFxuICAgIGh1Z2VpY29uczoge1xuICAgICAgJ2FsZXJ0LTAyJzogJ2NpcmNsZS1hbGVydCcsXG4gICAgICAndXNlci1jaXJjbGUnOiAnY2lyY2xlLXVzZXInLFxuICAgICAgJ3NlYXJjaC0wMSc6ICdzZWFyY2gnLFxuICAgICAgJ3NldHRpbmdzLTAxJzogJ3NldHRpbmdzJyxcbiAgICAgICdhcnJvdy1yaWdodC0wMSc6ICdjaGV2cm9uLXJpZ2h0JyxcbiAgICAgICdhcnJvdy1kb3duLTAxJzogJ2NoZXZyb24tZG93bidcbiAgICB9LFxuICAgIHBob3NwaG9yOiB7XG4gICAgICAnd2FybmluZy1jaXJjbGUnOiAnY2lyY2xlLWFsZXJ0JyxcbiAgICAgICdjYXJldC1kb3duJzogJ2NoZXZyb24tZG93bicsXG4gICAgICAnY2FyZXQtcmlnaHQnOiAnY2hldnJvbi1yaWdodCcsXG4gICAgICAndXNlci1jaXJjbGUnOiAnY2lyY2xlLXVzZXInLFxuICAgICAgZ2VhcjogJ3NldHRpbmdzJyxcbiAgICAgICdhcnJvdy1zcXVhcmUtb3V0JzogJ2V4dGVybmFsLWxpbmsnXG4gICAgfSxcbiAgICByZW1peDoge1xuICAgICAgJ2FsZXJ0LWxpbmUnOiAnY2lyY2xlLWFsZXJ0JyxcbiAgICAgICdhcnJvdy1yaWdodC1saW5lJzogJ2NoZXZyb24tcmlnaHQnLFxuICAgICAgJ2Fycm93LWRvd24tcy1saW5lJzogJ2NoZXZyb24tZG93bicsXG4gICAgICAnZXh0ZXJuYWwtbGluay1saW5lJzogJ2V4dGVybmFsLWxpbmsnLFxuICAgICAgJ3VzZXItbGluZSc6ICd1c2VyJyxcbiAgICAgICdzZXR0aW5ncy0zLWxpbmUnOiAnc2V0dGluZ3MnXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgZ2V0IHJlc29sdmVkU3Ryb2tlV2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IE51bWJlcih0aGlzLnN0cm9rZVdpZHRoKTtcbiAgICBpZiAoTnVtYmVyLmlzRmluaXRlKHZhbHVlKSAmJiB2YWx1ZSA+IDApIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saWJyYXJ5ID09PSAncGhvc3Bob3InKSB7XG4gICAgICByZXR1cm4gMS42O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxpYnJhcnkgPT09ICd0YWJsZXInKSB7XG4gICAgICByZXR1cm4gMS44O1xuICAgIH1cblxuICAgIHJldHVybiAxLjU7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRTaXplKCk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWUgPSBOdW1iZXIodGhpcy5zaXplKTtcbiAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHZhbHVlKSAmJiB2YWx1ZSA+IDAgPyB2YWx1ZSA6IDE2O1xuICB9XG5cbiAgZ2V0IGljb25LZXkoKTogc3RyaW5nIHtcbiAgICBjb25zdCByYXcgPSBgJHt0aGlzLm5hbWUgfHwgJyd9YC50cmltKCk7XG4gICAgaWYgKCFyYXcpIHtcbiAgICAgIHJldHVybiAnY2lyY2xlJztcbiAgICB9XG5cbiAgICBjb25zdCB0cmltbWVkID0gcmF3LnJlcGxhY2UoL14obHVjaWRlfHRhYmxlcnxodWdlaWNvbnN8cGhvc3Bob3J8cmVtaXgpXFwvLywgJycpO1xuICAgIGNvbnN0IGFsaWFzZXMgPSB0aGlzLmFsaWFzTWFwQnlMaWJyYXJ5W3RoaXMubGlicmFyeV0gPz8ge307XG4gICAgcmV0dXJuIGFsaWFzZXNbdHJpbW1lZF0gPz8gdHJpbW1lZDtcbiAgfVxuXG4gIGdldCBzdmdNYXJrdXAoKTogU2FmZUh0bWwge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnJlc29sdmVJY29uTm9kZSh0aGlzLmljb25LZXkpID8/IEZBTExCQUNLX05PREU7XG4gICAgY29uc3Qgc3Ryb2tlV2lkdGggPSB0aGlzLmVzY2FwZUF0dHIodGhpcy5yZXNvbHZlZFN0cm9rZVdpZHRoKTtcbiAgICBjb25zdCBzaXplID0gdGhpcy5lc2NhcGVBdHRyKHRoaXMucmVzb2x2ZWRTaXplKTtcblxuICAgIGNvbnN0IGJvZHkgPSBub2RlXG4gICAgICAubWFwKChbdGFnLCBhdHRyc10pID0+IHtcbiAgICAgICAgY29uc3Qgc2VyaWFsaXplZEF0dHJzID0gT2JqZWN0LmVudHJpZXMoYXR0cnMpXG4gICAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PVwiJHt0aGlzLmVzY2FwZUF0dHIodmFsdWUpfVwiYClcbiAgICAgICAgICAuam9pbignICcpO1xuXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVkQXR0cnMgPyBgPCR7dGFnfSAke3NlcmlhbGl6ZWRBdHRyc30+PC8ke3RhZ30+YCA6IGA8JHt0YWd9PjwvJHt0YWd9PmA7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJycpO1xuXG4gICAgY29uc3Qgc3ZnID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiJHtzaXplfVwiIGhlaWdodD1cIiR7c2l6ZX1cIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIke3N0cm9rZVdpZHRofVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPiR7Ym9keX08L3N2Zz5gO1xuXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Zyk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVJY29uTm9kZShpY29uTmFtZTogc3RyaW5nKTogSWNvbk5vZGUgfCBudWxsIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gdGhpcy5ub3JtYWxpemVJY29uTmFtZShpY29uTmFtZSk7XG4gICAgcmV0dXJuIHRoaXMubHVjaWRlSW5kZXguZ2V0KG5vcm1hbGl6ZWQpID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUljb25OYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke25hbWUgfHwgJyd9YC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teYS16MC05XS9nLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTHVjaWRlSW5kZXgoKTogTWFwPHN0cmluZywgSWNvbk5vZGU+IHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgSWNvbk5vZGU+KCk7XG5cbiAgICBPYmplY3QuZW50cmllcyhpY29ucykuZm9yRWFjaCgoW2ljb25OYW1lLCBpY29uTm9kZV0pID0+IHtcbiAgICAgIG1hcC5zZXQodGhpcy5ub3JtYWxpemVJY29uTmFtZShpY29uTmFtZSksIGljb25Ob2RlIGFzIEljb25Ob2RlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtYXA7XG4gIH1cblxuICBwcml2YXRlIGVzY2FwZUF0dHIodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt2YWx1ZSA/PyAnJ31gXG4gICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxuICAgICAgLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKVxuICAgICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgICAgLnJlcGxhY2UoLz4vZywgJyZndDsnKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2V0VXJsOyBlbHNlIGlubGluZUljb25cIj5cbiAgPGltZ1xuICAgIFtzcmNdPVwiYXNzZXRVcmxcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJyZXNvbHZlZFNpemVcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwicmVzb2x2ZWRTaXplXCJcbiAgICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICAgIFthdHRyLnJvbGVdPVwiZGVjb3JhdGl2ZSA/IG51bGwgOiAnaW1nJ1wiXG4gICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiZGVjb3JhdGl2ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiIWRlY29yYXRpdmUgPyBhcmlhTGFiZWwgfHwgbmFtZSA6IG51bGxcIlxuICAgIGFsdD1cIlwiXG4gIC8+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNpbmxpbmVJY29uPlxuICA8c3BhblxuICAgIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiJ2lubGluZS1mbGV4J1wiXG4gICAgW3N0eWxlLmFsaWduLWl0ZW1zXT1cIidjZW50ZXInXCJcbiAgICBbc3R5bGUuanVzdGlmeS1jb250ZW50XT1cIidjZW50ZXInXCJcbiAgICBbc3R5bGUubGluZS1oZWlnaHRdPVwiMFwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cInJlc29sdmVkU2l6ZVwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJyZXNvbHZlZFNpemVcIlxuICAgIFthdHRyLnJvbGVdPVwiZGVjb3JhdGl2ZSA/IG51bGwgOiAnaW1nJ1wiXG4gICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiZGVjb3JhdGl2ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiIWRlY29yYXRpdmUgPyBhcmlhTGFiZWwgfHwgbmFtZSA6IG51bGxcIlxuICAgIFtpbm5lckhUTUxdPVwic3ZnTWFya3VwXCJcbiAgPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,144 +0,0 @@
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") ?? "")
51
- .replace(/\D+/g, "")
52
- .slice(0, this.length);
53
- if (!pastedText) {
54
- return;
55
- }
56
- this.values = Array.from({ length: this.length }, (_, index) => pastedText[index] ?? "");
57
- this.emit();
58
- const nextIndex = Math.min(pastedText.length, this.length - 1);
59
- this.focusInput(nextIndex);
60
- }
61
- getInputClasses(index) {
62
- const classes = [
63
- "h-9 w-9 appearance-none box-border border border-solid bg-background text-center text-sm font-normal text-foreground outline-none transition focus:outline-none focus-visible:outline-none",
64
- "shadow-sm",
65
- "focus:border-input focus:ring-1 focus:ring-primary/30",
66
- "disabled:cursor-not-allowed disabled:opacity-50",
67
- ];
68
- if (this.invalid) {
69
- classes.push("border-destructive focus:border-destructive focus:ring-destructive");
70
- }
71
- else {
72
- classes.push("border-input");
73
- }
74
- if (this.isGroupStart(index)) {
75
- classes.push("rounded-l-md border-l");
76
- }
77
- else {
78
- classes.push("border-l-0");
79
- }
80
- if (this.isGroupEnd(index)) {
81
- classes.push("rounded-r-md");
82
- }
83
- return classes.join(" ");
84
- }
85
- shouldShowSeparator(index) {
86
- return (this.groupSize > 0 &&
87
- (index + 1) % this.groupSize === 0 &&
88
- index < this.length - 1);
89
- }
90
- isGroupStart(index) {
91
- return this.groupSize <= 0 || index % this.groupSize === 0;
92
- }
93
- isGroupEnd(index) {
94
- if (this.groupSize <= 0) {
95
- return index === this.length - 1;
96
- }
97
- return (index + 1) % this.groupSize === 0 || index === this.length - 1;
98
- }
99
- emit() {
100
- const value = this.values.join("");
101
- this.valueChange.emit(value);
102
- if (value.length === this.length && !this.values.includes("")) {
103
- this.completed.emit(value);
104
- }
105
- }
106
- focusInput(index, deferred = false) {
107
- if (deferred) {
108
- requestAnimationFrame(() => this.focusInput(index, false));
109
- return;
110
- }
111
- if (!this.inputs || index < 0 || index >= this.length) {
112
- return;
113
- }
114
- const input = this.inputs.get(index)?.nativeElement;
115
- if (input) {
116
- input.focus();
117
- input.select();
118
- }
119
- }
120
- }
121
- PdmInputOtpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmInputOtpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
- PdmInputOtpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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 });
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmInputOtpComponent, decorators: [{
124
- type: Component,
125
- 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" }]
126
- }], propDecorators: { length: [{
127
- type: Input
128
- }], groupSize: [{
129
- type: Input
130
- }], disabled: [{
131
- type: Input
132
- }], invalid: [{
133
- type: Input
134
- }], className: [{
135
- type: Input
136
- }], valueChange: [{
137
- type: Output
138
- }], completed: [{
139
- type: Output
140
- }], inputs: [{
141
- type: ViewChildren,
142
- args: ["otpInput"]
143
- }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtb3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1vdHAvaW5wdXQtb3RwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1vdHAvaW5wdXQtb3RwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFlBQVksR0FDWixNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVSxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBTWpELFdBQU0sR0FBYSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQTRJakU7SUExSUEsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3ZCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFDdkIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FB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QixNQUFNO2dCQUVvQyxNQUFNO3NCQUFoRCxZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHR0eXBlIEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SW5wdXQsXG5cdE91dHB1dCxcblx0dHlwZSBRdWVyeUxpc3QsXG5cdFZpZXdDaGlsZHJlbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1pbnB1dC1vdHBcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9pbnB1dC1vdHAuY29tcG9uZW50Lmh0bWxcIixcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBkbUlucHV0T3RwQ29tcG9uZW50IHtcblx0QElucHV0KCkgbGVuZ3RoID0gNjtcblx0QElucHV0KCkgZ3JvdXBTaXplID0gMztcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0QElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXG5cdEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXHRAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cblx0QFZpZXdDaGlsZHJlbihcIm90cElucHV0XCIpIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRzPzogUXVlcnlMaXN0PFxuXHRcdEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cblx0PjtcblxuXHR2YWx1ZXM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5sZW5ndGggfSwgKCkgPT4gXCJcIik7XG5cblx0bmdPbkNoYW5nZXMoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMudmFsdWVzLmxlbmd0aCAhPT0gdGhpcy5sZW5ndGgpIHtcblx0XHRcdHRoaXMudmFsdWVzID0gQXJyYXkuZnJvbShcblx0XHRcdFx0eyBsZW5ndGg6IHRoaXMubGVuZ3RoIH0sXG5cdFx0XHRcdChfLCBpbmRleCkgPT4gdGhpcy52YWx1ZXNbaW5kZXhdID8/IFwiXCIsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gaW5kZXg7XG5cdH1cblxuXHRvbklucHV0KGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cdFx0Y29uc3QgY2hhciA9IChpbnB1dC52YWx1ZSB8fCBcIlwiKS5yZXBsYWNlKC9cXEQrL2csIFwiXCIpLnNsaWNlKC0xKTtcblxuXHRcdHRoaXMudmFsdWVzW2luZGV4XSA9IGNoYXI7XG5cdFx0aW5wdXQudmFsdWUgPSBjaGFyO1xuXHRcdHRoaXMuZW1pdCgpO1xuXG5cdFx0aWYgKGNoYXIpIHtcblx0XHRcdHRoaXMuZm9jdXNJbnB1dChpbmRleCArIDEsIHRydWUpO1xuXHRcdH1cblx0fVxuXG5cdG9uS2V5RG93bihpbmRleDogbnVtYmVyLCBldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuXHRcdGlmIChldmVudC5rZXkgPT09IFwiQmFja3NwYWNlXCIgJiYgIXRoaXMudmFsdWVzW2luZGV4XSkge1xuXHRcdFx0dGhpcy5mb2N1c0lucHV0KGluZGV4IC0gMSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0xlZnRcIikge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMuZm9jdXNJbnB1dChpbmRleCAtIDEpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dSaWdodFwiKSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0dGhpcy5mb2N1c0lucHV0KGluZGV4ICsgMSk7XG5cdFx0fVxuXHR9XG5cblx0b25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG5cdFx0Y29uc3QgcGFzdGVkVGV4dCA9IChldmVudC5jbGlwYm9hcmREYXRhPy5nZXREYXRhKFwidGV4dFwiKSA/PyBcIlwiKVxuXHRcdFx0LnJlcGxhY2UoL1xcRCsvZywgXCJcIilcblx0XHRcdC5zbGljZSgwLCB0aGlzLmxlbmd0aCk7XG5cblx0XHRpZiAoIXBhc3RlZFRleHQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnZhbHVlcyA9IEFycmF5LmZyb20oXG5cdFx0XHR7IGxlbmd0aDogdGhpcy5sZW5ndGggfSxcblx0XHRcdChfLCBpbmRleCkgPT4gcGFzdGVkVGV4dFtpbmRleF0gPz8gXCJcIixcblx0XHQpO1xuXHRcdHRoaXMuZW1pdCgpO1xuXG5cdFx0Y29uc3QgbmV4dEluZGV4ID0gTWF0aC5taW4ocGFzdGVkVGV4dC5sZW5ndGgsIHRoaXMubGVuZ3RoIC0gMSk7XG5cdFx0dGhpcy5mb2N1c0lucHV0KG5leHRJbmRleCk7XG5cdH1cblxuXHRnZXRJbnB1dENsYXNzZXMoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG5cdFx0Y29uc3QgY2xhc3NlcyA9IFtcblx0XHRcdFwiaC05IHctOSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBib3JkZXIgYm9yZGVyLXNvbGlkIGJnLWJhY2tncm91bmQgdGV4dC1jZW50ZXIgdGV4dC1zbSBmb250LW5vcm1hbCB0ZXh0LWZvcmVncm91bmQgb3V0bGluZS1ub25lIHRyYW5zaXRpb24gZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCIsXG5cdFx0XHRcInNoYWRvdy1zbVwiLFxuXHRcdFx0XCJmb2N1czpib3JkZXItaW5wdXQgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctcHJpbWFyeS8zMFwiLFxuXHRcdFx0XCJkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MFwiLFxuXHRcdF07XG5cblx0XHRpZiAodGhpcy5pbnZhbGlkKSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goXG5cdFx0XHRcdFwiYm9yZGVyLWRlc3RydWN0aXZlIGZvY3VzOmJvcmRlci1kZXN0cnVjdGl2ZSBmb2N1czpyaW5nLWRlc3RydWN0aXZlXCIsXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goXCJib3JkZXItaW5wdXRcIik7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuaXNHcm91cFN0YXJ0KGluZGV4KSkge1xuXHRcdFx0Y2xhc3Nlcy5wdXNoKFwicm91bmRlZC1sLW1kIGJvcmRlci1sXCIpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goXCJib3JkZXItbC0wXCIpO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLmlzR3JvdXBFbmQoaW5kZXgpKSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goXCJyb3VuZGVkLXItbWRcIik7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNsYXNzZXMuam9pbihcIiBcIik7XG5cdH1cblxuXHRzaG91bGRTaG93U2VwYXJhdG9yKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0dGhpcy5ncm91cFNpemUgPiAwICYmXG5cdFx0XHQoaW5kZXggKyAxKSAlIHRoaXMuZ3JvdXBTaXplID09PSAwICYmXG5cdFx0XHRpbmRleCA8IHRoaXMubGVuZ3RoIC0gMVxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIGlzR3JvdXBTdGFydChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZ3JvdXBTaXplIDw9IDAgfHwgaW5kZXggJSB0aGlzLmdyb3VwU2l6ZSA9PT0gMDtcblx0fVxuXG5cdHByaXZhdGUgaXNHcm91cEVuZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG5cdFx0aWYgKHRoaXMuZ3JvdXBTaXplIDw9IDApIHtcblx0XHRcdHJldHVybiBpbmRleCA9PT0gdGhpcy5sZW5ndGggLSAxO1xuXHRcdH1cblx0XHRyZXR1cm4gKGluZGV4ICsgMSkgJSB0aGlzLmdyb3VwU2l6ZSA9PT0gMCB8fCBpbmRleCA9PT0gdGhpcy5sZW5ndGggLSAxO1xuXHR9XG5cblx0cHJpdmF0ZSBlbWl0KCk6IHZvaWQge1xuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZXMuam9pbihcIlwiKTtcblx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG5cdFx0aWYgKHZhbHVlLmxlbmd0aCA9PT0gdGhpcy5sZW5ndGggJiYgIXRoaXMudmFsdWVzLmluY2x1ZGVzKFwiXCIpKSB7XG5cdFx0XHR0aGlzLmNvbXBsZXRlZC5lbWl0KHZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGZvY3VzSW5wdXQoaW5kZXg6IG51bWJlciwgZGVmZXJyZWQgPSBmYWxzZSk6IHZvaWQge1xuXHRcdGlmIChkZWZlcnJlZCkge1xuXHRcdFx0cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMuZm9jdXNJbnB1dChpbmRleCwgZmFsc2UpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMuaW5wdXRzIHx8IGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dHMuZ2V0KGluZGV4KT8ubmF0aXZlRWxlbWVudDtcblx0XHRpZiAoaW5wdXQpIHtcblx0XHRcdGlucHV0LmZvY3VzKCk7XG5cdFx0XHRpbnB1dC5zZWxlY3QoKTtcblx0XHR9XG5cdH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXInLCBjbGFzc05hbWVdXCIgKHBhc3RlKT1cIm9uUGFzdGUoJGV2ZW50KVwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiB2YWx1ZXM7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICA8aW5wdXRcbiAgICAgICNvdHBJbnB1dFxuICAgICAgW2NsYXNzXT1cImdldElucHV0Q2xhc3NlcyhpbmRleClcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgIG1heGxlbmd0aD1cIjFcIlxuICAgICAgW2F0dHIubmFtZV09XCInb3RwLWRpZ2l0LScgKyBpbmRleFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09UUCBkaWdpdCAnICsgKGluZGV4ICsgMSlcIlxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoaW5kZXgsICRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKGluZGV4LCAkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cInNob3VsZFNob3dTZXBhcmF0b3IoaW5kZXgpXCJcbiAgICAgIGNsYXNzPVwibXgtMiBtdC1bLTFweF0gaC1weCB3LTYgYmctZm9yZWdyb3VuZCBvcGFjaXR5LTgwXCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPjwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==