pdm-ui-kit 0.4.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (880) hide show
  1. package/accordion/accordion.module.d.ts +8 -0
  2. package/alert/alert.module.d.ts +9 -0
  3. package/aspect-ratio/aspect-ratio.module.d.ts +8 -0
  4. package/avatar/avatar.module.d.ts +8 -0
  5. package/badge/badge.module.d.ts +8 -0
  6. package/breadcrumb/breadcrumb.module.d.ts +8 -0
  7. package/button/button.module.d.ts +9 -0
  8. package/calendar/calendar.module.d.ts +11 -0
  9. package/{lib/components/date-picker → calendar}/date-picker.component.d.ts +2 -2
  10. package/card/card.module.d.ts +8 -0
  11. package/carousel/carousel.module.d.ts +8 -0
  12. package/chart/chart.module.d.ts +8 -0
  13. package/checkbox/checkbox.module.d.ts +8 -0
  14. package/collapsible/collapsible.module.d.ts +8 -0
  15. package/combobox/combobox.module.d.ts +9 -0
  16. package/{lib/components/command → command}/command.component.d.ts +1 -1
  17. package/command/command.module.d.ts +9 -0
  18. package/{lib/components/context-menu → context-menu}/context-menu.component.d.ts +1 -1
  19. package/context-menu/context-menu.module.d.ts +9 -0
  20. package/{lib/components/data-table → data-table}/data-table.component.d.ts +1 -1
  21. package/data-table/data-table.module.d.ts +10 -0
  22. package/{lib/components/draggable-table → data-table}/draggable-table.component.d.ts +2 -2
  23. package/{lib/components/table → data-table}/table.component.d.ts +1 -1
  24. package/dialog/dialog.module.d.ts +8 -0
  25. package/drawer/drawer.module.d.ts +10 -0
  26. package/{lib/components/dropdown-menu → dropdown-menu}/dropdown-menu.component.d.ts +1 -1
  27. package/dropdown-menu/dropdown-menu.module.d.ts +9 -0
  28. package/empty/empty.module.d.ts +10 -0
  29. package/esm2020/{lib/components/accordion → accordion}/accordion.component.mjs +1 -1
  30. package/esm2020/accordion/accordion.module.mjs +21 -0
  31. package/esm2020/{lib/components/alert-dialog → alert}/alert-dialog.component.mjs +1 -1
  32. package/esm2020/{lib/components/alert → alert}/alert.component.mjs +1 -1
  33. package/esm2020/alert/alert.module.mjs +25 -0
  34. package/esm2020/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.mjs +1 -1
  35. package/esm2020/aspect-ratio/aspect-ratio.module.mjs +21 -0
  36. package/esm2020/{lib/components/avatar → avatar}/avatar.component.mjs +1 -1
  37. package/esm2020/avatar/avatar.module.mjs +21 -0
  38. package/esm2020/{lib/components/badge → badge}/badge.component.mjs +1 -1
  39. package/esm2020/badge/badge.module.mjs +21 -0
  40. package/esm2020/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.mjs +1 -1
  41. package/esm2020/breadcrumb/breadcrumb.module.mjs +21 -0
  42. package/esm2020/button/button-group.component.mjs +236 -0
  43. package/esm2020/button/button.component.mjs +114 -0
  44. package/esm2020/button/button.module.mjs +25 -0
  45. package/esm2020/calendar/calendar.component.mjs +529 -0
  46. package/esm2020/calendar/calendar.module.mjs +22 -0
  47. package/esm2020/{lib/components/date-picker → calendar}/date-picker.component.mjs +6 -6
  48. package/esm2020/{lib/components/card → card}/card.component.mjs +1 -1
  49. package/esm2020/card/card.module.mjs +21 -0
  50. package/esm2020/carousel/carousel.component.mjs +102 -0
  51. package/esm2020/carousel/carousel.module.mjs +21 -0
  52. package/esm2020/{lib/components/chart → chart}/chart.component.mjs +1 -1
  53. package/esm2020/chart/chart.module.mjs +21 -0
  54. package/esm2020/{lib/components/checkbox → checkbox}/checkbox.component.mjs +1 -1
  55. package/esm2020/checkbox/checkbox.module.mjs +21 -0
  56. package/esm2020/{lib/components/collapsible → collapsible}/collapsible.component.mjs +1 -1
  57. package/esm2020/collapsible/collapsible.module.mjs +21 -0
  58. package/esm2020/{lib/components/combobox → combobox}/combobox.component.mjs +2 -2
  59. package/esm2020/combobox/combobox.module.mjs +22 -0
  60. package/esm2020/command/command.component.mjs +75 -0
  61. package/esm2020/command/command.module.mjs +20 -0
  62. package/esm2020/context-menu/context-menu.component.mjs +165 -0
  63. package/esm2020/context-menu/context-menu.module.mjs +22 -0
  64. package/esm2020/data-table/data-table.component.mjs +299 -0
  65. package/esm2020/data-table/data-table.module.mjs +29 -0
  66. package/esm2020/data-table/draggable-table.component.mjs +300 -0
  67. package/esm2020/data-table/table.component.mjs +182 -0
  68. package/esm2020/dialog/dialog.component.mjs +265 -0
  69. package/esm2020/dialog/dialog.module.mjs +21 -0
  70. package/esm2020/drawer/drawer.component.mjs +217 -0
  71. package/esm2020/drawer/drawer.module.mjs +21 -0
  72. package/esm2020/drawer/sheet.component.mjs +116 -0
  73. package/esm2020/dropdown-menu/dropdown-menu.component.mjs +192 -0
  74. package/esm2020/dropdown-menu/dropdown-menu.module.mjs +22 -0
  75. package/esm2020/{lib/components/empty → empty}/empty.component.mjs +3 -3
  76. package/esm2020/empty/empty.module.mjs +21 -0
  77. package/esm2020/{lib/components/field → field}/field.component.mjs +1 -1
  78. package/esm2020/field/field.module.mjs +21 -0
  79. package/esm2020/{lib/components/hover-card → hover-card}/hover-card.component.mjs +2 -2
  80. package/esm2020/hover-card/hover-card.module.mjs +22 -0
  81. package/esm2020/icon/icon.component.mjs +144 -0
  82. package/esm2020/icon/icon.module.mjs +21 -0
  83. package/esm2020/input/input-group.component.mjs +63 -0
  84. package/esm2020/input/input-otp.component.mjs +144 -0
  85. package/esm2020/{lib/components/input-password → input}/input-password.component.mjs +1 -1
  86. package/esm2020/{lib/components/input → input}/input.component.mjs +1 -1
  87. package/esm2020/input/input.module.mjs +38 -0
  88. package/esm2020/{lib/components/textarea → input}/textarea.component.mjs +1 -1
  89. package/esm2020/{lib/components/item → item}/item.component.mjs +1 -1
  90. package/esm2020/item/item.module.mjs +21 -0
  91. package/esm2020/{lib/components/kbd → kbd}/kbd.component.mjs +1 -1
  92. package/esm2020/kbd/kbd.module.mjs +21 -0
  93. package/esm2020/{lib/components/label → label}/label.component.mjs +1 -1
  94. package/esm2020/label/label.module.mjs +21 -0
  95. package/esm2020/menubar/menubar.component.mjs +144 -0
  96. package/esm2020/menubar/menubar.module.mjs +22 -0
  97. package/esm2020/{lib/components/native-select → native-select}/native-select.component.mjs +2 -2
  98. package/esm2020/native-select/native-select.module.mjs +20 -0
  99. package/esm2020/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.mjs +1 -1
  100. package/esm2020/navigation-menu/navigation-menu.module.mjs +21 -0
  101. package/esm2020/overlay/create-flexible-position-strategy.mjs +54 -0
  102. package/esm2020/overlay/pdm-outside-click.directive.mjs +86 -0
  103. package/esm2020/overlay/pdm-outside-click.module.mjs +18 -0
  104. package/esm2020/overlay/pdm-overlay-options.mjs +2 -0
  105. package/esm2020/overlay/z-index-helper.mjs +69 -0
  106. package/esm2020/pagination/pagination.component.mjs +72 -0
  107. package/esm2020/pagination/pagination.module.mjs +21 -0
  108. package/esm2020/pdm-ui-kit.module.mjs +260 -0
  109. package/esm2020/{lib/components/popover → popover}/popover.component.mjs +2 -2
  110. package/esm2020/popover/popover.module.mjs +22 -0
  111. package/esm2020/{lib/components/progress → progress}/progress.component.mjs +1 -1
  112. package/esm2020/progress/progress.module.mjs +21 -0
  113. package/esm2020/public-api.mjs +117 -67
  114. package/esm2020/{lib/components/radio-group → radio-group}/radio-group.component.mjs +1 -1
  115. package/esm2020/radio-group/radio-group.module.mjs +21 -0
  116. package/esm2020/{lib/components/scroll-area → scroll-area}/scroll-area.component.mjs +1 -1
  117. package/esm2020/scroll-area/scroll-area.module.mjs +21 -0
  118. package/esm2020/select/select-option.directive.mjs +55 -0
  119. package/esm2020/select/select.component.mjs +164 -0
  120. package/esm2020/select/select.module.mjs +22 -0
  121. package/esm2020/{lib/components/separator → separator}/separator.component.mjs +1 -1
  122. package/esm2020/separator/separator.module.mjs +21 -0
  123. package/esm2020/{lib/components/sidebar → sidebar}/sidebar.component.mjs +1 -1
  124. package/esm2020/sidebar/sidebar.module.mjs +21 -0
  125. package/esm2020/{lib/components/skeleton → skeleton}/skeleton.component.mjs +1 -1
  126. package/esm2020/skeleton/skeleton.module.mjs +21 -0
  127. package/esm2020/{lib/components/slider → slider}/slider.component.mjs +1 -1
  128. package/esm2020/slider/slider.module.mjs +21 -0
  129. package/esm2020/{lib/components/sonner → sonner}/sonner.component.mjs +2 -2
  130. package/esm2020/sonner/sonner.module.mjs +20 -0
  131. package/esm2020/{lib/components/spinner → spinner}/spinner.component.mjs +1 -1
  132. package/esm2020/spinner/spinner.module.mjs +21 -0
  133. package/esm2020/src/accordion/accordion.component.mjs +42 -0
  134. package/esm2020/src/accordion/accordion.module.mjs +21 -0
  135. package/esm2020/src/accordion/pdm-ui-kit-src-accordion.mjs +5 -0
  136. package/esm2020/src/accordion/public-api.mjs +3 -0
  137. package/esm2020/src/alert/alert-dialog.component.mjs +87 -0
  138. package/esm2020/src/alert/alert.component.mjs +35 -0
  139. package/esm2020/src/alert/alert.module.mjs +25 -0
  140. package/esm2020/src/alert/pdm-ui-kit-src-alert.mjs +5 -0
  141. package/esm2020/src/alert/public-api.mjs +4 -0
  142. package/esm2020/src/aspect-ratio/aspect-ratio.component.mjs +31 -0
  143. package/esm2020/src/aspect-ratio/aspect-ratio.module.mjs +21 -0
  144. package/esm2020/src/aspect-ratio/pdm-ui-kit-src-aspect-ratio.mjs +5 -0
  145. package/esm2020/src/aspect-ratio/public-api.mjs +3 -0
  146. package/esm2020/src/avatar/avatar.component.mjs +46 -0
  147. package/esm2020/src/avatar/avatar.module.mjs +21 -0
  148. package/esm2020/src/avatar/pdm-ui-kit-src-avatar.mjs +5 -0
  149. package/esm2020/src/avatar/public-api.mjs +3 -0
  150. package/esm2020/src/badge/badge.component.mjs +23 -0
  151. package/esm2020/src/badge/badge.module.mjs +21 -0
  152. package/esm2020/src/badge/pdm-ui-kit-src-badge.mjs +5 -0
  153. package/esm2020/src/badge/public-api.mjs +3 -0
  154. package/esm2020/src/breadcrumb/breadcrumb.component.mjs +62 -0
  155. package/esm2020/src/breadcrumb/breadcrumb.module.mjs +21 -0
  156. package/esm2020/src/breadcrumb/pdm-ui-kit-src-breadcrumb.mjs +5 -0
  157. package/esm2020/src/breadcrumb/public-api.mjs +3 -0
  158. package/esm2020/{lib/components/button-group → src/button}/button-group.component.mjs +1 -1
  159. package/esm2020/src/button/button.component.mjs +114 -0
  160. package/esm2020/src/button/button.module.mjs +25 -0
  161. package/esm2020/src/button/pdm-ui-kit-src-button.mjs +5 -0
  162. package/esm2020/src/button/public-api.mjs +4 -0
  163. package/esm2020/src/calendar/calendar.component.mjs +529 -0
  164. package/esm2020/src/calendar/calendar.module.mjs +22 -0
  165. package/esm2020/src/calendar/date-picker.component.mjs +362 -0
  166. package/esm2020/src/calendar/pdm-ui-kit-src-calendar.mjs +5 -0
  167. package/esm2020/src/calendar/public-api.mjs +4 -0
  168. package/esm2020/src/card/card.component.mjs +48 -0
  169. package/esm2020/src/card/card.module.mjs +21 -0
  170. package/esm2020/src/card/pdm-ui-kit-src-card.mjs +5 -0
  171. package/esm2020/src/card/public-api.mjs +3 -0
  172. package/esm2020/src/carousel/carousel.component.mjs +102 -0
  173. package/esm2020/src/carousel/carousel.module.mjs +21 -0
  174. package/esm2020/src/carousel/pdm-ui-kit-src-carousel.mjs +5 -0
  175. package/esm2020/src/carousel/public-api.mjs +3 -0
  176. package/esm2020/src/chart/chart.component.mjs +177 -0
  177. package/esm2020/src/chart/chart.module.mjs +21 -0
  178. package/esm2020/src/chart/pdm-ui-kit-src-chart.mjs +5 -0
  179. package/esm2020/src/chart/public-api.mjs +3 -0
  180. package/esm2020/src/checkbox/checkbox.component.mjs +47 -0
  181. package/esm2020/src/checkbox/checkbox.module.mjs +21 -0
  182. package/esm2020/src/checkbox/pdm-ui-kit-src-checkbox.mjs +5 -0
  183. package/esm2020/src/checkbox/public-api.mjs +3 -0
  184. package/esm2020/src/collapsible/collapsible.component.mjs +43 -0
  185. package/esm2020/src/collapsible/collapsible.module.mjs +21 -0
  186. package/esm2020/src/collapsible/pdm-ui-kit-src-collapsible.mjs +5 -0
  187. package/esm2020/src/collapsible/public-api.mjs +3 -0
  188. package/esm2020/src/combobox/combobox.component.mjs +173 -0
  189. package/esm2020/src/combobox/combobox.module.mjs +22 -0
  190. package/esm2020/src/combobox/pdm-ui-kit-src-combobox.mjs +5 -0
  191. package/esm2020/src/combobox/public-api.mjs +3 -0
  192. package/esm2020/src/command/command.component.mjs +75 -0
  193. package/esm2020/src/command/command.module.mjs +20 -0
  194. package/esm2020/src/command/pdm-ui-kit-src-command.mjs +5 -0
  195. package/esm2020/src/command/public-api.mjs +3 -0
  196. package/esm2020/src/context-menu/context-menu.component.mjs +165 -0
  197. package/esm2020/src/context-menu/context-menu.module.mjs +22 -0
  198. package/esm2020/src/context-menu/pdm-ui-kit-src-context-menu.mjs +5 -0
  199. package/esm2020/src/context-menu/public-api.mjs +3 -0
  200. package/esm2020/src/data-table/data-table.component.mjs +299 -0
  201. package/esm2020/src/data-table/data-table.module.mjs +29 -0
  202. package/esm2020/src/data-table/draggable-table.component.mjs +300 -0
  203. package/esm2020/src/data-table/pdm-ui-kit-src-data-table.mjs +5 -0
  204. package/esm2020/src/data-table/public-api.mjs +5 -0
  205. package/esm2020/src/data-table/table.component.mjs +182 -0
  206. package/esm2020/src/dialog/dialog.component.mjs +265 -0
  207. package/esm2020/src/dialog/dialog.module.mjs +21 -0
  208. package/esm2020/src/dialog/pdm-ui-kit-src-dialog.mjs +5 -0
  209. package/esm2020/src/dialog/public-api.mjs +3 -0
  210. package/esm2020/src/drawer/drawer.component.mjs +217 -0
  211. package/esm2020/src/drawer/drawer.module.mjs +21 -0
  212. package/esm2020/src/drawer/pdm-ui-kit-src-drawer.mjs +5 -0
  213. package/esm2020/src/drawer/public-api.mjs +4 -0
  214. package/esm2020/src/drawer/sheet.component.mjs +116 -0
  215. package/esm2020/src/dropdown-menu/dropdown-menu.component.mjs +192 -0
  216. package/esm2020/src/dropdown-menu/dropdown-menu.module.mjs +22 -0
  217. package/esm2020/src/dropdown-menu/pdm-ui-kit-src-dropdown-menu.mjs +5 -0
  218. package/esm2020/src/dropdown-menu/public-api.mjs +3 -0
  219. package/esm2020/src/empty/empty.component.mjs +58 -0
  220. package/esm2020/src/empty/empty.module.mjs +21 -0
  221. package/esm2020/src/empty/pdm-ui-kit-src-empty.mjs +5 -0
  222. package/esm2020/src/empty/public-api.mjs +3 -0
  223. package/esm2020/src/field/field.component.mjs +64 -0
  224. package/esm2020/src/field/field.module.mjs +21 -0
  225. package/esm2020/src/field/pdm-ui-kit-src-field.mjs +5 -0
  226. package/esm2020/src/field/public-api.mjs +3 -0
  227. package/esm2020/src/hover-card/hover-card.component.mjs +205 -0
  228. package/esm2020/src/hover-card/hover-card.module.mjs +22 -0
  229. package/esm2020/src/hover-card/pdm-ui-kit-src-hover-card.mjs +5 -0
  230. package/esm2020/src/hover-card/public-api.mjs +3 -0
  231. package/esm2020/src/icon/icon.component.mjs +144 -0
  232. package/esm2020/src/icon/icon.module.mjs +21 -0
  233. package/esm2020/src/icon/pdm-ui-kit-src-icon.mjs +5 -0
  234. package/esm2020/src/icon/public-api.mjs +3 -0
  235. package/esm2020/{lib/components/input-group → src/input}/input-group.component.mjs +2 -2
  236. package/esm2020/src/input/input-otp.component.mjs +144 -0
  237. package/esm2020/src/input/input-password.component.mjs +78 -0
  238. package/esm2020/src/input/input.component.mjs +71 -0
  239. package/esm2020/src/input/input.module.mjs +38 -0
  240. package/esm2020/src/input/pdm-ui-kit-src-input.mjs +5 -0
  241. package/esm2020/src/input/public-api.mjs +7 -0
  242. package/esm2020/src/input/textarea.component.mjs +59 -0
  243. package/esm2020/src/item/item.component.mjs +23 -0
  244. package/esm2020/src/item/item.module.mjs +21 -0
  245. package/esm2020/src/item/pdm-ui-kit-src-item.mjs +5 -0
  246. package/esm2020/src/item/public-api.mjs +3 -0
  247. package/esm2020/src/kbd/kbd.component.mjs +17 -0
  248. package/esm2020/src/kbd/kbd.module.mjs +21 -0
  249. package/esm2020/src/kbd/pdm-ui-kit-src-kbd.mjs +5 -0
  250. package/esm2020/src/kbd/public-api.mjs +3 -0
  251. package/esm2020/src/label/label.component.mjs +23 -0
  252. package/esm2020/src/label/label.module.mjs +21 -0
  253. package/esm2020/src/label/pdm-ui-kit-src-label.mjs +5 -0
  254. package/esm2020/src/label/public-api.mjs +3 -0
  255. package/esm2020/src/menubar/menubar.component.mjs +144 -0
  256. package/esm2020/src/menubar/menubar.module.mjs +22 -0
  257. package/esm2020/src/menubar/pdm-ui-kit-src-menubar.mjs +5 -0
  258. package/esm2020/src/menubar/public-api.mjs +3 -0
  259. package/esm2020/src/native-select/native-select.component.mjs +42 -0
  260. package/esm2020/src/native-select/native-select.module.mjs +20 -0
  261. package/esm2020/src/native-select/pdm-ui-kit-src-native-select.mjs +5 -0
  262. package/esm2020/src/native-select/public-api.mjs +3 -0
  263. package/esm2020/src/navigation-menu/navigation-menu.component.mjs +42 -0
  264. package/esm2020/src/navigation-menu/navigation-menu.module.mjs +21 -0
  265. package/esm2020/src/navigation-menu/pdm-ui-kit-src-navigation-menu.mjs +5 -0
  266. package/esm2020/src/navigation-menu/public-api.mjs +3 -0
  267. package/esm2020/src/overlay/create-flexible-position-strategy.mjs +54 -0
  268. package/esm2020/src/overlay/pdm-outside-click.directive.mjs +86 -0
  269. package/esm2020/src/overlay/pdm-outside-click.module.mjs +18 -0
  270. package/esm2020/src/overlay/pdm-overlay-options.mjs +2 -0
  271. package/esm2020/src/overlay/pdm-ui-kit-src-overlay.mjs +5 -0
  272. package/esm2020/src/overlay/public-api.mjs +6 -0
  273. package/esm2020/src/overlay/z-index-helper.mjs +69 -0
  274. package/esm2020/{lib/components → src}/pagination/pagination.component.mjs +3 -3
  275. package/esm2020/src/pagination/pagination.module.mjs +21 -0
  276. package/esm2020/src/pagination/pdm-ui-kit-src-pagination.mjs +5 -0
  277. package/esm2020/src/pagination/public-api.mjs +3 -0
  278. package/esm2020/src/popover/pdm-ui-kit-src-popover.mjs +5 -0
  279. package/esm2020/src/popover/popover.component.mjs +162 -0
  280. package/esm2020/src/popover/popover.module.mjs +22 -0
  281. package/esm2020/src/popover/public-api.mjs +3 -0
  282. package/esm2020/src/progress/pdm-ui-kit-src-progress.mjs +5 -0
  283. package/esm2020/src/progress/progress.component.mjs +33 -0
  284. package/esm2020/src/progress/progress.module.mjs +21 -0
  285. package/esm2020/src/progress/public-api.mjs +3 -0
  286. package/esm2020/src/radio-group/pdm-ui-kit-src-radio-group.mjs +5 -0
  287. package/esm2020/src/radio-group/public-api.mjs +3 -0
  288. package/esm2020/src/radio-group/radio-group.component.mjs +38 -0
  289. package/esm2020/src/radio-group/radio-group.module.mjs +21 -0
  290. package/esm2020/src/scroll-area/pdm-ui-kit-src-scroll-area.mjs +5 -0
  291. package/esm2020/src/scroll-area/public-api.mjs +3 -0
  292. package/esm2020/src/scroll-area/scroll-area.component.mjs +20 -0
  293. package/esm2020/src/scroll-area/scroll-area.module.mjs +21 -0
  294. package/esm2020/src/select/pdm-ui-kit-src-select.mjs +5 -0
  295. package/esm2020/src/select/public-api.mjs +4 -0
  296. package/esm2020/src/select/select-option.directive.mjs +55 -0
  297. package/esm2020/src/select/select.component.mjs +164 -0
  298. package/esm2020/src/select/select.module.mjs +22 -0
  299. package/esm2020/src/separator/pdm-ui-kit-src-separator.mjs +5 -0
  300. package/esm2020/src/separator/public-api.mjs +3 -0
  301. package/esm2020/src/separator/separator.component.mjs +26 -0
  302. package/esm2020/src/separator/separator.module.mjs +21 -0
  303. package/esm2020/src/sidebar/pdm-ui-kit-src-sidebar.mjs +5 -0
  304. package/esm2020/src/sidebar/public-api.mjs +3 -0
  305. package/esm2020/src/sidebar/sidebar.component.mjs +67 -0
  306. package/esm2020/src/sidebar/sidebar.module.mjs +21 -0
  307. package/esm2020/src/skeleton/pdm-ui-kit-src-skeleton.mjs +5 -0
  308. package/esm2020/src/skeleton/public-api.mjs +3 -0
  309. package/esm2020/src/skeleton/skeleton.component.mjs +17 -0
  310. package/esm2020/src/skeleton/skeleton.module.mjs +21 -0
  311. package/esm2020/src/slider/pdm-ui-kit-src-slider.mjs +5 -0
  312. package/esm2020/src/slider/public-api.mjs +3 -0
  313. package/esm2020/src/slider/slider.component.mjs +46 -0
  314. package/esm2020/src/slider/slider.module.mjs +21 -0
  315. package/esm2020/src/sonner/pdm-ui-kit-src-sonner.mjs +5 -0
  316. package/esm2020/src/sonner/public-api.mjs +3 -0
  317. package/esm2020/src/sonner/sonner.component.mjs +39 -0
  318. package/esm2020/src/sonner/sonner.module.mjs +20 -0
  319. package/esm2020/src/spinner/pdm-ui-kit-src-spinner.mjs +5 -0
  320. package/esm2020/src/spinner/public-api.mjs +3 -0
  321. package/esm2020/src/spinner/spinner.component.mjs +20 -0
  322. package/esm2020/src/spinner/spinner.module.mjs +21 -0
  323. package/esm2020/src/switch/pdm-ui-kit-src-switch.mjs +5 -0
  324. package/esm2020/src/switch/public-api.mjs +3 -0
  325. package/esm2020/src/switch/switch.component.mjs +58 -0
  326. package/esm2020/src/switch/switch.module.mjs +21 -0
  327. package/esm2020/src/tabs/pdm-ui-kit-src-tabs.mjs +5 -0
  328. package/esm2020/src/tabs/public-api.mjs +3 -0
  329. package/esm2020/{lib/components → src}/tabs/tabs.component.mjs +1 -1
  330. package/esm2020/src/tabs/tabs.module.mjs +21 -0
  331. package/esm2020/src/toggle/pdm-ui-kit-src-toggle.mjs +5 -0
  332. package/esm2020/src/toggle/public-api.mjs +4 -0
  333. package/esm2020/{lib/components/toggle-group → src/toggle}/toggle-group.component.mjs +1 -1
  334. package/esm2020/{lib/components → src}/toggle/toggle.component.mjs +1 -1
  335. package/esm2020/src/toggle/toggle.module.mjs +25 -0
  336. package/esm2020/src/tooltip/pdm-ui-kit-src-tooltip.mjs +5 -0
  337. package/esm2020/src/tooltip/public-api.mjs +3 -0
  338. package/esm2020/src/tooltip/tooltip.component.mjs +176 -0
  339. package/esm2020/src/tooltip/tooltip.module.mjs +22 -0
  340. package/esm2020/src/utils/pdm-ui-kit-src-utils.mjs +5 -0
  341. package/esm2020/src/utils/public-api.mjs +3 -0
  342. package/esm2020/src/utils/responsive.mjs +143 -0
  343. package/esm2020/src/utils/z-index.mjs +90 -0
  344. package/esm2020/switch/switch.component.mjs +58 -0
  345. package/esm2020/switch/switch.module.mjs +21 -0
  346. package/esm2020/tabs/tabs.component.mjs +34 -0
  347. package/esm2020/tabs/tabs.module.mjs +21 -0
  348. package/esm2020/toggle/toggle-group.component.mjs +31 -0
  349. package/esm2020/toggle/toggle.component.mjs +41 -0
  350. package/esm2020/toggle/toggle.module.mjs +25 -0
  351. package/esm2020/{lib/components/tooltip → tooltip}/tooltip.component.mjs +2 -2
  352. package/esm2020/tooltip/tooltip.module.mjs +22 -0
  353. package/esm2020/utils/responsive.mjs +143 -0
  354. package/esm2020/utils/z-index.mjs +90 -0
  355. package/fesm2015/pdm-ui-kit-src-accordion.mjs +68 -0
  356. package/fesm2015/pdm-ui-kit-src-accordion.mjs.map +1 -0
  357. package/fesm2015/pdm-ui-kit-src-alert.mjs +147 -0
  358. package/fesm2015/pdm-ui-kit-src-alert.mjs.map +1 -0
  359. package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
  360. package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
  361. package/fesm2015/pdm-ui-kit-src-avatar.mjs +71 -0
  362. package/fesm2015/pdm-ui-kit-src-avatar.mjs.map +1 -0
  363. package/fesm2015/pdm-ui-kit-src-badge.mjs +48 -0
  364. package/fesm2015/pdm-ui-kit-src-badge.mjs.map +1 -0
  365. package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs +87 -0
  366. package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
  367. package/fesm2015/pdm-ui-kit-src-button.mjs +376 -0
  368. package/fesm2015/pdm-ui-kit-src-button.mjs.map +1 -0
  369. package/fesm2015/pdm-ui-kit-src-calendar.mjs +912 -0
  370. package/fesm2015/pdm-ui-kit-src-calendar.mjs.map +1 -0
  371. package/fesm2015/pdm-ui-kit-src-card.mjs +73 -0
  372. package/fesm2015/pdm-ui-kit-src-card.mjs.map +1 -0
  373. package/fesm2015/pdm-ui-kit-src-carousel.mjs +127 -0
  374. package/fesm2015/pdm-ui-kit-src-carousel.mjs.map +1 -0
  375. package/fesm2015/pdm-ui-kit-src-chart.mjs +203 -0
  376. package/fesm2015/pdm-ui-kit-src-chart.mjs.map +1 -0
  377. package/fesm2015/pdm-ui-kit-src-checkbox.mjs +72 -0
  378. package/fesm2015/pdm-ui-kit-src-checkbox.mjs.map +1 -0
  379. package/fesm2015/pdm-ui-kit-src-collapsible.mjs +68 -0
  380. package/fesm2015/pdm-ui-kit-src-collapsible.mjs.map +1 -0
  381. package/fesm2015/pdm-ui-kit-src-combobox.mjs +200 -0
  382. package/fesm2015/pdm-ui-kit-src-combobox.mjs.map +1 -0
  383. package/fesm2015/pdm-ui-kit-src-command.mjs +100 -0
  384. package/fesm2015/pdm-ui-kit-src-command.mjs.map +1 -0
  385. package/fesm2015/pdm-ui-kit-src-context-menu.mjs +191 -0
  386. package/fesm2015/pdm-ui-kit-src-context-menu.mjs.map +1 -0
  387. package/fesm2015/pdm-ui-kit-src-data-table.mjs +806 -0
  388. package/fesm2015/pdm-ui-kit-src-data-table.mjs.map +1 -0
  389. package/fesm2015/pdm-ui-kit-src-dialog.mjs +289 -0
  390. package/fesm2015/pdm-ui-kit-src-dialog.mjs.map +1 -0
  391. package/fesm2015/pdm-ui-kit-src-drawer.mjs +354 -0
  392. package/fesm2015/pdm-ui-kit-src-drawer.mjs.map +1 -0
  393. package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs +212 -0
  394. package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
  395. package/fesm2015/pdm-ui-kit-src-empty.mjs +83 -0
  396. package/fesm2015/pdm-ui-kit-src-empty.mjs.map +1 -0
  397. package/fesm2015/pdm-ui-kit-src-field.mjs +89 -0
  398. package/fesm2015/pdm-ui-kit-src-field.mjs.map +1 -0
  399. package/fesm2015/pdm-ui-kit-src-hover-card.mjs +231 -0
  400. package/fesm2015/pdm-ui-kit-src-hover-card.mjs.map +1 -0
  401. package/fesm2015/pdm-ui-kit-src-icon.mjs +172 -0
  402. package/fesm2015/pdm-ui-kit-src-icon.mjs.map +1 -0
  403. package/fesm2015/pdm-ui-kit-src-input.mjs +443 -0
  404. package/fesm2015/pdm-ui-kit-src-input.mjs.map +1 -0
  405. package/fesm2015/pdm-ui-kit-src-item.mjs +48 -0
  406. package/fesm2015/pdm-ui-kit-src-item.mjs.map +1 -0
  407. package/fesm2015/pdm-ui-kit-src-kbd.mjs +42 -0
  408. package/fesm2015/pdm-ui-kit-src-kbd.mjs.map +1 -0
  409. package/fesm2015/pdm-ui-kit-src-label.mjs +48 -0
  410. package/fesm2015/pdm-ui-kit-src-label.mjs.map +1 -0
  411. package/fesm2015/pdm-ui-kit-src-menubar.mjs +170 -0
  412. package/fesm2015/pdm-ui-kit-src-menubar.mjs.map +1 -0
  413. package/fesm2015/pdm-ui-kit-src-native-select.mjs +66 -0
  414. package/fesm2015/pdm-ui-kit-src-native-select.mjs.map +1 -0
  415. package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs +67 -0
  416. package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
  417. package/fesm2015/pdm-ui-kit-src-overlay.mjs +225 -0
  418. package/fesm2015/pdm-ui-kit-src-overlay.mjs.map +1 -0
  419. package/fesm2015/pdm-ui-kit-src-pagination.mjs +97 -0
  420. package/fesm2015/pdm-ui-kit-src-pagination.mjs.map +1 -0
  421. package/fesm2015/pdm-ui-kit-src-popover.mjs +189 -0
  422. package/fesm2015/pdm-ui-kit-src-popover.mjs.map +1 -0
  423. package/fesm2015/pdm-ui-kit-src-progress.mjs +58 -0
  424. package/fesm2015/pdm-ui-kit-src-progress.mjs.map +1 -0
  425. package/fesm2015/pdm-ui-kit-src-radio-group.mjs +63 -0
  426. package/fesm2015/pdm-ui-kit-src-radio-group.mjs.map +1 -0
  427. package/fesm2015/pdm-ui-kit-src-scroll-area.mjs +45 -0
  428. package/fesm2015/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
  429. package/fesm2015/pdm-ui-kit-src-select.mjs +238 -0
  430. package/fesm2015/pdm-ui-kit-src-select.mjs.map +1 -0
  431. package/fesm2015/pdm-ui-kit-src-separator.mjs +51 -0
  432. package/fesm2015/pdm-ui-kit-src-separator.mjs.map +1 -0
  433. package/fesm2015/pdm-ui-kit-src-sidebar.mjs +92 -0
  434. package/fesm2015/pdm-ui-kit-src-sidebar.mjs.map +1 -0
  435. package/fesm2015/pdm-ui-kit-src-skeleton.mjs +42 -0
  436. package/fesm2015/pdm-ui-kit-src-skeleton.mjs.map +1 -0
  437. package/fesm2015/pdm-ui-kit-src-slider.mjs +71 -0
  438. package/fesm2015/pdm-ui-kit-src-slider.mjs.map +1 -0
  439. package/fesm2015/pdm-ui-kit-src-sonner.mjs +63 -0
  440. package/fesm2015/pdm-ui-kit-src-sonner.mjs.map +1 -0
  441. package/fesm2015/pdm-ui-kit-src-spinner.mjs +45 -0
  442. package/fesm2015/pdm-ui-kit-src-spinner.mjs.map +1 -0
  443. package/fesm2015/pdm-ui-kit-src-switch.mjs +83 -0
  444. package/fesm2015/pdm-ui-kit-src-switch.mjs.map +1 -0
  445. package/fesm2015/pdm-ui-kit-src-tabs.mjs +59 -0
  446. package/fesm2015/pdm-ui-kit-src-tabs.mjs.map +1 -0
  447. package/fesm2015/pdm-ui-kit-src-toggle.mjs +97 -0
  448. package/fesm2015/pdm-ui-kit-src-toggle.mjs.map +1 -0
  449. package/fesm2015/pdm-ui-kit-src-tooltip.mjs +202 -0
  450. package/fesm2015/pdm-ui-kit-src-tooltip.mjs.map +1 -0
  451. package/fesm2015/pdm-ui-kit-src-utils.mjs +239 -0
  452. package/fesm2015/pdm-ui-kit-src-utils.mjs.map +1 -0
  453. package/fesm2015/pdm-ui-kit.mjs +3832 -2982
  454. package/fesm2015/pdm-ui-kit.mjs.map +1 -1
  455. package/fesm2020/pdm-ui-kit-src-accordion.mjs +67 -0
  456. package/fesm2020/pdm-ui-kit-src-accordion.mjs.map +1 -0
  457. package/fesm2020/pdm-ui-kit-src-alert.mjs +147 -0
  458. package/fesm2020/pdm-ui-kit-src-alert.mjs.map +1 -0
  459. package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
  460. package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
  461. package/fesm2020/pdm-ui-kit-src-avatar.mjs +71 -0
  462. package/fesm2020/pdm-ui-kit-src-avatar.mjs.map +1 -0
  463. package/fesm2020/pdm-ui-kit-src-badge.mjs +48 -0
  464. package/fesm2020/pdm-ui-kit-src-badge.mjs.map +1 -0
  465. package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs +87 -0
  466. package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
  467. package/fesm2020/pdm-ui-kit-src-button.mjs +375 -0
  468. package/fesm2020/pdm-ui-kit-src-button.mjs.map +1 -0
  469. package/fesm2020/pdm-ui-kit-src-calendar.mjs +911 -0
  470. package/fesm2020/pdm-ui-kit-src-calendar.mjs.map +1 -0
  471. package/fesm2020/pdm-ui-kit-src-card.mjs +73 -0
  472. package/fesm2020/pdm-ui-kit-src-card.mjs.map +1 -0
  473. package/fesm2020/pdm-ui-kit-src-carousel.mjs +127 -0
  474. package/fesm2020/pdm-ui-kit-src-carousel.mjs.map +1 -0
  475. package/fesm2020/pdm-ui-kit-src-chart.mjs +202 -0
  476. package/fesm2020/pdm-ui-kit-src-chart.mjs.map +1 -0
  477. package/fesm2020/pdm-ui-kit-src-checkbox.mjs +72 -0
  478. package/fesm2020/pdm-ui-kit-src-checkbox.mjs.map +1 -0
  479. package/fesm2020/pdm-ui-kit-src-collapsible.mjs +68 -0
  480. package/fesm2020/pdm-ui-kit-src-collapsible.mjs.map +1 -0
  481. package/fesm2020/pdm-ui-kit-src-combobox.mjs +199 -0
  482. package/fesm2020/pdm-ui-kit-src-combobox.mjs.map +1 -0
  483. package/fesm2020/pdm-ui-kit-src-command.mjs +99 -0
  484. package/fesm2020/pdm-ui-kit-src-command.mjs.map +1 -0
  485. package/fesm2020/pdm-ui-kit-src-context-menu.mjs +191 -0
  486. package/fesm2020/pdm-ui-kit-src-context-menu.mjs.map +1 -0
  487. package/fesm2020/pdm-ui-kit-src-data-table.mjs +805 -0
  488. package/fesm2020/pdm-ui-kit-src-data-table.mjs.map +1 -0
  489. package/fesm2020/pdm-ui-kit-src-dialog.mjs +289 -0
  490. package/fesm2020/pdm-ui-kit-src-dialog.mjs.map +1 -0
  491. package/fesm2020/pdm-ui-kit-src-drawer.mjs +354 -0
  492. package/fesm2020/pdm-ui-kit-src-drawer.mjs.map +1 -0
  493. package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs +218 -0
  494. package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
  495. package/fesm2020/pdm-ui-kit-src-empty.mjs +83 -0
  496. package/fesm2020/pdm-ui-kit-src-empty.mjs.map +1 -0
  497. package/fesm2020/pdm-ui-kit-src-field.mjs +89 -0
  498. package/fesm2020/pdm-ui-kit-src-field.mjs.map +1 -0
  499. package/fesm2020/pdm-ui-kit-src-hover-card.mjs +231 -0
  500. package/fesm2020/pdm-ui-kit-src-hover-card.mjs.map +1 -0
  501. package/fesm2020/pdm-ui-kit-src-icon.mjs +169 -0
  502. package/fesm2020/pdm-ui-kit-src-icon.mjs.map +1 -0
  503. package/fesm2020/pdm-ui-kit-src-input.mjs +441 -0
  504. package/fesm2020/pdm-ui-kit-src-input.mjs.map +1 -0
  505. package/fesm2020/pdm-ui-kit-src-item.mjs +48 -0
  506. package/fesm2020/pdm-ui-kit-src-item.mjs.map +1 -0
  507. package/fesm2020/pdm-ui-kit-src-kbd.mjs +42 -0
  508. package/fesm2020/pdm-ui-kit-src-kbd.mjs.map +1 -0
  509. package/fesm2020/pdm-ui-kit-src-label.mjs +48 -0
  510. package/fesm2020/pdm-ui-kit-src-label.mjs.map +1 -0
  511. package/fesm2020/pdm-ui-kit-src-menubar.mjs +170 -0
  512. package/fesm2020/pdm-ui-kit-src-menubar.mjs.map +1 -0
  513. package/fesm2020/pdm-ui-kit-src-native-select.mjs +66 -0
  514. package/fesm2020/pdm-ui-kit-src-native-select.mjs.map +1 -0
  515. package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs +67 -0
  516. package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
  517. package/fesm2020/pdm-ui-kit-src-overlay.mjs +229 -0
  518. package/fesm2020/pdm-ui-kit-src-overlay.mjs.map +1 -0
  519. package/fesm2020/pdm-ui-kit-src-pagination.mjs +97 -0
  520. package/fesm2020/pdm-ui-kit-src-pagination.mjs.map +1 -0
  521. package/fesm2020/pdm-ui-kit-src-popover.mjs +188 -0
  522. package/fesm2020/pdm-ui-kit-src-popover.mjs.map +1 -0
  523. package/fesm2020/pdm-ui-kit-src-progress.mjs +58 -0
  524. package/fesm2020/pdm-ui-kit-src-progress.mjs.map +1 -0
  525. package/fesm2020/pdm-ui-kit-src-radio-group.mjs +63 -0
  526. package/fesm2020/pdm-ui-kit-src-radio-group.mjs.map +1 -0
  527. package/fesm2020/pdm-ui-kit-src-scroll-area.mjs +45 -0
  528. package/fesm2020/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
  529. package/fesm2020/pdm-ui-kit-src-select.mjs +241 -0
  530. package/fesm2020/pdm-ui-kit-src-select.mjs.map +1 -0
  531. package/fesm2020/pdm-ui-kit-src-separator.mjs +51 -0
  532. package/fesm2020/pdm-ui-kit-src-separator.mjs.map +1 -0
  533. package/fesm2020/pdm-ui-kit-src-sidebar.mjs +92 -0
  534. package/fesm2020/pdm-ui-kit-src-sidebar.mjs.map +1 -0
  535. package/fesm2020/pdm-ui-kit-src-skeleton.mjs +42 -0
  536. package/fesm2020/pdm-ui-kit-src-skeleton.mjs.map +1 -0
  537. package/fesm2020/pdm-ui-kit-src-slider.mjs +71 -0
  538. package/fesm2020/pdm-ui-kit-src-slider.mjs.map +1 -0
  539. package/fesm2020/pdm-ui-kit-src-sonner.mjs +63 -0
  540. package/fesm2020/pdm-ui-kit-src-sonner.mjs.map +1 -0
  541. package/fesm2020/pdm-ui-kit-src-spinner.mjs +45 -0
  542. package/fesm2020/pdm-ui-kit-src-spinner.mjs.map +1 -0
  543. package/fesm2020/pdm-ui-kit-src-switch.mjs +83 -0
  544. package/fesm2020/pdm-ui-kit-src-switch.mjs.map +1 -0
  545. package/fesm2020/pdm-ui-kit-src-tabs.mjs +59 -0
  546. package/fesm2020/pdm-ui-kit-src-tabs.mjs.map +1 -0
  547. package/fesm2020/pdm-ui-kit-src-toggle.mjs +97 -0
  548. package/fesm2020/pdm-ui-kit-src-toggle.mjs.map +1 -0
  549. package/fesm2020/pdm-ui-kit-src-tooltip.mjs +202 -0
  550. package/fesm2020/pdm-ui-kit-src-tooltip.mjs.map +1 -0
  551. package/fesm2020/pdm-ui-kit-src-utils.mjs +239 -0
  552. package/fesm2020/pdm-ui-kit-src-utils.mjs.map +1 -0
  553. package/fesm2020/pdm-ui-kit.mjs +3865 -3015
  554. package/fesm2020/pdm-ui-kit.mjs.map +1 -1
  555. package/field/field.module.d.ts +8 -0
  556. package/hover-card/hover-card.module.d.ts +9 -0
  557. package/icon/icon.module.d.ts +8 -0
  558. package/{lib/components/input-password → input}/input-password.component.d.ts +1 -1
  559. package/input/input.module.d.ts +13 -0
  560. package/item/item.module.d.ts +8 -0
  561. package/kbd/kbd.module.d.ts +8 -0
  562. package/label/label.module.d.ts +8 -0
  563. package/{lib/components/menubar → menubar}/menubar.component.d.ts +1 -1
  564. package/menubar/menubar.module.d.ts +9 -0
  565. package/native-select/native-select.module.d.ts +9 -0
  566. package/navigation-menu/navigation-menu.module.d.ts +8 -0
  567. package/overlay/pdm-outside-click.module.d.ts +8 -0
  568. package/package.json +786 -2
  569. package/{lib/components/pagination → pagination}/pagination.component.d.ts +1 -1
  570. package/pagination/pagination.module.d.ts +10 -0
  571. package/pdm-ui-kit.module.d.ts +60 -0
  572. package/popover/popover.module.d.ts +9 -0
  573. package/progress/progress.module.d.ts +8 -0
  574. package/public-api.d.ts +114 -66
  575. package/radio-group/radio-group.module.d.ts +8 -0
  576. package/scroll-area/scroll-area.module.d.ts +8 -0
  577. package/{lib/components/select → select}/select.component.d.ts +1 -1
  578. package/select/select.module.d.ts +11 -0
  579. package/separator/separator.module.d.ts +8 -0
  580. package/sidebar/sidebar.module.d.ts +8 -0
  581. package/skeleton/skeleton.module.d.ts +8 -0
  582. package/slider/slider.module.d.ts +8 -0
  583. package/sonner/sonner.module.d.ts +9 -0
  584. package/spinner/spinner.module.d.ts +8 -0
  585. package/src/accordion/accordion.component.d.ts +19 -0
  586. package/src/accordion/accordion.module.d.ts +8 -0
  587. package/src/accordion/index.d.ts +5 -0
  588. package/src/accordion/public-api.d.ts +2 -0
  589. package/src/alert/alert-dialog.component.d.ts +29 -0
  590. package/src/alert/alert.component.d.ts +13 -0
  591. package/src/alert/alert.module.d.ts +9 -0
  592. package/src/alert/index.d.ts +5 -0
  593. package/src/alert/public-api.d.ts +3 -0
  594. package/src/aspect-ratio/aspect-ratio.component.d.ts +10 -0
  595. package/src/aspect-ratio/aspect-ratio.module.d.ts +8 -0
  596. package/src/aspect-ratio/index.d.ts +5 -0
  597. package/src/aspect-ratio/public-api.d.ts +2 -0
  598. package/src/avatar/avatar.component.d.ts +20 -0
  599. package/src/avatar/avatar.module.d.ts +8 -0
  600. package/src/avatar/index.d.ts +5 -0
  601. package/src/avatar/public-api.d.ts +2 -0
  602. package/src/badge/badge.component.d.ts +9 -0
  603. package/src/badge/badge.module.d.ts +8 -0
  604. package/src/badge/index.d.ts +5 -0
  605. package/src/badge/public-api.d.ts +2 -0
  606. package/src/breadcrumb/breadcrumb.component.d.ts +32 -0
  607. package/src/breadcrumb/breadcrumb.module.d.ts +8 -0
  608. package/src/breadcrumb/index.d.ts +5 -0
  609. package/src/breadcrumb/public-api.d.ts +2 -0
  610. package/src/button/button-group.component.d.ts +19 -0
  611. package/src/button/button.component.d.ts +29 -0
  612. package/src/button/button.module.d.ts +9 -0
  613. package/src/button/index.d.ts +5 -0
  614. package/src/button/public-api.d.ts +3 -0
  615. package/src/calendar/calendar.component.d.ts +149 -0
  616. package/src/calendar/calendar.module.d.ts +11 -0
  617. package/src/calendar/date-picker.component.d.ts +89 -0
  618. package/src/calendar/index.d.ts +5 -0
  619. package/src/calendar/public-api.d.ts +3 -0
  620. package/src/card/card.component.d.ts +37 -0
  621. package/src/card/card.module.d.ts +8 -0
  622. package/src/card/index.d.ts +5 -0
  623. package/src/card/public-api.d.ts +2 -0
  624. package/src/carousel/carousel.component.d.ts +28 -0
  625. package/src/carousel/carousel.module.d.ts +8 -0
  626. package/src/carousel/index.d.ts +5 -0
  627. package/src/carousel/public-api.d.ts +2 -0
  628. package/src/chart/chart.component.d.ts +44 -0
  629. package/src/chart/chart.module.d.ts +8 -0
  630. package/src/chart/index.d.ts +5 -0
  631. package/src/chart/public-api.d.ts +2 -0
  632. package/src/checkbox/checkbox.component.d.ts +17 -0
  633. package/src/checkbox/checkbox.module.d.ts +8 -0
  634. package/src/checkbox/index.d.ts +5 -0
  635. package/src/checkbox/public-api.d.ts +2 -0
  636. package/src/collapsible/collapsible.component.d.ts +14 -0
  637. package/src/collapsible/collapsible.module.d.ts +8 -0
  638. package/src/collapsible/index.d.ts +5 -0
  639. package/src/collapsible/public-api.d.ts +2 -0
  640. package/src/combobox/combobox.component.d.ts +35 -0
  641. package/src/combobox/combobox.module.d.ts +9 -0
  642. package/src/combobox/index.d.ts +5 -0
  643. package/src/combobox/public-api.d.ts +2 -0
  644. package/src/command/command.component.d.ts +33 -0
  645. package/src/command/command.module.d.ts +9 -0
  646. package/src/command/index.d.ts +5 -0
  647. package/src/command/public-api.d.ts +2 -0
  648. package/src/context-menu/context-menu.component.d.ts +38 -0
  649. package/src/context-menu/context-menu.module.d.ts +9 -0
  650. package/src/context-menu/index.d.ts +5 -0
  651. package/src/context-menu/public-api.d.ts +2 -0
  652. package/src/data-table/data-table.component.d.ts +200 -0
  653. package/src/data-table/data-table.module.d.ts +10 -0
  654. package/src/data-table/draggable-table.component.d.ts +74 -0
  655. package/src/data-table/index.d.ts +5 -0
  656. package/src/data-table/public-api.d.ts +4 -0
  657. package/src/data-table/table.component.d.ts +55 -0
  658. package/src/dialog/dialog.component.d.ts +72 -0
  659. package/src/dialog/dialog.module.d.ts +8 -0
  660. package/src/dialog/index.d.ts +5 -0
  661. package/src/dialog/public-api.d.ts +2 -0
  662. package/src/drawer/drawer.component.d.ts +96 -0
  663. package/src/drawer/drawer.module.d.ts +10 -0
  664. package/src/drawer/index.d.ts +5 -0
  665. package/src/drawer/public-api.d.ts +3 -0
  666. package/src/drawer/sheet.component.d.ts +46 -0
  667. package/src/dropdown-menu/dropdown-menu.component.d.ts +61 -0
  668. package/src/dropdown-menu/dropdown-menu.module.d.ts +9 -0
  669. package/src/dropdown-menu/index.d.ts +5 -0
  670. package/src/dropdown-menu/public-api.d.ts +2 -0
  671. package/src/empty/empty.component.d.ts +19 -0
  672. package/src/empty/empty.module.d.ts +10 -0
  673. package/src/empty/index.d.ts +5 -0
  674. package/src/empty/public-api.d.ts +2 -0
  675. package/src/field/field.component.d.ts +23 -0
  676. package/src/field/field.module.d.ts +8 -0
  677. package/src/field/index.d.ts +5 -0
  678. package/src/field/public-api.d.ts +2 -0
  679. package/src/hover-card/hover-card.component.d.ts +37 -0
  680. package/src/hover-card/hover-card.module.d.ts +9 -0
  681. package/src/hover-card/index.d.ts +5 -0
  682. package/src/hover-card/public-api.d.ts +2 -0
  683. package/src/icon/icon.component.d.ts +28 -0
  684. package/src/icon/icon.module.d.ts +8 -0
  685. package/src/icon/index.d.ts +5 -0
  686. package/src/icon/public-api.d.ts +2 -0
  687. package/src/input/index.d.ts +5 -0
  688. package/src/input/input-group.component.d.ts +22 -0
  689. package/src/input/input-otp.component.d.ts +26 -0
  690. package/src/input/input-password.component.d.ts +28 -0
  691. package/src/input/input.component.d.ts +27 -0
  692. package/src/input/input.module.d.ts +13 -0
  693. package/src/input/public-api.d.ts +6 -0
  694. package/src/input/textarea.component.d.ts +21 -0
  695. package/src/item/index.d.ts +5 -0
  696. package/src/item/item.component.d.ts +8 -0
  697. package/src/item/item.module.d.ts +8 -0
  698. package/src/item/public-api.d.ts +2 -0
  699. package/src/kbd/index.d.ts +5 -0
  700. package/src/kbd/kbd.component.d.ts +6 -0
  701. package/src/kbd/kbd.module.d.ts +8 -0
  702. package/src/kbd/public-api.d.ts +2 -0
  703. package/src/label/index.d.ts +5 -0
  704. package/src/label/label.component.d.ts +8 -0
  705. package/src/label/label.module.d.ts +8 -0
  706. package/src/label/public-api.d.ts +2 -0
  707. package/src/menubar/index.d.ts +5 -0
  708. package/src/menubar/menubar.component.d.ts +34 -0
  709. package/src/menubar/menubar.module.d.ts +9 -0
  710. package/src/menubar/public-api.d.ts +2 -0
  711. package/src/native-select/index.d.ts +5 -0
  712. package/src/native-select/native-select.component.d.ts +20 -0
  713. package/src/native-select/native-select.module.d.ts +9 -0
  714. package/src/native-select/public-api.d.ts +2 -0
  715. package/src/navigation-menu/index.d.ts +5 -0
  716. package/src/navigation-menu/navigation-menu.component.d.ts +33 -0
  717. package/src/navigation-menu/navigation-menu.module.d.ts +8 -0
  718. package/src/navigation-menu/public-api.d.ts +2 -0
  719. package/src/overlay/create-flexible-position-strategy.d.ts +15 -0
  720. package/src/overlay/index.d.ts +5 -0
  721. package/src/overlay/pdm-outside-click.directive.d.ts +40 -0
  722. package/src/overlay/pdm-outside-click.module.d.ts +8 -0
  723. package/src/overlay/pdm-overlay-options.d.ts +21 -0
  724. package/src/overlay/public-api.d.ts +5 -0
  725. package/src/overlay/z-index-helper.d.ts +36 -0
  726. package/src/pagination/index.d.ts +5 -0
  727. package/src/pagination/pagination.component.d.ts +21 -0
  728. package/src/pagination/pagination.module.d.ts +10 -0
  729. package/src/pagination/public-api.d.ts +2 -0
  730. package/src/popover/index.d.ts +5 -0
  731. package/src/popover/popover.component.d.ts +32 -0
  732. package/src/popover/popover.module.d.ts +9 -0
  733. package/src/popover/public-api.d.ts +2 -0
  734. package/src/progress/index.d.ts +5 -0
  735. package/src/progress/progress.component.d.ts +10 -0
  736. package/src/progress/progress.module.d.ts +8 -0
  737. package/src/progress/public-api.d.ts +2 -0
  738. package/src/radio-group/index.d.ts +5 -0
  739. package/src/radio-group/public-api.d.ts +2 -0
  740. package/src/radio-group/radio-group.component.d.ts +19 -0
  741. package/src/radio-group/radio-group.module.d.ts +8 -0
  742. package/src/scroll-area/index.d.ts +5 -0
  743. package/src/scroll-area/public-api.d.ts +2 -0
  744. package/src/scroll-area/scroll-area.component.d.ts +7 -0
  745. package/src/scroll-area/scroll-area.module.d.ts +8 -0
  746. package/src/select/index.d.ts +5 -0
  747. package/src/select/public-api.d.ts +3 -0
  748. package/src/select/select-option.directive.d.ts +34 -0
  749. package/src/select/select.component.d.ts +55 -0
  750. package/src/select/select.module.d.ts +11 -0
  751. package/src/separator/index.d.ts +5 -0
  752. package/src/separator/public-api.d.ts +2 -0
  753. package/src/separator/separator.component.d.ts +9 -0
  754. package/src/separator/separator.module.d.ts +8 -0
  755. package/src/sidebar/index.d.ts +5 -0
  756. package/src/sidebar/public-api.d.ts +2 -0
  757. package/src/sidebar/sidebar.component.d.ts +45 -0
  758. package/src/sidebar/sidebar.module.d.ts +8 -0
  759. package/src/skeleton/index.d.ts +5 -0
  760. package/src/skeleton/public-api.d.ts +2 -0
  761. package/src/skeleton/skeleton.component.d.ts +6 -0
  762. package/src/skeleton/skeleton.module.d.ts +8 -0
  763. package/src/slider/index.d.ts +5 -0
  764. package/src/slider/public-api.d.ts +2 -0
  765. package/src/slider/slider.component.d.ts +15 -0
  766. package/src/slider/slider.module.d.ts +8 -0
  767. package/src/sonner/index.d.ts +5 -0
  768. package/src/sonner/public-api.d.ts +2 -0
  769. package/src/sonner/sonner.component.d.ts +13 -0
  770. package/src/sonner/sonner.module.d.ts +9 -0
  771. package/src/spinner/index.d.ts +5 -0
  772. package/src/spinner/public-api.d.ts +2 -0
  773. package/src/spinner/spinner.component.d.ts +7 -0
  774. package/src/spinner/spinner.module.d.ts +8 -0
  775. package/src/switch/index.d.ts +5 -0
  776. package/src/switch/public-api.d.ts +2 -0
  777. package/src/switch/switch.module.d.ts +8 -0
  778. package/src/tabs/index.d.ts +5 -0
  779. package/src/tabs/public-api.d.ts +2 -0
  780. package/src/tabs/tabs.module.d.ts +8 -0
  781. package/src/toggle/index.d.ts +5 -0
  782. package/src/toggle/public-api.d.ts +3 -0
  783. package/src/toggle/toggle.module.d.ts +9 -0
  784. package/src/tooltip/index.d.ts +5 -0
  785. package/src/tooltip/public-api.d.ts +2 -0
  786. package/src/tooltip/tooltip.module.d.ts +9 -0
  787. package/src/utils/index.d.ts +5 -0
  788. package/src/utils/public-api.d.ts +2 -0
  789. package/switch/switch.component.d.ts +18 -0
  790. package/switch/switch.module.d.ts +8 -0
  791. package/tabs/tabs.component.d.ts +18 -0
  792. package/tabs/tabs.module.d.ts +8 -0
  793. package/toggle/toggle-group.component.d.ts +16 -0
  794. package/toggle/toggle.component.d.ts +14 -0
  795. package/toggle/toggle.module.d.ts +9 -0
  796. package/tooltip/tooltip.component.d.ts +28 -0
  797. package/tooltip/tooltip.module.d.ts +9 -0
  798. package/utils/responsive.d.ts +107 -0
  799. package/utils/z-index.d.ts +69 -0
  800. package/esm2020/lib/components/button/button.component.mjs +0 -114
  801. package/esm2020/lib/components/calendar/calendar.component.mjs +0 -529
  802. package/esm2020/lib/components/carousel/carousel.component.mjs +0 -102
  803. package/esm2020/lib/components/command/command.component.mjs +0 -75
  804. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -165
  805. package/esm2020/lib/components/data-table/data-table.component.mjs +0 -299
  806. package/esm2020/lib/components/dialog/dialog.component.mjs +0 -265
  807. package/esm2020/lib/components/draggable-table/draggable-table.component.mjs +0 -300
  808. package/esm2020/lib/components/drawer/drawer.component.mjs +0 -217
  809. package/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -192
  810. package/esm2020/lib/components/icon/icon.component.mjs +0 -144
  811. package/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -144
  812. package/esm2020/lib/components/menubar/menubar.component.mjs +0 -144
  813. package/esm2020/lib/components/select/select-option.directive.mjs +0 -55
  814. package/esm2020/lib/components/select/select.component.mjs +0 -164
  815. package/esm2020/lib/components/sheet/sheet.component.mjs +0 -116
  816. package/esm2020/lib/components/switch/switch.component.mjs +0 -58
  817. package/esm2020/lib/components/table/table.component.mjs +0 -182
  818. package/esm2020/lib/overlay/create-flexible-position-strategy.mjs +0 -54
  819. package/esm2020/lib/overlay/pdm-outside-click.directive.mjs +0 -86
  820. package/esm2020/lib/overlay/pdm-overlay-options.mjs +0 -2
  821. package/esm2020/lib/overlay/z-index-helper.mjs +0 -69
  822. package/esm2020/lib/pdm-ui-kit.module.mjs +0 -258
  823. package/esm2020/lib/utils/responsive.mjs +0 -143
  824. package/esm2020/lib/utils/z-index.mjs +0 -90
  825. package/lib/pdm-ui-kit.module.d.ts +0 -68
  826. /package/{lib/components/accordion → accordion}/accordion.component.d.ts +0 -0
  827. /package/{lib/components/alert-dialog → alert}/alert-dialog.component.d.ts +0 -0
  828. /package/{lib/components/alert → alert}/alert.component.d.ts +0 -0
  829. /package/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.d.ts +0 -0
  830. /package/{lib/components/avatar → avatar}/avatar.component.d.ts +0 -0
  831. /package/{lib/components/badge → badge}/badge.component.d.ts +0 -0
  832. /package/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.d.ts +0 -0
  833. /package/{lib/components/button-group → button}/button-group.component.d.ts +0 -0
  834. /package/{lib/components/button → button}/button.component.d.ts +0 -0
  835. /package/{lib/components/calendar → calendar}/calendar.component.d.ts +0 -0
  836. /package/{lib/components/card → card}/card.component.d.ts +0 -0
  837. /package/{lib/components/carousel → carousel}/carousel.component.d.ts +0 -0
  838. /package/{lib/components/chart → chart}/chart.component.d.ts +0 -0
  839. /package/{lib/components/checkbox → checkbox}/checkbox.component.d.ts +0 -0
  840. /package/{lib/components/collapsible → collapsible}/collapsible.component.d.ts +0 -0
  841. /package/{lib/components/combobox → combobox}/combobox.component.d.ts +0 -0
  842. /package/{lib/components/dialog → dialog}/dialog.component.d.ts +0 -0
  843. /package/{lib/components/drawer → drawer}/drawer.component.d.ts +0 -0
  844. /package/{lib/components/sheet → drawer}/sheet.component.d.ts +0 -0
  845. /package/{lib/components/empty → empty}/empty.component.d.ts +0 -0
  846. /package/{lib/components/field → field}/field.component.d.ts +0 -0
  847. /package/{lib/components/hover-card → hover-card}/hover-card.component.d.ts +0 -0
  848. /package/{lib/components/icon → icon}/icon.component.d.ts +0 -0
  849. /package/{lib/components/input-group → input}/input-group.component.d.ts +0 -0
  850. /package/{lib/components/input-otp → input}/input-otp.component.d.ts +0 -0
  851. /package/{lib/components/input → input}/input.component.d.ts +0 -0
  852. /package/{lib/components/textarea → input}/textarea.component.d.ts +0 -0
  853. /package/{lib/components/item → item}/item.component.d.ts +0 -0
  854. /package/{lib/components/kbd → kbd}/kbd.component.d.ts +0 -0
  855. /package/{lib/components/label → label}/label.component.d.ts +0 -0
  856. /package/{lib/components/native-select → native-select}/native-select.component.d.ts +0 -0
  857. /package/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.d.ts +0 -0
  858. /package/{lib/overlay → overlay}/create-flexible-position-strategy.d.ts +0 -0
  859. /package/{lib/overlay → overlay}/pdm-outside-click.directive.d.ts +0 -0
  860. /package/{lib/overlay → overlay}/pdm-overlay-options.d.ts +0 -0
  861. /package/{lib/overlay → overlay}/z-index-helper.d.ts +0 -0
  862. /package/{lib/components/popover → popover}/popover.component.d.ts +0 -0
  863. /package/{lib/components/progress → progress}/progress.component.d.ts +0 -0
  864. /package/{lib/components/radio-group → radio-group}/radio-group.component.d.ts +0 -0
  865. /package/{lib/components/scroll-area → scroll-area}/scroll-area.component.d.ts +0 -0
  866. /package/{lib/components/select → select}/select-option.directive.d.ts +0 -0
  867. /package/{lib/components/separator → separator}/separator.component.d.ts +0 -0
  868. /package/{lib/components/sidebar → sidebar}/sidebar.component.d.ts +0 -0
  869. /package/{lib/components/skeleton → skeleton}/skeleton.component.d.ts +0 -0
  870. /package/{lib/components/slider → slider}/slider.component.d.ts +0 -0
  871. /package/{lib/components/sonner → sonner}/sonner.component.d.ts +0 -0
  872. /package/{lib/components/spinner → spinner}/spinner.component.d.ts +0 -0
  873. /package/src/{lib/styles → styles}/tokens.css +0 -0
  874. /package/{lib/components → src}/switch/switch.component.d.ts +0 -0
  875. /package/{lib/components → src}/tabs/tabs.component.d.ts +0 -0
  876. /package/{lib/components/toggle-group → src/toggle}/toggle-group.component.d.ts +0 -0
  877. /package/{lib/components → src}/toggle/toggle.component.d.ts +0 -0
  878. /package/{lib/components → src}/tooltip/tooltip.component.d.ts +0 -0
  879. /package/{lib → src}/utils/responsive.d.ts +0 -0
  880. /package/{lib → src}/utils/z-index.d.ts +0 -0
@@ -0,0 +1,200 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ViewChild, HostListener, NgModule } from '@angular/core';
3
+ import { TemplatePortal } from '@angular/cdk/portal';
4
+ import { mergeOverlayPanelClass, OVERLAY_BASE_Z_INDEX } from 'pdm-ui-kit/src/overlay';
5
+ import * as i1 from '@angular/cdk/overlay';
6
+ import { OverlayModule } from '@angular/cdk/overlay';
7
+ import * as i2 from '@angular/common';
8
+ import { CommonModule } from '@angular/common';
9
+
10
+ class PdmComboboxComponent {
11
+ constructor(overlay, viewContainerRef, elementRef, cdr) {
12
+ this.overlay = overlay;
13
+ this.viewContainerRef = viewContainerRef;
14
+ this.elementRef = elementRef;
15
+ this.cdr = cdr;
16
+ this.open = false;
17
+ this.placeholder = "Select framework...";
18
+ this.searchPlaceholder = "Search framework";
19
+ this.className = "";
20
+ this.options = [
21
+ "Next.js",
22
+ "SvelteKit",
23
+ "Nuxt.js",
24
+ "Remix",
25
+ "Astro",
26
+ ];
27
+ this.value = "";
28
+ this.width = 200;
29
+ this.panelClassName = "";
30
+ this.openChange = new EventEmitter();
31
+ this.valueChange = new EventEmitter();
32
+ this.overlayRef = null;
33
+ this.outsideClickSub = null;
34
+ }
35
+ ngOnDestroy() {
36
+ this.destroyOverlay();
37
+ }
38
+ get selectedLabel() {
39
+ return this.value || this.placeholder;
40
+ }
41
+ toggle() {
42
+ if (this.open) {
43
+ this.close();
44
+ }
45
+ else {
46
+ this.openPanel();
47
+ }
48
+ }
49
+ select(option) {
50
+ this.valueChange.emit(option);
51
+ this.value = option;
52
+ this.close();
53
+ }
54
+ onEscape() {
55
+ if (this.open) {
56
+ this.close();
57
+ }
58
+ }
59
+ openPanel() {
60
+ var _a;
61
+ if (this.overlayRef)
62
+ return;
63
+ const triggerEl = (_a = this.triggerRef) === null || _a === void 0 ? void 0 : _a.nativeElement;
64
+ if (!triggerEl)
65
+ return;
66
+ this.open = true;
67
+ this.openChange.emit(true);
68
+ this.cdr.markForCheck();
69
+ const positionStrategy = this.overlay
70
+ .position()
71
+ .flexibleConnectedTo(triggerEl)
72
+ .withPositions(this.getPositionConfigs())
73
+ .withFlexibleDimensions(false)
74
+ .withPush(true);
75
+ const panelClass = mergeOverlayPanelClass(OVERLAY_BASE_Z_INDEX, this.panelClassName);
76
+ this.overlayRef = this.overlay.create({
77
+ positionStrategy,
78
+ panelClass,
79
+ });
80
+ const portal = new TemplatePortal(this.panelTemplateRef, this.viewContainerRef);
81
+ this.overlayRef.attach(portal);
82
+ // Close on click outside
83
+ this.outsideClickSub = this.overlayRef
84
+ .outsidePointerEvents()
85
+ .subscribe(() => {
86
+ this.close();
87
+ });
88
+ this.cdr.markForCheck();
89
+ }
90
+ close() {
91
+ if (!this.overlayRef)
92
+ return;
93
+ this.open = false;
94
+ this.openChange.emit(false);
95
+ this.cdr.markForCheck();
96
+ this.destroyOverlay();
97
+ }
98
+ destroyOverlay() {
99
+ if (this.outsideClickSub) {
100
+ this.outsideClickSub.unsubscribe();
101
+ this.outsideClickSub = null;
102
+ }
103
+ if (this.overlayRef) {
104
+ this.overlayRef.detach();
105
+ this.overlayRef.dispose();
106
+ this.overlayRef = null;
107
+ }
108
+ }
109
+ getPositionConfigs() {
110
+ return [
111
+ {
112
+ originX: "start",
113
+ originY: "bottom",
114
+ overlayX: "start",
115
+ overlayY: "top",
116
+ offsetY: 4,
117
+ },
118
+ {
119
+ originX: "start",
120
+ originY: "top",
121
+ overlayX: "start",
122
+ overlayY: "bottom",
123
+ offsetY: -4,
124
+ },
125
+ {
126
+ originX: "end",
127
+ originY: "bottom",
128
+ overlayX: "end",
129
+ overlayY: "top",
130
+ offsetY: 4,
131
+ },
132
+ {
133
+ originX: "start",
134
+ originY: "bottom",
135
+ overlayX: "end",
136
+ overlayY: "top",
137
+ offsetY: 4,
138
+ },
139
+ ];
140
+ }
141
+ }
142
+ PdmComboboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmComboboxComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
143
+ PdmComboboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmComboboxComponent, selector: "pdm-combobox", inputs: { open: "open", placeholder: "placeholder", searchPlaceholder: "searchPlaceholder", className: "className", options: "options", value: "value", width: "width", panelClassName: "panelClassName" }, outputs: { openChange: "openChange", valueChange: "valueChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"['flex flex-col gap-1', className]\" [style.width.px]=\"width\">\n <button\n #triggerEl\n type=\"button\"\n class=\"flex h-9 w-full appearance-none box-border items-center justify-between gap-2 rounded-md border border-solid border-input bg-background px-3 py-2 text-sm shadow-sm\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-haspopup]=\"'listbox'\"\n (click)=\"toggle()\"\n >\n <span\n class=\"min-w-0 flex-1 truncate text-left text-sm font-medium text-foreground\"\n >{{ selectedLabel }}</span\n >\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 15L12 20L17 15\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n <path\n d=\"M17 9L12 4L7 9\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <div\n class=\"w-full rounded-md border border-solid border-border bg-popover p-0 text-popover-foreground shadow-md\"\n >\n <div class=\"flex items-center gap-2 border-b border-border px-3 py-2\">\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-muted-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"11\"\n cy=\"11\"\n r=\"7\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n ></circle>\n <path\n d=\"M20 20L16.6 16.6\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n ></path>\n </svg>\n <div class=\"flex-1 py-2 text-sm text-muted-foreground\">\n {{ searchPlaceholder }}\n </div>\n </div>\n\n <div class=\"p-1\">\n <button\n *ngFor=\"let option of options\"\n type=\"button\"\n class=\"flex w-full appearance-none box-border items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground\"\n [ngClass]=\"option === value ? 'bg-accent text-accent-foreground' : ''\"\n role=\"option\"\n [attr.aria-selected]=\"option === value\"\n (click)=\"select(option)\"\n >\n <span class=\"min-w-0 flex-1 truncate\">{{ option }}</span>\n <svg\n *ngIf=\"option === value\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 12.5L9.2 16.7L19 7\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmComboboxComponent, decorators: [{
145
+ type: Component,
146
+ args: [{ selector: "pdm-combobox", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['flex flex-col gap-1', className]\" [style.width.px]=\"width\">\n <button\n #triggerEl\n type=\"button\"\n class=\"flex h-9 w-full appearance-none box-border items-center justify-between gap-2 rounded-md border border-solid border-input bg-background px-3 py-2 text-sm shadow-sm\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-haspopup]=\"'listbox'\"\n (click)=\"toggle()\"\n >\n <span\n class=\"min-w-0 flex-1 truncate text-left text-sm font-medium text-foreground\"\n >{{ selectedLabel }}</span\n >\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 15L12 20L17 15\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n <path\n d=\"M17 9L12 4L7 9\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <div\n class=\"w-full rounded-md border border-solid border-border bg-popover p-0 text-popover-foreground shadow-md\"\n >\n <div class=\"flex items-center gap-2 border-b border-border px-3 py-2\">\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-muted-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"11\"\n cy=\"11\"\n r=\"7\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n ></circle>\n <path\n d=\"M20 20L16.6 16.6\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n ></path>\n </svg>\n <div class=\"flex-1 py-2 text-sm text-muted-foreground\">\n {{ searchPlaceholder }}\n </div>\n </div>\n\n <div class=\"p-1\">\n <button\n *ngFor=\"let option of options\"\n type=\"button\"\n class=\"flex w-full appearance-none box-border items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground\"\n [ngClass]=\"option === value ? 'bg-accent text-accent-foreground' : ''\"\n role=\"option\"\n [attr.aria-selected]=\"option === value\"\n (click)=\"select(option)\"\n >\n <span class=\"min-w-0 flex-1 truncate\">{{ option }}</span>\n <svg\n *ngIf=\"option === value\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 12.5L9.2 16.7L19 7\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block}\n"] }]
147
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { open: [{
148
+ type: Input
149
+ }], placeholder: [{
150
+ type: Input
151
+ }], searchPlaceholder: [{
152
+ type: Input
153
+ }], className: [{
154
+ type: Input
155
+ }], options: [{
156
+ type: Input
157
+ }], value: [{
158
+ type: Input
159
+ }], width: [{
160
+ type: Input
161
+ }], panelClassName: [{
162
+ type: Input
163
+ }], openChange: [{
164
+ type: Output
165
+ }], valueChange: [{
166
+ type: Output
167
+ }], triggerRef: [{
168
+ type: ViewChild,
169
+ args: ["triggerEl"]
170
+ }], panelTemplateRef: [{
171
+ type: ViewChild,
172
+ args: ["panelTemplate"]
173
+ }], onEscape: [{
174
+ type: HostListener,
175
+ args: ["document:keydown.escape"]
176
+ }] } });
177
+
178
+ const COMPONENTS = [
179
+ PdmComboboxComponent,
180
+ ];
181
+ class PdmComboboxModule {
182
+ }
183
+ PdmComboboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmComboboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
184
+ PdmComboboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmComboboxModule, declarations: [PdmComboboxComponent], imports: [CommonModule, OverlayModule], exports: [PdmComboboxComponent] });
185
+ PdmComboboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmComboboxModule, imports: [CommonModule, OverlayModule] });
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmComboboxModule, decorators: [{
187
+ type: NgModule,
188
+ args: [{
189
+ imports: [CommonModule, OverlayModule],
190
+ declarations: COMPONENTS,
191
+ exports: COMPONENTS
192
+ }]
193
+ }] });
194
+
195
+ /**
196
+ * Generated bundle index. Do not edit.
197
+ */
198
+
199
+ export { PdmComboboxComponent, PdmComboboxModule };
200
+ //# sourceMappingURL=pdm-ui-kit-src-combobox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdm-ui-kit-src-combobox.mjs","sources":["../../../src/combobox/combobox.component.ts","../../../src/combobox/combobox.component.html","../../../src/combobox/combobox.module.ts","../../../src/combobox/pdm-ui-kit-src-combobox.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tViewChild,\n\tViewContainerRef,\n} from \"@angular/core\";\nimport { Overlay, OverlayRef, ConnectedPosition } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport {\n\tmergeOverlayPanelClass,\n\tOVERLAY_BASE_Z_INDEX,\n} from \"pdm-ui-kit/src/overlay\";\n\n@Component({\n\tselector: \"pdm-combobox\",\n\ttemplateUrl: \"./combobox.component.html\",\n\tstyles: [\":host { display: block; }\"],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PdmComboboxComponent implements OnDestroy {\n\t@Input() open = false;\n\t@Input() placeholder = \"Select framework...\";\n\t@Input() searchPlaceholder = \"Search framework\";\n\t@Input() className = \"\";\n\t@Input() options: string[] = [\n\t\t\"Next.js\",\n\t\t\"SvelteKit\",\n\t\t\"Nuxt.js\",\n\t\t\"Remix\",\n\t\t\"Astro\",\n\t];\n\t@Input() value = \"\";\n\t@Input() width = 200;\n\t@Input() panelClassName = \"\";\n\n\t@Output() openChange = new EventEmitter<boolean>();\n\t@Output() valueChange = new EventEmitter<string>();\n\n\t@ViewChild(\"triggerEl\") triggerRef?: ElementRef<HTMLElement>;\n\t@ViewChild(\"panelTemplate\") panelTemplateRef: any;\n\n\tprivate overlayRef: OverlayRef | null = null;\n\tprivate outsideClickSub: any = null;\n\n\tconstructor(\n\t\tprivate readonly overlay: Overlay,\n\t\tprivate readonly viewContainerRef: ViewContainerRef,\n\t\tprivate readonly elementRef: ElementRef<HTMLElement>,\n\t\tprivate readonly cdr: ChangeDetectorRef,\n\t) {}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyOverlay();\n\t}\n\n\tget selectedLabel(): string {\n\t\treturn this.value || this.placeholder;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.open) {\n\t\t\tthis.close();\n\t\t} else {\n\t\t\tthis.openPanel();\n\t\t}\n\t}\n\n\tselect(option: string): void {\n\t\tthis.valueChange.emit(option);\n\t\tthis.value = option;\n\t\tthis.close();\n\t}\n\n\t@HostListener(\"document:keydown.escape\")\n\tonEscape(): void {\n\t\tif (this.open) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tprivate openPanel(): void {\n\t\tif (this.overlayRef) return;\n\n\t\tconst triggerEl = this.triggerRef?.nativeElement;\n\t\tif (!triggerEl) return;\n\n\t\tthis.open = true;\n\t\tthis.openChange.emit(true);\n\t\tthis.cdr.markForCheck();\n\n\t\tconst positionStrategy = this.overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(triggerEl)\n\t\t\t.withPositions(this.getPositionConfigs())\n\t\t\t.withFlexibleDimensions(false)\n\t\t\t.withPush(true);\n\n\t\tconst panelClass = mergeOverlayPanelClass(\n\t\t\tOVERLAY_BASE_Z_INDEX,\n\t\t\tthis.panelClassName,\n\t\t);\n\n\t\tthis.overlayRef = this.overlay.create({\n\t\t\tpositionStrategy,\n\t\t\tpanelClass,\n\t\t});\n\n\t\tconst portal = new TemplatePortal(\n\t\t\tthis.panelTemplateRef,\n\t\t\tthis.viewContainerRef,\n\t\t);\n\t\tthis.overlayRef.attach(portal);\n\n\t\t// Close on click outside\n\t\tthis.outsideClickSub = this.overlayRef\n\t\t\t.outsidePointerEvents()\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.close();\n\t\t\t});\n\n\t\tthis.cdr.markForCheck();\n\t}\n\n\tprivate close(): void {\n\t\tif (!this.overlayRef) return;\n\n\t\tthis.open = false;\n\t\tthis.openChange.emit(false);\n\t\tthis.cdr.markForCheck();\n\t\tthis.destroyOverlay();\n\t}\n\n\tprivate destroyOverlay(): void {\n\t\tif (this.outsideClickSub) {\n\t\t\tthis.outsideClickSub.unsubscribe();\n\t\t\tthis.outsideClickSub = null;\n\t\t}\n\t\tif (this.overlayRef) {\n\t\t\tthis.overlayRef.detach();\n\t\t\tthis.overlayRef.dispose();\n\t\t\tthis.overlayRef = null;\n\t\t}\n\t}\n\n\tprivate getPositionConfigs(): ConnectedPosition[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\toriginX: \"start\",\n\t\t\t\toriginY: \"bottom\",\n\t\t\t\toverlayX: \"start\",\n\t\t\t\toverlayY: \"top\",\n\t\t\t\toffsetY: 4,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: \"start\",\n\t\t\t\toriginY: \"top\",\n\t\t\t\toverlayX: \"start\",\n\t\t\t\toverlayY: \"bottom\",\n\t\t\t\toffsetY: -4,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: \"end\",\n\t\t\t\toriginY: \"bottom\",\n\t\t\t\toverlayX: \"end\",\n\t\t\t\toverlayY: \"top\",\n\t\t\t\toffsetY: 4,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: \"start\",\n\t\t\t\toriginY: \"bottom\",\n\t\t\t\toverlayX: \"end\",\n\t\t\t\toverlayY: \"top\",\n\t\t\t\toffsetY: 4,\n\t\t\t},\n\t\t];\n\t}\n}\n","<div [ngClass]=\"['flex flex-col gap-1', className]\" [style.width.px]=\"width\">\n <button\n #triggerEl\n type=\"button\"\n class=\"flex h-9 w-full appearance-none box-border items-center justify-between gap-2 rounded-md border border-solid border-input bg-background px-3 py-2 text-sm shadow-sm\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-haspopup]=\"'listbox'\"\n (click)=\"toggle()\"\n >\n <span\n class=\"min-w-0 flex-1 truncate text-left text-sm font-medium text-foreground\"\n >{{ selectedLabel }}</span\n >\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 15L12 20L17 15\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n <path\n d=\"M17 9L12 4L7 9\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <div\n class=\"w-full rounded-md border border-solid border-border bg-popover p-0 text-popover-foreground shadow-md\"\n >\n <div class=\"flex items-center gap-2 border-b border-border px-3 py-2\">\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-muted-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"11\"\n cy=\"11\"\n r=\"7\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n ></circle>\n <path\n d=\"M20 20L16.6 16.6\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n ></path>\n </svg>\n <div class=\"flex-1 py-2 text-sm text-muted-foreground\">\n {{ searchPlaceholder }}\n </div>\n </div>\n\n <div class=\"p-1\">\n <button\n *ngFor=\"let option of options\"\n type=\"button\"\n class=\"flex w-full appearance-none box-border items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground\"\n [ngClass]=\"option === value ? 'bg-accent text-accent-foreground' : ''\"\n role=\"option\"\n [attr.aria-selected]=\"option === value\"\n (click)=\"select(option)\"\n >\n <span class=\"min-w-0 flex-1 truncate\">{{ option }}</span>\n <svg\n *ngIf=\"option === value\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 12.5L9.2 16.7L19 7\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n </ng-template>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PdmComboboxComponent } from './combobox.component';\n\nconst COMPONENTS = [\n PdmComboboxComponent,\n];\n\n@NgModule({\n imports: [CommonModule, OverlayModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmComboboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MA0Ba,oBAAoB,CAAA;AAyBhC,IAAA,WAAA,CACkB,OAAgB,EAChB,gBAAkC,EAClC,UAAmC,EACnC,GAAsB,EAAA;AAHtB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AAChB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;AACnC,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AA5B/B,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;AACb,QAAA,IAAW,CAAA,WAAA,GAAG,qBAAqB,CAAC;AACpC,QAAA,IAAiB,CAAA,iBAAA,GAAG,kBAAkB,CAAC;AACvC,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;QACf,IAAA,CAAA,OAAO,GAAa;YAC5B,SAAS;YACT,WAAW;YACX,SAAS;YACT,OAAO;YACP,OAAO;SACP,CAAC;AACO,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAK,CAAA,KAAA,GAAG,GAAG,CAAC;AACZ,QAAA,IAAc,CAAA,cAAA,GAAG,EAAE,CAAC;AAEnB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW,CAAC;AACzC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AAK3C,QAAA,IAAU,CAAA,UAAA,GAAsB,IAAI,CAAC;AACrC,QAAA,IAAe,CAAA,eAAA,GAAQ,IAAI,CAAC;KAOhC;IAEJ,WAAW,GAAA;QACV,IAAI,CAAC,cAAc,EAAE,CAAC;KACtB;AAED,IAAA,IAAI,aAAa,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC;KACtC;IAED,MAAM,GAAA;QACL,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,SAAA;KACD;AAED,IAAA,MAAM,CAAC,MAAc,EAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;KACb;IAGD,QAAQ,GAAA;QACP,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,SAAA;KACD;IAEO,SAAS,GAAA;;QAChB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5B,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC;AACjD,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;AAEvB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAExB,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO;AACnC,aAAA,QAAQ,EAAE;aACV,mBAAmB,CAAC,SAAS,CAAC;AAC9B,aAAA,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACxC,sBAAsB,CAAC,KAAK,CAAC;aAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEjB,MAAM,UAAU,GAAG,sBAAsB,CACxC,oBAAoB,EACpB,IAAI,CAAC,cAAc,CACnB,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACrC,gBAAgB;YAChB,UAAU;AACV,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,MAAM,GAAG,IAAI,cAAc,CAChC,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,CACrB,CAAC;AACF,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;AAG/B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU;AACpC,aAAA,oBAAoB,EAAE;aACtB,SAAS,CAAC,MAAK;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,SAAC,CAAC,CAAC;AAEJ,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACxB;IAEO,KAAK,GAAA;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;AAE7B,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;KACtB;IAEO,cAAc,GAAA;QACrB,IAAI,IAAI,CAAC,eAAe,EAAE;AACzB,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,SAAA;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,SAAA;KACD;IAEO,kBAAkB,GAAA;QACzB,OAAO;AACN,YAAA;AACC,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,CAAC,CAAC;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA;SACD,CAAC;KACF;;iHA5JW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,klBC1BjC,uwGAkGA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDxEa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACC,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uwGAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;sLAGtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAOG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEiB,UAAU,EAAA,CAAA;sBAAjC,SAAS;uBAAC,WAAW,CAAA;gBACM,gBAAgB,EAAA,CAAA;sBAA3C,SAAS;uBAAC,eAAe,CAAA;gBAmC1B,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,yBAAyB,CAAA;;;AE3ExC,MAAM,UAAU,GAAG;IACjB,oBAAoB;CACrB,CAAC;MAOW,iBAAiB,CAAA;;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAR5B,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAIV,YAAY,EAAE,aAAa,aAJrC,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAQT,iBAAiB,EAAA,OAAA,EAAA,CAJlB,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;2FAI1B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;AACtC,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,UAAU;iBACpB,CAAA;;;ACbD;;AAEG;;;;"}
@@ -0,0 +1,100 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i2 from 'pdm-ui-kit/src/icon';
6
+ import { PdmIconModule } from 'pdm-ui-kit/src/icon';
7
+
8
+ class PdmCommandComponent {
9
+ constructor() {
10
+ this.open = true;
11
+ this.hintLabel = 'Press';
12
+ this.hintKey = 'J';
13
+ this.placeholder = 'Type a command or search...';
14
+ this.emptyMessage = 'No results found.';
15
+ this.items = [
16
+ { label: 'Calendar', value: 'calendar', group: 'Suggestions', icon: 'calendar' },
17
+ { label: 'Search emoji', value: 'emoji', group: 'Suggestions', icon: 'smile' },
18
+ { label: 'Calculator', value: 'calculator', group: 'Suggestions', icon: 'calculator', disabled: true },
19
+ { label: 'Profile', value: 'profile', group: 'Settings', icon: 'user', shortcut: '⌘P' },
20
+ { label: 'Billing', value: 'billing', group: 'Settings', icon: 'credit-card', shortcut: '⌘B' },
21
+ { label: 'Settings', value: 'settings', group: 'Settings', icon: 'settings', shortcut: '⌘S' }
22
+ ];
23
+ this.className = '';
24
+ this.itemSelect = new EventEmitter();
25
+ this.openChange = new EventEmitter();
26
+ this.query = '';
27
+ }
28
+ get filteredItems() {
29
+ const q = this.query.toLowerCase().trim();
30
+ if (!q)
31
+ return this.items;
32
+ return this.items.filter((item) => item.label.toLowerCase().includes(q));
33
+ }
34
+ get groupedItems() {
35
+ var _a;
36
+ const map = new Map();
37
+ for (const item of this.filteredItems) {
38
+ const key = item.group || '';
39
+ const arr = (_a = map.get(key)) !== null && _a !== void 0 ? _a : [];
40
+ arr.push(item);
41
+ map.set(key, arr);
42
+ }
43
+ return Array.from(map.entries()).map(([name, items]) => ({ name, items }));
44
+ }
45
+ onQueryChange(event) {
46
+ this.query = event.target.value;
47
+ }
48
+ toggleOpen() {
49
+ this.openChange.emit(!this.open);
50
+ }
51
+ select(value) {
52
+ this.itemSelect.emit(value);
53
+ }
54
+ }
55
+ PdmCommandComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmCommandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ PdmCommandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmCommandComponent, selector: "pdm-command", inputs: { open: "open", hintLabel: "hintLabel", hintKey: "hintKey", placeholder: "placeholder", emptyMessage: "emptyMessage", items: "items", className: "className" }, outputs: { itemSelect: "itemSelect", openChange: "openChange" }, ngImport: i0, template: "<div [ngClass]=\"['w-full', className]\">\n <div *ngIf=\"!open\" class=\"flex items-center gap-1\">\n <span class=\"text-sm font-medium text-muted-foreground\">{{\n hintLabel\n }}</span>\n <button\n type=\"button\"\n class=\"inline-flex h-5 appearance-none box-border items-center gap-0.5 rounded-sm border border-solid border-border bg-muted px-1.5\"\n (click)=\"toggleOpen()\"\n >\n <pdm-icon\n name=\"command\"\n [size]=\"12\"\n className=\"text-muted-foreground\"\n [decorative]=\"true\"\n ></pdm-icon>\n <span class=\"text-xs text-muted-foreground\">{{ hintKey }}</span>\n </button>\n </div>\n\n <section\n *ngIf=\"open\"\n class=\"flex w-full flex-col overflow-hidden rounded-lg border border-solid border-border bg-popover text-popover-foreground shadow-md\"\n >\n <div class=\"flex items-center gap-2 border-b border-border px-3\">\n <pdm-icon\n name=\"search\"\n [size]=\"16\"\n className=\"text-muted-foreground\"\n [decorative]=\"true\"\n ></pdm-icon>\n <input\n type=\"text\"\n [placeholder]=\"placeholder\"\n [value]=\"query\"\n (input)=\"onQueryChange($event)\"\n class=\"h-10 w-full appearance-none box-border bg-transparent py-3 text-sm text-foreground outline-none placeholder:text-muted-foreground\"\n />\n </div>\n\n <div class=\"max-h-[50vh] overflow-y-auto p-1 md:max-h-72\">\n <ng-container *ngFor=\"let group of groupedItems; let groupIndex = index\">\n <div\n *ngIf=\"group.name\"\n class=\"px-2 py-1.5 text-xs text-muted-foreground\"\n >\n {{ group.name }}\n </div>\n <button\n *ngFor=\"let item of group.items\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"flex w-full appearance-none box-border items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground\"\n [ngClass]=\"[\n item.disabled ? 'opacity-50' : '',\n item.label === 'Calendar' ? 'bg-accent text-accent-foreground' : '',\n ]\"\n (click)=\"select(item.value)\"\n >\n <span\n class=\"inline-flex h-4 w-4 items-center justify-center text-foreground\"\n >\n <pdm-icon\n *ngIf=\"item.icon\"\n [name]=\"item.icon\"\n [size]=\"16\"\n [decorative]=\"true\"\n ></pdm-icon>\n </span>\n <span class=\"min-w-0 flex-1 text-foreground\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{\n item.shortcut\n }}</span>\n </button>\n <div\n *ngIf=\"groupIndex === 0 && groupedItems.length > 1\"\n class=\"my-1 border-t border-border\"\n ></div>\n </ng-container>\n\n <p\n *ngIf=\"filteredItems.length === 0\"\n class=\"m-0 py-6 text-center text-sm text-muted-foreground\"\n >\n {{ emptyMessage }}\n </p>\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmCommandComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'pdm-command', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['w-full', className]\">\n <div *ngIf=\"!open\" class=\"flex items-center gap-1\">\n <span class=\"text-sm font-medium text-muted-foreground\">{{\n hintLabel\n }}</span>\n <button\n type=\"button\"\n class=\"inline-flex h-5 appearance-none box-border items-center gap-0.5 rounded-sm border border-solid border-border bg-muted px-1.5\"\n (click)=\"toggleOpen()\"\n >\n <pdm-icon\n name=\"command\"\n [size]=\"12\"\n className=\"text-muted-foreground\"\n [decorative]=\"true\"\n ></pdm-icon>\n <span class=\"text-xs text-muted-foreground\">{{ hintKey }}</span>\n </button>\n </div>\n\n <section\n *ngIf=\"open\"\n class=\"flex w-full flex-col overflow-hidden rounded-lg border border-solid border-border bg-popover text-popover-foreground shadow-md\"\n >\n <div class=\"flex items-center gap-2 border-b border-border px-3\">\n <pdm-icon\n name=\"search\"\n [size]=\"16\"\n className=\"text-muted-foreground\"\n [decorative]=\"true\"\n ></pdm-icon>\n <input\n type=\"text\"\n [placeholder]=\"placeholder\"\n [value]=\"query\"\n (input)=\"onQueryChange($event)\"\n class=\"h-10 w-full appearance-none box-border bg-transparent py-3 text-sm text-foreground outline-none placeholder:text-muted-foreground\"\n />\n </div>\n\n <div class=\"max-h-[50vh] overflow-y-auto p-1 md:max-h-72\">\n <ng-container *ngFor=\"let group of groupedItems; let groupIndex = index\">\n <div\n *ngIf=\"group.name\"\n class=\"px-2 py-1.5 text-xs text-muted-foreground\"\n >\n {{ group.name }}\n </div>\n <button\n *ngFor=\"let item of group.items\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"flex w-full appearance-none box-border items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground\"\n [ngClass]=\"[\n item.disabled ? 'opacity-50' : '',\n item.label === 'Calendar' ? 'bg-accent text-accent-foreground' : '',\n ]\"\n (click)=\"select(item.value)\"\n >\n <span\n class=\"inline-flex h-4 w-4 items-center justify-center text-foreground\"\n >\n <pdm-icon\n *ngIf=\"item.icon\"\n [name]=\"item.icon\"\n [size]=\"16\"\n [decorative]=\"true\"\n ></pdm-icon>\n </span>\n <span class=\"min-w-0 flex-1 text-foreground\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{\n item.shortcut\n }}</span>\n </button>\n <div\n *ngIf=\"groupIndex === 0 && groupedItems.length > 1\"\n class=\"my-1 border-t border-border\"\n ></div>\n </ng-container>\n\n <p\n *ngIf=\"filteredItems.length === 0\"\n class=\"m-0 py-6 text-center text-sm text-muted-foreground\"\n >\n {{ emptyMessage }}\n </p>\n </div>\n </section>\n</div>\n" }]
60
+ }], propDecorators: { open: [{
61
+ type: Input
62
+ }], hintLabel: [{
63
+ type: Input
64
+ }], hintKey: [{
65
+ type: Input
66
+ }], placeholder: [{
67
+ type: Input
68
+ }], emptyMessage: [{
69
+ type: Input
70
+ }], items: [{
71
+ type: Input
72
+ }], className: [{
73
+ type: Input
74
+ }], itemSelect: [{
75
+ type: Output
76
+ }], openChange: [{
77
+ type: Output
78
+ }] } });
79
+
80
+ const COMPONENTS = [PdmCommandComponent];
81
+ class PdmCommandModule {
82
+ }
83
+ PdmCommandModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
84
+ PdmCommandModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmCommandModule, declarations: [PdmCommandComponent], imports: [CommonModule, PdmIconModule], exports: [PdmCommandComponent] });
85
+ PdmCommandModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmCommandModule, imports: [CommonModule, PdmIconModule] });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmCommandModule, decorators: [{
87
+ type: NgModule,
88
+ args: [{
89
+ imports: [CommonModule, PdmIconModule],
90
+ declarations: COMPONENTS,
91
+ exports: COMPONENTS,
92
+ }]
93
+ }] });
94
+
95
+ /**
96
+ * Generated bundle index. Do not edit.
97
+ */
98
+
99
+ export { PdmCommandComponent, PdmCommandModule };
100
+ //# sourceMappingURL=pdm-ui-kit-src-command.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdm-ui-kit-src-command.mjs","sources":["../../../src/command/command.component.ts","../../../src/command/command.component.html","../../../src/command/command.module.ts","../../../src/command/pdm-ui-kit-src-command.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport type { PdmIconName } from 'pdm-ui-kit/src/icon';\n\nexport interface PdmCommandItem {\n label: string;\n value: string;\n group?: string;\n icon?: PdmIconName;\n shortcut?: string;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'pdm-command',\n templateUrl: './command.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmCommandComponent {\n @Input() open = true;\n @Input() hintLabel = 'Press';\n @Input() hintKey = 'J';\n @Input() placeholder = 'Type a command or search...';\n @Input() emptyMessage = 'No results found.';\n @Input() items: PdmCommandItem[] = [\n { label: 'Calendar', value: 'calendar', group: 'Suggestions', icon: 'calendar' },\n { label: 'Search emoji', value: 'emoji', group: 'Suggestions', icon: 'smile' },\n { label: 'Calculator', value: 'calculator', group: 'Suggestions', icon: 'calculator', disabled: true },\n { label: 'Profile', value: 'profile', group: 'Settings', icon: 'user', shortcut: '⌘P' },\n { label: 'Billing', value: 'billing', group: 'Settings', icon: 'credit-card', shortcut: '⌘B' },\n { label: 'Settings', value: 'settings', group: 'Settings', icon: 'settings', shortcut: '⌘S' }\n ];\n @Input() className = '';\n\n @Output() itemSelect = new EventEmitter<string>();\n @Output() openChange = new EventEmitter<boolean>();\n\n query = '';\n\n get filteredItems(): PdmCommandItem[] {\n const q = this.query.toLowerCase().trim();\n if (!q) return this.items;\n return this.items.filter((item) => item.label.toLowerCase().includes(q));\n }\n\n get groupedItems(): { name: string; items: PdmCommandItem[] }[] {\n const map = new Map<string, PdmCommandItem[]>();\n for (const item of this.filteredItems) {\n const key = item.group || '';\n const arr = map.get(key) ?? [];\n arr.push(item);\n map.set(key, arr);\n }\n return Array.from(map.entries()).map(([name, items]) => ({ name, items }));\n }\n\n onQueryChange(event: Event): void {\n this.query = (event.target as HTMLInputElement).value;\n }\n\n toggleOpen(): void {\n this.openChange.emit(!this.open);\n }\n\n select(value: string): void {\n this.itemSelect.emit(value);\n }\n}\n","<div [ngClass]=\"['w-full', className]\">\n <div *ngIf=\"!open\" class=\"flex items-center gap-1\">\n <span class=\"text-sm font-medium text-muted-foreground\">{{\n hintLabel\n }}</span>\n <button\n type=\"button\"\n class=\"inline-flex h-5 appearance-none box-border items-center gap-0.5 rounded-sm border border-solid border-border bg-muted px-1.5\"\n (click)=\"toggleOpen()\"\n >\n <pdm-icon\n name=\"command\"\n [size]=\"12\"\n className=\"text-muted-foreground\"\n [decorative]=\"true\"\n ></pdm-icon>\n <span class=\"text-xs text-muted-foreground\">{{ hintKey }}</span>\n </button>\n </div>\n\n <section\n *ngIf=\"open\"\n class=\"flex w-full flex-col overflow-hidden rounded-lg border border-solid border-border bg-popover text-popover-foreground shadow-md\"\n >\n <div class=\"flex items-center gap-2 border-b border-border px-3\">\n <pdm-icon\n name=\"search\"\n [size]=\"16\"\n className=\"text-muted-foreground\"\n [decorative]=\"true\"\n ></pdm-icon>\n <input\n type=\"text\"\n [placeholder]=\"placeholder\"\n [value]=\"query\"\n (input)=\"onQueryChange($event)\"\n class=\"h-10 w-full appearance-none box-border bg-transparent py-3 text-sm text-foreground outline-none placeholder:text-muted-foreground\"\n />\n </div>\n\n <div class=\"max-h-[50vh] overflow-y-auto p-1 md:max-h-72\">\n <ng-container *ngFor=\"let group of groupedItems; let groupIndex = index\">\n <div\n *ngIf=\"group.name\"\n class=\"px-2 py-1.5 text-xs text-muted-foreground\"\n >\n {{ group.name }}\n </div>\n <button\n *ngFor=\"let item of group.items\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"flex w-full appearance-none box-border items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground\"\n [ngClass]=\"[\n item.disabled ? 'opacity-50' : '',\n item.label === 'Calendar' ? 'bg-accent text-accent-foreground' : '',\n ]\"\n (click)=\"select(item.value)\"\n >\n <span\n class=\"inline-flex h-4 w-4 items-center justify-center text-foreground\"\n >\n <pdm-icon\n *ngIf=\"item.icon\"\n [name]=\"item.icon\"\n [size]=\"16\"\n [decorative]=\"true\"\n ></pdm-icon>\n </span>\n <span class=\"min-w-0 flex-1 text-foreground\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{\n item.shortcut\n }}</span>\n </button>\n <div\n *ngIf=\"groupIndex === 0 && groupedItems.length > 1\"\n class=\"my-1 border-t border-border\"\n ></div>\n </ng-container>\n\n <p\n *ngIf=\"filteredItems.length === 0\"\n class=\"m-0 py-6 text-center text-sm text-muted-foreground\"\n >\n {{ emptyMessage }}\n </p>\n </div>\n </section>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { PdmIconModule } from \"pdm-ui-kit/src/icon\";\nimport { PdmCommandComponent } from \"./command.component\";\n\nconst COMPONENTS = [PdmCommandComponent];\n\n@NgModule({\n\timports: [CommonModule, PdmIconModule],\n\tdeclarations: COMPONENTS,\n\texports: COMPONENTS,\n})\nexport class PdmCommandModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAiBa,mBAAmB,CAAA;AALhC,IAAA,WAAA,GAAA;AAMW,QAAA,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AACZ,QAAA,IAAS,CAAA,SAAA,GAAG,OAAO,CAAC;AACpB,QAAA,IAAO,CAAA,OAAA,GAAG,GAAG,CAAC;AACd,QAAA,IAAW,CAAA,WAAA,GAAG,6BAA6B,CAAC;AAC5C,QAAA,IAAY,CAAA,YAAA,GAAG,mBAAmB,CAAC;QACnC,IAAA,CAAA,KAAK,GAAqB;AACjC,YAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;AAChF,YAAA,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;AAC9E,YAAA,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;AACtG,YAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvF,YAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC9F,YAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC9F,CAAC;AACO,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AAEd,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAU,CAAC;AACxC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW,CAAC;AAEnD,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;KA8BZ;AA5BC,IAAA,IAAI,aAAa,GAAA;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AAC1C,QAAA,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1E;AAED,IAAA,IAAI,YAAY,GAAA;;AACd,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,EAA4B,CAAC;AAChD,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AACrC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,CAAA,EAAA,GAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;AAC/B,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;KAC5E;AAED,IAAA,aAAa,CAAC,KAAY,EAAA;QACxB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;KACvD;IAED,UAAU,GAAA;QACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;AAED,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;;gHAhDU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,4RCjBhC,+tGAyFA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDxEa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,aAAa,EAAA,eAAA,EAEN,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+tGAAA,EAAA,CAAA;8BAGtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;AE7BT,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,CAAC;MAO5B,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAPT,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAG5B,YAAY,EAAE,aAAa,aAHlB,mBAAmB,CAAA,EAAA,CAAA,CAAA;8GAO1B,gBAAgB,EAAA,OAAA,EAAA,CAJlB,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;2FAIzB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;AACtC,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,UAAU;iBACnB,CAAA;;;ACXD;;AAEG;;;;"}
@@ -0,0 +1,191 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ViewChild, HostListener, NgModule } from '@angular/core';
3
+ import { TemplatePortal } from '@angular/cdk/portal';
4
+ import { mergeOverlayPanelClass, OVERLAY_BASE_Z_INDEX } from 'pdm-ui-kit/src/overlay';
5
+ import * as i1 from '@angular/cdk/overlay';
6
+ import { OverlayModule } from '@angular/cdk/overlay';
7
+ import * as i2 from '@angular/common';
8
+ import { CommonModule } from '@angular/common';
9
+
10
+ class PdmContextMenuComponent {
11
+ constructor(overlay, viewContainerRef, _elementRef, cdr) {
12
+ this.overlay = overlay;
13
+ this.viewContainerRef = viewContainerRef;
14
+ this._elementRef = _elementRef;
15
+ this.cdr = cdr;
16
+ this.items = [
17
+ { type: "item", label: "Back", value: "back", inset: true, shortcut: "⌘[" },
18
+ {
19
+ type: "item",
20
+ label: "Forward",
21
+ value: "forward",
22
+ inset: true,
23
+ shortcut: "⌘]",
24
+ disabled: true,
25
+ },
26
+ {
27
+ type: "item",
28
+ label: "Reload",
29
+ value: "reload",
30
+ inset: true,
31
+ shortcut: "⌘R",
32
+ },
33
+ {
34
+ type: "item",
35
+ label: "More Tools",
36
+ value: "more-tools",
37
+ inset: true,
38
+ showChevron: true,
39
+ },
40
+ { type: "separator" },
41
+ {
42
+ type: "item",
43
+ label: "Show Bookmarks Bar",
44
+ value: "show-bookmarks",
45
+ checked: true,
46
+ },
47
+ { type: "item", label: "Show Full URLs", value: "show-urls", inset: true },
48
+ { type: "separator" },
49
+ { type: "label", label: "People" },
50
+ { type: "separator" },
51
+ { type: "item", label: "Pedro Duarte", value: "pedro", selectedDot: true },
52
+ { type: "item", label: "Colm Tuite", value: "colm", inset: true },
53
+ ];
54
+ this.className = "";
55
+ this.triggerLabel = "Right click here";
56
+ this.width = 300;
57
+ this.height = 150;
58
+ this.panelClassName = "";
59
+ this.itemSelect = new EventEmitter();
60
+ this.open = false;
61
+ this.x = 0;
62
+ this.y = 0;
63
+ this.overlayRef = null;
64
+ this.outsideClickSub = null;
65
+ }
66
+ ngOnInit() { }
67
+ ngOnDestroy() {
68
+ this.destroyOverlay();
69
+ }
70
+ onContextMenu(event) {
71
+ event.preventDefault();
72
+ event.stopPropagation();
73
+ this.x = event.clientX;
74
+ this.y = event.clientY;
75
+ this.open = true;
76
+ this.cdr.markForCheck();
77
+ this.createOverlay();
78
+ }
79
+ select(item) {
80
+ if (item.disabled ||
81
+ item.type === "separator" ||
82
+ item.type === "label" ||
83
+ !item.value)
84
+ return;
85
+ this.itemSelect.emit(item.value);
86
+ this.open = false;
87
+ this.cdr.markForCheck();
88
+ this.destroyOverlay();
89
+ }
90
+ onDocumentClick(event) {
91
+ if (this.open && event.type === "click") {
92
+ // Don't close on click inside the menu
93
+ if (this.overlayRef &&
94
+ this.overlayRef.overlayElement.contains(event.target)) {
95
+ return;
96
+ }
97
+ this.close();
98
+ }
99
+ }
100
+ createOverlay() {
101
+ this.destroyOverlay();
102
+ // Create global position strategy at cursor position
103
+ const positionStrategy = this.overlay
104
+ .position()
105
+ .global()
106
+ .left(`${this.x}px`)
107
+ .top(`${this.y}px`);
108
+ const panelClass = mergeOverlayPanelClass(OVERLAY_BASE_Z_INDEX, this.panelClassName);
109
+ this.overlayRef = this.overlay.create({
110
+ positionStrategy,
111
+ panelClass,
112
+ });
113
+ const portal = new TemplatePortal(this.menuTemplateRef, this.viewContainerRef);
114
+ this.overlayRef.attach(portal);
115
+ // Close on click outside
116
+ this.outsideClickSub = this.overlayRef
117
+ .outsidePointerEvents()
118
+ .subscribe(() => {
119
+ this.close();
120
+ });
121
+ }
122
+ close() {
123
+ this.open = false;
124
+ this.cdr.markForCheck();
125
+ this.destroyOverlay();
126
+ }
127
+ destroyOverlay() {
128
+ if (this.outsideClickSub) {
129
+ this.outsideClickSub.unsubscribe();
130
+ this.outsideClickSub = null;
131
+ }
132
+ if (this.overlayRef) {
133
+ this.overlayRef.detach();
134
+ this.overlayRef.dispose();
135
+ this.overlayRef = null;
136
+ }
137
+ }
138
+ }
139
+ PdmContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmContextMenuComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
140
+ PdmContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmContextMenuComponent, selector: "pdm-context-menu", inputs: { items: "items", className: "className", triggerLabel: "triggerLabel", width: "width", height: "height", panelClassName: "panelClassName" }, outputs: { itemSelect: "itemSelect" }, host: { listeners: { "document:keydown.escape": "onDocumentClick()", "document:click": "onDocumentClick()" } }, viewQueries: [{ propertyName: "menuTemplateRef", first: true, predicate: ["menuTemplate"], descendants: true }], ngImport: i0, template: "<div\n class=\"relative\"\n [ngClass]=\"className\"\n (contextmenu)=\"onContextMenu($event)\"\n>\n <div\n class=\"flex items-center justify-center rounded-md border border-solid border-dashed border-border\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n >\n <span class=\"text-sm font-medium text-foreground\">{{ triggerLabel }}</span>\n </div>\n\n <!-- Template for CDK Overlay -->\n <ng-template #menuTemplate>\n <div\n class=\"min-w-48 max-w-xs rounded-md border border-solid border-border bg-popover p-1 text-popover-foreground shadow-md sm:min-w-52\"\n >\n <div>\n <ng-container *ngFor=\"let item of items\">\n <div\n *ngIf=\"item.type === 'separator'\"\n class=\"-mx-1 my-1 h-px bg-muted\"\n ></div>\n\n <div\n *ngIf=\"item.type === 'label'\"\n class=\"px-2 py-1.5 text-sm font-semibold text-foreground\"\n >\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"relative flex w-full appearance-none box-border cursor-default select-none items-center rounded-sm border-0 bg-transparent py-1.5 pr-2 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground disabled:pointer-events-none disabled:opacity-50\"\n [ngClass]=\"item.inset ? 'pl-8' : 'px-2'\"\n (click)=\"select(item)\"\n >\n <span\n class=\"mr-2 inline-flex w-4 shrink-0 items-center justify-center text-foreground\"\n >\n <svg\n *ngIf=\"item.checked\"\n viewBox=\"0 0 24 24\"\n class=\"h-3.5 w-3.5\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 12.5L9.2 16.7L19 7\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n <span\n *ngIf=\"item.selectedDot\"\n class=\"h-2 w-2 rounded-full bg-foreground\"\n ></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate text-foreground\">{{\n item.label\n }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{\n item.shortcut\n }}</span>\n <svg\n *ngIf=\"item.showChevron\"\n viewBox=\"0 0 24 24\"\n class=\"h-3.5 w-3.5 text-muted-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 6L15 12L9 18\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n </ng-container>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmContextMenuComponent, decorators: [{
142
+ type: Component,
143
+ args: [{ selector: "pdm-context-menu", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"relative\"\n [ngClass]=\"className\"\n (contextmenu)=\"onContextMenu($event)\"\n>\n <div\n class=\"flex items-center justify-center rounded-md border border-solid border-dashed border-border\"\n [style.width.px]=\"width\"\n [style.height.px]=\"height\"\n >\n <span class=\"text-sm font-medium text-foreground\">{{ triggerLabel }}</span>\n </div>\n\n <!-- Template for CDK Overlay -->\n <ng-template #menuTemplate>\n <div\n class=\"min-w-48 max-w-xs rounded-md border border-solid border-border bg-popover p-1 text-popover-foreground shadow-md sm:min-w-52\"\n >\n <div>\n <ng-container *ngFor=\"let item of items\">\n <div\n *ngIf=\"item.type === 'separator'\"\n class=\"-mx-1 my-1 h-px bg-muted\"\n ></div>\n\n <div\n *ngIf=\"item.type === 'label'\"\n class=\"px-2 py-1.5 text-sm font-semibold text-foreground\"\n >\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"relative flex w-full appearance-none box-border cursor-default select-none items-center rounded-sm border-0 bg-transparent py-1.5 pr-2 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground disabled:pointer-events-none disabled:opacity-50\"\n [ngClass]=\"item.inset ? 'pl-8' : 'px-2'\"\n (click)=\"select(item)\"\n >\n <span\n class=\"mr-2 inline-flex w-4 shrink-0 items-center justify-center text-foreground\"\n >\n <svg\n *ngIf=\"item.checked\"\n viewBox=\"0 0 24 24\"\n class=\"h-3.5 w-3.5\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 12.5L9.2 16.7L19 7\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n <span\n *ngIf=\"item.selectedDot\"\n class=\"h-2 w-2 rounded-full bg-foreground\"\n ></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate text-foreground\">{{\n item.label\n }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{\n item.shortcut\n }}</span>\n <svg\n *ngIf=\"item.showChevron\"\n viewBox=\"0 0 24 24\"\n class=\"h-3.5 w-3.5 text-muted-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 6L15 12L9 18\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n </ng-container>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block}\n"] }]
144
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
145
+ type: Input
146
+ }], className: [{
147
+ type: Input
148
+ }], triggerLabel: [{
149
+ type: Input
150
+ }], width: [{
151
+ type: Input
152
+ }], height: [{
153
+ type: Input
154
+ }], panelClassName: [{
155
+ type: Input
156
+ }], itemSelect: [{
157
+ type: Output
158
+ }], menuTemplateRef: [{
159
+ type: ViewChild,
160
+ args: ["menuTemplate"]
161
+ }], onDocumentClick: [{
162
+ type: HostListener,
163
+ args: ["document:keydown.escape"]
164
+ }, {
165
+ type: HostListener,
166
+ args: ["document:click"]
167
+ }] } });
168
+
169
+ const COMPONENTS = [
170
+ PdmContextMenuComponent,
171
+ ];
172
+ class PdmContextMenuModule {
173
+ }
174
+ PdmContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
175
+ PdmContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmContextMenuModule, declarations: [PdmContextMenuComponent], imports: [CommonModule, OverlayModule], exports: [PdmContextMenuComponent] });
176
+ PdmContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmContextMenuModule, imports: [CommonModule, OverlayModule] });
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmContextMenuModule, decorators: [{
178
+ type: NgModule,
179
+ args: [{
180
+ imports: [CommonModule, OverlayModule],
181
+ declarations: COMPONENTS,
182
+ exports: COMPONENTS
183
+ }]
184
+ }] });
185
+
186
+ /**
187
+ * Generated bundle index. Do not edit.
188
+ */
189
+
190
+ export { PdmContextMenuComponent, PdmContextMenuModule };
191
+ //# sourceMappingURL=pdm-ui-kit-src-context-menu.mjs.map