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,116 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../icon/icon.component";
5
- /**
6
- * Sheet/Side panel component con soporte responsive
7
- *
8
- * MEJORADO en v0.2.0:
9
- * - Tamaños configurables
10
- * - Mejor manejo de overflow
11
- * - Responsive sizes
12
- *
13
- * @example
14
- * <pdm-sheet [open]="isOpen" side="right" size="md">
15
- * <h3>Settings</h3>
16
- * <p>Content here</p>
17
- * </pdm-sheet>
18
- */
19
- export class PdmSheetComponent {
20
- constructor() {
21
- this.open = false;
22
- /**
23
- * Lado desde donde aparece el sheet
24
- */
25
- this.side = 'right';
26
- /**
27
- * Tamaño del sheet
28
- * - sm: 320px (side) / 40vh (top/bottom)
29
- * - md: 400px (side) / 50vh (top/bottom) (default)
30
- * - lg: 500px (side) / 66vh (top/bottom)
31
- * - xl: 640px (side) / 80vh (top/bottom)
32
- * - full: 100%
33
- */
34
- this.size = 'md';
35
- this.className = '';
36
- this.closeOnEsc = true;
37
- this.closeOnBackdropClick = true;
38
- this.openChange = new EventEmitter();
39
- }
40
- onEsc() {
41
- if (this.open && this.closeOnEsc) {
42
- this.close();
43
- }
44
- }
45
- onBackdropClick() {
46
- if (this.closeOnBackdropClick) {
47
- this.close();
48
- }
49
- }
50
- close() {
51
- this.openChange.emit(false);
52
- }
53
- get panelClass() {
54
- const base = 'absolute bg-background border-border shadow-lg overflow-auto';
55
- const position = this.getPositionClass();
56
- const sizing = this.getSizingClass();
57
- return `${base} ${position} ${sizing} ${this.className}`.trim();
58
- }
59
- getPositionClass() {
60
- const map = {
61
- left: 'left-0 top-0 h-full border-r',
62
- right: 'right-0 top-0 h-full border-l',
63
- top: 'top-0 left-0 w-full border-b',
64
- bottom: 'bottom-0 left-0 w-full border-t'
65
- };
66
- return map[this.side];
67
- }
68
- getSizingClass() {
69
- if (this.size === 'full') {
70
- return 'w-full h-full';
71
- }
72
- const isHorizontal = this.side === 'left' || this.side === 'right';
73
- if (isHorizontal) {
74
- const widthMap = {
75
- sm: 'w-full max-w-[320px] sm:max-w-[320px]',
76
- md: 'w-full max-w-[360px] sm:max-w-[400px]',
77
- lg: 'w-full max-w-[400px] sm:max-w-[500px]',
78
- xl: 'w-full max-w-[500px] sm:max-w-[640px]'
79
- };
80
- return widthMap[this.size] || widthMap.md;
81
- }
82
- else {
83
- const heightMap = {
84
- sm: 'max-h-[40vh]',
85
- md: 'max-h-[50vh]',
86
- lg: 'max-h-[66vh]',
87
- xl: 'max-h-[80vh]'
88
- };
89
- return heightMap[this.size] || heightMap.md;
90
- }
91
- }
92
- }
93
- PdmSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
94
- PdmSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSheetComponent, selector: "pdm-sheet", inputs: { open: "open", side: "side", size: "size", className: "className", closeOnEsc: "closeOnEsc", closeOnBackdropClick: "closeOnBackdropClick" }, outputs: { openChange: "openChange" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, ngImport: i0, template: "<div *ngIf=\"open\" class=\"fixed inset-0 z-50\">\n <button type=\"button\" class=\"absolute inset-0 appearance-none box-border border-0 bg-foreground/80 p-0\" aria-label=\"Close sheet\" (click)=\"onBackdropClick()\"></button>\n\n <section [ngClass]=\"['absolute z-[60] border border-solid border-border bg-background p-6 shadow-lg', panelClass, className]\" role=\"dialog\" aria-modal=\"true\">\n <button type=\"button\" class=\"absolute right-3 top-3 appearance-none box-border rounded-sm border-0 bg-transparent p-0 opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\" (click)=\"close()\">\n <pdm-icon name=\"x\" [size]=\"16\"></pdm-icon>\n </button>\n <ng-content></ng-content>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSheetComponent, decorators: [{
96
- type: Component,
97
- args: [{ selector: 'pdm-sheet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"open\" class=\"fixed inset-0 z-50\">\n <button type=\"button\" class=\"absolute inset-0 appearance-none box-border border-0 bg-foreground/80 p-0\" aria-label=\"Close sheet\" (click)=\"onBackdropClick()\"></button>\n\n <section [ngClass]=\"['absolute z-[60] border border-solid border-border bg-background p-6 shadow-lg', panelClass, className]\" role=\"dialog\" aria-modal=\"true\">\n <button type=\"button\" class=\"absolute right-3 top-3 appearance-none box-border rounded-sm border-0 bg-transparent p-0 opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\" (click)=\"close()\">\n <pdm-icon name=\"x\" [size]=\"16\"></pdm-icon>\n </button>\n <ng-content></ng-content>\n </section>\n</div>\n" }]
98
- }], propDecorators: { open: [{
99
- type: Input
100
- }], side: [{
101
- type: Input
102
- }], size: [{
103
- type: Input
104
- }], className: [{
105
- type: Input
106
- }], closeOnEsc: [{
107
- type: Input
108
- }], closeOnBackdropClick: [{
109
- type: Input
110
- }], openChange: [{
111
- type: Output
112
- }], onEsc: [{
113
- type: HostListener,
114
- args: ['document:keydown.escape']
115
- }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3NoZWV0L3NoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zaGVldC9zaGVldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUs5Rzs7Ozs7Ozs7Ozs7OztHQWFHO0FBTUgsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQU1XLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFdEI7O1dBRUc7UUFDTSxTQUFJLEdBQWlCLE9BQU8sQ0FBQztRQUV0Qzs7Ozs7OztXQU9HO1FBQ00sU0FBSSxHQUFpQixJQUFJLENBQUM7UUFFMUIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRTNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBK0RwRDtJQTVEQyxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osTUFBTSxJQUFJLEdBQUcsOERBQThELENBQUM7UUFDNUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXJDLE9BQU8sR0FBRyxJQUFJLElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLEdBQUcsR0FBaUM7WUFDeEMsSUFBSSxFQUFFLDhCQUE4QjtZQUNwQyxLQUFLLEVBQUUsK0JBQStCO1lBQ3RDLEdBQUcsRUFBRSw4QkFBOEI7WUFDbkMsTUFBTSxFQUFFLGlDQUFpQztTQUMxQyxDQUFDO1FBRUYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEIsT0FBTyxlQUFlLENBQUM7U0FDeEI7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQztRQUVuRSxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLFFBQVEsR0FBRztnQkFDZixFQUFFLEVBQUUsdUNBQXVDO2dCQUMzQyxFQUFFLEVBQUUsdUNBQXVDO2dCQUMzQyxFQUFFLEVBQUUsdUNBQXVDO2dCQUMzQyxFQUFFLEVBQUUsdUNBQXVDO2FBQzVDLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQztTQUMzQzthQUFNO1lBQ0wsTUFBTSxTQUFTLEdBQUc7Z0JBQ2hCLEVBQUUsRUFBRSxjQUFjO2dCQUNsQixFQUFFLEVBQUUsY0FBYztnQkFDbEIsRUFBRSxFQUFFLGNBQWM7Z0JBQ2xCLEVBQUUsRUFBRSxjQUFjO2FBQ25CLENBQUM7WUFDRixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztTQUM3QztJQUNILENBQUM7OzhHQXBGVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw2U0N4QjlCLHcwQkFVQTsyRkRjYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQVVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBR1AsS0FBSztzQkFESixZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbVNoZWV0U2lkZSA9ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnO1xuZXhwb3J0IHR5cGUgUGRtU2hlZXRTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICdmdWxsJztcblxuLyoqXG4gKiBTaGVldC9TaWRlIHBhbmVsIGNvbXBvbmVudCBjb24gc29wb3J0ZSByZXNwb25zaXZlXG4gKiBcbiAqIE1FSk9SQURPIGVuIHYwLjIuMDpcbiAqIC0gVGFtYcOxb3MgY29uZmlndXJhYmxlc1xuICogLSBNZWpvciBtYW5lam8gZGUgb3ZlcmZsb3dcbiAqIC0gUmVzcG9uc2l2ZSBzaXplc1xuICogXG4gKiBAZXhhbXBsZVxuICogPHBkbS1zaGVldCBbb3Blbl09XCJpc09wZW5cIiBzaWRlPVwicmlnaHRcIiBzaXplPVwibWRcIj5cbiAqICAgPGgzPlNldHRpbmdzPC9oMz5cbiAqICAgPHA+Q29udGVudCBoZXJlPC9wPlxuICogPC9wZG0tc2hlZXQ+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1zaGVldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVldC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbVNoZWV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIExhZG8gZGVzZGUgZG9uZGUgYXBhcmVjZSBlbCBzaGVldFxuICAgKi9cbiAgQElucHV0KCkgc2lkZTogUGRtU2hlZXRTaWRlID0gJ3JpZ2h0JztcbiAgXG4gIC8qKlxuICAgKiBUYW1hw7FvIGRlbCBzaGVldFxuICAgKiAtIHNtOiAzMjBweCAoc2lkZSkgLyA0MHZoICh0b3AvYm90dG9tKVxuICAgKiAtIG1kOiA0MDBweCAoc2lkZSkgLyA1MHZoICh0b3AvYm90dG9tKSAoZGVmYXVsdClcbiAgICogLSBsZzogNTAwcHggKHNpZGUpIC8gNjZ2aCAodG9wL2JvdHRvbSlcbiAgICogLSB4bDogNjQwcHggKHNpZGUpIC8gODB2aCAodG9wL2JvdHRvbSlcbiAgICogLSBmdWxsOiAxMDAlXG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBQZG1TaGVldFNpemUgPSAnbWQnO1xuICBcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBJbnB1dCgpIGNsb3NlT25Fc2MgPSB0cnVlO1xuICBASW5wdXQoKSBjbG9zZU9uQmFja2Ryb3BDbGljayA9IHRydWU7XG5cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxuICBvbkVzYygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcGVuICYmIHRoaXMuY2xvc2VPbkVzYykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQmFja2Ryb3BDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uQmFja2Ryb3BDbGljaykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIGdldCBwYW5lbENsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZSA9ICdhYnNvbHV0ZSBiZy1iYWNrZ3JvdW5kIGJvcmRlci1ib3JkZXIgc2hhZG93LWxnIG92ZXJmbG93LWF1dG8nO1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkNsYXNzKCk7XG4gICAgY29uc3Qgc2l6aW5nID0gdGhpcy5nZXRTaXppbmdDbGFzcygpO1xuICAgIFxuICAgIHJldHVybiBgJHtiYXNlfSAke3Bvc2l0aW9ufSAke3NpemluZ30gJHt0aGlzLmNsYXNzTmFtZX1gLnRyaW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UG9zaXRpb25DbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1hcDogUmVjb3JkPFBkbVNoZWV0U2lkZSwgc3RyaW5nPiA9IHtcbiAgICAgIGxlZnQ6ICdsZWZ0LTAgdG9wLTAgaC1mdWxsIGJvcmRlci1yJyxcbiAgICAgIHJpZ2h0OiAncmlnaHQtMCB0b3AtMCBoLWZ1bGwgYm9yZGVyLWwnLFxuICAgICAgdG9wOiAndG9wLTAgbGVmdC0wIHctZnVsbCBib3JkZXItYicsXG4gICAgICBib3R0b206ICdib3R0b20tMCBsZWZ0LTAgdy1mdWxsIGJvcmRlci10J1xuICAgIH07XG4gICAgXG4gICAgcmV0dXJuIG1hcFt0aGlzLnNpZGVdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaXppbmdDbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNpemUgPT09ICdmdWxsJykge1xuICAgICAgcmV0dXJuICd3LWZ1bGwgaC1mdWxsJztcbiAgICB9XG5cbiAgICBjb25zdCBpc0hvcml6b250YWwgPSB0aGlzLnNpZGUgPT09ICdsZWZ0JyB8fCB0aGlzLnNpZGUgPT09ICdyaWdodCc7XG4gICAgXG4gICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgY29uc3Qgd2lkdGhNYXAgPSB7XG4gICAgICAgIHNtOiAndy1mdWxsIG1heC13LVszMjBweF0gc206bWF4LXctWzMyMHB4XScsXG4gICAgICAgIG1kOiAndy1mdWxsIG1heC13LVszNjBweF0gc206bWF4LXctWzQwMHB4XScsXG4gICAgICAgIGxnOiAndy1mdWxsIG1heC13LVs0MDBweF0gc206bWF4LXctWzUwMHB4XScsXG4gICAgICAgIHhsOiAndy1mdWxsIG1heC13LVs1MDBweF0gc206bWF4LXctWzY0MHB4XSdcbiAgICAgIH07XG4gICAgICByZXR1cm4gd2lkdGhNYXBbdGhpcy5zaXplXSB8fCB3aWR0aE1hcC5tZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaGVpZ2h0TWFwID0ge1xuICAgICAgICBzbTogJ21heC1oLVs0MHZoXScsXG4gICAgICAgIG1kOiAnbWF4LWgtWzUwdmhdJyxcbiAgICAgICAgbGc6ICdtYXgtaC1bNjZ2aF0nLFxuICAgICAgICB4bDogJ21heC1oLVs4MHZoXSdcbiAgICAgIH07XG4gICAgICByZXR1cm4gaGVpZ2h0TWFwW3RoaXMuc2l6ZV0gfHwgaGVpZ2h0TWFwLm1kO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIm9wZW5cIiBjbGFzcz1cImZpeGVkIGluc2V0LTAgei01MFwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImFic29sdXRlIGluc2V0LTAgYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgYm9yZGVyLTAgYmctZm9yZWdyb3VuZC84MCBwLTBcIiBhcmlhLWxhYmVsPVwiQ2xvc2Ugc2hlZXRcIiAoY2xpY2spPVwib25CYWNrZHJvcENsaWNrKClcIj48L2J1dHRvbj5cblxuICA8c2VjdGlvbiBbbmdDbGFzc109XCJbJ2Fic29sdXRlIHotWzYwXSBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCBwLTYgc2hhZG93LWxnJywgcGFuZWxDbGFzcywgY2xhc3NOYW1lXVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtMyB0b3AtMyBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciByb3VuZGVkLXNtIGJvcmRlci0wIGJnLXRyYW5zcGFyZW50IHAtMCBvcGFjaXR5LTcwIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgdHJhbnNpdGlvbi1vcGFjaXR5IGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1yaW5nIGZvY3VzOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICA8cGRtLWljb24gbmFtZT1cInhcIiBbc2l6ZV09XCIxNlwiPjwvcGRtLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3NlY3Rpb24+XG48L2Rpdj5cbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Input, Output, } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class PdmSwitchComponent {
5
- constructor() {
6
- this.cdr = inject(ChangeDetectorRef);
7
- this.id = "";
8
- this.checked = false;
9
- this.disabled = false;
10
- this.label = "";
11
- this.className = "";
12
- this.size = "default";
13
- this.checkedChange = new EventEmitter();
14
- }
15
- get rootClasses() {
16
- return [
17
- "peer relative inline-flex appearance-none box-border shrink-0 items-center justify-start rounded-full border border-solid border-transparent p-0 outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50",
18
- this.size === "sm" ? "h-[14px] w-[24px]" : "h-[18.4px] w-[32px]",
19
- this.checked ? "bg-primary" : "bg-input dark:bg-input/80",
20
- ];
21
- }
22
- get thumbClasses() {
23
- return [
24
- "pointer-events-none self-center block shrink-0 rounded-full bg-background ring-0 transition-transform",
25
- this.size === "sm" ? "size-3" : "size-4",
26
- this.checked ? "translate-x-[calc(100%-2px)]" : "translate-x-0",
27
- ];
28
- }
29
- onToggle() {
30
- if (this.disabled)
31
- return;
32
- const next = !this.checked;
33
- this.checked = next;
34
- this.checkedChange.emit(next);
35
- this.cdr.markForCheck();
36
- }
37
- }
38
- PdmSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- PdmSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSwitchComponent, selector: "pdm-switch", inputs: { id: "id", checked: "checked", disabled: "disabled", label: "label", className: "className", size: "size" }, outputs: { checkedChange: "checkedChange" }, ngImport: i0, template: "<div [ngClass]=\"['flex items-center space-x-2', className]\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-disabled]=\"disabled\"\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-disabled]=\"disabled ? 'true' : 'false'\"\n [attr.data-size]=\"size\"\n [attr.data-slot]=\"'switch'\"\n [attr.value]=\"checked ? 'on' : 'off'\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [ngClass]=\"rootClasses\"\n (click)=\"onToggle()\"\n >\n <span\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-slot]=\"'switch-thumb'\"\n [ngClass]=\"thumbClasses\"\n ></span>\n </button>\n <label\n *ngIf=\"label\"\n [attr.for]=\"id\"\n [attr.data-slot]=\"'label'\"\n class=\"flex cursor-pointer items-center gap-2 text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50\"\n (click)=\"onToggle()\"\n >\n {{ label }}\n </label>\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: "14.3.0", ngImport: i0, type: PdmSwitchComponent, decorators: [{
41
- type: Component,
42
- args: [{ selector: "pdm-switch", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['flex items-center space-x-2', className]\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-disabled]=\"disabled\"\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-disabled]=\"disabled ? 'true' : 'false'\"\n [attr.data-size]=\"size\"\n [attr.data-slot]=\"'switch'\"\n [attr.value]=\"checked ? 'on' : 'off'\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [ngClass]=\"rootClasses\"\n (click)=\"onToggle()\"\n >\n <span\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-slot]=\"'switch-thumb'\"\n [ngClass]=\"thumbClasses\"\n ></span>\n </button>\n <label\n *ngIf=\"label\"\n [attr.for]=\"id\"\n [attr.data-slot]=\"'label'\"\n class=\"flex cursor-pointer items-center gap-2 text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50\"\n (click)=\"onToggle()\"\n >\n {{ label }}\n </label>\n</div>\n" }]
43
- }], propDecorators: { id: [{
44
- type: Input
45
- }], checked: [{
46
- type: Input
47
- }], disabled: [{
48
- type: Input
49
- }], label: [{
50
- type: Input
51
- }], className: [{
52
- type: Input
53
- }], size: [{
54
- type: Input
55
- }], checkedChange: [{
56
- type: Output
57
- }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ04sTUFBTSxlQUFlLENBQUM7OztBQVN2QixNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBTWtCLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV4QyxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBSSxHQUFrQixTQUFTLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBeUJ0RDtJQXZCQSxJQUFJLFdBQVc7UUFDZCxPQUFPO1lBQ04sd1NBQXdTO1lBQ3hTLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCO1lBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsMkJBQTJCO1NBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2YsT0FBTztZQUNOLHVHQUF1RztZQUN2RyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxlQUFlO1NBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OytHQWxDVyxrQkFBa0I7bUdBQWxCLGtCQUFrQixxTkNqQi9CLG9nQ0FnQ0E7MkZEZmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNDLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTTs4QkFLdEMsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEV2ZW50RW1pdHRlcixcblx0aW5qZWN0LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgdHlwZSBQZG1Td2l0Y2hTaXplID0gXCJkZWZhdWx0XCIgfCBcInNtXCI7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJwZG0tc3dpdGNoXCIsXG5cdHRlbXBsYXRlVXJsOiBcIi4vc3dpdGNoLmNvbXBvbmVudC5odG1sXCIsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1Td2l0Y2hDb21wb25lbnQge1xuXHRwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cblx0QElucHV0KCkgaWQgPSBcIlwiO1xuXHRASW5wdXQoKSBjaGVja2VkID0gZmFsc2U7XG5cdEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cdEBJbnB1dCgpIGxhYmVsID0gXCJcIjtcblx0QElucHV0KCkgY2xhc3NOYW1lID0gXCJcIjtcblx0QElucHV0KCkgc2l6ZTogUGRtU3dpdGNoU2l6ZSA9IFwiZGVmYXVsdFwiO1xuXG5cdEBPdXRwdXQoKSBjaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG5cdGdldCByb290Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdFwicGVlciByZWxhdGl2ZSBpbmxpbmUtZmxleCBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydCByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItdHJhbnNwYXJlbnQgcC0wIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWFsbCBmb2N1cy12aXNpYmxlOmJvcmRlci1yaW5nIGZvY3VzLXZpc2libGU6cmluZy0zIGZvY3VzLXZpc2libGU6cmluZy1yaW5nLzUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXG5cdFx0XHR0aGlzLnNpemUgPT09IFwic21cIiA/IFwiaC1bMTRweF0gdy1bMjRweF1cIiA6IFwiaC1bMTguNHB4XSB3LVszMnB4XVwiLFxuXHRcdFx0dGhpcy5jaGVja2VkID8gXCJiZy1wcmltYXJ5XCIgOiBcImJnLWlucHV0IGRhcms6YmctaW5wdXQvODBcIixcblx0XHRdO1xuXHR9XG5cblx0Z2V0IHRodW1iQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdFwicG9pbnRlci1ldmVudHMtbm9uZSBzZWxmLWNlbnRlciBibG9jayBzaHJpbmstMCByb3VuZGVkLWZ1bGwgYmctYmFja2dyb3VuZCByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcblx0XHRcdHRoaXMuc2l6ZSA9PT0gXCJzbVwiID8gXCJzaXplLTNcIiA6IFwic2l6ZS00XCIsXG5cdFx0XHR0aGlzLmNoZWNrZWQgPyBcInRyYW5zbGF0ZS14LVtjYWxjKDEwMCUtMnB4KV1cIiA6IFwidHJhbnNsYXRlLXgtMFwiLFxuXHRcdF07XG5cdH1cblxuXHRvblRvZ2dsZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXHRcdGNvbnN0IG5leHQgPSAhdGhpcy5jaGVja2VkO1xuXHRcdHRoaXMuY2hlY2tlZCA9IG5leHQ7XG5cdFx0dGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQobmV4dCk7XG5cdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTInLCBjbGFzc05hbWVdXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICByb2xlPVwic3dpdGNoXCJcbiAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuZGF0YS1zdGF0ZV09XCJjaGVja2VkID8gJ2NoZWNrZWQnIDogJ3VuY2hlY2tlZCdcIlxuICAgIFthdHRyLmRhdGEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICBbYXR0ci5kYXRhLXNpemVdPVwic2l6ZVwiXG4gICAgW2F0dHIuZGF0YS1zbG90XT1cIidzd2l0Y2gnXCJcbiAgICBbYXR0ci52YWx1ZV09XCJjaGVja2VkID8gJ29uJyA6ICdvZmYnXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25nQ2xhc3NdPVwicm9vdENsYXNzZXNcIlxuICAgIChjbGljayk9XCJvblRvZ2dsZSgpXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBbYXR0ci5kYXRhLXN0YXRlXT1cImNoZWNrZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJ1wiXG4gICAgICBbYXR0ci5kYXRhLXNsb3RdPVwiJ3N3aXRjaC10aHVtYidcIlxuICAgICAgW25nQ2xhc3NdPVwidGh1bWJDbGFzc2VzXCJcbiAgICA+PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGxhYmVsXG4gICAgKm5nSWY9XCJsYWJlbFwiXG4gICAgW2F0dHIuZm9yXT1cImlkXCJcbiAgICBbYXR0ci5kYXRhLXNsb3RdPVwiJ2xhYmVsJ1wiXG4gICAgY2xhc3M9XCJmbGV4IGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNtIGxlYWRpbmctbm9uZSBmb250LW1lZGl1bSBzZWxlY3Qtbm9uZSBwZWVyLWRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBwZWVyLWRpc2FibGVkOm9wYWNpdHktNTBcIlxuICAgIChjbGljayk9XCJvblRvZ2dsZSgpXCJcbiAgPlxuICAgIHt7IGxhYmVsIH19XG4gIDwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
@@ -1,182 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
2
- import { TABLE_RESPONSIVE, } from "../../utils/responsive";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- /**
6
- * Componente base de tabla con soporte responsive
7
- *
8
- * SIMPLIFICADO: Ya no incluye drag & drop (usar pdm-draggable-table para eso)
9
- *
10
- * @example
11
- * // Tabla simple con scroll horizontal
12
- * <pdm-table variant="default">
13
- * <thead><tr><th>Name</th><th>Email</th></tr></thead>
14
- * <tbody><tr><td>John</td><td>john@example.com</td></tr></tbody>
15
- * </pdm-table>
16
- *
17
- * @example
18
- * // Tabla interactiva con wrap en mobile
19
- * <pdm-table variant="interactive" responsiveStrategy="wrap">
20
- * ...
21
- * </pdm-table>
22
- */
23
- export class PdmTableComponent {
24
- constructor() {
25
- /**
26
- * Variante visual de la tabla
27
- * - default: tabla básica sin estilos extra
28
- * - data: tabla con bordes y espaciado para data
29
- * - interactive: tabla con hover, sticky header y estilos interactivos
30
- */
31
- this.variant = "default";
32
- /**
33
- * Estrategia responsive para la tabla
34
- * - scroll: scroll horizontal en mobile (default, más simple)
35
- * - wrap: permite que el contenido haga wrap
36
- * - stack: convierte filas en cards en mobile (requiere data-label en celdas)
37
- * - collapse: oculta columnas menos importantes en mobile
38
- */
39
- this.responsiveStrategy = "scroll";
40
- /**
41
- * Clases CSS adicionales para el wrapper
42
- */
43
- this.className = "";
44
- /**
45
- * Si es true, aplica padding negativo en mobile para scroll edge-to-edge
46
- * Útil cuando la tabla está dentro de un container con padding
47
- */
48
- this.fullBleed = false;
49
- }
50
- get wrapperClasses() {
51
- const baseClasses = ["relative", "w-full"];
52
- const strategyClasses = this.getResponsiveStrategyClasses();
53
- const variantClasses = this.getVariantWrapperClasses();
54
- // Full bleed: scroll edge-to-edge en mobile
55
- if (this.fullBleed && this.responsiveStrategy === "scroll") {
56
- baseClasses.push("-mx-4", "px-4", "sm:mx-0", "sm:px-0");
57
- }
58
- return [
59
- ...baseClasses,
60
- ...strategyClasses,
61
- ...variantClasses,
62
- this.className,
63
- ].filter(Boolean);
64
- }
65
- get tableClasses() {
66
- const baseClasses = ["w-full", "caption-bottom", "text-sm"];
67
- const variantClasses = this.getVariantTableClasses();
68
- const cellClasses = this.getCellClasses();
69
- return [...baseClasses, ...variantClasses, ...cellClasses].filter(Boolean);
70
- }
71
- getResponsiveStrategyClasses() {
72
- const strategy = TABLE_RESPONSIVE[this.responsiveStrategy];
73
- if (this.responsiveStrategy === "scroll") {
74
- return ["overflow-x-auto"];
75
- }
76
- if (this.responsiveStrategy === "wrap") {
77
- return ["overflow-x-auto"];
78
- }
79
- if (this.responsiveStrategy === "stack") {
80
- // Stack requiere lógica en el template, aquí solo el wrapper
81
- return [];
82
- }
83
- if (this.responsiveStrategy === "collapse") {
84
- return ["overflow-x-auto"];
85
- }
86
- return ["overflow-auto"];
87
- }
88
- getVariantWrapperClasses() {
89
- if (this.variant === "interactive") {
90
- return ["rounded-xl", "border border-solid", "border-border", "bg-background"];
91
- }
92
- if (this.variant === "data") {
93
- return ["rounded-md", "border border-solid", "border-border", "bg-background"];
94
- }
95
- return [];
96
- }
97
- getVariantTableClasses() {
98
- if (this.variant === "data") {
99
- return [
100
- "border-collapse",
101
- "text-foreground",
102
- "[&_thead_tr]:border-b",
103
- "[&_thead_tr]:border-border",
104
- "[&_tbody_tr]:border-b",
105
- "[&_tbody_tr]:border-border",
106
- "[&_tbody_tr:last-child]:border-b-0",
107
- "[&_th]:h-10",
108
- "[&_th]:px-2",
109
- "[&_th]:text-left",
110
- "[&_th]:align-middle",
111
- "[&_th]:font-medium",
112
- "[&_td]:p-2",
113
- "[&_td]:align-middle",
114
- ];
115
- }
116
- if (this.variant === "interactive") {
117
- return [
118
- "text-foreground",
119
- "[&_thead]:sticky",
120
- "[&_thead]:top-0",
121
- "[&_thead]:z-10",
122
- "[&_thead]:bg-muted/70",
123
- "[&_thead_tr]:border-b",
124
- "[&_thead_tr]:border-border",
125
- "[&_th]:h-12",
126
- "[&_th]:px-4",
127
- "[&_th]:text-left",
128
- "[&_th]:align-middle",
129
- "[&_th]:text-sm",
130
- "[&_th]:font-medium",
131
- "[&_tbody_tr]:border-b",
132
- "[&_tbody_tr]:border-border",
133
- "[&_tbody_tr]:transition-colors",
134
- "[&_tbody_tr:hover]:bg-muted/50",
135
- "[&_tbody_tr:last-child]:border-b-0",
136
- "[&_td]:h-14",
137
- "[&_td]:px-4",
138
- "[&_td]:align-middle",
139
- "[&_td]:text-sm",
140
- "[&_svg]:text-muted-foreground",
141
- ];
142
- }
143
- return [];
144
- }
145
- getCellClasses() {
146
- // Manejo responsive de whitespace
147
- if (this.responsiveStrategy === "scroll") {
148
- // En scroll, permitir wrap en mobile, nowrap en desktop
149
- return [
150
- "[&_td]:whitespace-normal",
151
- "[&_th]:whitespace-normal",
152
- "sm:[&_td]:whitespace-nowrap",
153
- "sm:[&_th]:whitespace-nowrap",
154
- ];
155
- }
156
- if (this.responsiveStrategy === "wrap") {
157
- // En wrap, siempre permitir wrap
158
- return [
159
- "[&_td]:whitespace-normal",
160
- "[&_td]:break-words",
161
- "[&_th]:whitespace-normal",
162
- ];
163
- }
164
- // Default: nowrap (comportamiento anterior para backward compatibility)
165
- return [];
166
- }
167
- }
168
- PdmTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
- PdmTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmTableComponent, selector: "pdm-table", inputs: { variant: "variant", responsiveStrategy: "responsiveStrategy", className: "className", fullBleed: "fullBleed" }, ngImport: i0, template: "<div [ngClass]=\"wrapperClasses\" [attr.data-slot]=\"variant === 'interactive' ? 'table-container' : null\">\n <table #tableElement [ngClass]=\"tableClasses\" [attr.data-slot]=\"variant === 'interactive' ? 'table' : null\">\n <ng-content></ng-content>\n </table>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmTableComponent, decorators: [{
171
- type: Component,
172
- args: [{ selector: "pdm-table", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"wrapperClasses\" [attr.data-slot]=\"variant === 'interactive' ? 'table-container' : null\">\n <table #tableElement [ngClass]=\"tableClasses\" [attr.data-slot]=\"variant === 'interactive' ? 'table' : null\">\n <ng-content></ng-content>\n </table>\n</div>\n", styles: [":host{display:block}\n"] }]
173
- }], propDecorators: { variant: [{
174
- type: Input
175
- }], responsiveStrategy: [{
176
- type: Input
177
- }], className: [{
178
- type: Input
179
- }], fullBleed: [{
180
- type: Input
181
- }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBRU4sZ0JBQWdCLEdBQ2hCLE1BQU0sd0JBQXdCLENBQUM7OztBQUloQzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFPSCxNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBT0M7Ozs7O1dBS0c7UUFDTSxZQUFPLEdBQW9CLFNBQVMsQ0FBQztRQUU5Qzs7Ozs7O1dBTUc7UUFDTSx1QkFBa0IsR0FBNEIsUUFBUSxDQUFDO1FBRWhFOztXQUVHO1FBQ00sY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV4Qjs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBMEkzQjtJQXhJQSxJQUFJLGNBQWM7UUFDakIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDNUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFdkQsNENBQTRDO1FBQzVDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssUUFBUSxFQUFFO1lBQzNELFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPO1lBQ04sR0FBRyxXQUFXO1lBQ2Qs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QUU7WUFDekMsd0RBQXdEO1lBQ3hELE9BQU87Z0JBQ04sMEJBQTBCO2dCQUMxQiwwQkFBMEI7Z0JBQzFCLDZCQUE2QjtnQkFDN0IsNkJBQTZCO2FBQzdCLENBQUM7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLE1BQU0sRUFBRTtZQUN2QyxpQ0FBaUM7WUFDakMsT0FBTztnQkFDTiwwQkFBMEI7Z0JBQzFCLG9CQUFvQjtnQkFDcEIsMEJBQTBCO2FBQzFCLENBQUM7U0FDRjtRQUVELHdFQUF3RTtRQUN4RSxPQUFPLEVBQUUsQ0FBQztJQUNYLENBQUM7OzhHQXBLVyxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyS0NoQzlCLHVSQUtBOzJGRDJCYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0MsV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNOzhCQVN0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG5cdHR5cGUgVGFibGVSZXNwb25zaXZlU3RyYXRlZ3ksXG5cdFRBQkxFX1JFU1BPTlNJVkUsXG59IGZyb20gXCIuLi8uLi91dGlscy9yZXNwb25zaXZlXCI7XG5cbmV4cG9ydCB0eXBlIFBkbVRhYmxlVmFyaWFudCA9IFwiZGVmYXVsdFwiIHwgXCJkYXRhXCIgfCBcImludGVyYWN0aXZlXCI7XG5cbi8qKlxuICogQ29tcG9uZW50ZSBiYXNlIGRlIHRhYmxhIGNvbiBzb3BvcnRlIHJlc3BvbnNpdmVcbiAqXG4gKiBTSU1QTElGSUNBRE86IFlhIG5vIGluY2x1eWUgZHJhZyAmIGRyb3AgKHVzYXIgcGRtLWRyYWdnYWJsZS10YWJsZSBwYXJhIGVzbylcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGFibGEgc2ltcGxlIGNvbiBzY3JvbGwgaG9yaXpvbnRhbFxuICogPHBkbS10YWJsZSB2YXJpYW50PVwiZGVmYXVsdFwiPlxuICogICA8dGhlYWQ+PHRyPjx0aD5OYW1lPC90aD48dGg+RW1haWw8L3RoPjwvdHI+PC90aGVhZD5cbiAqICAgPHRib2R5Pjx0cj48dGQ+Sm9objwvdGQ+PHRkPmpvaG5AZXhhbXBsZS5jb208L3RkPjwvdHI+PC90Ym9keT5cbiAqIDwvcGRtLXRhYmxlPlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUYWJsYSBpbnRlcmFjdGl2YSBjb24gd3JhcCBlbiBtb2JpbGVcbiAqIDxwZG0tdGFibGUgdmFyaWFudD1cImludGVyYWN0aXZlXCIgcmVzcG9uc2l2ZVN0cmF0ZWd5PVwid3JhcFwiPlxuICogICAuLi5cbiAqIDwvcGRtLXRhYmxlPlxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwicGRtLXRhYmxlXCIsXG5cdHRlbXBsYXRlVXJsOiBcIi4vdGFibGUuY29tcG9uZW50Lmh0bWxcIixcblx0c3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9XCJdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGRtVGFibGVDb21wb25lbnQge1xuXHQvKipcblx0ICogVmFyaWFudGUgdmlzdWFsIGRlIGxhIHRhYmxhXG5cdCAqIC0gZGVmYXVsdDogdGFibGEgYsOhc2ljYSBzaW4gZXN0aWxvcyBleHRyYVxuXHQgKiAtIGRhdGE6IHRhYmxhIGNvbiBib3JkZXMgeSBlc3BhY2lhZG8gcGFyYSBkYXRhXG5cdCAqIC0gaW50ZXJhY3RpdmU6IHRhYmxhIGNvbiBob3Zlciwgc3RpY2t5IGhlYWRlciB5IGVzdGlsb3MgaW50ZXJhY3Rpdm9zXG5cdCAqL1xuXHRASW5wdXQoKSB2YXJpYW50OiBQZG1UYWJsZVZhcmlhbnQgPSBcImRlZmF1bHRcIjtcblxuXHQvKipcblx0ICogRXN0cmF0ZWdpYSByZXNwb25zaXZlIHBhcmEgbGEgdGFibGFcblx0ICogLSBzY3JvbGw6IHNjcm9sbCBob3Jpem9udGFsIGVuIG1vYmlsZSAoZGVmYXVsdCwgbcOhcyBzaW1wbGUpXG5cdCAqIC0gd3JhcDogcGVybWl0ZSBxdWUgZWwgY29udGVuaWRvIGhhZ2Egd3JhcFxuXHQgKiAtIHN0YWNrOiBjb252aWVydGUgZmlsYXMgZW4gY2FyZHMgZW4gbW9iaWxlIChyZXF1aWVyZSBkYXRhLWxhYmVsIGVuIGNlbGRhcylcblx0ICogLSBjb2xsYXBzZTogb2N1bHRhIGNvbHVtbmFzIG1lbm9zIGltcG9ydGFudGVzIGVuIG1vYmlsZVxuXHQgKi9cblx0QElucHV0KCkgcmVzcG9uc2l2ZVN0cmF0ZWd5OiBUYWJsZVJlc3BvbnNpdmVTdHJhdGVneSA9IFwic2Nyb2xsXCI7XG5cblx0LyoqXG5cdCAqIENsYXNlcyBDU1MgYWRpY2lvbmFsZXMgcGFyYSBlbCB3cmFwcGVyXG5cdCAqL1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXG5cdC8qKlxuXHQgKiBTaSBlcyB0cnVlLCBhcGxpY2EgcGFkZGluZyBuZWdhdGl2byBlbiBtb2JpbGUgcGFyYSBzY3JvbGwgZWRnZS10by1lZGdlXG5cdCAqIMOadGlsIGN1YW5kbyBsYSB0YWJsYSBlc3TDoSBkZW50cm8gZGUgdW4gY29udGFpbmVyIGNvbiBwYWRkaW5nXG5cdCAqL1xuXHRASW5wdXQoKSBmdWxsQmxlZWQgPSBmYWxzZTtcblxuXHRnZXQgd3JhcHBlckNsYXNzZXMoKTogc3RyaW5nW10ge1xuXHRcdGNvbnN0IGJhc2VDbGFzc2VzID0gW1wicmVsYXRpdmVcIiwgXCJ3LWZ1bGxcIl07XG5cdFx0Y29uc3Qgc3RyYXRlZ3lDbGFzc2VzID0gdGhpcy5nZXRSZXNwb25zaXZlU3RyYXRlZ3lDbGFzc2VzKCk7XG5cdFx0Y29uc3QgdmFyaWFudENsYXNzZXMgPSB0aGlzLmdldFZhcmlhbnRXcmFwcGVyQ2xhc3NlcygpO1xuXG5cdFx0Ly8gRnVsbCBibGVlZDogc2Nyb2xsIGVkZ2UtdG8tZWRnZSBlbiBtb2JpbGVcblx0XHRpZiAodGhpcy5mdWxsQmxlZWQgJiYgdGhpcy5yZXNwb25zaXZlU3RyYXRlZ3kgPT09IFwic2Nyb2xsXCIpIHtcblx0XHRcdGJhc2VDbGFzc2VzLnB1c2goXCItbXgtNFwiLCBcInB4LTRcIiwgXCJzbTpteC0wXCIsIFwic206cHgtMFwiKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW1xuXHRcdFx0Li4uYmFzZUNsYXNzZXMsXG5cdFx0XHQuLi5zdHJhdGVneUNsYXNzZXMsXG5cdFx0XHQuLi52YXJpYW50Q2xhc3Nlcyxcblx0XHRcdHRoaXMuY2xhc3NOYW1lLFxuXHRcdF0uZmlsdGVyKEJvb2xlYW4pO1xuXHR9XG5cblx0Z2V0IHRhYmxlQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3QgYmFzZUNsYXNzZXMgPSBbXCJ3LWZ1bGxcIiwgXCJjYXB0aW9uLWJvdHRvbVwiLCBcInRleHQtc21cIl07XG5cdFx0Y29uc3QgdmFyaWFudENsYXNzZXMgPSB0aGlzLmdldFZhcmlhbnRUYWJsZUNsYXNzZXMoKTtcblx0XHRjb25zdCBjZWxsQ2xhc3NlcyA9IHRoaXMuZ2V0Q2VsbENsYXNzZXMoKTtcblxuXHRcdHJldHVybiBbLi4uYmFzZUNsYXNzZXMsIC4uLnZhcmlhbnRDbGFzc2VzLCAuLi5jZWxsQ2xhc3Nlc10uZmlsdGVyKEJvb2xlYW4pO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRSZXNwb25zaXZlU3RyYXRlZ3lDbGFzc2VzKCk6IHN0cmluZ1tdIHtcblx0XHRjb25zdCBzdHJhdGVneSA9IFRBQkxFX1JFU1BPTlNJVkVbdGhpcy5yZXNwb25zaXZlU3RyYXRlZ3ldO1xuXG5cdFx0aWYgKHRoaXMucmVzcG9uc2l2ZVN0cmF0ZWd5ID09PSBcInNjcm9sbFwiKSB7XG5cdFx0XHRyZXR1cm4gW1wib3ZlcmZsb3cteC1hdXRvXCJdO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnJlc3BvbnNpdmVTdHJhdGVneSA9PT0gXCJ3cmFwXCIpIHtcblx0XHRcdHJldHVybiBbXCJvdmVyZmxvdy14LWF1dG9cIl07XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMucmVzcG9uc2l2ZVN0cmF0ZWd5ID09PSBcInN0YWNrXCIpIHtcblx0XHRcdC8vIFN0YWNrIHJlcXVpZXJlIGzDs2dpY2EgZW4gZWwgdGVtcGxhdGUsIGFxdcOtIHNvbG8gZWwgd3JhcHBlclxuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnJlc3BvbnNpdmVTdHJhdGVneSA9PT0gXCJjb2xsYXBzZVwiKSB7XG5cdFx0XHRyZXR1cm4gW1wib3ZlcmZsb3cteC1hdXRvXCJdO1xuXHRcdH1cblxuXHRcdHJldHVybiBbXCJvdmVyZmxvdy1hdXRvXCJdO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRWYXJpYW50V3JhcHBlckNsYXNzZXMoKTogc3RyaW5nW10ge1xuXHRcdGlmICh0aGlzLnZhcmlhbnQgPT09IFwiaW50ZXJhY3RpdmVcIikge1xuXHRcdFx0cmV0dXJuIFtcInJvdW5kZWQteGxcIiwgXCJib3JkZXIgYm9yZGVyLXNvbGlkXCIsIFwiYm9yZGVyLWJvcmRlclwiLCBcImJnLWJhY2tncm91bmRcIl07XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMudmFyaWFudCA9PT0gXCJkYXRhXCIpIHtcblx0XHRcdHJldHVybiBbXCJyb3VuZGVkLW1kXCIsIFwiYm9yZGVyIGJvcmRlci1zb2xpZFwiLCBcImJvcmRlci1ib3JkZXJcIiwgXCJiZy1iYWNrZ3JvdW5kXCJdO1xuXHRcdH1cblxuXHRcdHJldHVybiBbXTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0VmFyaWFudFRhYmxlQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG5cdFx0aWYgKHRoaXMudmFyaWFudCA9PT0gXCJkYXRhXCIpIHtcblx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFwiYm9yZGVyLWNvbGxhcHNlXCIsXG5cdFx0XHRcdFwidGV4dC1mb3JlZ3JvdW5kXCIsXG5cdFx0XHRcdFwiWyZfdGhlYWRfdHJdOmJvcmRlci1iXCIsXG5cdFx0XHRcdFwiWyZfdGhlYWRfdHJdOmJvcmRlci1ib3JkZXJcIixcblx0XHRcdFx0XCJbJl90Ym9keV90cl06Ym9yZGVyLWJcIixcblx0XHRcdFx0XCJbJl90Ym9keV90cl06Ym9yZGVyLWJvcmRlclwiLFxuXHRcdFx0XHRcIlsmX3Rib2R5X3RyOmxhc3QtY2hpbGRdOmJvcmRlci1iLTBcIixcblx0XHRcdFx0XCJbJl90aF06aC0xMFwiLFxuXHRcdFx0XHRcIlsmX3RoXTpweC0yXCIsXG5cdFx0XHRcdFwiWyZfdGhdOnRleHQtbGVmdFwiLFxuXHRcdFx0XHRcIlsmX3RoXTphbGlnbi1taWRkbGVcIixcblx0XHRcdFx0XCJbJl90aF06Zm9udC1tZWRpdW1cIixcblx0XHRcdFx0XCJbJl90ZF06cC0yXCIsXG5cdFx0XHRcdFwiWyZfdGRdOmFsaWduLW1pZGRsZVwiLFxuXHRcdFx0XTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy52YXJpYW50ID09PSBcImludGVyYWN0aXZlXCIpIHtcblx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFwidGV4dC1mb3JlZ3JvdW5kXCIsXG5cdFx0XHRcdFwiWyZfdGhlYWRdOnN0aWNreVwiLFxuXHRcdFx0XHRcIlsmX3RoZWFkXTp0b3AtMFwiLFxuXHRcdFx0XHRcIlsmX3RoZWFkXTp6LTEwXCIsXG5cdFx0XHRcdFwiWyZfdGhlYWRdOmJnLW11dGVkLzcwXCIsXG5cdFx0XHRcdFwiWyZfdGhlYWRfdHJdOmJvcmRlci1iXCIsXG5cdFx0XHRcdFwiWyZfdGhlYWRfdHJdOmJvcmRlci1ib3JkZXJcIixcblx0XHRcdFx0XCJbJl90aF06aC0xMlwiLFxuXHRcdFx0XHRcIlsmX3RoXTpweC00XCIsXG5cdFx0XHRcdFwiWyZfdGhdOnRleHQtbGVmdFwiLFxuXHRcdFx0XHRcIlsmX3RoXTphbGlnbi1taWRkbGVcIixcblx0XHRcdFx0XCJbJl90aF06dGV4dC1zbVwiLFxuXHRcdFx0XHRcIlsmX3RoXTpmb250LW1lZGl1bVwiLFxuXHRcdFx0XHRcIlsmX3Rib2R5X3RyXTpib3JkZXItYlwiLFxuXHRcdFx0XHRcIlsmX3Rib2R5X3RyXTpib3JkZXItYm9yZGVyXCIsXG5cdFx0XHRcdFwiWyZfdGJvZHlfdHJdOnRyYW5zaXRpb24tY29sb3JzXCIsXG5cdFx0XHRcdFwiWyZfdGJvZHlfdHI6aG92ZXJdOmJnLW11dGVkLzUwXCIsXG5cdFx0XHRcdFwiWyZfdGJvZHlfdHI6bGFzdC1jaGlsZF06Ym9yZGVyLWItMFwiLFxuXHRcdFx0XHRcIlsmX3RkXTpoLTE0XCIsXG5cdFx0XHRcdFwiWyZfdGRdOnB4LTRcIixcblx0XHRcdFx0XCJbJl90ZF06YWxpZ24tbWlkZGxlXCIsXG5cdFx0XHRcdFwiWyZfdGRdOnRleHQtc21cIixcblx0XHRcdFx0XCJbJl9zdmddOnRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLFxuXHRcdFx0XTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW107XG5cdH1cblxuXHRwcml2YXRlIGdldENlbGxDbGFzc2VzKCk6IHN0cmluZ1tdIHtcblx0XHQvLyBNYW5lam8gcmVzcG9uc2l2ZSBkZSB3aGl0ZXNwYWNlXG5cdFx0aWYgKHRoaXMucmVzcG9uc2l2ZVN0cmF0ZWd5ID09PSBcInNjcm9sbFwiKSB7XG5cdFx0XHQvLyBFbiBzY3JvbGwsIHBlcm1pdGlyIHdyYXAgZW4gbW9iaWxlLCBub3dyYXAgZW4gZGVza3RvcFxuXHRcdFx0cmV0dXJuIFtcblx0XHRcdFx0XCJbJl90ZF06d2hpdGVzcGFjZS1ub3JtYWxcIixcblx0XHRcdFx0XCJbJl90aF06d2hpdGVzcGFjZS1ub3JtYWxcIixcblx0XHRcdFx0XCJzbTpbJl90ZF06d2hpdGVzcGFjZS1ub3dyYXBcIixcblx0XHRcdFx0XCJzbTpbJl90aF06d2hpdGVzcGFjZS1ub3dyYXBcIixcblx0XHRcdF07XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMucmVzcG9uc2l2ZVN0cmF0ZWd5ID09PSBcIndyYXBcIikge1xuXHRcdFx0Ly8gRW4gd3JhcCwgc2llbXByZSBwZXJtaXRpciB3cmFwXG5cdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcIlsmX3RkXTp3aGl0ZXNwYWNlLW5vcm1hbFwiLFxuXHRcdFx0XHRcIlsmX3RkXTpicmVhay13b3Jkc1wiLFxuXHRcdFx0XHRcIlsmX3RoXTp3aGl0ZXNwYWNlLW5vcm1hbFwiLFxuXHRcdFx0XTtcblx0XHR9XG5cblx0XHQvLyBEZWZhdWx0OiBub3dyYXAgKGNvbXBvcnRhbWllbnRvIGFudGVyaW9yIHBhcmEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSlcblx0XHRyZXR1cm4gW107XG5cdH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwid3JhcHBlckNsYXNzZXNcIiBbYXR0ci5kYXRhLXNsb3RdPVwidmFyaWFudCA9PT0gJ2ludGVyYWN0aXZlJyA/ICd0YWJsZS1jb250YWluZXInIDogbnVsbFwiPlxuICA8dGFibGUgI3RhYmxlRWxlbWVudCBbbmdDbGFzc109XCJ0YWJsZUNsYXNzZXNcIiBbYXR0ci5kYXRhLXNsb3RdPVwidmFyaWFudCA9PT0gJ2ludGVyYWN0aXZlJyA/ICd0YWJsZScgOiBudWxsXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
@@ -1,176 +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 PdmTooltipComponent {
8
- constructor(overlay, viewContainerRef, elementRef, cdr) {
9
- this.overlay = overlay;
10
- this.viewContainerRef = viewContainerRef;
11
- this.elementRef = elementRef;
12
- this.cdr = cdr;
13
- this.text = "";
14
- this.side = "top";
15
- this.className = "";
16
- this.open = false;
17
- this.overlayRef = null;
18
- }
19
- ngOnDestroy() {
20
- this.destroyOverlay();
21
- }
22
- onMouseEnter() {
23
- this.show();
24
- }
25
- onMouseLeave() {
26
- this.hide();
27
- }
28
- onFocusIn() {
29
- this.show();
30
- }
31
- onFocusOut() {
32
- this.hide();
33
- }
34
- show() {
35
- if (this.open || !this.text)
36
- return;
37
- this.open = true;
38
- this.cdr.markForCheck();
39
- this.createOverlay();
40
- }
41
- hide() {
42
- if (!this.open)
43
- return;
44
- this.open = false;
45
- this.cdr.markForCheck();
46
- this.destroyOverlay();
47
- }
48
- createOverlay() {
49
- if (this.overlayRef)
50
- return;
51
- const triggerEl = this.elementRef.nativeElement.querySelector(":scope > *") ||
52
- this.elementRef.nativeElement;
53
- const positionStrategy = this.overlay
54
- .position()
55
- .flexibleConnectedTo(triggerEl)
56
- .withPositions(this.getPositionConfigs())
57
- .withFlexibleDimensions(false)
58
- .withPush(true);
59
- const panelClass = mergeOverlayPanelClass(OVERLAY_BASE_Z_INDEX);
60
- this.overlayRef = this.overlay.create({
61
- positionStrategy,
62
- panelClass,
63
- });
64
- const portal = new TemplatePortal(this.tooltipTemplate, this.viewContainerRef);
65
- this.overlayRef.attach(portal);
66
- }
67
- destroyOverlay() {
68
- if (this.overlayRef) {
69
- this.overlayRef.detach();
70
- this.overlayRef.dispose();
71
- this.overlayRef = null;
72
- }
73
- }
74
- getPositionConfigs() {
75
- const offset = 4;
76
- switch (this.side) {
77
- case "bottom":
78
- return [
79
- {
80
- originX: "center",
81
- originY: "bottom",
82
- overlayX: "center",
83
- overlayY: "top",
84
- offsetY: offset,
85
- },
86
- {
87
- originX: "center",
88
- originY: "top",
89
- overlayX: "center",
90
- overlayY: "bottom",
91
- offsetY: -offset,
92
- },
93
- ];
94
- case "left":
95
- return [
96
- {
97
- originX: "start",
98
- originY: "center",
99
- overlayX: "end",
100
- overlayY: "center",
101
- offsetX: -offset,
102
- },
103
- {
104
- originX: "end",
105
- originY: "center",
106
- overlayX: "start",
107
- overlayY: "center",
108
- offsetX: offset,
109
- },
110
- ];
111
- case "right":
112
- return [
113
- {
114
- originX: "end",
115
- originY: "center",
116
- overlayX: "start",
117
- overlayY: "center",
118
- offsetX: offset,
119
- },
120
- {
121
- originX: "start",
122
- originY: "center",
123
- overlayX: "end",
124
- overlayY: "center",
125
- offsetX: -offset,
126
- },
127
- ];
128
- case "top":
129
- default:
130
- return [
131
- {
132
- originX: "center",
133
- originY: "top",
134
- overlayX: "center",
135
- overlayY: "bottom",
136
- offsetY: -offset,
137
- },
138
- {
139
- originX: "center",
140
- originY: "bottom",
141
- overlayX: "center",
142
- overlayY: "top",
143
- offsetY: offset,
144
- },
145
- ];
146
- }
147
- }
148
- }
149
- PdmTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmTooltipComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
150
- PdmTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmTooltipComponent, selector: "pdm-tooltip", inputs: { text: "text", side: "side", className: "className" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, viewQueries: [{ propertyName: "tooltipTemplate", first: true, predicate: ["tooltipTemplate"], descendants: true }], ngImport: i0, template: "<span\n class=\"relative inline-flex\"\n [ngClass]=\"className\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n>\n <ng-content></ng-content>\n\n <!-- Template for CDK Overlay -->\n <ng-template #tooltipTemplate>\n <span\n class=\"pointer-events-none overflow-hidden rounded-md bg-foreground px-3 py-1.5 text-xs text-background animate-in fade-in-0 zoom-in-95\"\n >\n {{ text }}\n </span>\n </ng-template>\n</span>\n", styles: [":host{display:inline-flex}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmTooltipComponent, decorators: [{
152
- type: Component,
153
- args: [{ selector: "pdm-tooltip", changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"relative inline-flex\"\n [ngClass]=\"className\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n>\n <ng-content></ng-content>\n\n <!-- Template for CDK Overlay -->\n <ng-template #tooltipTemplate>\n <span\n class=\"pointer-events-none overflow-hidden rounded-md bg-foreground px-3 py-1.5 text-xs text-background animate-in fade-in-0 zoom-in-95\"\n >\n {{ text }}\n </span>\n </ng-template>\n</span>\n", styles: [":host{display:inline-flex}\n"] }]
154
- }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { text: [{
155
- type: Input
156
- }], side: [{
157
- type: Input
158
- }], className: [{
159
- type: Input
160
- }], tooltipTemplate: [{
161
- type: ViewChild,
162
- args: ["tooltipTemplate"]
163
- }], onMouseEnter: [{
164
- type: HostListener,
165
- args: ["mouseenter"]
166
- }], onMouseLeave: [{
167
- type: HostListener,
168
- args: ["mouseleave"]
169
- }], onFocusIn: [{
170
- type: HostListener,
171
- args: ["focusin"]
172
- }], onFocusOut: [{
173
- type: HostListener,
174
- args: ["focusout"]
175
- }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsb0JBQW9CLEdBQ3BCLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFRdEMsTUFBTSxPQUFPLG1CQUFtQjtJQVUvQixZQUNrQixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsVUFBbUMsRUFDbkMsR0FBc0I7UUFIdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBYi9CLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixTQUFJLEdBQXdDLEtBQUssQ0FBQztRQUNsRCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBSXhCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDTCxlQUFVLEdBQXNCLElBQUksQ0FBQztJQU8xQyxDQUFDO0lBRUosV0FBVztRQUNWLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBR0QsWUFBWTtRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFHRCxZQUFZO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FB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aUI7Z0JBaUI1QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkFNMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBTTFCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTO2dCQU12QixVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0TGlzdGVuZXIsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge1xuXHRtZXJnZU92ZXJsYXlQYW5lbENsYXNzLFxuXHRPVkVSTEFZX0JBU0VfWl9JTkRFWCxcbn0gZnJvbSBcIi4uLy4uL292ZXJsYXkvei1pbmRleC1oZWxwZXJcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS10b29sdGlwXCIsXG5cdHRlbXBsYXRlVXJsOiBcIi4vdG9vbHRpcC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1Ub29sdGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0QElucHV0KCkgdGV4dCA9IFwiXCI7XG5cdEBJbnB1dCgpIHNpZGU6IFwidG9wXCIgfCBcInJpZ2h0XCIgfCBcImJvdHRvbVwiIHwgXCJsZWZ0XCIgPSBcInRvcFwiO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXG5cdEBWaWV3Q2hpbGQoXCJ0b29sdGlwVGVtcGxhdGVcIikgdG9vbHRpcFRlbXBsYXRlOiBhbnk7XG5cblx0b3BlbiA9IGZhbHNlO1xuXHRwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXksXG5cdFx0cHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG5cdFx0cHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuXHQpIHt9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcIm1vdXNlZW50ZXJcIilcblx0b25Nb3VzZUVudGVyKCk6IHZvaWQge1xuXHRcdHRoaXMuc2hvdygpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcIm1vdXNlbGVhdmVcIilcblx0b25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuXHRcdHRoaXMuaGlkZSgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImZvY3VzaW5cIilcblx0b25Gb2N1c0luKCk6IHZvaWQge1xuXHRcdHRoaXMuc2hvdygpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImZvY3Vzb3V0XCIpXG5cdG9uRm9jdXNPdXQoKTogdm9pZCB7XG5cdFx0dGhpcy5oaWRlKCk7XG5cdH1cblxuXHRwcml2YXRlIHNob3coKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3BlbiB8fCAhdGhpcy50ZXh0KSByZXR1cm47XG5cblx0XHR0aGlzLm9wZW4gPSB0cnVlO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHRcdHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBoaWRlKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5vcGVuKSByZXR1cm47XG5cblx0XHR0aGlzLm9wZW4gPSBmYWxzZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cdH1cblxuXHRwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG5cdFx0Y29uc3QgdHJpZ2dlckVsID1cblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCI6c2NvcGUgPiAqXCIpIHx8XG5cdFx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuXHRcdGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcblx0XHRcdC5wb3NpdGlvbigpXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyh0cmlnZ2VyRWwpXG5cdFx0XHQud2l0aFBvc2l0aW9ucyh0aGlzLmdldFBvc2l0aW9uQ29uZmlncygpKVxuXHRcdFx0LndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG5cdFx0XHQud2l0aFB1c2godHJ1ZSk7XG5cblx0XHRjb25zdCBwYW5lbENsYXNzID0gbWVyZ2VPdmVybGF5UGFuZWxDbGFzcyhPVkVSTEFZX0JBU0VfWl9JTkRFWCk7XG5cblx0XHR0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcblx0XHRcdHBvc2l0aW9uU3RyYXRlZ3ksXG5cdFx0XHRwYW5lbENsYXNzLFxuXHRcdH0pO1xuXG5cdFx0Y29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuXHRcdFx0dGhpcy50b29sdGlwVGVtcGxhdGUsXG5cdFx0XHR0aGlzLnZpZXdDb250YWluZXJSZWYsXG5cdFx0KTtcblx0XHR0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cdH1cblxuXHRwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgZ2V0UG9zaXRpb25Db25maWdzKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuXHRcdGNvbnN0IG9mZnNldCA9IDQ7XG5cblx0XHRzd2l0Y2ggKHRoaXMuc2lkZSkge1xuXHRcdFx0Y2FzZSBcImJvdHRvbVwiOlxuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG9yaWdpblg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvcmlnaW5ZOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvdmVybGF5WTogXCJ0b3BcIixcblx0XHRcdFx0XHRcdG9mZnNldFk6IG9mZnNldCxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG9yaWdpblg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvcmlnaW5ZOiBcInRvcFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvdmVybGF5WTogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdG9mZnNldFk6IC1vZmZzZXQsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XTtcblx0XHRcdGNhc2UgXCJsZWZ0XCI6XG5cdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0b3JpZ2luWDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdFx0b3JpZ2luWTogXCJjZW50ZXJcIixcblx0XHRcdFx0XHRcdG92ZXJsYXlYOiBcImVuZFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVk6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiAtb2Zmc2V0LFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0b3JpZ2luWDogXCJlbmRcIixcblx0XHRcdFx0XHRcdG9yaWdpblk6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvdmVybGF5WDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVk6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiBvZmZzZXQsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XTtcblx0XHRcdGNhc2UgXCJyaWdodFwiOlxuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG9yaWdpblg6IFwiZW5kXCIsXG5cdFx0XHRcdFx0XHRvcmlnaW5ZOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVg6IFwic3RhcnRcIixcblx0XHRcdFx0XHRcdG92ZXJsYXlZOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdFx0b2Zmc2V0WDogb2Zmc2V0LFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0b3JpZ2luWDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdFx0b3JpZ2luWTogXCJjZW50ZXJcIixcblx0XHRcdFx0XHRcdG92ZXJsYXlYOiBcImVuZFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVk6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiAtb2Zmc2V0LFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdF07XG5cdFx0XHRjYXNlIFwidG9wXCI6XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG9yaWdpblg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvcmlnaW5ZOiBcInRvcFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvdmVybGF5WTogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdG9mZnNldFk6IC1vZmZzZXQsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRvcmlnaW5YOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdFx0b3JpZ2luWTogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdG92ZXJsYXlYOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVk6IFwidG9wXCIsXG5cdFx0XHRcdFx0XHRvZmZzZXRZOiBvZmZzZXQsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XTtcblx0XHR9XG5cdH1cbn1cbiIsIjxzcGFuXG4gIGNsYXNzPVwicmVsYXRpdmUgaW5saW5lLWZsZXhcIlxuICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbiAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gIDwhLS0gVGVtcGxhdGUgZm9yIENESyBPdmVybGF5IC0tPlxuICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBUZW1wbGF0ZT5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJwb2ludGVyLWV2ZW50cy1ub25lIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJnLWZvcmVncm91bmQgcHgtMyBweS0xLjUgdGV4dC14cyB0ZXh0LWJhY2tncm91bmQgYW5pbWF0ZS1pbiBmYWRlLWluLTAgem9vbS1pbi05NVwiXG4gICAgPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvc3Bhbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvc3Bhbj5cbiJdfQ==