pdm-ui-kit 0.1.0 → 0.1.2

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 (245) hide show
  1. package/README.md +115 -59
  2. package/esm2020/lib/components/accordion/accordion.component.mjs +42 -0
  3. package/esm2020/lib/components/alert/alert.component.mjs +35 -0
  4. package/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +69 -0
  5. package/esm2020/lib/components/aspect-ratio/aspect-ratio.component.mjs +31 -0
  6. package/esm2020/lib/components/avatar/avatar.component.mjs +46 -0
  7. package/esm2020/lib/components/badge/badge.component.mjs +23 -0
  8. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +29 -0
  9. package/esm2020/lib/components/button/button.component.mjs +82 -0
  10. package/esm2020/lib/components/button-group/button-group.component.mjs +23 -0
  11. package/esm2020/lib/components/calendar/calendar.component.mjs +71 -0
  12. package/esm2020/lib/components/card/card.component.mjs +65 -0
  13. package/esm2020/lib/components/carousel/carousel.component.mjs +97 -0
  14. package/esm2020/lib/components/chart/chart.component.mjs +174 -0
  15. package/esm2020/lib/components/checkbox/checkbox.component.mjs +47 -0
  16. package/esm2020/lib/components/collapsible/collapsible.component.mjs +43 -0
  17. package/esm2020/lib/components/combobox/combobox.component.mjs +51 -0
  18. package/esm2020/lib/components/command/command.component.mjs +75 -0
  19. package/esm2020/lib/components/context-menu/context-menu.component.mjs +78 -0
  20. package/esm2020/lib/components/data-table/data-table.component.mjs +89 -0
  21. package/esm2020/lib/components/date-picker/date-picker.component.mjs +63 -0
  22. package/esm2020/lib/components/dialog/dialog.component.mjs +90 -0
  23. package/esm2020/lib/components/drawer/drawer.component.mjs +72 -0
  24. package/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +120 -0
  25. package/esm2020/lib/components/empty/empty.component.mjs +58 -0
  26. package/esm2020/lib/components/field/field.component.mjs +52 -0
  27. package/esm2020/lib/components/hover-card/hover-card.component.mjs +44 -0
  28. package/esm2020/lib/components/icon/icon.component.mjs +94 -0
  29. package/esm2020/lib/components/input/input.component.mjs +65 -0
  30. package/esm2020/lib/components/input-group/input-group.component.mjs +54 -0
  31. package/esm2020/lib/components/input-otp/input-otp.component.mjs +140 -0
  32. package/esm2020/lib/components/input-password/input-password.component.mjs +72 -0
  33. package/esm2020/lib/components/item/item.component.mjs +23 -0
  34. package/esm2020/lib/components/kbd/kbd.component.mjs +17 -0
  35. package/esm2020/lib/components/label/label.component.mjs +23 -0
  36. package/esm2020/lib/components/menubar/menubar.component.mjs +31 -0
  37. package/esm2020/lib/components/native-select/native-select.component.mjs +42 -0
  38. package/esm2020/lib/components/navigation-menu/navigation-menu.component.mjs +20 -0
  39. package/esm2020/lib/components/pagination/pagination.component.mjs +47 -0
  40. package/esm2020/lib/components/popover/popover.component.mjs +58 -0
  41. package/esm2020/lib/components/progress/progress.component.mjs +33 -0
  42. package/esm2020/lib/components/radio-group/radio-group.component.mjs +38 -0
  43. package/esm2020/lib/components/scroll-area/scroll-area.component.mjs +20 -0
  44. package/esm2020/lib/components/select/select.component.mjs +38 -0
  45. package/esm2020/lib/components/separator/separator.component.mjs +26 -0
  46. package/esm2020/lib/components/sheet/sheet.component.mjs +39 -0
  47. package/esm2020/lib/components/sidebar/sidebar.component.mjs +20 -0
  48. package/esm2020/lib/components/skeleton/skeleton.component.mjs +17 -0
  49. package/esm2020/lib/components/slider/slider.component.mjs +46 -0
  50. package/esm2020/lib/components/sonner/sonner.component.mjs +39 -0
  51. package/esm2020/lib/components/spinner/spinner.component.mjs +20 -0
  52. package/esm2020/lib/components/switch/switch.component.mjs +35 -0
  53. package/esm2020/lib/components/table/table.component.mjs +17 -0
  54. package/esm2020/lib/components/tabs/tabs.component.mjs +31 -0
  55. package/esm2020/lib/components/textarea/textarea.component.mjs +59 -0
  56. package/esm2020/lib/components/toggle/toggle.component.mjs +41 -0
  57. package/esm2020/lib/components/toggle-group/toggle-group.component.mjs +31 -0
  58. package/esm2020/lib/components/tooltip/tooltip.component.mjs +33 -0
  59. package/esm2020/lib/pdm-ui-kit.module.mjs +245 -0
  60. package/esm2020/pdm-ui-kit.mjs +5 -0
  61. package/esm2020/public-api.mjs +59 -0
  62. package/fesm2015/pdm-ui-kit.mjs +2959 -0
  63. package/fesm2015/pdm-ui-kit.mjs.map +1 -0
  64. package/fesm2020/pdm-ui-kit.mjs +2954 -0
  65. package/fesm2020/pdm-ui-kit.mjs.map +1 -0
  66. package/index.d.ts +5 -0
  67. package/lib/components/accordion/accordion.component.d.ts +19 -0
  68. package/lib/components/alert/alert.component.d.ts +13 -0
  69. package/lib/components/alert-dialog/alert-dialog.component.d.ts +21 -0
  70. package/lib/components/aspect-ratio/aspect-ratio.component.d.ts +10 -0
  71. package/lib/components/avatar/avatar.component.d.ts +20 -0
  72. package/lib/components/badge/badge.component.d.ts +9 -0
  73. package/lib/components/breadcrumb/breadcrumb.component.d.ts +10 -0
  74. package/lib/components/button/button.component.d.ts +24 -0
  75. package/lib/components/button-group/button-group.component.d.ts +9 -0
  76. package/lib/components/calendar/calendar.component.d.ts +28 -0
  77. package/lib/components/card/card.component.d.ts +24 -0
  78. package/lib/components/carousel/carousel.component.d.ts +25 -0
  79. package/lib/components/chart/chart.component.d.ts +41 -0
  80. package/lib/components/checkbox/checkbox.component.d.ts +17 -0
  81. package/lib/components/collapsible/collapsible.component.d.ts +14 -0
  82. package/lib/components/combobox/combobox.component.d.ts +18 -0
  83. package/lib/components/command/command.component.d.ts +33 -0
  84. package/lib/components/context-menu/context-menu.component.d.ts +26 -0
  85. package/lib/components/data-table/data-table.component.d.ts +36 -0
  86. package/lib/components/date-picker/date-picker.component.d.ts +23 -0
  87. package/lib/components/dialog/dialog.component.d.ts +30 -0
  88. package/lib/components/drawer/drawer.component.d.ts +27 -0
  89. package/lib/components/dropdown-menu/dropdown-menu.component.d.ts +34 -0
  90. package/lib/components/empty/empty.component.d.ts +19 -0
  91. package/lib/components/field/field.component.d.ts +18 -0
  92. package/lib/components/hover-card/hover-card.component.d.ts +14 -0
  93. package/lib/components/icon/icon.component.d.ts +18 -0
  94. package/lib/components/input/input.component.d.ts +23 -0
  95. package/lib/components/input-group/input-group.component.d.ts +19 -0
  96. package/lib/components/input-otp/input-otp.component.d.ts +26 -0
  97. package/lib/components/input-password/input-password.component.d.ts +25 -0
  98. package/lib/components/item/item.component.d.ts +8 -0
  99. package/lib/components/kbd/kbd.component.d.ts +6 -0
  100. package/lib/components/label/label.component.d.ts +8 -0
  101. package/lib/components/menubar/menubar.component.d.ts +17 -0
  102. package/lib/components/native-select/native-select.component.d.ts +20 -0
  103. package/lib/components/navigation-menu/navigation-menu.component.d.ts +12 -0
  104. package/lib/components/pagination/pagination.component.d.ts +13 -0
  105. package/lib/components/popover/popover.component.d.ts +17 -0
  106. package/lib/components/progress/progress.component.d.ts +10 -0
  107. package/lib/components/radio-group/radio-group.component.d.ts +19 -0
  108. package/lib/components/scroll-area/scroll-area.component.d.ts +7 -0
  109. package/lib/components/select/select.component.d.ts +19 -0
  110. package/lib/components/separator/separator.component.d.ts +9 -0
  111. package/lib/components/sheet/sheet.component.d.ts +13 -0
  112. package/lib/components/sidebar/sidebar.component.d.ts +7 -0
  113. package/lib/components/skeleton/skeleton.component.d.ts +6 -0
  114. package/lib/components/slider/slider.component.d.ts +15 -0
  115. package/lib/components/sonner/sonner.component.d.ts +13 -0
  116. package/lib/components/spinner/spinner.component.d.ts +7 -0
  117. package/lib/components/switch/switch.component.d.ts +13 -0
  118. package/lib/components/table/table.component.d.ts +6 -0
  119. package/lib/components/tabs/tabs.component.d.ts +16 -0
  120. package/lib/components/textarea/textarea.component.d.ts +21 -0
  121. package/lib/components/toggle/toggle.component.d.ts +14 -0
  122. package/lib/components/toggle-group/toggle-group.component.d.ts +16 -0
  123. package/lib/components/tooltip/tooltip.component.d.ts +10 -0
  124. package/lib/pdm-ui-kit.module.d.ts +64 -0
  125. package/package.json +25 -10
  126. package/FIGMA_COMPONENT_AUDIT.md +0 -154
  127. package/ng-package.json +0 -7
  128. package/src/lib/components/accordion/accordion.component.html +0 -34
  129. package/src/lib/components/accordion/accordion.component.ts +0 -38
  130. package/src/lib/components/alert/alert.component.html +0 -52
  131. package/src/lib/components/alert/alert.component.ts +0 -25
  132. package/src/lib/components/alert-dialog/alert-dialog.component.html +0 -41
  133. package/src/lib/components/alert-dialog/alert-dialog.component.ts +0 -45
  134. package/src/lib/components/aspect-ratio/aspect-ratio.component.html +0 -11
  135. package/src/lib/components/aspect-ratio/aspect-ratio.component.ts +0 -18
  136. package/src/lib/components/avatar/avatar.component.html +0 -21
  137. package/src/lib/components/avatar/avatar.component.ts +0 -32
  138. package/src/lib/components/badge/badge.component.html +0 -28
  139. package/src/lib/components/badge/badge.component.ts +0 -23
  140. package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -39
  141. package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -26
  142. package/src/lib/components/button/button.component.html +0 -15
  143. package/src/lib/components/button/button.component.ts +0 -84
  144. package/src/lib/components/button-group/button-group.component.html +0 -39
  145. package/src/lib/components/button-group/button-group.component.ts +0 -15
  146. package/src/lib/components/calendar/calendar.component.html +0 -73
  147. package/src/lib/components/calendar/calendar.component.ts +0 -78
  148. package/src/lib/components/card/card.component.html +0 -77
  149. package/src/lib/components/card/card.component.ts +0 -39
  150. package/src/lib/components/carousel/carousel.component.html +0 -86
  151. package/src/lib/components/carousel/carousel.component.ts +0 -100
  152. package/src/lib/components/chart/chart.component.html +0 -143
  153. package/src/lib/components/chart/chart.component.ts +0 -147
  154. package/src/lib/components/checkbox/checkbox.component.html +0 -38
  155. package/src/lib/components/checkbox/checkbox.component.ts +0 -32
  156. package/src/lib/components/collapsible/collapsible.component.html +0 -26
  157. package/src/lib/components/collapsible/collapsible.component.ts +0 -29
  158. package/src/lib/components/combobox/combobox.component.html +0 -42
  159. package/src/lib/components/combobox/combobox.component.ts +0 -32
  160. package/src/lib/components/command/command.component.html +0 -55
  161. package/src/lib/components/command/command.component.ts +0 -67
  162. package/src/lib/components/context-menu/context-menu.component.html +0 -47
  163. package/src/lib/components/context-menu/context-menu.component.ts +0 -67
  164. package/src/lib/components/data-table/data-table.component.html +0 -63
  165. package/src/lib/components/data-table/data-table.component.ts +0 -78
  166. package/src/lib/components/date-picker/date-picker.component.html +0 -38
  167. package/src/lib/components/date-picker/date-picker.component.ts +0 -34
  168. package/src/lib/components/dialog/dialog.component.html +0 -78
  169. package/src/lib/components/dialog/dialog.component.ts +0 -55
  170. package/src/lib/components/drawer/drawer.component.html +0 -56
  171. package/src/lib/components/drawer/drawer.component.ts +0 -43
  172. package/src/lib/components/dropdown-menu/dropdown-menu.component.html +0 -56
  173. package/src/lib/components/dropdown-menu/dropdown-menu.component.ts +0 -126
  174. package/src/lib/components/empty/empty.component.html +0 -29
  175. package/src/lib/components/empty/empty.component.ts +0 -35
  176. package/src/lib/components/field/field.component.html +0 -22
  177. package/src/lib/components/field/field.component.ts +0 -28
  178. package/src/lib/components/hover-card/hover-card.component.html +0 -24
  179. package/src/lib/components/hover-card/hover-card.component.ts +0 -36
  180. package/src/lib/components/icon/icon.component.html +0 -286
  181. package/src/lib/components/icon/icon.component.ts +0 -133
  182. package/src/lib/components/input/input.component.html +0 -22
  183. package/src/lib/components/input/input.component.ts +0 -33
  184. package/src/lib/components/input-group/input-group.component.html +0 -31
  185. package/src/lib/components/input-group/input-group.component.ts +0 -26
  186. package/src/lib/components/input-otp/input-otp.component.html +0 -25
  187. package/src/lib/components/input-otp/input-otp.component.ts +0 -146
  188. package/src/lib/components/input-password/input-password.component.html +0 -64
  189. package/src/lib/components/input-password/input-password.component.ts +0 -46
  190. package/src/lib/components/item/item.component.html +0 -10
  191. package/src/lib/components/item/item.component.ts +0 -12
  192. package/src/lib/components/kbd/kbd.component.html +0 -3
  193. package/src/lib/components/kbd/kbd.component.ts +0 -10
  194. package/src/lib/components/label/label.component.html +0 -7
  195. package/src/lib/components/label/label.component.ts +0 -12
  196. package/src/lib/components/menubar/menubar.component.html +0 -16
  197. package/src/lib/components/menubar/menubar.component.ts +0 -29
  198. package/src/lib/components/native-select/native-select.component.html +0 -17
  199. package/src/lib/components/native-select/native-select.component.ts +0 -28
  200. package/src/lib/components/navigation-menu/navigation-menu.component.html +0 -15
  201. package/src/lib/components/navigation-menu/navigation-menu.component.ts +0 -17
  202. package/src/lib/components/pagination/pagination.component.html +0 -30
  203. package/src/lib/components/pagination/pagination.component.ts +0 -37
  204. package/src/lib/components/popover/popover.component.html +0 -6
  205. package/src/lib/components/popover/popover.component.ts +0 -40
  206. package/src/lib/components/progress/progress.component.html +0 -9
  207. package/src/lib/components/progress/progress.component.ts +0 -20
  208. package/src/lib/components/radio-group/radio-group.component.html +0 -25
  209. package/src/lib/components/radio-group/radio-group.component.ts +0 -30
  210. package/src/lib/components/scroll-area/scroll-area.component.html +0 -5
  211. package/src/lib/components/scroll-area/scroll-area.component.ts +0 -11
  212. package/src/lib/components/select/select.component.html +0 -14
  213. package/src/lib/components/select/select.component.ts +0 -27
  214. package/src/lib/components/separator/separator.component.html +0 -5
  215. package/src/lib/components/separator/separator.component.ts +0 -16
  216. package/src/lib/components/sheet/sheet.component.html +0 -10
  217. package/src/lib/components/sheet/sheet.component.ts +0 -28
  218. package/src/lib/components/sidebar/sidebar.component.html +0 -3
  219. package/src/lib/components/sidebar/sidebar.component.ts +0 -11
  220. package/src/lib/components/skeleton/skeleton.component.html +0 -1
  221. package/src/lib/components/skeleton/skeleton.component.ts +0 -10
  222. package/src/lib/components/slider/slider.component.html +0 -15
  223. package/src/lib/components/slider/slider.component.ts +0 -31
  224. package/src/lib/components/sonner/sonner.component.html +0 -10
  225. package/src/lib/components/sonner/sonner.component.ts +0 -25
  226. package/src/lib/components/spinner/spinner.component.html +0 -6
  227. package/src/lib/components/spinner/spinner.component.ts +0 -11
  228. package/src/lib/components/switch/switch.component.html +0 -14
  229. package/src/lib/components/switch/switch.component.ts +0 -20
  230. package/src/lib/components/table/table.component.html +0 -5
  231. package/src/lib/components/table/table.component.ts +0 -10
  232. package/src/lib/components/tabs/tabs.component.html +0 -21
  233. package/src/lib/components/tabs/tabs.component.ts +0 -26
  234. package/src/lib/components/textarea/textarea.component.html +0 -21
  235. package/src/lib/components/textarea/textarea.component.ts +0 -28
  236. package/src/lib/components/toggle/toggle.component.html +0 -16
  237. package/src/lib/components/toggle/toggle.component.ts +0 -29
  238. package/src/lib/components/toggle-group/toggle-group.component.html +0 -17
  239. package/src/lib/components/toggle-group/toggle-group.component.ts +0 -26
  240. package/src/lib/components/tooltip/tooltip.component.html +0 -6
  241. package/src/lib/components/tooltip/tooltip.component.ts +0 -20
  242. package/src/lib/pdm-ui-kit.module.ts +0 -126
  243. package/tsconfig.lib.json +0 -17
  244. package/tsconfig.lib.prod.json +0 -9
  245. /package/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,72 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmInputPasswordComponent {
5
+ constructor() {
6
+ this.id = '';
7
+ this.value = '';
8
+ this.placeholder = '';
9
+ this.disabled = false;
10
+ this.readonly = false;
11
+ this.required = false;
12
+ this.invalid = false;
13
+ this.className = '';
14
+ this.inputClassName = '';
15
+ this.label = '';
16
+ this.helperText = '';
17
+ this.errorText = '';
18
+ this.valueChange = new EventEmitter();
19
+ this.blurred = new EventEmitter();
20
+ this.showPassword = false;
21
+ }
22
+ get inputType() {
23
+ return this.showPassword ? 'text' : 'password';
24
+ }
25
+ onInput(event) {
26
+ this.valueChange.emit(event.target.value);
27
+ }
28
+ onBlur(event) {
29
+ this.blurred.emit(event);
30
+ }
31
+ toggleVisibility() {
32
+ if (this.disabled) {
33
+ return;
34
+ }
35
+ this.showPassword = !this.showPassword;
36
+ }
37
+ }
38
+ PdmInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ PdmInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmInputPasswordComponent, selector: "pdm-input-password", inputs: { id: "id", value: "value", placeholder: "placeholder", disabled: "disabled", readonly: "readonly", required: "required", invalid: "invalid", className: "className", inputClassName: "inputClassName", label: "label", helperText: "helperText", errorText: "errorText" }, outputs: { valueChange: "valueChange", blurred: "blurred" }, ngImport: i0, template: "<div [ngClass]=\"['grid w-full gap-2', className]\">\n <label *ngIf=\"label\" [attr.for]=\"id\" class=\"text-sm font-medium leading-5 text-foreground\">{{ label }}</label>\n <div class=\"relative\">\n <input\n [id]=\"id\"\n [type]=\"inputType\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"[\n 'flex h-9 w-full rounded-[8px] border bg-background px-3 py-2 pr-10 text-sm leading-5 text-foreground shadow-[0_1px_2px_rgba(0,0,0,0.1)] outline-none ring-offset-background placeholder:text-muted-foreground focus:outline-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/30 disabled:cursor-not-allowed disabled:opacity-50',\n invalid ? 'border-destructive' : 'border-input',\n inputClassName\n ]\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur($event)\"\n />\n <button\n type=\"button\"\n class=\"absolute right-2 top-1/2 inline-flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded border-0 bg-transparent p-0 text-muted-foreground outline-none transition-colors hover:text-foreground focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"showPassword ? 'Hide password' : 'Show password'\"\n (click)=\"toggleVisibility()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <path d=\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\"></path>\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <path d=\"M3 3l18 18\"></path>\n <path d=\"M10.58 10.58a2 2 0 1 0 2.83 2.83\"></path>\n <path d=\"M9.88 5.09A10.94 10.94 0 0 1 12 4.91c5.05 0 9.27 3.11 10.6 7.09a1 1 0 0 1 0 .64 11.9 11.9 0 0 1-1.84 3.2\"></path>\n <path d=\"M6.61 6.61A11.81 11.81 0 0 0 1.4 12a1 1 0 0 0 0 .64 11.83 11.83 0 0 0 8.79 7.54\"></path>\n </svg>\n </button>\n </div>\n <p *ngIf=\"!invalid && helperText\" class=\"text-sm leading-5 text-muted-foreground\">{{ helperText }}</p>\n <p *ngIf=\"invalid && errorText\" class=\"text-sm leading-5 text-destructive\">{{ errorText }}</p>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmInputPasswordComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'pdm-input-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['grid w-full gap-2', className]\">\n <label *ngIf=\"label\" [attr.for]=\"id\" class=\"text-sm font-medium leading-5 text-foreground\">{{ label }}</label>\n <div class=\"relative\">\n <input\n [id]=\"id\"\n [type]=\"inputType\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"[\n 'flex h-9 w-full rounded-[8px] border bg-background px-3 py-2 pr-10 text-sm leading-5 text-foreground shadow-[0_1px_2px_rgba(0,0,0,0.1)] outline-none ring-offset-background placeholder:text-muted-foreground focus:outline-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/30 disabled:cursor-not-allowed disabled:opacity-50',\n invalid ? 'border-destructive' : 'border-input',\n inputClassName\n ]\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur($event)\"\n />\n <button\n type=\"button\"\n class=\"absolute right-2 top-1/2 inline-flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded border-0 bg-transparent p-0 text-muted-foreground outline-none transition-colors hover:text-foreground focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"showPassword ? 'Hide password' : 'Show password'\"\n (click)=\"toggleVisibility()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <path d=\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\"></path>\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <path d=\"M3 3l18 18\"></path>\n <path d=\"M10.58 10.58a2 2 0 1 0 2.83 2.83\"></path>\n <path d=\"M9.88 5.09A10.94 10.94 0 0 1 12 4.91c5.05 0 9.27 3.11 10.6 7.09a1 1 0 0 1 0 .64 11.9 11.9 0 0 1-1.84 3.2\"></path>\n <path d=\"M6.61 6.61A11.81 11.81 0 0 0 1.4 12a1 1 0 0 0 0 .64 11.83 11.83 0 0 0 8.79 7.54\"></path>\n </svg>\n </button>\n </div>\n <p *ngIf=\"!invalid && helperText\" class=\"text-sm leading-5 text-muted-foreground\">{{ helperText }}</p>\n <p *ngIf=\"invalid && errorText\" class=\"text-sm leading-5 text-destructive\">{{ errorText }}</p>\n</div>\n" }]
43
+ }], propDecorators: { id: [{
44
+ type: Input
45
+ }], value: [{
46
+ type: Input
47
+ }], placeholder: [{
48
+ type: Input
49
+ }], disabled: [{
50
+ type: Input
51
+ }], readonly: [{
52
+ type: Input
53
+ }], required: [{
54
+ type: Input
55
+ }], invalid: [{
56
+ type: Input
57
+ }], className: [{
58
+ type: Input
59
+ }], inputClassName: [{
60
+ type: Input
61
+ }], label: [{
62
+ type: Input
63
+ }], helperText: [{
64
+ type: Input
65
+ }], errorText: [{
66
+ type: Input
67
+ }], valueChange: [{
68
+ type: Output
69
+ }], blurred: [{
70
+ type: Output
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1wYXNzd29yZC9pbnB1dC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPaEcsTUFBTSxPQUFPLHlCQUF5QjtJQUx0QztRQU1XLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVkLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUVuRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztLQXFCdEI7SUFuQkMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFpQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3pDLENBQUM7O3VIQXJDVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwyWUNQdEMscTdGQWdFQTs0RkR6RGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQixtQkFFYix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0taW5wdXQtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1JbnB1dFBhc3N3b3JkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQgPSAnJztcbiAgQElucHV0KCkgdmFsdWUgPSAnJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgaW5wdXRDbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgaGVscGVyVGV4dCA9ICcnO1xuICBASW5wdXQoKSBlcnJvclRleHQgPSAnJztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGJsdXJyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgc2hvd1Bhc3N3b3JkID0gZmFsc2U7XG5cbiAgZ2V0IGlucHV0VHlwZSgpOiAndGV4dCcgfCAncGFzc3dvcmQnIHtcbiAgICByZXR1cm4gdGhpcy5zaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnO1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XG4gIH1cblxuICBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXJyZWQuZW1pdChldmVudCk7XG4gIH1cblxuICB0b2dnbGVWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UGFzc3dvcmQgPSAhdGhpcy5zaG93UGFzc3dvcmQ7XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydncmlkIHctZnVsbCBnYXAtMicsIGNsYXNzTmFtZV1cIj5cbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBbYXR0ci5mb3JdPVwiaWRcIiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy01IHRleHQtZm9yZWdyb3VuZFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XG4gICAgPGlucHV0XG4gICAgICBbaWRdPVwiaWRcIlxuICAgICAgW3R5cGVdPVwiaW5wdXRUeXBlXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAnZmxleCBoLTkgdy1mdWxsIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJnLWJhY2tncm91bmQgcHgtMyBweS0yIHByLTEwIHRleHQtc20gbGVhZGluZy01IHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctWzBfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMSldIG91dGxpbmUtbm9uZSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIHBsYWNlaG9sZGVyOnRleHQtbXV0ZWQtZm9yZWdyb3VuZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTEgZm9jdXMtdmlzaWJsZTpyaW5nLXByaW1hcnkvMzAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAnLFxuICAgICAgICBpbnZhbGlkID8gJ2JvcmRlci1kZXN0cnVjdGl2ZScgOiAnYm9yZGVyLWlucHV0JyxcbiAgICAgICAgaW5wdXRDbGFzc05hbWVcbiAgICAgIF1cIlxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtMiB0b3AtMS8yIGlubGluZS1mbGV4IGgtNiB3LTYgLXRyYW5zbGF0ZS15LTEvMiBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZCBib3JkZXItMCBiZy10cmFuc3BhcmVudCBwLTAgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWZvcmVncm91bmQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTYwXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNob3dQYXNzd29yZCA/ICdIaWRlIHBhc3N3b3JkJyA6ICdTaG93IHBhc3N3b3JkJ1wiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlVmlzaWJpbGl0eSgpXCJcbiAgICA+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ0lmPVwiIXNob3dQYXNzd29yZFwiXG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgY2xhc3M9XCJoLTQgdy00XCJcbiAgICAgID5cbiAgICAgICAgPHBhdGggZD1cIk0yLjA2MiAxMi4zNDhhMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSAxOS44NzYgMCAxIDEgMCAwIDEgMCAuNjk2IDEwLjc1IDEwLjc1IDAgMCAxLTE5Ljg3NiAwXCI+PC9wYXRoPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjNcIj48L2NpcmNsZT5cbiAgICAgIDwvc3ZnPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdJZj1cInNob3dQYXNzd29yZFwiXG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgY2xhc3M9XCJoLTQgdy00XCJcbiAgICAgID5cbiAgICAgICAgPHBhdGggZD1cIk0zIDNsMTggMThcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTAuNTggMTAuNThhMiAyIDAgMSAwIDIuODMgMi44M1wiPjwvcGF0aD5cbiAgICAgICAgPHBhdGggZD1cIk05Ljg4IDUuMDlBMTAuOTQgMTAuOTQgMCAwIDEgMTIgNC45MWM1LjA1IDAgOS4yNyAzLjExIDEwLjYgNy4wOWExIDEgMCAwIDEgMCAuNjQgMTEuOSAxMS45IDAgMCAxLTEuODQgMy4yXCI+PC9wYXRoPlxuICAgICAgICA8cGF0aCBkPVwiTTYuNjEgNi42MUExMS44MSAxMS44MSAwIDAgMCAxLjQgMTJhMSAxIDAgMCAwIDAgLjY0IDExLjgzIDExLjgzIDAgMCAwIDguNzkgNy41NFwiPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPHAgKm5nSWY9XCIhaW52YWxpZCAmJiBoZWxwZXJUZXh0XCIgY2xhc3M9XCJ0ZXh0LXNtIGxlYWRpbmctNSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj57eyBoZWxwZXJUZXh0IH19PC9wPlxuICA8cCAqbmdJZj1cImludmFsaWQgJiYgZXJyb3JUZXh0XCIgY2xhc3M9XCJ0ZXh0LXNtIGxlYWRpbmctNSB0ZXh0LWRlc3RydWN0aXZlXCI+e3sgZXJyb3JUZXh0IH19PC9wPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmItemComponent {
5
+ constructor() {
6
+ this.className = '';
7
+ this.disabled = false;
8
+ this.selected = false;
9
+ }
10
+ }
11
+ PdmItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ PdmItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmItemComponent, selector: "pdm-item", inputs: { className: "className", disabled: "disabled", selected: "selected" }, ngImport: i0, template: "<div\n [ngClass]=\"[\n 'relative flex w-full select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors',\n selected ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]' : 'text-[hsl(var(--foreground))]',\n disabled ? 'pointer-events-none opacity-50' : 'hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]',\n className\n ]\"\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmItemComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'pdm-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [ngClass]=\"[\n 'relative flex w-full select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors',\n selected ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]' : 'text-[hsl(var(--foreground))]',\n disabled ? 'pointer-events-none opacity-50' : 'hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]',\n className\n ]\"\n>\n <ng-content></ng-content>\n</div>\n" }]
16
+ }], propDecorators: { className: [{
17
+ type: Input
18
+ }], disabled: [{
19
+ type: Input
20
+ }], selected: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaXRlbS9pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pdGVtL2l0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xRSxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBTVcsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztLQUMzQjs7OEdBSlksZ0JBQWdCO2tHQUFoQixnQkFBZ0IsZ0lDUDdCLGtjQVVBOzRGREhhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVLG1CQUVILHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0ZWQgPSBmYWxzZTtcbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwiW1xuICAgICdyZWxhdGl2ZSBmbGV4IHctZnVsbCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZC1zbSBweC0yIHB5LTEuNSB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycycsXG4gICAgc2VsZWN0ZWQgPyAnYmctW2hzbCh2YXIoLS1hY2NlbnQpKV0gdGV4dC1baHNsKHZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKSldJyA6ICd0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXScsXG4gICAgZGlzYWJsZWQgPyAncG9pbnRlci1ldmVudHMtbm9uZSBvcGFjaXR5LTUwJyA6ICdob3ZlcjpiZy1baHNsKHZhcigtLWFjY2VudCkpXSBob3Zlcjp0ZXh0LVtoc2wodmFyKC0tYWNjZW50LWZvcmVncm91bmQpKV0nLFxuICAgIGNsYXNzTmFtZVxuICBdXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmKbdComponent {
5
+ constructor() {
6
+ this.className = '';
7
+ }
8
+ }
9
+ PdmKbdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmKbdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ PdmKbdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmKbdComponent, selector: "pdm-kbd", inputs: { className: "className" }, ngImport: i0, template: "<kbd [ngClass]=\"['inline-flex h-6 min-w-[24px] items-center justify-center rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted))] px-1.5 font-mono text-xs font-medium text-[hsl(var(--muted-foreground))]', className]\">\n <ng-content></ng-content>\n</kbd>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmKbdComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'pdm-kbd', changeDetection: ChangeDetectionStrategy.OnPush, template: "<kbd [ngClass]=\"['inline-flex h-6 min-w-[24px] items-center justify-center rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted))] px-1.5 font-mono text-xs font-medium text-[hsl(var(--muted-foreground))]', className]\">\n <ng-content></ng-content>\n</kbd>\n" }]
14
+ }], propDecorators: { className: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9rYmQva2JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9rYmQva2JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPMUUsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFNVyxjQUFTLEdBQUcsRUFBRSxDQUFDO0tBQ3pCOzs2R0FGWSxlQUFlO2lHQUFmLGVBQWUsbUZDUDVCLGtSQUdBOzRGRElhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWtiZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9rYmQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1LYmRDb21wb25lbnQge1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbn1cbiIsIjxrYmQgW25nQ2xhc3NdPVwiWydpbmxpbmUtZmxleCBoLTYgbWluLXctWzI0cHhdIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1tdXRlZCkpXSBweC0xLjUgZm9udC1tb25vIHRleHQteHMgZm9udC1tZWRpdW0gdGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV0nLCBjbGFzc05hbWVdXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwva2JkPlxuIl19
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmLabelComponent {
5
+ constructor() {
6
+ this.forId = '';
7
+ this.required = false;
8
+ this.className = '';
9
+ }
10
+ }
11
+ PdmLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ PdmLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmLabelComponent, selector: "pdm-label", inputs: { forId: "forId", required: "required", className: "className" }, ngImport: i0, template: "<label\n [attr.for]=\"forId\"\n [ngClass]=\"['text-sm font-medium leading-5 text-[hsl(var(--foreground))] peer-disabled:cursor-not-allowed peer-disabled:opacity-70', className]\"\n>\n <ng-content></ng-content>\n <span *ngIf=\"required\" class=\"ml-1 text-[hsl(var(--destructive))]\">*</span>\n</label>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmLabelComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'pdm-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\n [attr.for]=\"forId\"\n [ngClass]=\"['text-sm font-medium leading-5 text-[hsl(var(--foreground))] peer-disabled:cursor-not-allowed peer-disabled:opacity-70', className]\"\n>\n <ng-content></ng-content>\n <span *ngIf=\"required\" class=\"ml-1 text-[hsl(var(--destructive))]\">*</span>\n</label>\n" }]
16
+ }], propDecorators: { forId: [{
17
+ type: Input
18
+ }], required: [{
19
+ type: Input
20
+ }], className: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xhYmVsL2xhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbC9sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFFLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFNVyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsRUFBRSxDQUFDO0tBQ3pCOzsrR0FKWSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwySENQOUIscVRBT0E7NEZEQWEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1sYWJlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUxhYmVsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZm9ySWQgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG59XG4iLCI8bGFiZWxcbiAgW2F0dHIuZm9yXT1cImZvcklkXCJcbiAgW25nQ2xhc3NdPVwiWyd0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBwZWVyLWRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBwZWVyLWRpc2FibGVkOm9wYWNpdHktNzAnLCBjbGFzc05hbWVdXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJtbC0xIHRleHQtW2hzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpXVwiPio8L3NwYW4+XG48L2xhYmVsPlxuIl19
@@ -0,0 +1,31 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmMenubarComponent {
5
+ constructor() {
6
+ this.menus = [];
7
+ this.className = '';
8
+ this.itemSelect = new EventEmitter();
9
+ this.openIndex = -1;
10
+ }
11
+ toggle(index) {
12
+ this.openIndex = this.openIndex === index ? -1 : index;
13
+ }
14
+ select(value) {
15
+ this.itemSelect.emit(value);
16
+ this.openIndex = -1;
17
+ }
18
+ }
19
+ PdmMenubarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmMenubarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ PdmMenubarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmMenubarComponent, selector: "pdm-menubar", inputs: { menus: "menus", className: "className" }, outputs: { itemSelect: "itemSelect" }, ngImport: i0, template: "<nav role=\"menubar\" [ngClass]=\"['inline-flex h-9 items-center gap-0.5 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-1 shadow-[0_1px_2px_rgba(0,0,0,0.1)]', className]\">\n <div *ngFor=\"let menu of menus; let i = index\" class=\"relative\">\n <button type=\"button\" class=\"inline-flex h-7 items-center rounded-sm px-3 text-sm leading-5 text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))]\" (click)=\"toggle(i)\">{{ menu.label }}</button>\n <div *ngIf=\"openIndex === i\" class=\"absolute left-0 top-full z-50 mt-1 min-w-[12rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-[0_4px_6px_rgba(0,0,0,0.09)]\">\n <button\n *ngFor=\"let item of menu.items\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"relative flex w-full cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm leading-5 outline-none hover:bg-[hsl(var(--accent))] disabled:pointer-events-none disabled:opacity-50\"\n (click)=\"select(item.value)\"\n >\n {{ item.label }}\n </button>\n </div>\n </div>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmMenubarComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'pdm-menubar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav role=\"menubar\" [ngClass]=\"['inline-flex h-9 items-center gap-0.5 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-1 shadow-[0_1px_2px_rgba(0,0,0,0.1)]', className]\">\n <div *ngFor=\"let menu of menus; let i = index\" class=\"relative\">\n <button type=\"button\" class=\"inline-flex h-7 items-center rounded-sm px-3 text-sm leading-5 text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))]\" (click)=\"toggle(i)\">{{ menu.label }}</button>\n <div *ngIf=\"openIndex === i\" class=\"absolute left-0 top-full z-50 mt-1 min-w-[12rem] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-[0_4px_6px_rgba(0,0,0,0.09)]\">\n <button\n *ngFor=\"let item of menu.items\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n class=\"relative flex w-full cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm leading-5 outline-none hover:bg-[hsl(var(--accent))] disabled:pointer-events-none disabled:opacity-50\"\n (click)=\"select(item.value)\"\n >\n {{ item.label }}\n </button>\n </div>\n </div>\n</nav>\n" }]
24
+ }], propDecorators: { menus: [{
25
+ type: Input
26
+ }], className: [{
27
+ type: Input
28
+ }], itemSelect: [{
29
+ type: Output
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBYWhHLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFNVyxVQUFLLEdBQXFCLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFbEQsY0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBVWhCO0lBUkMsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDOztpSEFkVSxtQkFBbUI7cUdBQW5CLG1CQUFtQiw4SUNiaEMsb3FDQWdCQTs0RkRIYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZG1NZW51SXRlbSB9IGZyb20gJy4uL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBkbU1lbnViYXJJdGVtIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgaXRlbXM6IFBkbU1lbnVJdGVtW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1tZW51YmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnViYXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1NZW51YmFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbWVudXM6IFBkbU1lbnViYXJJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgb3BlbkluZGV4ID0gLTE7XG5cbiAgdG9nZ2xlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5JbmRleCA9IHRoaXMub3BlbkluZGV4ID09PSBpbmRleCA/IC0xIDogaW5kZXg7XG4gIH1cblxuICBzZWxlY3QodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVNlbGVjdC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLm9wZW5JbmRleCA9IC0xO1xuICB9XG59XG4iLCI8bmF2IHJvbGU9XCJtZW51YmFyXCIgW25nQ2xhc3NdPVwiWydpbmxpbmUtZmxleCBoLTkgaXRlbXMtY2VudGVyIGdhcC0wLjUgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBwLTEgc2hhZG93LVswXzFweF8ycHhfcmdiYSgwLDAsMCwwLjEpXScsIGNsYXNzTmFtZV1cIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51czsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtNyBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweC0zIHRleHQtc20gbGVhZGluZy01IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIGhvdmVyOmJnLVtoc2wodmFyKC0tYWNjZW50KSldXCIgKGNsaWNrKT1cInRvZ2dsZShpKVwiPnt7IG1lbnUubGFiZWwgfX08L2J1dHRvbj5cbiAgICA8ZGl2ICpuZ0lmPVwib3BlbkluZGV4ID09PSBpXCIgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLWZ1bGwgei01MCBtdC0xIG1pbi13LVsxMnJlbV0gcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tcG9wb3ZlcikpXSBwLTEgdGV4dC1baHNsKHZhcigtLXBvcG92ZXItZm9yZWdyb3VuZCkpXSBzaGFkb3ctWzBfNHB4XzZweF9yZ2JhKDAsMCwwLDAuMDkpXVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51Lml0ZW1zXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBmbGV4IHctZnVsbCBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweC0yIHB5LTEuNSB0ZXh0LXNtIGxlYWRpbmctNSBvdXRsaW5lLW5vbmUgaG92ZXI6YmctW2hzbCh2YXIoLS1hY2NlbnQpKV0gZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpdGVtLnZhbHVlKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmF2PlxuIl19
@@ -0,0 +1,42 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../icon/icon.component";
5
+ export class PdmNativeSelectComponent {
6
+ constructor() {
7
+ this.id = '';
8
+ this.value = '';
9
+ this.disabled = false;
10
+ this.invalid = false;
11
+ this.options = [];
12
+ this.placeholder = 'Select an option';
13
+ this.className = '';
14
+ this.valueChange = new EventEmitter();
15
+ }
16
+ onChange(event) {
17
+ this.valueChange.emit(event.target.value);
18
+ }
19
+ }
20
+ PdmNativeSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmNativeSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ PdmNativeSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmNativeSelectComponent, selector: "pdm-native-select", inputs: { id: "id", value: "value", disabled: "disabled", invalid: "invalid", options: "options", placeholder: "placeholder", className: "className" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"relative\" [ngClass]=\"className\">\n <select\n [id]=\"id\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n (change)=\"onChange($event)\"\n [ngClass]=\"[\n 'flex h-9 w-full appearance-none rounded-[8px] border bg-[hsl(var(--background))] px-3 py-2 pr-9 text-sm leading-5 shadow-[0_1px_2px_rgba(0,0,0,0.1)] ring-offset-[hsl(var(--background))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--foreground))] disabled:cursor-not-allowed disabled:opacity-50',\n invalid ? 'border-[hsl(var(--destructive))]' : 'border-[hsl(var(--input))]'\n ]\"\n >\n <option value=\"\" disabled>{{ placeholder }}</option>\n <option *ngFor=\"let option of options\" [value]=\"option.value\" [disabled]=\"option.disabled\">{{ option.label }}</option>\n </select>\n <pdm-icon className=\"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-[hsl(var(--muted-foreground))]\" name=\"chevron-down\" [size]=\"16\"></pdm-icon>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmNativeSelectComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'pdm-native-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\" [ngClass]=\"className\">\n <select\n [id]=\"id\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n (change)=\"onChange($event)\"\n [ngClass]=\"[\n 'flex h-9 w-full appearance-none rounded-[8px] border bg-[hsl(var(--background))] px-3 py-2 pr-9 text-sm leading-5 shadow-[0_1px_2px_rgba(0,0,0,0.1)] ring-offset-[hsl(var(--background))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--foreground))] disabled:cursor-not-allowed disabled:opacity-50',\n invalid ? 'border-[hsl(var(--destructive))]' : 'border-[hsl(var(--input))]'\n ]\"\n >\n <option value=\"\" disabled>{{ placeholder }}</option>\n <option *ngFor=\"let option of options\" [value]=\"option.value\" [disabled]=\"option.disabled\">{{ option.label }}</option>\n </select>\n <pdm-icon className=\"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-[hsl(var(--muted-foreground))]\" name=\"chevron-down\" [size]=\"16\"></pdm-icon>\n</div>\n" }]
25
+ }], propDecorators: { id: [{
26
+ type: Input
27
+ }], value: [{
28
+ type: Input
29
+ }], disabled: [{
30
+ type: Input
31
+ }], invalid: [{
32
+ type: Input
33
+ }], options: [{
34
+ type: Input
35
+ }], placeholder: [{
36
+ type: Input
37
+ }], className: [{
38
+ type: Input
39
+ }], valueChange: [{
40
+ type: Output
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbmF0aXZlLXNlbGVjdC9uYXRpdmUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9uYXRpdmUtc2VsZWN0L25hdGl2ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWFoRyxNQUFNLE9BQU8sd0JBQXdCO0lBTHJDO1FBTVcsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUE0QixFQUFFLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQztRQUNqQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBS3BEO0lBSEMsUUFBUSxDQUFDLEtBQVk7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLE1BQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7c0hBYlUsd0JBQXdCOzBHQUF4Qix3QkFBd0IsMFBDYnJDLGdoQ0FpQkE7NEZESmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG1CQUFtQixtQkFFWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBkbU5hdGl2ZVNlbGVjdE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLW5hdGl2ZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF0aXZlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbU5hdGl2ZVNlbGVjdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlkID0gJyc7XG4gIEBJbnB1dCgpIHZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcbiAgQElucHV0KCkgb3B0aW9uczogUGRtTmF0aXZlU2VsZWN0T3B0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IGFuIG9wdGlvbic7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCgoZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50KS52YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiPlxuICA8c2VsZWN0XG4gICAgW2lkXT1cImlkXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgW25nQ2xhc3NdPVwiW1xuICAgICAgJ2ZsZXggaC05IHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgcm91bmRlZC1bOHB4XSBib3JkZXIgYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB4LTMgcHktMiBwci05IHRleHQtc20gbGVhZGluZy01IHNoYWRvdy1bMF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4xKV0gcmluZy1vZmZzZXQtW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0xIGZvY3VzLXZpc2libGU6cmluZy1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAnLFxuICAgICAgaW52YWxpZCA/ICdib3JkZXItW2hzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpXScgOiAnYm9yZGVyLVtoc2wodmFyKC0taW5wdXQpKV0nXG4gICAgXVwiXG4gID5cbiAgICA8b3B0aW9uIHZhbHVlPVwiXCIgZGlzYWJsZWQ+e3sgcGxhY2Vob2xkZXIgfX08L29wdGlvbj5cbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIiBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuICA8cGRtLWljb24gY2xhc3NOYW1lPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSByaWdodC0zIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiB0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXVwiIG5hbWU9XCJjaGV2cm9uLWRvd25cIiBbc2l6ZV09XCIxNlwiPjwvcGRtLWljb24+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmNavigationMenuComponent {
5
+ constructor() {
6
+ this.items = [];
7
+ this.className = '';
8
+ }
9
+ }
10
+ PdmNavigationMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmNavigationMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ PdmNavigationMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmNavigationMenuComponent, selector: "pdm-navigation-menu", inputs: { items: "items", className: "className" }, ngImport: i0, template: "<nav [ngClass]=\"['relative z-10 flex max-w-max flex-1 items-center justify-center', className]\">\n <ul class=\"group flex flex-1 list-none items-center justify-center space-x-1\">\n <li *ngFor=\"let item of items\">\n <a\n [href]=\"item.href || '#'\"\n [ngClass]=\"[\n 'group inline-flex h-9 w-max items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]',\n item.active ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]' : 'text-[hsl(var(--foreground))]'\n ]\"\n >\n {{ item.label }}\n </a>\n </li>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmNavigationMenuComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'pdm-navigation-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav [ngClass]=\"['relative z-10 flex max-w-max flex-1 items-center justify-center', className]\">\n <ul class=\"group flex flex-1 list-none items-center justify-center space-x-1\">\n <li *ngFor=\"let item of items\">\n <a\n [href]=\"item.href || '#'\"\n [ngClass]=\"[\n 'group inline-flex h-9 w-max items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]',\n item.active ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]' : 'text-[hsl(var(--foreground))]'\n ]\"\n >\n {{ item.label }}\n </a>\n </li>\n </ul>\n</nav>\n" }]
15
+ }], propDecorators: { items: [{
16
+ type: Input
17
+ }], className: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1lbnUvbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1lbnUvbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFhMUUsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQU1XLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxFQUFFLENBQUM7S0FDekI7O3dIQUhZLDBCQUEwQjs0R0FBMUIsMEJBQTBCLCtHQ2J2Qyxtc0JBZUE7NEZERmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRtTmF2aWdhdGlvbkl0ZW0ge1xuICBsYWJlbDogc3RyaW5nO1xuICBocmVmPzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tbmF2aWdhdGlvbi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbU5hdmlnYXRpb25NZW51Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IFBkbU5hdmlnYXRpb25JdGVtW10gPSBbXTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG59XG4iLCI8bmF2IFtuZ0NsYXNzXT1cIlsncmVsYXRpdmUgei0xMCBmbGV4IG1heC13LW1heCBmbGV4LTEgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyJywgY2xhc3NOYW1lXVwiPlxuICA8dWwgY2xhc3M9XCJncm91cCBmbGV4IGZsZXgtMSBsaXN0LW5vbmUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNwYWNlLXgtMVwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgICAgPGFcbiAgICAgICAgW2hyZWZdPVwiaXRlbS5ocmVmIHx8ICcjJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAnZ3JvdXAgaW5saW5lLWZsZXggaC05IHctbWF4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIHB4LTMgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLVtoc2wodmFyKC0tYWNjZW50KSldIGhvdmVyOnRleHQtW2hzbCh2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCkpXScsXG4gICAgICAgICAgaXRlbS5hY3RpdmUgPyAnYmctW2hzbCh2YXIoLS1hY2NlbnQpKV0gdGV4dC1baHNsKHZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKSldJyA6ICd0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSdcbiAgICAgICAgXVwiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uYXY+XG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../icon/icon.component";
5
+ export class PdmPaginationComponent {
6
+ constructor() {
7
+ this.page = 1;
8
+ this.pageCount = 1;
9
+ this.maxVisible = 5;
10
+ this.className = '';
11
+ this.pageChange = new EventEmitter();
12
+ }
13
+ get visiblePages() {
14
+ const total = Math.max(1, this.pageCount);
15
+ const visible = Math.max(1, this.maxVisible);
16
+ const half = Math.floor(visible / 2);
17
+ let start = Math.max(1, this.page - half);
18
+ let end = Math.min(total, start + visible - 1);
19
+ if (end - start + 1 < visible) {
20
+ start = Math.max(1, end - visible + 1);
21
+ }
22
+ return Array.from({ length: end - start + 1 }, (_, i) => start + i);
23
+ }
24
+ setPage(next) {
25
+ if (next < 1 || next > this.pageCount || next === this.page) {
26
+ return;
27
+ }
28
+ this.pageChange.emit(next);
29
+ }
30
+ }
31
+ PdmPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ PdmPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmPaginationComponent, selector: "pdm-pagination", inputs: { page: "page", pageCount: "pageCount", maxVisible: "maxVisible", className: "className" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<nav aria-label=\"Pagination\" [ngClass]=\"['mx-auto flex w-full justify-center', className]\">\n <ul class=\"flex items-center gap-1\">\n <li>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center gap-1 rounded-md px-2 text-sm text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50\" [disabled]=\"page <= 1\" (click)=\"setPage(page - 1)\">\n <pdm-icon name=\"chevron-left\" [size]=\"14\"></pdm-icon>\n Previous\n </button>\n </li>\n <li *ngFor=\"let pageNumber of visiblePages\">\n <button\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-6 min-w-[24px] items-center justify-center rounded-md px-2 text-sm',\n pageNumber === page\n ? 'border border-[hsl(var(--border))] bg-[hsl(var(--muted))] text-[hsl(var(--foreground))] shadow-[0_1px_2px_rgba(0,0,0,0.1)]'\n : 'text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]'\n ]\"\n (click)=\"setPage(pageNumber)\"\n >\n {{ pageNumber }}\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center gap-1 rounded-md px-2 text-sm text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50\" [disabled]=\"page >= pageCount\" (click)=\"setPage(page + 1)\">\n Next\n <pdm-icon name=\"chevron-right\" [size]=\"14\"></pdm-icon>\n </button>\n </li>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmPaginationComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'pdm-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav aria-label=\"Pagination\" [ngClass]=\"['mx-auto flex w-full justify-center', className]\">\n <ul class=\"flex items-center gap-1\">\n <li>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center gap-1 rounded-md px-2 text-sm text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50\" [disabled]=\"page <= 1\" (click)=\"setPage(page - 1)\">\n <pdm-icon name=\"chevron-left\" [size]=\"14\"></pdm-icon>\n Previous\n </button>\n </li>\n <li *ngFor=\"let pageNumber of visiblePages\">\n <button\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-6 min-w-[24px] items-center justify-center rounded-md px-2 text-sm',\n pageNumber === page\n ? 'border border-[hsl(var(--border))] bg-[hsl(var(--muted))] text-[hsl(var(--foreground))] shadow-[0_1px_2px_rgba(0,0,0,0.1)]'\n : 'text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]'\n ]\"\n (click)=\"setPage(pageNumber)\"\n >\n {{ pageNumber }}\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center gap-1 rounded-md px-2 text-sm text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50\" [disabled]=\"page >= pageCount\" (click)=\"setPage(page + 1)\">\n Next\n <pdm-icon name=\"chevron-right\" [size]=\"14\"></pdm-icon>\n </button>\n </li>\n </ul>\n</nav>\n" }]
36
+ }], propDecorators: { page: [{
37
+ type: Input
38
+ }], pageCount: [{
39
+ type: Input
40
+ }], maxVisible: [{
41
+ type: Input
42
+ }], className: [{
43
+ type: Input
44
+ }], pageChange: [{
45
+ type: Output
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU9oRyxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBTVcsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVkLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBdUJuRDtJQXJCQyxJQUFJLFlBQVk7UUFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUvQyxJQUFJLEdBQUcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRTtZQUM3QixLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4QztRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDM0QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7b0hBNUJVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLGlNQ1BuQyx5L0NBOEJBOzRGRHZCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUVULHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1QYWdpbmF0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcGFnZSA9IDE7XG4gIEBJbnB1dCgpIHBhZ2VDb3VudCA9IDE7XG4gIEBJbnB1dCgpIG1heFZpc2libGUgPSA1O1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcblxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGdldCB2aXNpYmxlUGFnZXMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHRvdGFsID0gTWF0aC5tYXgoMSwgdGhpcy5wYWdlQ291bnQpO1xuICAgIGNvbnN0IHZpc2libGUgPSBNYXRoLm1heCgxLCB0aGlzLm1heFZpc2libGUpO1xuICAgIGNvbnN0IGhhbGYgPSBNYXRoLmZsb29yKHZpc2libGUgLyAyKTtcbiAgICBsZXQgc3RhcnQgPSBNYXRoLm1heCgxLCB0aGlzLnBhZ2UgLSBoYWxmKTtcbiAgICBsZXQgZW5kID0gTWF0aC5taW4odG90YWwsIHN0YXJ0ICsgdmlzaWJsZSAtIDEpO1xuXG4gICAgaWYgKGVuZCAtIHN0YXJ0ICsgMSA8IHZpc2libGUpIHtcbiAgICAgIHN0YXJ0ID0gTWF0aC5tYXgoMSwgZW5kIC0gdmlzaWJsZSArIDEpO1xuICAgIH1cblxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBlbmQgLSBzdGFydCArIDEgfSwgKF8sIGkpID0+IHN0YXJ0ICsgaSk7XG4gIH1cblxuICBzZXRQYWdlKG5leHQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChuZXh0IDwgMSB8fCBuZXh0ID4gdGhpcy5wYWdlQ291bnQgfHwgbmV4dCA9PT0gdGhpcy5wYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQobmV4dCk7XG4gIH1cbn1cbiIsIjxuYXYgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIiBbbmdDbGFzc109XCJbJ214LWF1dG8gZmxleCB3LWZ1bGwganVzdGlmeS1jZW50ZXInLCBjbGFzc05hbWVdXCI+XG4gIDx1bCBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gICAgPGxpPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIHJvdW5kZWQtbWQgcHgtMiB0ZXh0LXNtIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIGhvdmVyOmJnLVtoc2wodmFyKC0tYWNjZW50KSldIGRpc2FibGVkOm9wYWNpdHktNTBcIiBbZGlzYWJsZWRdPVwicGFnZSA8PSAxXCIgKGNsaWNrKT1cInNldFBhZ2UocGFnZSAtIDEpXCI+XG4gICAgICAgIDxwZG0taWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0XCIgW3NpemVdPVwiMTRcIj48L3BkbS1pY29uPlxuICAgICAgICBQcmV2aW91c1xuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2VOdW1iZXIgb2YgdmlzaWJsZVBhZ2VzXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgJ2lubGluZS1mbGV4IGgtNiBtaW4tdy1bMjRweF0gaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgcHgtMiB0ZXh0LXNtJyxcbiAgICAgICAgICBwYWdlTnVtYmVyID09PSBwYWdlXG4gICAgICAgICAgICA/ICdib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tbXV0ZWQpKV0gdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gc2hhZG93LVswXzFweF8ycHhfcmdiYSgwLDAsMCwwLjEpXSdcbiAgICAgICAgICAgIDogJ3RleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIGhvdmVyOmJnLVtoc2wodmFyKC0tYWNjZW50KSldIGhvdmVyOnRleHQtW2hzbCh2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCkpXSdcbiAgICAgICAgXVwiXG4gICAgICAgIChjbGljayk9XCJzZXRQYWdlKHBhZ2VOdW1iZXIpXCJcbiAgICAgID5cbiAgICAgICAge3sgcGFnZU51bWJlciB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgICA8bGk+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEgcm91bmRlZC1tZCBweC0yIHRleHQtc20gdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gaG92ZXI6YmctW2hzbCh2YXIoLS1hY2NlbnQpKV0gZGlzYWJsZWQ6b3BhY2l0eS01MFwiIFtkaXNhYmxlZF09XCJwYWdlID49IHBhZ2VDb3VudFwiIChjbGljayk9XCJzZXRQYWdlKHBhZ2UgKyAxKVwiPlxuICAgICAgICBOZXh0XG4gICAgICAgIDxwZG0taWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiIFtzaXplXT1cIjE0XCI+PC9wZG0taWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L25hdj5cbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmPopoverComponent {
5
+ constructor(elementRef) {
6
+ this.elementRef = elementRef;
7
+ this.open = false;
8
+ this.triggerText = 'Open';
9
+ this.className = '';
10
+ this.panelClassName = '';
11
+ this.showTrigger = true;
12
+ this.openChange = new EventEmitter();
13
+ }
14
+ toggle() {
15
+ this.open = !this.open;
16
+ this.openChange.emit(this.open);
17
+ }
18
+ onEsc() {
19
+ if (this.open) {
20
+ this.open = false;
21
+ this.openChange.emit(false);
22
+ }
23
+ }
24
+ onDocumentClick(event) {
25
+ if (!this.open)
26
+ return;
27
+ const target = event.target;
28
+ if (target && !this.elementRef.nativeElement.contains(target)) {
29
+ this.open = false;
30
+ this.openChange.emit(false);
31
+ }
32
+ }
33
+ }
34
+ PdmPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmPopoverComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
35
+ PdmPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmPopoverComponent, selector: "pdm-popover", inputs: { open: "open", triggerText: "triggerText", className: "className", panelClassName: "panelClassName", showTrigger: "showTrigger" }, outputs: { openChange: "openChange" }, host: { listeners: { "document:keydown.escape": "onEsc()", "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div class=\"relative inline-block\" [ngClass]=\"className\">\n <button *ngIf=\"showTrigger\" type=\"button\" class=\"inline-flex h-8 items-center justify-center rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 text-sm font-medium leading-5 text-[hsl(var(--foreground))] shadow-[0_1px_2px_rgba(0,0,0,0.1)]\" [attr.aria-expanded]=\"open\" (click)=\"toggle()\">{{ triggerText }}</button>\n <div *ngIf=\"open || !showTrigger\" [ngClass]=\"['absolute left-0 top-full z-30 mt-2 min-w-[320px] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-[0px_4px_6px_0px_rgba(0,0,0,0.09)]', panelClassName]\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmPopoverComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'pdm-popover', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative inline-block\" [ngClass]=\"className\">\n <button *ngIf=\"showTrigger\" type=\"button\" class=\"inline-flex h-8 items-center justify-center rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 text-sm font-medium leading-5 text-[hsl(var(--foreground))] shadow-[0_1px_2px_rgba(0,0,0,0.1)]\" [attr.aria-expanded]=\"open\" (click)=\"toggle()\">{{ triggerText }}</button>\n <div *ngIf=\"open || !showTrigger\" [ngClass]=\"['absolute left-0 top-full z-30 mt-2 min-w-[320px] rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-[0px_4px_6px_0px_rgba(0,0,0,0.09)]', panelClassName]\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
39
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { open: [{
40
+ type: Input
41
+ }], triggerText: [{
42
+ type: Input
43
+ }], className: [{
44
+ type: Input
45
+ }], panelClassName: [{
46
+ type: Input
47
+ }], showTrigger: [{
48
+ type: Input
49
+ }], openChange: [{
50
+ type: Output
51
+ }], onEsc: [{
52
+ type: HostListener,
53
+ args: ['document:keydown.escape']
54
+ }], onDocumentClick: [{
55
+ type: HostListener,
56
+ args: ['document:click', ['$event']]
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xSCxNQUFNLE9BQU8sbUJBQW1CO0lBUTlCLFlBQTZCLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBUHZELFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixnQkFBVyxHQUFHLE1BQU0sQ0FBQztRQUNyQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbEIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFZ0IsQ0FBQztJQUVwRSxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFHRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQWlCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDOztpSEEvQlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsa1ZDUGhDLDJ1QkFNQTs0RkRDYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNO2lHQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQVVQLEtBQUs7c0JBREosWUFBWTt1QkFBQyx5QkFBeUI7Z0JBU3ZDLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1Qb3BvdmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0cmlnZ2VyVGV4dCA9ICdPcGVuJztcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBJbnB1dCgpIHBhbmVsQ2xhc3NOYW1lID0gJyc7XG4gIEBJbnB1dCgpIHNob3dUcmlnZ2VyID0gdHJ1ZTtcbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW4pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxuICBvbkVzYygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcGVuKSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGUgfCBudWxsO1xuICAgIGlmICh0YXJnZXQgJiYgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlIGlubGluZS1ibG9ja1wiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiPlxuICA8YnV0dG9uICpuZ0lmPVwic2hvd1RyaWdnZXJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcHgtMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBzaGFkb3ctWzBfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMSldXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCI+e3sgdHJpZ2dlclRleHQgfX08L2J1dHRvbj5cbiAgPGRpdiAqbmdJZj1cIm9wZW4gfHwgIXNob3dUcmlnZ2VyXCIgW25nQ2xhc3NdPVwiWydhYnNvbHV0ZSBsZWZ0LTAgdG9wLWZ1bGwgei0zMCBtdC0yIG1pbi13LVszMjBweF0gcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tcG9wb3ZlcikpXSBwLTQgdGV4dC1baHNsKHZhcigtLXBvcG92ZXItZm9yZWdyb3VuZCkpXSBzaGFkb3ctWzBweF80cHhfNnB4XzBweF9yZ2JhKDAsMCwwLDAuMDkpXScsIHBhbmVsQ2xhc3NOYW1lXVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmProgressComponent {
5
+ constructor() {
6
+ this.value = 0;
7
+ this.max = 100;
8
+ this.indeterminate = false;
9
+ this.className = '';
10
+ }
11
+ get width() {
12
+ if (this.indeterminate)
13
+ return '100%';
14
+ const safeMax = this.max > 0 ? this.max : 100;
15
+ const pct = Math.min(100, Math.max(0, (this.value / safeMax) * 100));
16
+ return pct + '%';
17
+ }
18
+ }
19
+ PdmProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ PdmProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmProgressComponent, selector: "pdm-progress", inputs: { value: "value", max: "max", indeterminate: "indeterminate", className: "className" }, ngImport: i0, template: "<div\n role=\"progressbar\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"indeterminate ? null : value\"\n [ngClass]=\"['relative h-1.5 w-full overflow-hidden rounded-full bg-[hsl(var(--muted))]', className]\"\n>\n <div [ngClass]=\"['h-full bg-[hsl(var(--foreground))] transition-all', indeterminate ? 'animate-pulse' : '']\" [style.width]=\"width\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmProgressComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'pdm-progress', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n role=\"progressbar\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"indeterminate ? null : value\"\n [ngClass]=\"['relative h-1.5 w-full overflow-hidden rounded-full bg-[hsl(var(--muted))]', className]\"\n>\n <div [ngClass]=\"['h-full bg-[hsl(var(--foreground))] transition-all', indeterminate ? 'animate-pulse' : '']\" [style.width]=\"width\"></div>\n</div>\n" }]
24
+ }], propDecorators: { value: [{
25
+ type: Input
26
+ }], max: [{
27
+ type: Input
28
+ }], indeterminate: [{
29
+ type: Input
30
+ }], className: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFFLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUNWLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxFQUFFLENBQUM7S0FRekI7SUFOQyxJQUFJLEtBQUs7UUFDUCxJQUFJLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTyxNQUFNLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQzs7a0hBWFUsb0JBQW9CO3NHQUFwQixvQkFBb0Isb0pDUGpDLDZaQVNBOzRGREZhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxjQUFjLG1CQUVQLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLXByb2dyZXNzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtUHJvZ3Jlc3NDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZSA9IDA7XG4gIEBJbnB1dCgpIG1heCA9IDEwMDtcbiAgQElucHV0KCkgaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcblxuICBnZXQgd2lkdGgoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pbmRldGVybWluYXRlKSByZXR1cm4gJzEwMCUnO1xuICAgIGNvbnN0IHNhZmVNYXggPSB0aGlzLm1heCA+IDAgPyB0aGlzLm1heCA6IDEwMDtcbiAgICBjb25zdCBwY3QgPSBNYXRoLm1pbigxMDAsIE1hdGgubWF4KDAsICh0aGlzLnZhbHVlIC8gc2FmZU1heCkgKiAxMDApKTtcbiAgICByZXR1cm4gcGN0ICsgJyUnO1xuICB9XG59XG4iLCI8ZGl2XG4gIHJvbGU9XCJwcm9ncmVzc2JhclwiXG4gIFthdHRyLmFyaWEtdmFsdWVtaW5dPVwiMFwiXG4gIFthdHRyLmFyaWEtdmFsdWVtYXhdPVwibWF4XCJcbiAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJpbmRldGVybWluYXRlID8gbnVsbCA6IHZhbHVlXCJcbiAgW25nQ2xhc3NdPVwiWydyZWxhdGl2ZSBoLTEuNSB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtZnVsbCBiZy1baHNsKHZhcigtLW11dGVkKSldJywgY2xhc3NOYW1lXVwiXG4+XG4gIDxkaXYgW25nQ2xhc3NdPVwiWydoLWZ1bGwgYmctW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIHRyYW5zaXRpb24tYWxsJywgaW5kZXRlcm1pbmF0ZSA/ICdhbmltYXRlLXB1bHNlJyA6ICcnXVwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmRadioGroupComponent {
5
+ constructor() {
6
+ this.name = 'pdm-radio-group';
7
+ this.value = '';
8
+ this.options = [];
9
+ this.direction = 'vertical';
10
+ this.className = '';
11
+ this.valueChange = new EventEmitter();
12
+ }
13
+ optionId(option) {
14
+ return `${this.name}-${option.value}`;
15
+ }
16
+ onChange(event) {
17
+ this.valueChange.emit(event.target.value);
18
+ }
19
+ }
20
+ PdmRadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ PdmRadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmRadioGroupComponent, selector: "pdm-radio-group", inputs: { name: "name", value: "value", options: "options", direction: "direction", className: "className" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div\n role=\"radiogroup\"\n [ngClass]=\"[\n 'gap-2',\n direction === 'horizontal' ? 'inline-flex items-center' : 'grid',\n className\n ]\"\n>\n <label *ngFor=\"let option of options\" [attr.for]=\"optionId(option)\" class=\"inline-flex cursor-pointer items-center gap-2\">\n <input\n [id]=\"optionId(option)\"\n type=\"radio\"\n [name]=\"name\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n [disabled]=\"option.disabled\"\n class=\"peer sr-only\"\n (change)=\"onChange($event)\"\n />\n <span class=\"relative block h-4 w-4 rounded-full border border-[hsl(var(--input))] bg-[hsl(var(--background))] peer-checked:border-[hsl(var(--foreground))] peer-focus-visible:ring-1 peer-focus-visible:ring-[hsl(var(--foreground))]\">\n <span class=\"absolute left-1/2 top-1/2 hidden h-2 w-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[hsl(var(--foreground))] peer-checked:block\"></span>\n </span>\n <span class=\"text-sm leading-5 text-[hsl(var(--foreground))]\">{{ option.label }}</span>\n </label>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmRadioGroupComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'pdm-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n role=\"radiogroup\"\n [ngClass]=\"[\n 'gap-2',\n direction === 'horizontal' ? 'inline-flex items-center' : 'grid',\n className\n ]\"\n>\n <label *ngFor=\"let option of options\" [attr.for]=\"optionId(option)\" class=\"inline-flex cursor-pointer items-center gap-2\">\n <input\n [id]=\"optionId(option)\"\n type=\"radio\"\n [name]=\"name\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n [disabled]=\"option.disabled\"\n class=\"peer sr-only\"\n (change)=\"onChange($event)\"\n />\n <span class=\"relative block h-4 w-4 rounded-full border border-[hsl(var(--input))] bg-[hsl(var(--background))] peer-checked:border-[hsl(var(--foreground))] peer-focus-visible:ring-1 peer-focus-visible:ring-[hsl(var(--foreground))]\">\n <span class=\"absolute left-1/2 top-1/2 hidden h-2 w-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[hsl(var(--foreground))] peer-checked:block\"></span>\n </span>\n <span class=\"text-sm leading-5 text-[hsl(var(--foreground))]\">{{ option.label }}</span>\n </label>\n</div>\n" }]
25
+ }], propDecorators: { name: [{
26
+ type: Input
27
+ }], value: [{
28
+ type: Input
29
+ }], options: [{
30
+ type: Input
31
+ }], direction: [{
32
+ type: Input
33
+ }], className: [{
34
+ type: Input
35
+ }], valueChange: [{
36
+ type: Output
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFhaEcsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1XLFNBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUN6QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFDL0IsY0FBUyxHQUE4QixVQUFVLENBQUM7UUFDbEQsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVkLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQVNwRDtJQVBDLFFBQVEsQ0FBQyxNQUFzQjtRQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFFLEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7O29IQWZVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDhNQ2JuQywra0NBeUJBOzRGRFphLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBQZG1SYWRpb09wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLXJhZGlvLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtUmFkaW9Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG5hbWUgPSAncGRtLXJhZGlvLWdyb3VwJztcbiAgQElucHV0KCkgdmFsdWUgPSAnJztcbiAgQElucHV0KCkgb3B0aW9uczogUGRtUmFkaW9PcHRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBkaXJlY3Rpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAndmVydGljYWwnO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBvcHRpb25JZChvcHRpb246IFBkbVJhZGlvT3B0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfS0ke29wdGlvbi52YWx1ZX1gO1xuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2XG4gIHJvbGU9XCJyYWRpb2dyb3VwXCJcbiAgW25nQ2xhc3NdPVwiW1xuICAgICdnYXAtMicsXG4gICAgZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAnaW5saW5lLWZsZXggaXRlbXMtY2VudGVyJyA6ICdncmlkJyxcbiAgICBjbGFzc05hbWVcbiAgXVwiXG4+XG4gIDxsYWJlbCAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbYXR0ci5mb3JdPVwib3B0aW9uSWQob3B0aW9uKVwiIGNsYXNzPVwiaW5saW5lLWZsZXggY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgPGlucHV0XG4gICAgICBbaWRdPVwib3B0aW9uSWQob3B0aW9uKVwiXG4gICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgIFtjaGVja2VkXT1cInZhbHVlID09PSBvcHRpb24udmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICBjbGFzcz1cInBlZXIgc3Itb25seVwiXG4gICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgIC8+XG4gICAgPHNwYW4gY2xhc3M9XCJyZWxhdGl2ZSBibG9jayBoLTQgdy00IHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0taW5wdXQpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHBlZXItY2hlY2tlZDpib3JkZXItW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIHBlZXItZm9jdXMtdmlzaWJsZTpyaW5nLTEgcGVlci1mb2N1cy12aXNpYmxlOnJpbmctW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImFic29sdXRlIGxlZnQtMS8yIHRvcC0xLzIgaGlkZGVuIGgtMiB3LTIgLXRyYW5zbGF0ZS14LTEvMiAtdHJhbnNsYXRlLXktMS8yIHJvdW5kZWQtZnVsbCBiZy1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gcGVlci1jaGVja2VkOmJsb2NrXCI+PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gbGVhZGluZy01IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PdmScrollAreaComponent {
5
+ constructor() {
6
+ this.maxHeight = '16rem';
7
+ this.className = '';
8
+ }
9
+ }
10
+ PdmScrollAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmScrollAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ PdmScrollAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmScrollAreaComponent, selector: "pdm-scroll-area", inputs: { maxHeight: "maxHeight", className: "className" }, ngImport: i0, template: "<div [style.maxHeight]=\"maxHeight\" [ngClass]=\"['relative overflow-auto rounded-[var(--radius)] border border-[hsl(var(--border))]', className]\">\n <div class=\"p-3\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmScrollAreaComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'pdm-scroll-area', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [style.maxHeight]=\"maxHeight\" [ngClass]=\"['relative overflow-auto rounded-[var(--radius)] border border-[hsl(var(--border))]', className]\">\n <div class=\"p-3\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
15
+ }], propDecorators: { maxHeight: [{
16
+ type: Input
17
+ }], className: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbC1hcmVhL3Njcm9sbC1hcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zY3JvbGwtYXJlYS9zY3JvbGwtYXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFFLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNVyxjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxFQUFFLENBQUM7S0FDekI7O29IQUhZLHNCQUFzQjt3R0FBdEIsc0JBQXNCLG1IQ1BuQyxnT0FLQTs0RkRFYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUVWLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1zY3JvbGwtYXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGwtYXJlYS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbVNjcm9sbEFyZWFDb21wb25lbnQge1xuICBASW5wdXQoKSBtYXhIZWlnaHQgPSAnMTZyZW0nO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbn1cbiIsIjxkaXYgW3N0eWxlLm1heEhlaWdodF09XCJtYXhIZWlnaHRcIiBbbmdDbGFzc109XCJbJ3JlbGF0aXZlIG92ZXJmbG93LWF1dG8gcm91bmRlZC1bdmFyKC0tcmFkaXVzKV0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXScsIGNsYXNzTmFtZV1cIj5cbiAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==