pdm-ui-kit 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/aspect-ratio/aspect-ratio.component.d.ts +1 -1
  2. package/aspect-ratio/aspect-ratio.module.d.ts +5 -2
  3. package/badge/badge.component.d.ts +1 -1
  4. package/badge/badge.module.d.ts +5 -2
  5. package/button/button-theme.constant.d.ts +2 -0
  6. package/button/button.component.d.ts +1 -4
  7. package/button/testing/button-harness.d.ts +23 -0
  8. package/checkbox/testing/checkbox-harness.d.ts +22 -0
  9. package/dialog/dialog.module.d.ts +2 -1
  10. package/dialog/testing/dialog-harness.d.ts +26 -0
  11. package/esm2020/alert/alert.component.mjs +3 -3
  12. package/esm2020/aspect-ratio/aspect-ratio.component.mjs +4 -3
  13. package/esm2020/aspect-ratio/aspect-ratio.module.mjs +9 -10
  14. package/esm2020/badge/badge.component.mjs +4 -3
  15. package/esm2020/badge/badge.module.mjs +9 -10
  16. package/esm2020/button/button-theme.constant.mjs +55 -0
  17. package/esm2020/button/button.component.mjs +5 -18
  18. package/esm2020/button/testing/button-harness.mjs +51 -0
  19. package/esm2020/checkbox/testing/checkbox-harness.mjs +54 -0
  20. package/esm2020/dialog/dialog.component.mjs +5 -4
  21. package/esm2020/dialog/dialog.module.mjs +5 -4
  22. package/esm2020/dialog/testing/dialog-harness.mjs +87 -0
  23. package/esm2020/empty/empty.component.mjs +1 -1
  24. package/esm2020/icon/icon.component.mjs +4 -3
  25. package/esm2020/icon/icon.module.mjs +9 -10
  26. package/esm2020/input/input.component.mjs +16 -4
  27. package/esm2020/input/testing/input-harness.mjs +68 -0
  28. package/esm2020/kbd/kbd.component.mjs +4 -3
  29. package/esm2020/kbd/kbd.module.mjs +9 -10
  30. package/esm2020/pagination/pagination.component.mjs +3 -3
  31. package/esm2020/pagination/testing/pagination-harness.mjs +76 -0
  32. package/esm2020/public-api.mjs +3 -1
  33. package/esm2020/select/testing/select-harness.mjs +75 -0
  34. package/esm2020/separator/separator.component.mjs +4 -3
  35. package/esm2020/separator/separator.module.mjs +9 -10
  36. package/esm2020/skeleton/skeleton.component.mjs +4 -3
  37. package/esm2020/skeleton/skeleton.module.mjs +9 -10
  38. package/esm2020/spinner/spinner.component.mjs +4 -3
  39. package/esm2020/spinner/spinner.module.mjs +9 -10
  40. package/esm2020/src/alert/alert.component.mjs +3 -3
  41. package/esm2020/src/aspect-ratio/aspect-ratio.component.mjs +4 -3
  42. package/esm2020/src/aspect-ratio/aspect-ratio.module.mjs +9 -10
  43. package/esm2020/src/badge/badge.component.mjs +4 -3
  44. package/esm2020/src/badge/badge.module.mjs +9 -10
  45. package/esm2020/src/button/button-theme.constant.mjs +55 -0
  46. package/esm2020/src/button/button.component.mjs +5 -18
  47. package/esm2020/src/dialog/dialog.component.mjs +5 -4
  48. package/esm2020/src/dialog/dialog.module.mjs +5 -4
  49. package/esm2020/src/empty/empty.component.mjs +1 -1
  50. package/esm2020/src/icon/icon.component.mjs +4 -3
  51. package/esm2020/src/icon/icon.module.mjs +9 -10
  52. package/esm2020/src/input/input.component.mjs +16 -4
  53. package/esm2020/src/kbd/kbd.component.mjs +4 -3
  54. package/esm2020/src/kbd/kbd.module.mjs +9 -10
  55. package/esm2020/src/pagination/pagination.component.mjs +3 -3
  56. package/esm2020/src/separator/separator.component.mjs +4 -3
  57. package/esm2020/src/separator/separator.module.mjs +9 -10
  58. package/esm2020/src/skeleton/skeleton.component.mjs +4 -3
  59. package/esm2020/src/skeleton/skeleton.module.mjs +9 -10
  60. package/esm2020/src/spinner/spinner.component.mjs +4 -3
  61. package/esm2020/src/spinner/spinner.module.mjs +9 -10
  62. package/esm2020/src/utils/public-api.mjs +2 -1
  63. package/esm2020/src/utils/validators.mjs +180 -0
  64. package/esm2020/testing.mjs +13 -0
  65. package/fesm2015/pdm-ui-kit-src-alert.mjs +2 -2
  66. package/fesm2015/pdm-ui-kit-src-alert.mjs.map +1 -1
  67. package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs +10 -10
  68. package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -1
  69. package/fesm2015/pdm-ui-kit-src-badge.mjs +10 -10
  70. package/fesm2015/pdm-ui-kit-src-badge.mjs.map +1 -1
  71. package/fesm2015/pdm-ui-kit-src-button.mjs +58 -17
  72. package/fesm2015/pdm-ui-kit-src-button.mjs.map +1 -1
  73. package/fesm2015/pdm-ui-kit-src-dialog.mjs +8 -6
  74. package/fesm2015/pdm-ui-kit-src-dialog.mjs.map +1 -1
  75. package/fesm2015/pdm-ui-kit-src-empty.mjs.map +1 -1
  76. package/fesm2015/pdm-ui-kit-src-icon.mjs +12 -12
  77. package/fesm2015/pdm-ui-kit-src-icon.mjs.map +1 -1
  78. package/fesm2015/pdm-ui-kit-src-input.mjs +15 -3
  79. package/fesm2015/pdm-ui-kit-src-input.mjs.map +1 -1
  80. package/fesm2015/pdm-ui-kit-src-kbd.mjs +10 -10
  81. package/fesm2015/pdm-ui-kit-src-kbd.mjs.map +1 -1
  82. package/fesm2015/pdm-ui-kit-src-pagination.mjs +2 -2
  83. package/fesm2015/pdm-ui-kit-src-pagination.mjs.map +1 -1
  84. package/fesm2015/pdm-ui-kit-src-separator.mjs +10 -10
  85. package/fesm2015/pdm-ui-kit-src-separator.mjs.map +1 -1
  86. package/fesm2015/pdm-ui-kit-src-skeleton.mjs +10 -10
  87. package/fesm2015/pdm-ui-kit-src-skeleton.mjs.map +1 -1
  88. package/fesm2015/pdm-ui-kit-src-spinner.mjs +10 -10
  89. package/fesm2015/pdm-ui-kit-src-spinner.mjs.map +1 -1
  90. package/fesm2015/pdm-ui-kit-src-utils.mjs +181 -1
  91. package/fesm2015/pdm-ui-kit-src-utils.mjs.map +1 -1
  92. package/fesm2015/pdm-ui-kit.mjs +814 -211
  93. package/fesm2015/pdm-ui-kit.mjs.map +1 -1
  94. package/fesm2020/pdm-ui-kit-src-alert.mjs +2 -2
  95. package/fesm2020/pdm-ui-kit-src-alert.mjs.map +1 -1
  96. package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs +10 -10
  97. package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -1
  98. package/fesm2020/pdm-ui-kit-src-badge.mjs +10 -10
  99. package/fesm2020/pdm-ui-kit-src-badge.mjs.map +1 -1
  100. package/fesm2020/pdm-ui-kit-src-button.mjs +58 -17
  101. package/fesm2020/pdm-ui-kit-src-button.mjs.map +1 -1
  102. package/fesm2020/pdm-ui-kit-src-dialog.mjs +8 -6
  103. package/fesm2020/pdm-ui-kit-src-dialog.mjs.map +1 -1
  104. package/fesm2020/pdm-ui-kit-src-empty.mjs.map +1 -1
  105. package/fesm2020/pdm-ui-kit-src-icon.mjs +12 -12
  106. package/fesm2020/pdm-ui-kit-src-icon.mjs.map +1 -1
  107. package/fesm2020/pdm-ui-kit-src-input.mjs +15 -3
  108. package/fesm2020/pdm-ui-kit-src-input.mjs.map +1 -1
  109. package/fesm2020/pdm-ui-kit-src-kbd.mjs +10 -10
  110. package/fesm2020/pdm-ui-kit-src-kbd.mjs.map +1 -1
  111. package/fesm2020/pdm-ui-kit-src-pagination.mjs +2 -2
  112. package/fesm2020/pdm-ui-kit-src-pagination.mjs.map +1 -1
  113. package/fesm2020/pdm-ui-kit-src-separator.mjs +10 -10
  114. package/fesm2020/pdm-ui-kit-src-separator.mjs.map +1 -1
  115. package/fesm2020/pdm-ui-kit-src-skeleton.mjs +10 -10
  116. package/fesm2020/pdm-ui-kit-src-skeleton.mjs.map +1 -1
  117. package/fesm2020/pdm-ui-kit-src-spinner.mjs +10 -10
  118. package/fesm2020/pdm-ui-kit-src-spinner.mjs.map +1 -1
  119. package/fesm2020/pdm-ui-kit-src-utils.mjs +181 -1
  120. package/fesm2020/pdm-ui-kit-src-utils.mjs.map +1 -1
  121. package/fesm2020/pdm-ui-kit.mjs +673 -211
  122. package/fesm2020/pdm-ui-kit.mjs.map +1 -1
  123. package/icon/icon.component.d.ts +1 -1
  124. package/icon/icon.module.d.ts +5 -2
  125. package/input/input.component.d.ts +4 -0
  126. package/input/testing/input-harness.d.ts +27 -0
  127. package/kbd/kbd.component.d.ts +1 -1
  128. package/kbd/kbd.module.d.ts +5 -2
  129. package/package.json +1 -1
  130. package/pagination/testing/pagination-harness.d.ts +21 -0
  131. package/public-api.d.ts +1 -0
  132. package/select/testing/select-harness.d.ts +25 -0
  133. package/separator/separator.component.d.ts +1 -1
  134. package/separator/separator.module.d.ts +5 -2
  135. package/skeleton/skeleton.component.d.ts +1 -1
  136. package/skeleton/skeleton.module.d.ts +5 -2
  137. package/spinner/spinner.component.d.ts +1 -1
  138. package/spinner/spinner.module.d.ts +5 -2
  139. package/src/aspect-ratio/aspect-ratio.component.d.ts +1 -1
  140. package/src/aspect-ratio/aspect-ratio.module.d.ts +5 -2
  141. package/src/badge/badge.component.d.ts +1 -1
  142. package/src/badge/badge.module.d.ts +5 -2
  143. package/src/button/button-theme.constant.d.ts +2 -0
  144. package/src/button/button.component.d.ts +1 -4
  145. package/src/dialog/dialog.module.d.ts +2 -1
  146. package/src/icon/icon.component.d.ts +1 -1
  147. package/src/icon/icon.module.d.ts +5 -2
  148. package/src/input/input.component.d.ts +4 -0
  149. package/src/kbd/kbd.component.d.ts +1 -1
  150. package/src/kbd/kbd.module.d.ts +5 -2
  151. package/src/separator/separator.component.d.ts +1 -1
  152. package/src/separator/separator.module.d.ts +5 -2
  153. package/src/skeleton/skeleton.component.d.ts +1 -1
  154. package/src/skeleton/skeleton.module.d.ts +5 -2
  155. package/src/spinner/spinner.component.d.ts +1 -1
  156. package/src/spinner/spinner.module.d.ts +5 -2
  157. package/src/utils/public-api.d.ts +1 -0
  158. package/src/utils/validators.d.ts +109 -0
  159. package/testing.d.ts +12 -0
@@ -19,10 +19,10 @@ class PdmAlertComponent {
19
19
  }
20
20
  }
21
21
  PdmAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- PdmAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmAlertComponent, selector: "pdm-alert", inputs: { variant: "variant", title: "title", description: "description", details: "details", className: "className" }, ngImport: i0, template: "<section\n role=\"alert\"\n [ngClass]=\"[\n 'w-full rounded-lg border border-solid border-border bg-background p-4',\n className\n ]\"\n>\n <div [ngClass]=\"['flex gap-3', isDestructive ? 'items-start' : 'items-center']\">\n <span class=\"inline-flex h-6 w-6 shrink-0 items-center justify-center\">\n <svg *ngIf=\"!isDestructive && !isTitleOnly\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <svg *ngIf=\"isTitleOnly\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 8H19\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M9 8V6.5C9 5.67 9.67 5 10.5 5H13.5C14.33 5 15 5.67 15 6.5V8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M7 8L8 18.5C8.07 19.33 8.77 20 9.6 20H14.4C15.23 20 15.93 19.33 16 18.5L17 8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n <svg *ngIf=\"isDestructive\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-destructive\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M12 8V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"currentColor\"></circle>\n </svg>\n </span>\n\n <div class=\"min-w-0 flex-1\">\n <h4\n [ngClass]=\"[\n 'm-0 text-sm font-medium',\n isDestructive ? 'text-destructive' : 'text-foreground'\n ]\"\n >\n {{ title }}\n </h4>\n\n <p\n *ngIf=\"!isTitleOnly && description\"\n [ngClass]=\"[\n 'm-0 mt-0.5 text-sm',\n isDestructive ? 'text-destructive' : 'text-muted-foreground'\n ]\"\n >\n {{ description }}\n </p>\n\n <ul *ngIf=\"isDestructive && details.length\" class=\"m-0 mt-1 pl-5 text-sm text-destructive\">\n <li *ngFor=\"let item of details\">{{ item }}</li>\n </ul>\n </div>\n </div>\n</section>\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 });
22
+ PdmAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmAlertComponent, selector: "pdm-alert", inputs: { variant: "variant", title: "title", description: "description", details: "details", className: "className" }, ngImport: i0, template: "<section\n role=\"alert\"\n [ngClass]=\"[\n 'w-full rounded-lg border border-solid border-border bg-background p-4',\n className\n ]\"\n>\n <div [ngClass]=\"['flex gap-3', isDestructive ? 'items-start' : 'items-center']\">\n <span class=\"inline-flex h-6 w-6 shrink-0 items-center justify-center\">\n <svg *ngIf=\"!isDestructive && !isTitleOnly\" aria-label=\"Success\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <svg *ngIf=\"isTitleOnly\" aria-label=\"Info\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 8H19\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M9 8V6.5C9 5.67 9.67 5 10.5 5H13.5C14.33 5 15 5.67 15 6.5V8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M7 8L8 18.5C8.07 19.33 8.77 20 9.6 20H14.4C15.23 20 15.93 19.33 16 18.5L17 8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n <svg *ngIf=\"isDestructive\" aria-label=\"Error\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-destructive\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M12 8V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"currentColor\"></circle>\n </svg>\n </span>\n\n <div class=\"min-w-0 flex-1\">\n <h4\n [ngClass]=\"[\n 'm-0 text-sm font-medium',\n isDestructive ? 'text-destructive' : 'text-foreground'\n ]\"\n >\n {{ title }}\n </h4>\n\n <p\n *ngIf=\"!isTitleOnly && description\"\n [ngClass]=\"[\n 'm-0 mt-0.5 text-sm',\n isDestructive ? 'text-destructive' : 'text-muted-foreground'\n ]\"\n >\n {{ description }}\n </p>\n\n <ul *ngIf=\"isDestructive && details.length\" class=\"m-0 mt-1 pl-5 text-sm text-destructive\">\n <li *ngFor=\"let item of details\">{{ item }}</li>\n </ul>\n </div>\n </div>\n</section>\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 });
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'pdm-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n role=\"alert\"\n [ngClass]=\"[\n 'w-full rounded-lg border border-solid border-border bg-background p-4',\n className\n ]\"\n>\n <div [ngClass]=\"['flex gap-3', isDestructive ? 'items-start' : 'items-center']\">\n <span class=\"inline-flex h-6 w-6 shrink-0 items-center justify-center\">\n <svg *ngIf=\"!isDestructive && !isTitleOnly\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <svg *ngIf=\"isTitleOnly\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 8H19\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M9 8V6.5C9 5.67 9.67 5 10.5 5H13.5C14.33 5 15 5.67 15 6.5V8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M7 8L8 18.5C8.07 19.33 8.77 20 9.6 20H14.4C15.23 20 15.93 19.33 16 18.5L17 8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n <svg *ngIf=\"isDestructive\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-destructive\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M12 8V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"currentColor\"></circle>\n </svg>\n </span>\n\n <div class=\"min-w-0 flex-1\">\n <h4\n [ngClass]=\"[\n 'm-0 text-sm font-medium',\n isDestructive ? 'text-destructive' : 'text-foreground'\n ]\"\n >\n {{ title }}\n </h4>\n\n <p\n *ngIf=\"!isTitleOnly && description\"\n [ngClass]=\"[\n 'm-0 mt-0.5 text-sm',\n isDestructive ? 'text-destructive' : 'text-muted-foreground'\n ]\"\n >\n {{ description }}\n </p>\n\n <ul *ngIf=\"isDestructive && details.length\" class=\"m-0 mt-1 pl-5 text-sm text-destructive\">\n <li *ngFor=\"let item of details\">{{ item }}</li>\n </ul>\n </div>\n </div>\n</section>\n" }]
25
+ args: [{ selector: 'pdm-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n role=\"alert\"\n [ngClass]=\"[\n 'w-full rounded-lg border border-solid border-border bg-background p-4',\n className\n ]\"\n>\n <div [ngClass]=\"['flex gap-3', isDestructive ? 'items-start' : 'items-center']\">\n <span class=\"inline-flex h-6 w-6 shrink-0 items-center justify-center\">\n <svg *ngIf=\"!isDestructive && !isTitleOnly\" aria-label=\"Success\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <svg *ngIf=\"isTitleOnly\" aria-label=\"Info\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 8H19\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M9 8V6.5C9 5.67 9.67 5 10.5 5H13.5C14.33 5 15 5.67 15 6.5V8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M7 8L8 18.5C8.07 19.33 8.77 20 9.6 20H14.4C15.23 20 15.93 19.33 16 18.5L17 8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n <svg *ngIf=\"isDestructive\" aria-label=\"Error\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-destructive\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M12 8V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"currentColor\"></circle>\n </svg>\n </span>\n\n <div class=\"min-w-0 flex-1\">\n <h4\n [ngClass]=\"[\n 'm-0 text-sm font-medium',\n isDestructive ? 'text-destructive' : 'text-foreground'\n ]\"\n >\n {{ title }}\n </h4>\n\n <p\n *ngIf=\"!isTitleOnly && description\"\n [ngClass]=\"[\n 'm-0 mt-0.5 text-sm',\n isDestructive ? 'text-destructive' : 'text-muted-foreground'\n ]\"\n >\n {{ description }}\n </p>\n\n <ul *ngIf=\"isDestructive && details.length\" class=\"m-0 mt-1 pl-5 text-sm text-destructive\">\n <li *ngFor=\"let item of details\">{{ item }}</li>\n </ul>\n </div>\n </div>\n</section>\n" }]
26
26
  }], propDecorators: { variant: [{
27
27
  type: Input
28
28
  }], title: [{
@@ -1 +1 @@
1
- {"version":3,"file":"pdm-ui-kit-src-alert.mjs","sources":["../../../src/alert/alert.component.ts","../../../src/alert/alert.component.html","../../../src/alert/alert-dialog.component.ts","../../../src/alert/alert-dialog.component.html","../../../src/alert/alert.module.ts","../../../src/alert/pdm-ui-kit-src-alert.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type PdmAlertVariant = 'default' | 'title-only' | 'destructive';\n\n@Component({\n selector: 'pdm-alert',\n templateUrl: './alert.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmAlertComponent {\n @Input() variant: PdmAlertVariant = 'default';\n @Input() title = 'Success! Your changes have been saved';\n @Input() description = 'This is an alert with icon, title and description.';\n @Input() details: string[] = [];\n @Input() className = '';\n\n get isDestructive(): boolean {\n return this.variant === 'destructive';\n }\n\n get isTitleOnly(): boolean {\n return this.variant === 'title-only';\n }\n}\n\n","<section\n role=\"alert\"\n [ngClass]=\"[\n 'w-full rounded-lg border border-solid border-border bg-background p-4',\n className\n ]\"\n>\n <div [ngClass]=\"['flex gap-3', isDestructive ? 'items-start' : 'items-center']\">\n <span class=\"inline-flex h-6 w-6 shrink-0 items-center justify-center\">\n <svg *ngIf=\"!isDestructive && !isTitleOnly\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <svg *ngIf=\"isTitleOnly\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 8H19\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M9 8V6.5C9 5.67 9.67 5 10.5 5H13.5C14.33 5 15 5.67 15 6.5V8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M7 8L8 18.5C8.07 19.33 8.77 20 9.6 20H14.4C15.23 20 15.93 19.33 16 18.5L17 8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n <svg *ngIf=\"isDestructive\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-destructive\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M12 8V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"currentColor\"></circle>\n </svg>\n </span>\n\n <div class=\"min-w-0 flex-1\">\n <h4\n [ngClass]=\"[\n 'm-0 text-sm font-medium',\n isDestructive ? 'text-destructive' : 'text-foreground'\n ]\"\n >\n {{ title }}\n </h4>\n\n <p\n *ngIf=\"!isTitleOnly && description\"\n [ngClass]=\"[\n 'm-0 mt-0.5 text-sm',\n isDestructive ? 'text-destructive' : 'text-muted-foreground'\n ]\"\n >\n {{ description }}\n </p>\n\n <ul *ngIf=\"isDestructive && details.length\" class=\"m-0 mt-1 pl-5 text-sm text-destructive\">\n <li *ngFor=\"let item of details\">{{ item }}</li>\n </ul>\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'pdm-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmAlertDialogComponent {\n @Input() open = false;\n @Input() showTrigger = false;\n @Input() triggerText = 'Show dialog';\n @Input() title = 'Are you absolutely sure?';\n @Input() description = '';\n @Input() confirmText = 'Continue';\n @Input() cancelText = 'Cancel';\n @Input() className = '';\n\n /** Close when the ESC key is pressed. Default: `true`. */\n @Input() closeOnEsc = true;\n\n @Output() openChange = new EventEmitter<boolean>();\n @Output() confirm = new EventEmitter<void>();\n @Output() cancel = new EventEmitter<void>();\n\n /**\n * Returns `true` when at least one consumer listens to `openChange`.\n * - **Controlled** (has observers): parent manages `open` via two-way binding → only emit.\n * - **Uncontrolled** (no observers): we own the `open` state → mutate it locally.\n */\n private get isControlled(): boolean {\n return this.openChange.observed;\n }\n\n onTriggerClick(): void {\n if (!this.isControlled) {\n this.open = true;\n }\n this.openChange.emit(true);\n }\n\n onCancel(): void {\n this.cancel.emit();\n if (!this.isControlled) {\n this.open = false;\n }\n this.openChange.emit(false);\n }\n\n onConfirm(): void {\n this.confirm.emit();\n if (!this.isControlled) {\n this.open = false;\n }\n this.openChange.emit(false);\n }\n\n @HostListener('document:keydown.escape')\n onEsc(): void {\n if (this.open && this.closeOnEsc) {\n this.onCancel();\n }\n }\n}\n","<button\n *ngIf=\"showTrigger && !open\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm\"\n (click)=\"onTriggerClick()\"\n>\n {{ triggerText }}\n</button>\n\n<div *ngIf=\"open\" class=\"fixed inset-0 z-50 flex items-center justify-center p-5\">\n <div class=\"absolute inset-0 bg-foreground/30\" (click)=\"onCancel()\"></div>\n <section\n role=\"alertdialog\"\n aria-modal=\"true\"\n [ngClass]=\"[\n 'relative z-[60] w-full max-w-lg rounded-lg border border-solid border-border bg-background p-6 text-foreground shadow-lg',\n className\n ]\"\n >\n <div class=\"flex flex-col gap-2\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <div class=\"mt-4 flex items-center justify-end gap-2\">\n <button\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm\"\n (click)=\"onCancel()\"\n >\n {{ cancelText }}\n </button>\n <button\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm\"\n (click)=\"onConfirm()\"\n >\n {{ confirmText }}\n </button>\n </div>\n </section>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PdmAlertComponent } from './alert.component';\nimport { PdmAlertDialogComponent } from './alert-dialog.component';\n\nconst COMPONENTS = [\n PdmAlertComponent,\n PdmAlertDialogComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdm-ui-kit-src-alert.mjs","sources":["../../../src/alert/alert.component.ts","../../../src/alert/alert.component.html","../../../src/alert/alert-dialog.component.ts","../../../src/alert/alert-dialog.component.html","../../../src/alert/alert.module.ts","../../../src/alert/pdm-ui-kit-src-alert.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type PdmAlertVariant = 'default' | 'title-only' | 'destructive';\n\n@Component({\n selector: 'pdm-alert',\n templateUrl: './alert.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmAlertComponent {\n @Input() variant: PdmAlertVariant = 'default';\n @Input() title = 'Success! Your changes have been saved';\n @Input() description = 'This is an alert with icon, title and description.';\n @Input() details: string[] = [];\n @Input() className = '';\n\n get isDestructive(): boolean {\n return this.variant === 'destructive';\n }\n\n get isTitleOnly(): boolean {\n return this.variant === 'title-only';\n }\n}\n\n","<section\n role=\"alert\"\n [ngClass]=\"[\n 'w-full rounded-lg border border-solid border-border bg-background p-4',\n className\n ]\"\n>\n <div [ngClass]=\"['flex gap-3', isDestructive ? 'items-start' : 'items-center']\">\n <span class=\"inline-flex h-6 w-6 shrink-0 items-center justify-center\">\n <svg *ngIf=\"!isDestructive && !isTitleOnly\" aria-label=\"Success\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <svg *ngIf=\"isTitleOnly\" aria-label=\"Info\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 8H19\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M9 8V6.5C9 5.67 9.67 5 10.5 5H13.5C14.33 5 15 5.67 15 6.5V8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <path d=\"M7 8L8 18.5C8.07 19.33 8.77 20 9.6 20H14.4C15.23 20 15.93 19.33 16 18.5L17 8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n <svg *ngIf=\"isDestructive\" aria-label=\"Error\" viewBox=\"0 0 24 24\" class=\"h-5 w-5 text-destructive\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M12 8V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"currentColor\"></circle>\n </svg>\n </span>\n\n <div class=\"min-w-0 flex-1\">\n <h4\n [ngClass]=\"[\n 'm-0 text-sm font-medium',\n isDestructive ? 'text-destructive' : 'text-foreground'\n ]\"\n >\n {{ title }}\n </h4>\n\n <p\n *ngIf=\"!isTitleOnly && description\"\n [ngClass]=\"[\n 'm-0 mt-0.5 text-sm',\n isDestructive ? 'text-destructive' : 'text-muted-foreground'\n ]\"\n >\n {{ description }}\n </p>\n\n <ul *ngIf=\"isDestructive && details.length\" class=\"m-0 mt-1 pl-5 text-sm text-destructive\">\n <li *ngFor=\"let item of details\">{{ item }}</li>\n </ul>\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'pdm-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmAlertDialogComponent {\n @Input() open = false;\n @Input() showTrigger = false;\n @Input() triggerText = 'Show dialog';\n @Input() title = 'Are you absolutely sure?';\n @Input() description = '';\n @Input() confirmText = 'Continue';\n @Input() cancelText = 'Cancel';\n @Input() className = '';\n\n /** Close when the ESC key is pressed. Default: `true`. */\n @Input() closeOnEsc = true;\n\n @Output() openChange = new EventEmitter<boolean>();\n @Output() confirm = new EventEmitter<void>();\n @Output() cancel = new EventEmitter<void>();\n\n /**\n * Returns `true` when at least one consumer listens to `openChange`.\n * - **Controlled** (has observers): parent manages `open` via two-way binding → only emit.\n * - **Uncontrolled** (no observers): we own the `open` state → mutate it locally.\n */\n private get isControlled(): boolean {\n return this.openChange.observed;\n }\n\n onTriggerClick(): void {\n if (!this.isControlled) {\n this.open = true;\n }\n this.openChange.emit(true);\n }\n\n onCancel(): void {\n this.cancel.emit();\n if (!this.isControlled) {\n this.open = false;\n }\n this.openChange.emit(false);\n }\n\n onConfirm(): void {\n this.confirm.emit();\n if (!this.isControlled) {\n this.open = false;\n }\n this.openChange.emit(false);\n }\n\n @HostListener('document:keydown.escape')\n onEsc(): void {\n if (this.open && this.closeOnEsc) {\n this.onCancel();\n }\n }\n}\n","<button\n *ngIf=\"showTrigger && !open\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm\"\n (click)=\"onTriggerClick()\"\n>\n {{ triggerText }}\n</button>\n\n<div *ngIf=\"open\" class=\"fixed inset-0 z-50 flex items-center justify-center p-5\">\n <div class=\"absolute inset-0 bg-foreground/30\" (click)=\"onCancel()\"></div>\n <section\n role=\"alertdialog\"\n aria-modal=\"true\"\n [ngClass]=\"[\n 'relative z-[60] w-full max-w-lg rounded-lg border border-solid border-border bg-background p-6 text-foreground shadow-lg',\n className\n ]\"\n >\n <div class=\"flex flex-col gap-2\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <div class=\"mt-4 flex items-center justify-end gap-2\">\n <button\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm\"\n (click)=\"onCancel()\"\n >\n {{ cancelText }}\n </button>\n <button\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm\"\n (click)=\"onConfirm()\"\n >\n {{ confirmText }}\n </button>\n </div>\n </section>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PdmAlertComponent } from './alert.component';\nimport { PdmAlertDialogComponent } from './alert-dialog.component';\n\nconst COMPONENTS = [\n PdmAlertComponent,\n PdmAlertDialogComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -17,10 +17,10 @@ class PdmAspectRatioComponent {
17
17
  }
18
18
  }
19
19
  PdmAspectRatioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAspectRatioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- PdmAspectRatioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmAspectRatioComponent, selector: "pdm-aspect-ratio", inputs: { ratio: "ratio", imageSrc: "imageSrc", imageAlt: "imageAlt", className: "className" }, ngImport: i0, template: "<div class=\"relative w-full\" [ngClass]=\"className\" [style.paddingTop]=\"paddingTop\">\n <div class=\"absolute inset-0 overflow-hidden rounded-lg\">\n <img\n *ngIf=\"imageSrc\"\n [src]=\"imageSrc\"\n [alt]=\"imageAlt\"\n class=\"pointer-events-none h-full w-full rounded-lg object-cover\"\n />\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 });
20
+ PdmAspectRatioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmAspectRatioComponent, isStandalone: true, selector: "pdm-aspect-ratio", inputs: { ratio: "ratio", imageSrc: "imageSrc", imageAlt: "imageAlt", className: "className" }, ngImport: i0, template: "<div class=\"relative w-full\" [ngClass]=\"className\" [style.paddingTop]=\"paddingTop\">\n <div class=\"absolute inset-0 overflow-hidden rounded-lg\">\n <img\n *ngIf=\"imageSrc\"\n [src]=\"imageSrc\"\n [alt]=\"imageAlt\"\n class=\"pointer-events-none h-full w-full rounded-lg object-cover\"\n />\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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 });
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAspectRatioComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: 'pdm-aspect-ratio', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative w-full\" [ngClass]=\"className\" [style.paddingTop]=\"paddingTop\">\n <div class=\"absolute inset-0 overflow-hidden rounded-lg\">\n <img\n *ngIf=\"imageSrc\"\n [src]=\"imageSrc\"\n [alt]=\"imageAlt\"\n class=\"pointer-events-none h-full w-full rounded-lg object-cover\"\n />\n <ng-content></ng-content>\n </div>\n</div>\n" }]
23
+ args: [{ selector: 'pdm-aspect-ratio', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div class=\"relative w-full\" [ngClass]=\"className\" [style.paddingTop]=\"paddingTop\">\n <div class=\"absolute inset-0 overflow-hidden rounded-lg\">\n <img\n *ngIf=\"imageSrc\"\n [src]=\"imageSrc\"\n [alt]=\"imageAlt\"\n class=\"pointer-events-none h-full w-full rounded-lg object-cover\"\n />\n <ng-content></ng-content>\n </div>\n</div>\n" }]
24
24
  }], propDecorators: { ratio: [{
25
25
  type: Input
26
26
  }], imageSrc: [{
@@ -31,20 +31,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
31
31
  type: Input
32
32
  }] } });
33
33
 
34
- const COMPONENTS = [
35
- PdmAspectRatioComponent,
36
- ];
34
+ /**
35
+ * @deprecated Import PdmAspectRatioComponent directly instead. This module is kept for backwards compatibility.
36
+ * For modern Angular (v14+), use: import { PdmAspectRatioComponent } from 'pdm-ui-kit/aspect-ratio'
37
+ */
37
38
  class PdmAspectRatioModule {
38
39
  }
39
40
  PdmAspectRatioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAspectRatioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40
- PdmAspectRatioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmAspectRatioModule, declarations: [PdmAspectRatioComponent], imports: [CommonModule], exports: [PdmAspectRatioComponent] });
41
- PdmAspectRatioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAspectRatioModule, imports: [CommonModule] });
41
+ PdmAspectRatioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmAspectRatioModule, imports: [PdmAspectRatioComponent], exports: [PdmAspectRatioComponent] });
42
+ PdmAspectRatioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAspectRatioModule, imports: [PdmAspectRatioComponent] });
42
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAspectRatioModule, decorators: [{
43
44
  type: NgModule,
44
45
  args: [{
45
- imports: [CommonModule],
46
- declarations: COMPONENTS,
47
- exports: COMPONENTS
46
+ imports: [PdmAspectRatioComponent],
47
+ exports: [PdmAspectRatioComponent]
48
48
  }]
49
49
  }] });
50
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"pdm-ui-kit-src-aspect-ratio.mjs","sources":["../../../src/aspect-ratio/aspect-ratio.component.ts","../../../src/aspect-ratio/aspect-ratio.component.html","../../../src/aspect-ratio/aspect-ratio.module.ts","../../../src/aspect-ratio/pdm-ui-kit-src-aspect-ratio.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'pdm-aspect-ratio',\n templateUrl: './aspect-ratio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmAspectRatioComponent {\n @Input() ratio = 16 / 9;\n @Input() imageSrc = '';\n @Input() imageAlt = '';\n @Input() className = '';\n\n get paddingTop(): string {\n if (!this.ratio || this.ratio <= 0) return '56.25%';\n return (100 / this.ratio).toFixed(4) + '%';\n }\n}\n","<div class=\"relative w-full\" [ngClass]=\"className\" [style.paddingTop]=\"paddingTop\">\n <div class=\"absolute inset-0 overflow-hidden rounded-lg\">\n <img\n *ngIf=\"imageSrc\"\n [src]=\"imageSrc\"\n [alt]=\"imageAlt\"\n class=\"pointer-events-none h-full w-full rounded-lg object-cover\"\n />\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PdmAspectRatioComponent } from './aspect-ratio.component';\n\nconst COMPONENTS = [\n PdmAspectRatioComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmAspectRatioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAOa,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;AAMW,QAAA,IAAA,CAAA,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;AACf,QAAA,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AACd,QAAA,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AACd,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KAMzB;AAJC,IAAA,IAAI,UAAU,GAAA;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;AAAE,YAAA,OAAO,QAAQ,CAAC;AACpD,QAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAC5C;;oHATU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,wJCPpC,wXAWA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDJa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,kBAAkB,EAAA,eAAA,EAEX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wXAAA,EAAA,CAAA;8BAGtC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEPR,MAAM,UAAU,GAAG;IACjB,uBAAuB;CACxB,CAAC;MAOW,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAR/B,YAAA,EAAA,CAAA,uBAAuB,CAIb,EAAA,OAAA,EAAA,CAAA,YAAY,aAJtB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAQZ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAJrB,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,UAAU;iBACpB,CAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"pdm-ui-kit-src-aspect-ratio.mjs","sources":["../../../src/aspect-ratio/aspect-ratio.component.ts","../../../src/aspect-ratio/aspect-ratio.component.html","../../../src/aspect-ratio/aspect-ratio.module.ts","../../../src/aspect-ratio/pdm-ui-kit-src-aspect-ratio.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'pdm-aspect-ratio',\n templateUrl: './aspect-ratio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule],\n})\nexport class PdmAspectRatioComponent {\n @Input() ratio = 16 / 9;\n @Input() imageSrc = '';\n @Input() imageAlt = '';\n @Input() className = '';\n\n get paddingTop(): string {\n if (!this.ratio || this.ratio <= 0) return '56.25%';\n return (100 / this.ratio).toFixed(4) + '%';\n }\n}\n","<div class=\"relative w-full\" [ngClass]=\"className\" [style.paddingTop]=\"paddingTop\">\n <div class=\"absolute inset-0 overflow-hidden rounded-lg\">\n <img\n *ngIf=\"imageSrc\"\n [src]=\"imageSrc\"\n [alt]=\"imageAlt\"\n class=\"pointer-events-none h-full w-full rounded-lg object-cover\"\n />\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { PdmAspectRatioComponent } from './aspect-ratio.component';\n\n/**\n * @deprecated Import PdmAspectRatioComponent directly instead. This module is kept for backwards compatibility.\n * For modern Angular (v14+), use: import { PdmAspectRatioComponent } from 'pdm-ui-kit/aspect-ratio'\n */\n@NgModule({\n imports: [PdmAspectRatioComponent],\n exports: [PdmAspectRatioComponent]\n})\nexport class PdmAspectRatioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;AAQW,QAAA,IAAA,CAAA,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;AACf,QAAA,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AACd,QAAA,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AACd,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KAMzB;AAJC,IAAA,IAAI,UAAU,GAAA;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;AAAE,YAAA,OAAO,QAAQ,CAAC;AACpD,QAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAC5C;;oHATU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVpC,wXAWA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;+BACE,kBAAkB,EAAA,eAAA,EAEX,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wXAAA,EAAA,CAAA;8BAGd,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEXR;;;AAGG;MAKU,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAApB,oBAAoB,EAAA,OAAA,EAAA,CAHrB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAHrB,uBAAuB,CAAA,EAAA,CAAA,CAAA;2FAGtB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,OAAO,EAAE,CAAC,uBAAuB,CAAC;iBACnC,CAAA;;;ACVD;;AAEG;;;;"}
@@ -11,10 +11,10 @@ class PdmBadgeComponent {
11
11
  }
12
12
  }
13
13
  PdmBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- PdmBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmBadgeComponent, selector: "pdm-badge", inputs: { variant: "variant", text: "text", className: "className" }, ngImport: i0, template: "<span\n [ngClass]=\"[\n 'inline-flex items-center justify-center text-center align-middle rounded-full px-2.5 py-0.5 text-xs font-semibold',\n variant === 'default' ? 'bg-primary text-primary-foreground' : '',\n variant === 'secondary' ? 'bg-secondary text-secondary-foreground' : '',\n variant === 'destructive' ? 'bg-destructive text-destructive-foreground' : '',\n variant === 'outline' ? 'border border-solid border-input text-foreground' : '',\n variant === 'icon' ? 'gap-1 bg-primary text-primary-foreground' : '',\n variant === 'number' ? 'min-w-5 rounded-full bg-primary px-1.5 text-primary-foreground' : '',\n variant === 'destructive-number' ? 'min-w-5 rounded-full bg-destructive px-1.5 text-destructive-foreground' : '',\n variant === 'secondary-number' ? 'min-w-5 rounded-full border border-solid border-input px-1.5 text-foreground' : '',\n className\n ]\"\n>\n <svg\n *ngIf=\"variant === 'icon'\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span [ngClass]=\"[variant === 'secondary-number' ? 'font-mono' : '']\">{{ text }}</span>\n</span>\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 });
14
+ PdmBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmBadgeComponent, isStandalone: true, selector: "pdm-badge", inputs: { variant: "variant", text: "text", className: "className" }, ngImport: i0, template: "<span\n [ngClass]=\"[\n 'inline-flex items-center justify-center text-center align-middle rounded-full px-2.5 py-0.5 text-xs font-semibold',\n variant === 'default' ? 'bg-primary text-primary-foreground' : '',\n variant === 'secondary' ? 'bg-secondary text-secondary-foreground' : '',\n variant === 'destructive' ? 'bg-destructive text-destructive-foreground' : '',\n variant === 'outline' ? 'border border-solid border-input text-foreground' : '',\n variant === 'icon' ? 'gap-1 bg-primary text-primary-foreground' : '',\n variant === 'number' ? 'min-w-5 rounded-full bg-primary px-1.5 text-primary-foreground' : '',\n variant === 'destructive-number' ? 'min-w-5 rounded-full bg-destructive px-1.5 text-destructive-foreground' : '',\n variant === 'secondary-number' ? 'min-w-5 rounded-full border border-solid border-input px-1.5 text-foreground' : '',\n className\n ]\"\n>\n <svg\n *ngIf=\"variant === 'icon'\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span [ngClass]=\"[variant === 'secondary-number' ? 'font-mono' : '']\">{{ text }}</span>\n</span>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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 });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmBadgeComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'pdm-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n [ngClass]=\"[\n 'inline-flex items-center justify-center text-center align-middle rounded-full px-2.5 py-0.5 text-xs font-semibold',\n variant === 'default' ? 'bg-primary text-primary-foreground' : '',\n variant === 'secondary' ? 'bg-secondary text-secondary-foreground' : '',\n variant === 'destructive' ? 'bg-destructive text-destructive-foreground' : '',\n variant === 'outline' ? 'border border-solid border-input text-foreground' : '',\n variant === 'icon' ? 'gap-1 bg-primary text-primary-foreground' : '',\n variant === 'number' ? 'min-w-5 rounded-full bg-primary px-1.5 text-primary-foreground' : '',\n variant === 'destructive-number' ? 'min-w-5 rounded-full bg-destructive px-1.5 text-destructive-foreground' : '',\n variant === 'secondary-number' ? 'min-w-5 rounded-full border border-solid border-input px-1.5 text-foreground' : '',\n className\n ]\"\n>\n <svg\n *ngIf=\"variant === 'icon'\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span [ngClass]=\"[variant === 'secondary-number' ? 'font-mono' : '']\">{{ text }}</span>\n</span>\n" }]
17
+ args: [{ selector: 'pdm-badge', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<span\n [ngClass]=\"[\n 'inline-flex items-center justify-center text-center align-middle rounded-full px-2.5 py-0.5 text-xs font-semibold',\n variant === 'default' ? 'bg-primary text-primary-foreground' : '',\n variant === 'secondary' ? 'bg-secondary text-secondary-foreground' : '',\n variant === 'destructive' ? 'bg-destructive text-destructive-foreground' : '',\n variant === 'outline' ? 'border border-solid border-input text-foreground' : '',\n variant === 'icon' ? 'gap-1 bg-primary text-primary-foreground' : '',\n variant === 'number' ? 'min-w-5 rounded-full bg-primary px-1.5 text-primary-foreground' : '',\n variant === 'destructive-number' ? 'min-w-5 rounded-full bg-destructive px-1.5 text-destructive-foreground' : '',\n variant === 'secondary-number' ? 'min-w-5 rounded-full border border-solid border-input px-1.5 text-foreground' : '',\n className\n ]\"\n>\n <svg\n *ngIf=\"variant === 'icon'\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span [ngClass]=\"[variant === 'secondary-number' ? 'font-mono' : '']\">{{ text }}</span>\n</span>\n" }]
18
18
  }], propDecorators: { variant: [{
19
19
  type: Input
20
20
  }], text: [{
@@ -23,20 +23,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
23
23
  type: Input
24
24
  }] } });
25
25
 
26
- const COMPONENTS = [
27
- PdmBadgeComponent,
28
- ];
26
+ /**
27
+ * @deprecated Import PdmBadgeComponent directly instead. This module is kept for backwards compatibility.
28
+ * For modern Angular (v14+), use: import { PdmBadgeComponent } from 'pdm-ui-kit/badge'
29
+ */
29
30
  class PdmBadgeModule {
30
31
  }
31
32
  PdmBadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- PdmBadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmBadgeModule, declarations: [PdmBadgeComponent], imports: [CommonModule], exports: [PdmBadgeComponent] });
33
- PdmBadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmBadgeModule, imports: [CommonModule] });
33
+ PdmBadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmBadgeModule, imports: [PdmBadgeComponent], exports: [PdmBadgeComponent] });
34
+ PdmBadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmBadgeModule, imports: [PdmBadgeComponent] });
34
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmBadgeModule, decorators: [{
35
36
  type: NgModule,
36
37
  args: [{
37
- imports: [CommonModule],
38
- declarations: COMPONENTS,
39
- exports: COMPONENTS
38
+ imports: [PdmBadgeComponent],
39
+ exports: [PdmBadgeComponent]
40
40
  }]
41
41
  }] });
42
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"pdm-ui-kit-src-badge.mjs","sources":["../../../src/badge/badge.component.ts","../../../src/badge/badge.component.html","../../../src/badge/badge.module.ts","../../../src/badge/pdm-ui-kit-src-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type PdmBadgeVariant =\n | 'default'\n | 'secondary'\n | 'destructive'\n | 'outline'\n | 'icon'\n | 'number'\n | 'destructive-number'\n | 'secondary-number';\n\n@Component({\n selector: 'pdm-badge',\n templateUrl: './badge.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmBadgeComponent {\n @Input() variant: PdmBadgeVariant = 'default';\n @Input() text = 'Badge';\n @Input() className = '';\n}\n\n","<span\n [ngClass]=\"[\n 'inline-flex items-center justify-center text-center align-middle rounded-full px-2.5 py-0.5 text-xs font-semibold',\n variant === 'default' ? 'bg-primary text-primary-foreground' : '',\n variant === 'secondary' ? 'bg-secondary text-secondary-foreground' : '',\n variant === 'destructive' ? 'bg-destructive text-destructive-foreground' : '',\n variant === 'outline' ? 'border border-solid border-input text-foreground' : '',\n variant === 'icon' ? 'gap-1 bg-primary text-primary-foreground' : '',\n variant === 'number' ? 'min-w-5 rounded-full bg-primary px-1.5 text-primary-foreground' : '',\n variant === 'destructive-number' ? 'min-w-5 rounded-full bg-destructive px-1.5 text-destructive-foreground' : '',\n variant === 'secondary-number' ? 'min-w-5 rounded-full border border-solid border-input px-1.5 text-foreground' : '',\n className\n ]\"\n>\n <svg\n *ngIf=\"variant === 'icon'\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span [ngClass]=\"[variant === 'secondary-number' ? 'font-mono' : '']\">{{ text }}</span>\n</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PdmBadgeComponent } from './badge.component';\n\nconst COMPONENTS = [\n PdmBadgeComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmBadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAiBa,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;AAMW,QAAA,IAAO,CAAA,OAAA,GAAoB,SAAS,CAAC;AACrC,QAAA,IAAI,CAAA,IAAA,GAAG,OAAO,CAAC;AACf,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KACzB;;8GAJY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,uHCjB9B,26CA2BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDVa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,WAAW,EAAA,eAAA,EAEJ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,26CAAA,EAAA,CAAA;8BAGtC,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEhBR,MAAM,UAAU,GAAG;IACjB,iBAAiB;CAClB,CAAC;MAOW,cAAc,CAAA;;2GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EARzB,YAAA,EAAA,CAAA,iBAAiB,CAIP,EAAA,OAAA,EAAA,CAAA,YAAY,aAJtB,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAQN,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAJf,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,UAAU;iBACpB,CAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"pdm-ui-kit-src-badge.mjs","sources":["../../../src/badge/badge.component.ts","../../../src/badge/badge.component.html","../../../src/badge/badge.module.ts","../../../src/badge/pdm-ui-kit-src-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport type PdmBadgeVariant =\n | 'default'\n | 'secondary'\n | 'destructive'\n | 'outline'\n | 'icon'\n | 'number'\n | 'destructive-number'\n | 'secondary-number';\n\n@Component({\n selector: 'pdm-badge',\n templateUrl: './badge.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule],\n})\nexport class PdmBadgeComponent {\n @Input() variant: PdmBadgeVariant = 'default';\n @Input() text = 'Badge';\n @Input() className = '';\n}\n\n","<span\n [ngClass]=\"[\n 'inline-flex items-center justify-center text-center align-middle rounded-full px-2.5 py-0.5 text-xs font-semibold',\n variant === 'default' ? 'bg-primary text-primary-foreground' : '',\n variant === 'secondary' ? 'bg-secondary text-secondary-foreground' : '',\n variant === 'destructive' ? 'bg-destructive text-destructive-foreground' : '',\n variant === 'outline' ? 'border border-solid border-input text-foreground' : '',\n variant === 'icon' ? 'gap-1 bg-primary text-primary-foreground' : '',\n variant === 'number' ? 'min-w-5 rounded-full bg-primary px-1.5 text-primary-foreground' : '',\n variant === 'destructive-number' ? 'min-w-5 rounded-full bg-destructive px-1.5 text-destructive-foreground' : '',\n variant === 'secondary-number' ? 'min-w-5 rounded-full border border-solid border-input px-1.5 text-foreground' : '',\n className\n ]\"\n>\n <svg\n *ngIf=\"variant === 'icon'\"\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\"></circle>\n <path d=\"M8.5 12.5L10.8 14.8L15.8 9.8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span [ngClass]=\"[variant === 'secondary-number' ? 'font-mono' : '']\">{{ text }}</span>\n</span>\n","import { NgModule } from '@angular/core';\nimport { PdmBadgeComponent } from './badge.component';\n\n/**\n * @deprecated Import PdmBadgeComponent directly instead. This module is kept for backwards compatibility.\n * For modern Angular (v14+), use: import { PdmBadgeComponent } from 'pdm-ui-kit/badge'\n */\n@NgModule({\n imports: [PdmBadgeComponent],\n exports: [PdmBadgeComponent]\n})\nexport class PdmBadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAoBa,iBAAiB,CAAA;AAP9B,IAAA,WAAA,GAAA;AAQW,QAAA,IAAO,CAAA,OAAA,GAAoB,SAAS,CAAC;AACrC,QAAA,IAAI,CAAA,IAAA,GAAG,OAAO,CAAC;AACf,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KACzB;;8GAJY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpB9B,26CA2BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDTY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;+BACE,WAAW,EAAA,eAAA,EAEJ,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,26CAAA,EAAA,CAAA;8BAGd,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEpBR;;;AAGG;MAKU,cAAc,CAAA;;2GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,OAAA,EAAA,CAHf,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACjB,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAHf,iBAAiB,CAAA,EAAA,CAAA,CAAA;2FAGhB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,OAAO,EAAE,CAAC,iBAAiB,CAAC;iBAC7B,CAAA;;;ACVD;;AAEG;;;;"}
@@ -3,6 +3,61 @@ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, NgModu
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
 
6
+ const BUTTON_TONE_MAP = {
7
+ default: {
8
+ default: 'border-primary bg-primary text-primary-foreground',
9
+ hover: 'border-primary bg-primary text-primary-foreground opacity-90',
10
+ },
11
+ primary: {
12
+ default: 'border-primary bg-primary text-primary-foreground',
13
+ hover: 'border-primary bg-primary text-primary-foreground opacity-90',
14
+ },
15
+ destructive: {
16
+ default: 'border-border bg-destructive text-destructive-foreground',
17
+ hover: 'border-border bg-destructive text-destructive-foreground opacity-90',
18
+ },
19
+ outline: {
20
+ default: 'border-border bg-background text-foreground',
21
+ hover: 'border-border bg-muted text-foreground',
22
+ },
23
+ subtle: {
24
+ default: 'border-secondary bg-secondary text-secondary-foreground',
25
+ hover: 'border-accent bg-accent text-accent-foreground',
26
+ },
27
+ secondary: {
28
+ default: 'border-secondary bg-secondary text-secondary-foreground',
29
+ hover: 'border-accent bg-accent text-accent-foreground',
30
+ },
31
+ ghost: {
32
+ default: 'border-border bg-transparent text-foreground',
33
+ hover: 'border-border bg-accent text-accent-foreground',
34
+ },
35
+ link: {
36
+ default: 'border-border bg-transparent text-primary',
37
+ hover: 'border-border bg-transparent text-primary underline underline-offset-4',
38
+ },
39
+ 'with-icon': {
40
+ default: 'border-primary bg-primary text-primary-foreground',
41
+ hover: 'border-primary bg-primary text-primary-foreground opacity-90',
42
+ },
43
+ icon: {
44
+ default: 'border-border bg-background text-foreground',
45
+ hover: 'border-border bg-accent text-accent-foreground',
46
+ },
47
+ 'icon-circle': {
48
+ default: 'border-border bg-background text-foreground',
49
+ hover: 'border-border bg-accent text-accent-foreground',
50
+ },
51
+ rounded: {
52
+ default: 'border-border bg-background text-foreground',
53
+ hover: 'border-border bg-accent text-accent-foreground',
54
+ },
55
+ loading: {
56
+ default: 'border-primary bg-primary text-primary-foreground opacity-70',
57
+ hover: 'border-primary bg-primary text-primary-foreground opacity-70',
58
+ },
59
+ };
60
+
6
61
  class PdmButtonComponent {
7
62
  constructor() {
8
63
  this.type = 'button';
@@ -13,21 +68,7 @@ class PdmButtonComponent {
13
68
  this.loading = false;
14
69
  this.className = '';
15
70
  this.pressed = new EventEmitter();
16
- this.toneClassMap = {
17
- default: { default: 'border-primary bg-primary text-primary-foreground', hover: 'border-primary bg-primary text-primary-foreground opacity-90' },
18
- primary: { default: 'border-primary bg-primary text-primary-foreground', hover: 'border-primary bg-primary text-primary-foreground opacity-90' },
19
- destructive: { default: 'border-border bg-destructive text-destructive-foreground', hover: 'border-border bg-destructive text-destructive-foreground opacity-90' },
20
- outline: { default: 'border-border bg-background text-foreground', hover: 'border-border bg-muted text-foreground' },
21
- subtle: { default: 'border-secondary bg-secondary text-secondary-foreground', hover: 'border-accent bg-accent text-accent-foreground' },
22
- secondary: { default: 'border-secondary bg-secondary text-secondary-foreground', hover: 'border-accent bg-accent text-accent-foreground' },
23
- ghost: { default: 'border-border bg-transparent text-foreground', hover: 'border-border bg-accent text-accent-foreground' },
24
- link: { default: 'border-border bg-transparent text-primary', hover: 'border-border bg-transparent text-primary underline underline-offset-4' },
25
- 'with-icon': { default: 'border-primary bg-primary text-primary-foreground', hover: 'border-primary bg-primary text-primary-foreground opacity-90' },
26
- icon: { default: 'border-border bg-background text-foreground', hover: 'border-border bg-accent text-accent-foreground' },
27
- 'icon-circle': { default: 'border-border bg-background text-foreground', hover: 'border-border bg-accent text-accent-foreground' },
28
- rounded: { default: 'border-border bg-background text-foreground', hover: 'border-border bg-accent text-accent-foreground' },
29
- loading: { default: 'border-primary bg-primary text-primary-foreground opacity-70', hover: 'border-primary bg-primary text-primary-foreground opacity-70' }
30
- };
71
+ this.toneClassMap = BUTTON_TONE_MAP;
31
72
  }
32
73
  get isDisabled() {
33
74
  return this.disabled || this.loading || this.variant === 'loading';
@@ -92,10 +133,10 @@ class PdmButtonComponent {
92
133
  }
93
134
  }
94
135
  PdmButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
- PdmButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmButtonComponent, selector: "pdm-button", inputs: { type: "type", variant: "variant", state: "state", size: "size", disabled: "disabled", loading: "loading", className: "className" }, outputs: { pressed: "pressed" }, ngImport: i0, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"showsIconSlot\"></ng-content>\n <ng-content></ng-content>\n</button>\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 });
136
+ PdmButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmButtonComponent, selector: "pdm-button", inputs: { type: "type", variant: "variant", state: "state", size: "size", disabled: "disabled", loading: "loading", className: "className" }, outputs: { pressed: "pressed" }, ngImport: i0, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"isDisabled && loading ? true : null\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"showsIconSlot\"></ng-content>\n <ng-content></ng-content>\n</button>\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 });
96
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmButtonComponent, decorators: [{
97
138
  type: Component,
98
- args: [{ selector: 'pdm-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"showsIconSlot\"></ng-content>\n <ng-content></ng-content>\n</button>\n" }]
139
+ args: [{ selector: 'pdm-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"isDisabled && loading ? true : null\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"showsIconSlot\"></ng-content>\n <ng-content></ng-content>\n</button>\n" }]
99
140
  }], propDecorators: { type: [{
100
141
  type: Input
101
142
  }], variant: [{
@@ -1 +1 @@
1
- {"version":3,"file":"pdm-ui-kit-src-button.mjs","sources":["../../../src/button/button.component.ts","../../../src/button/button.component.html","../../../src/button/button-group.component.ts","../../../src/button/button-group.component.html","../../../src/button/button.module.ts","../../../src/button/pdm-ui-kit-src-button.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport type PdmButtonVariant =\n | 'default'\n | 'primary'\n | 'destructive'\n | 'outline'\n | 'subtle'\n | 'secondary'\n | 'ghost'\n | 'link'\n | 'with-icon'\n | 'icon'\n | 'icon-circle'\n | 'rounded'\n | 'loading';\nexport type PdmButtonState = 'default' | 'hover';\nexport type PdmButtonSize = 'small' | 'default' | 'large';\n\n@Component({\n selector: 'pdm-button',\n templateUrl: './button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmButtonComponent {\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n @Input() variant: PdmButtonVariant | string = 'default';\n @Input() state: PdmButtonState | string = 'default';\n @Input() size: PdmButtonSize | string = 'default';\n @Input() disabled = false;\n @Input() loading = false;\n @Input() className = '';\n\n @Output() pressed = new EventEmitter<MouseEvent>();\n\n readonly toneClassMap: Record<PdmButtonVariant, { default: string; hover: string }> = {\n default: { default: 'border-primary bg-primary text-primary-foreground', hover: 'border-primary bg-primary text-primary-foreground opacity-90' },\n primary: { default: 'border-primary bg-primary text-primary-foreground', hover: 'border-primary bg-primary text-primary-foreground opacity-90' },\n destructive: { default: 'border-border bg-destructive text-destructive-foreground', hover: 'border-border bg-destructive text-destructive-foreground opacity-90' },\n outline: { default: 'border-border bg-background text-foreground', hover: 'border-border bg-muted text-foreground' },\n subtle: { default: 'border-secondary bg-secondary text-secondary-foreground', hover: 'border-accent bg-accent text-accent-foreground' },\n secondary: { default: 'border-secondary bg-secondary text-secondary-foreground', hover: 'border-accent bg-accent text-accent-foreground' },\n ghost: { default: 'border-border bg-transparent text-foreground', hover: 'border-border bg-accent text-accent-foreground' },\n link: { default: 'border-border bg-transparent text-primary', hover: 'border-border bg-transparent text-primary underline underline-offset-4' },\n 'with-icon': { default: 'border-primary bg-primary text-primary-foreground', hover: 'border-primary bg-primary text-primary-foreground opacity-90' },\n icon: { default: 'border-border bg-background text-foreground', hover: 'border-border bg-accent text-accent-foreground' },\n 'icon-circle': { default: 'border-border bg-background text-foreground', hover: 'border-border bg-accent text-accent-foreground' },\n rounded: { default: 'border-border bg-background text-foreground', hover: 'border-border bg-accent text-accent-foreground' },\n loading: { default: 'border-primary bg-primary text-primary-foreground opacity-70', hover: 'border-primary bg-primary text-primary-foreground opacity-70' }\n };\n\n get isDisabled(): boolean {\n return this.disabled || this.loading || this.variant === 'loading';\n }\n\n get resolvedVariant(): PdmButtonVariant {\n return this.isValidVariant(this.variant) ? this.variant : 'default';\n }\n\n get resolvedState(): PdmButtonState {\n return this.state === 'hover' ? 'hover' : 'default';\n }\n\n get resolvedSize(): PdmButtonSize {\n if (this.size === 'small' || this.size === 'large') {\n return this.size;\n }\n\n return 'default';\n }\n\n get showsIconSlot(): boolean {\n const variant = this.resolvedVariant;\n return variant === 'with-icon' || variant === 'icon' || variant === 'icon-circle' || variant === 'rounded';\n }\n\n get rootClasses(): string[] {\n const currentState = this.resolvedState;\n const variant = this.resolvedVariant;\n const toneClass = this.toneClassMap[variant][currentState];\n\n return [\n 'inline-flex appearance-none box-border items-center justify-center gap-2 rounded-md border border-solid text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-clip-padding',\n variant === 'link' ? 'px-4 py-2 h-9' : '',\n variant === 'icon' ? 'h-9 w-9 p-0' : '',\n variant === 'icon-circle' ? 'h-10 w-10 rounded-full p-0' : '',\n variant === 'rounded' ? 'h-9 w-9 rounded-full p-0' : '',\n variant !== 'icon' && variant !== 'icon-circle' && variant !== 'rounded'\n ? this.resolvedSize === 'small'\n ? 'h-8 px-3 text-xs'\n : this.resolvedSize === 'large'\n ? 'h-10 px-8'\n : 'h-9 px-4'\n : '',\n variant === 'link' && currentState === 'hover' ? 'underline underline-offset-4' : '',\n toneClass,\n this.className\n ];\n }\n\n onClick(event: MouseEvent): void {\n if (!this.isDisabled) {\n this.pressed.emit(event);\n }\n }\n\n private isValidVariant(value: unknown): value is PdmButtonVariant {\n return (\n value === 'default' ||\n value === 'primary' ||\n value === 'destructive' ||\n value === 'outline' ||\n value === 'subtle' ||\n value === 'secondary' ||\n value === 'ghost' ||\n value === 'link' ||\n value === 'with-icon' ||\n value === 'icon' ||\n value === 'icon-circle' ||\n value === 'rounded' ||\n value === 'loading'\n );\n }\n}\n","<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"showsIconSlot\"></ng-content>\n <ng-content></ng-content>\n</button>\n","import { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\n\nexport type PdmButtonGroupVariant =\n\t| \"default\"\n\t| \"group\"\n\t| \"orientation\"\n\t| \"separator\";\nexport type PdmButtonGroupOrientation = \"horizontal\" | \"vertical\";\n\ntype Axis = \"horizontal\" | \"vertical\";\n\nconst ROOT_LAYOUT: Record<Axis, string> = {\n\thorizontal: \"w-full flex flex-row items-center overflow-visible\",\n\tvertical: \"flex flex-col items-stretch\",\n};\n\nconst ATTACHMENT_EDGE_CLASSES: Record<Axis, string[]> = {\n\thorizontal: [\n\t\t\"[&>*]:rounded-none\",\n\t\t\"[&>*:first-child]:rounded-l-md\",\n\t\t\"[&>*:last-child]:rounded-r-md\",\n\t\t\"[&>*:not(:first-child)]:border-l-0\",\n\t\t\"[&>*:not(:first-child)]:-ml-px\",\n\t],\n\tvertical: [\n\t\t\"[&>*]:rounded-none\",\n\t\t\"[&>*:first-child]:rounded-t-md\",\n\t\t\"[&>*:last-child]:rounded-b-md\",\n\t\t\"[&>*:not(:first-child)]:border-t-0\",\n\t\t\"[&>*:not(:first-child)]:-mt-px\",\n\t],\n};\n\nconst ATTACHMENT_CONTROL_CLASSES: Record<Axis, string[]> = {\n\thorizontal: [\n\t\t\"[&>pdm-button]:flex\",\n\t\t\"[&>pdm-button>button]:h-9\",\n\t\t\"[&>pdm-button>button]:!rounded-none\",\n\t\t\"[&>pdm-button>button]:shadow-none\",\n\t\t\"[&>pdm-button:first-child>button]:!rounded-l-md\",\n\t\t\"[&>pdm-button:last-child>button]:!rounded-r-md\",\n\n\t\t\"[&>pdm-input]:flex-1\",\n\t\t\"[&>pdm-input]:min-w-0\",\n\t\t\"[&>pdm-input>div]:w-full\",\n\t\t\"[&>pdm-input>div]:min-w-0\",\n\t\t\"[&>pdm-input>div]:!rounded-none\",\n\t\t\"[&>pdm-input>div]:shadow-none\",\n\t\t\"[&>pdm-input>div>input]:!rounded-none\",\n\t\t\"[&>pdm-input>div>input]:bg-background\",\n\t\t\"[&>pdm-input>div>input]:shadow-none\",\n\t\t\"[&>pdm-input:first-child>div]:!rounded-l-md\",\n\t\t\"[&>pdm-input:last-child>div]:!rounded-r-md\",\n\t\t\"[&>pdm-input:first-child>div>input]:!rounded-l-md\",\n\t\t\"[&>pdm-input:last-child>div>input]:!rounded-r-md\",\n\n\t\t\"[&>pdm-input-group]:min-w-0\",\n\t\t\"[&>pdm-input-group>div]:!rounded-none\",\n\t\t\"[&>pdm-input-group>div]:shadow-none\",\n\t\t\"[&>pdm-input-group:first-child>div]:!rounded-l-md\",\n\t\t\"[&>pdm-input-group:last-child>div]:!rounded-r-md\",\n\n\t\t\"[&>pdm-select>select]:!rounded-none\",\n\t\t\"[&>pdm-select>select]:shadow-none\",\n\t\t\"[&>pdm-select>div>button]:!rounded-none\",\n\t\t\"[&>pdm-select>div>button]:shadow-none\",\n\t\t\"[&>pdm-select:first-child>select]:!rounded-l-md\",\n\t\t\"[&>pdm-select:last-child>select]:!rounded-r-md\",\n\t\t\"[&>pdm-select:first-child>div>button]:!rounded-l-md\",\n\t\t\"[&>pdm-select:last-child>div>button]:!rounded-r-md\",\n\t\t\"[&>pdm-select:not(:first-child)>div>button]:!rounded-l-none\",\n\t\t\"[&>pdm-select:not(:last-child)>div>button]:!rounded-r-none\",\n\n\t\t\"[&>pdm-tooltip>span>*]:rounded-none\",\n\t\t\"[&>pdm-tooltip>span>*]:shadow-none\",\n\t\t\"[&>pdm-tooltip:not(:first-child)>span>*]:border-l-0\",\n\t\t\"[&>pdm-tooltip>span>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>button]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>button]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>input]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>input]:bg-background\",\n\t\t\"[&>pdm-tooltip>span>input]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>input]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>input]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>select]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>select]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>select]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>select]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-button>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-button>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div]:shadow-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:bg-background\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input>div]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input>div]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input>div>input]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-input-group>div]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input-group>div]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input-group>div]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input-group>div]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>select]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>select]:shadow-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>div>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>div>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-select>select]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-select>select]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-select>div>button]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-select>div>button]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip:not(:first-child)>span>pdm-select>div>button]:!rounded-l-none\",\n\t\t\"[&>pdm-tooltip:not(:last-child)>span>pdm-select>div>button]:!rounded-r-none\",\n\t],\n\tvertical: [\n\t\t\"[&>*]:rounded-none\",\n\t\t\"[&>*:first-child]:rounded-t-md\",\n\t\t\"[&>*:last-child]:rounded-b-md\",\n\t\t\"[&>*:not(:first-child)]:border-t-0\",\n\t\t\"[&>*:not(:first-child)]:-mt-px\",\n\n\t\t\"[&>pdm-button]:flex\",\n\t\t\"[&>pdm-button>button]:h-9\",\n\t\t\"[&>pdm-button>button]:!rounded-none\",\n\t\t\"[&>pdm-button>button]:shadow-none\",\n\t\t\"[&>pdm-button:first-child>button]:!rounded-t-md\",\n\t\t\"[&>pdm-button:last-child>button]:!rounded-b-md\",\n\n\t\t\"[&>pdm-input>div]:!rounded-none\",\n\t\t\"[&>pdm-input>div]:shadow-none\",\n\t\t\"[&>pdm-input>div>input]:!rounded-none\",\n\t\t\"[&>pdm-input>div>input]:bg-background\",\n\t\t\"[&>pdm-input>div>input]:shadow-none\",\n\t\t\"[&>pdm-input:first-child>div]:!rounded-t-md\",\n\t\t\"[&>pdm-input:last-child>div]:!rounded-b-md\",\n\t\t\"[&>pdm-input:first-child>div>input]:!rounded-t-md\",\n\t\t\"[&>pdm-input:last-child>div>input]:!rounded-b-md\",\n\n\t\t\"[&>pdm-input-group>div]:!rounded-none\",\n\t\t\"[&>pdm-input-group>div]:shadow-none\",\n\t\t\"[&>pdm-input-group:first-child>div]:!rounded-t-md\",\n\t\t\"[&>pdm-input-group:last-child>div]:!rounded-b-md\",\n\n\t\t\"[&>pdm-select>select]:!rounded-none\",\n\t\t\"[&>pdm-select>select]:shadow-none\",\n\t\t\"[&>pdm-select>div>button]:!rounded-none\",\n\t\t\"[&>pdm-select>div>button]:shadow-none\",\n\t\t\"[&>pdm-select:first-child>select]:!rounded-t-md\",\n\t\t\"[&>pdm-select:last-child>select]:!rounded-b-md\",\n\t\t\"[&>pdm-select:first-child>div>button]:!rounded-t-md\",\n\t\t\"[&>pdm-select:last-child>div>button]:!rounded-b-md\",\n\t\t\"[&>pdm-select:not(:first-child)>div>button]:!rounded-t-none\",\n\t\t\"[&>pdm-select:not(:last-child)>div>button]:!rounded-b-none\",\n\n\t\t\"[&>pdm-tooltip>span>*]:rounded-none\",\n\t\t\"[&>pdm-tooltip>span>*]:shadow-none\",\n\t\t\"[&>pdm-tooltip:not(:first-child)>span>*]:border-t-0\",\n\t\t\"[&>pdm-tooltip>span>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>button]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>button]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>input]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>input]:bg-background\",\n\t\t\"[&>pdm-tooltip>span>input]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>input]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>input]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>select]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>select]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>select]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>select]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-button>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-button>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div]:shadow-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:bg-background\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input>div]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input>div]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input>div>input]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-input-group>div]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input-group>div]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input-group>div]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input-group>div]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>select]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>select]:shadow-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>div>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>div>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-select>select]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-select>select]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-select>div>button]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-select>div>button]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip:not(:first-child)>span>pdm-select>div>button]:!rounded-t-none\",\n\t\t\"[&>pdm-tooltip:not(:last-child)>span>pdm-select>div>button]:!rounded-b-none\",\n\t],\n};\n\nconst FOCUS_STACKING_CLASS = \"*:focus-visible:relative *:focus-visible:z-10\";\nconst SEPARATOR_CLASSES =\n\t\"overflow-hidden rounded-md border border-solid border-border bg-secondary shadow-sm\";\n\n@Component({\n\tselector: \"pdm-button-group\",\n\ttemplateUrl: \"./button-group.component.html\",\n\tstyles: [\":host { display: block; }\"],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PdmButtonGroupComponent {\n\t@Input() variant: PdmButtonGroupVariant = \"default\";\n\t@Input() orientation?: PdmButtonGroupOrientation;\n\t@Input() direction?: PdmButtonGroupOrientation;\n\t@Input() separated = true;\n\t@Input() className = \"\";\n\n\tget axis(): Axis {\n\t\treturn this.orientation ?? this.direction ?? \"horizontal\";\n\t}\n\n\tget isVertical(): boolean {\n\t\treturn this.variant === \"orientation\" || this.axis === \"vertical\";\n\t}\n\n\tget shouldAttach(): boolean {\n\t\treturn !this.separated && this.variant !== \"default\";\n\t}\n\n\tget ariaOrientation(): PdmButtonGroupOrientation {\n\t\treturn this.isVertical ? \"vertical\" : \"horizontal\";\n\t}\n\n\tget rootClasses(): string[] {\n\t\treturn [\n\t\t\tROOT_LAYOUT[this.isVertical ? \"vertical\" : \"horizontal\"],\n\t\t\tthis.variant === \"default\" || this.separated ? \"gap-2\" : \"gap-0\",\n\t\t\tthis.shouldAttach\n\t\t\t\t? ATTACHMENT_EDGE_CLASSES[\n\t\t\t\t\t\tthis.isVertical ? \"vertical\" : \"horizontal\"\n\t\t\t\t\t].join(\" \")\n\t\t\t\t: \"\",\n\t\t\tthis.shouldAttach\n\t\t\t\t? ATTACHMENT_CONTROL_CLASSES[\n\t\t\t\t\t\tthis.isVertical ? \"vertical\" : \"horizontal\"\n\t\t\t\t\t].join(\" \")\n\t\t\t\t: \"\",\n\t\t\tthis.shouldAttach ? FOCUS_STACKING_CLASS : \"\",\n\t\t\tthis.variant === \"separator\" ? SEPARATOR_CLASSES : \"\",\n\t\t\tthis.className,\n\t\t];\n\t}\n}\n","<div\n role=\"group\"\n [attr.aria-orientation]=\"ariaOrientation\"\n [ngClass]=\"rootClasses\"\n>\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PdmButtonComponent } from './button.component';\nimport { PdmButtonGroupComponent } from './button-group.component';\n\nconst COMPONENTS = [\n PdmButtonComponent,\n PdmButtonGroupComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdm-ui-kit-src-button.mjs","sources":["../../../src/button/button-theme.constant.ts","../../../src/button/button.component.ts","../../../src/button/button.component.html","../../../src/button/button-group.component.ts","../../../src/button/button-group.component.html","../../../src/button/button.module.ts","../../../src/button/pdm-ui-kit-src-button.ts"],"sourcesContent":["import { PdmButtonVariant, PdmButtonState } from './button.component';\n\nexport const BUTTON_TONE_MAP: Record<PdmButtonVariant, Record<PdmButtonState, string>> = {\n default: {\n default: 'border-primary bg-primary text-primary-foreground',\n hover: 'border-primary bg-primary text-primary-foreground opacity-90',\n },\n primary: {\n default: 'border-primary bg-primary text-primary-foreground',\n hover: 'border-primary bg-primary text-primary-foreground opacity-90',\n },\n destructive: {\n default: 'border-border bg-destructive text-destructive-foreground',\n hover: 'border-border bg-destructive text-destructive-foreground opacity-90',\n },\n outline: {\n default: 'border-border bg-background text-foreground',\n hover: 'border-border bg-muted text-foreground',\n },\n subtle: {\n default: 'border-secondary bg-secondary text-secondary-foreground',\n hover: 'border-accent bg-accent text-accent-foreground',\n },\n secondary: {\n default: 'border-secondary bg-secondary text-secondary-foreground',\n hover: 'border-accent bg-accent text-accent-foreground',\n },\n ghost: {\n default: 'border-border bg-transparent text-foreground',\n hover: 'border-border bg-accent text-accent-foreground',\n },\n link: {\n default: 'border-border bg-transparent text-primary',\n hover: 'border-border bg-transparent text-primary underline underline-offset-4',\n },\n 'with-icon': {\n default: 'border-primary bg-primary text-primary-foreground',\n hover: 'border-primary bg-primary text-primary-foreground opacity-90',\n },\n icon: {\n default: 'border-border bg-background text-foreground',\n hover: 'border-border bg-accent text-accent-foreground',\n },\n 'icon-circle': {\n default: 'border-border bg-background text-foreground',\n hover: 'border-border bg-accent text-accent-foreground',\n },\n rounded: {\n default: 'border-border bg-background text-foreground',\n hover: 'border-border bg-accent text-accent-foreground',\n },\n loading: {\n default: 'border-primary bg-primary text-primary-foreground opacity-70',\n hover: 'border-primary bg-primary text-primary-foreground opacity-70',\n },\n} as const;\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BUTTON_TONE_MAP } from './button-theme.constant';\n\nexport type PdmButtonVariant =\n | 'default'\n | 'primary'\n | 'destructive'\n | 'outline'\n | 'subtle'\n | 'secondary'\n | 'ghost'\n | 'link'\n | 'with-icon'\n | 'icon'\n | 'icon-circle'\n | 'rounded'\n | 'loading';\nexport type PdmButtonState = 'default' | 'hover';\nexport type PdmButtonSize = 'small' | 'default' | 'large';\n\n@Component({\n selector: 'pdm-button',\n templateUrl: './button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmButtonComponent {\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n @Input() variant: PdmButtonVariant | string = 'default';\n @Input() state: PdmButtonState | string = 'default';\n @Input() size: PdmButtonSize | string = 'default';\n @Input() disabled = false;\n @Input() loading = false;\n @Input() className = '';\n\n @Output() pressed = new EventEmitter<MouseEvent>();\n\n readonly toneClassMap = BUTTON_TONE_MAP;\n\n get isDisabled(): boolean {\n return this.disabled || this.loading || this.variant === 'loading';\n }\n\n get resolvedVariant(): PdmButtonVariant {\n return this.isValidVariant(this.variant) ? this.variant : 'default';\n }\n\n get resolvedState(): PdmButtonState {\n return this.state === 'hover' ? 'hover' : 'default';\n }\n\n get resolvedSize(): PdmButtonSize {\n if (this.size === 'small' || this.size === 'large') {\n return this.size;\n }\n\n return 'default';\n }\n\n get showsIconSlot(): boolean {\n const variant = this.resolvedVariant;\n return variant === 'with-icon' || variant === 'icon' || variant === 'icon-circle' || variant === 'rounded';\n }\n\n get rootClasses(): string[] {\n const currentState = this.resolvedState;\n const variant = this.resolvedVariant;\n const toneClass = this.toneClassMap[variant][currentState];\n\n return [\n 'inline-flex appearance-none box-border items-center justify-center gap-2 rounded-md border border-solid text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-clip-padding',\n variant === 'link' ? 'px-4 py-2 h-9' : '',\n variant === 'icon' ? 'h-9 w-9 p-0' : '',\n variant === 'icon-circle' ? 'h-10 w-10 rounded-full p-0' : '',\n variant === 'rounded' ? 'h-9 w-9 rounded-full p-0' : '',\n variant !== 'icon' && variant !== 'icon-circle' && variant !== 'rounded'\n ? this.resolvedSize === 'small'\n ? 'h-8 px-3 text-xs'\n : this.resolvedSize === 'large'\n ? 'h-10 px-8'\n : 'h-9 px-4'\n : '',\n variant === 'link' && currentState === 'hover' ? 'underline underline-offset-4' : '',\n toneClass,\n this.className\n ];\n }\n\n onClick(event: MouseEvent): void {\n if (!this.isDisabled) {\n this.pressed.emit(event);\n }\n }\n\n private isValidVariant(value: unknown): value is PdmButtonVariant {\n return (\n value === 'default' ||\n value === 'primary' ||\n value === 'destructive' ||\n value === 'outline' ||\n value === 'subtle' ||\n value === 'secondary' ||\n value === 'ghost' ||\n value === 'link' ||\n value === 'with-icon' ||\n value === 'icon' ||\n value === 'icon-circle' ||\n value === 'rounded' ||\n value === 'loading'\n );\n }\n}\n","<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"isDisabled && loading ? true : null\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"showsIconSlot\"></ng-content>\n <ng-content></ng-content>\n</button>\n","import { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\n\nexport type PdmButtonGroupVariant =\n\t| \"default\"\n\t| \"group\"\n\t| \"orientation\"\n\t| \"separator\";\nexport type PdmButtonGroupOrientation = \"horizontal\" | \"vertical\";\n\ntype Axis = \"horizontal\" | \"vertical\";\n\nconst ROOT_LAYOUT: Record<Axis, string> = {\n\thorizontal: \"w-full flex flex-row items-center overflow-visible\",\n\tvertical: \"flex flex-col items-stretch\",\n};\n\nconst ATTACHMENT_EDGE_CLASSES: Record<Axis, string[]> = {\n\thorizontal: [\n\t\t\"[&>*]:rounded-none\",\n\t\t\"[&>*:first-child]:rounded-l-md\",\n\t\t\"[&>*:last-child]:rounded-r-md\",\n\t\t\"[&>*:not(:first-child)]:border-l-0\",\n\t\t\"[&>*:not(:first-child)]:-ml-px\",\n\t],\n\tvertical: [\n\t\t\"[&>*]:rounded-none\",\n\t\t\"[&>*:first-child]:rounded-t-md\",\n\t\t\"[&>*:last-child]:rounded-b-md\",\n\t\t\"[&>*:not(:first-child)]:border-t-0\",\n\t\t\"[&>*:not(:first-child)]:-mt-px\",\n\t],\n};\n\nconst ATTACHMENT_CONTROL_CLASSES: Record<Axis, string[]> = {\n\thorizontal: [\n\t\t\"[&>pdm-button]:flex\",\n\t\t\"[&>pdm-button>button]:h-9\",\n\t\t\"[&>pdm-button>button]:!rounded-none\",\n\t\t\"[&>pdm-button>button]:shadow-none\",\n\t\t\"[&>pdm-button:first-child>button]:!rounded-l-md\",\n\t\t\"[&>pdm-button:last-child>button]:!rounded-r-md\",\n\n\t\t\"[&>pdm-input]:flex-1\",\n\t\t\"[&>pdm-input]:min-w-0\",\n\t\t\"[&>pdm-input>div]:w-full\",\n\t\t\"[&>pdm-input>div]:min-w-0\",\n\t\t\"[&>pdm-input>div]:!rounded-none\",\n\t\t\"[&>pdm-input>div]:shadow-none\",\n\t\t\"[&>pdm-input>div>input]:!rounded-none\",\n\t\t\"[&>pdm-input>div>input]:bg-background\",\n\t\t\"[&>pdm-input>div>input]:shadow-none\",\n\t\t\"[&>pdm-input:first-child>div]:!rounded-l-md\",\n\t\t\"[&>pdm-input:last-child>div]:!rounded-r-md\",\n\t\t\"[&>pdm-input:first-child>div>input]:!rounded-l-md\",\n\t\t\"[&>pdm-input:last-child>div>input]:!rounded-r-md\",\n\n\t\t\"[&>pdm-input-group]:min-w-0\",\n\t\t\"[&>pdm-input-group>div]:!rounded-none\",\n\t\t\"[&>pdm-input-group>div]:shadow-none\",\n\t\t\"[&>pdm-input-group:first-child>div]:!rounded-l-md\",\n\t\t\"[&>pdm-input-group:last-child>div]:!rounded-r-md\",\n\n\t\t\"[&>pdm-select>select]:!rounded-none\",\n\t\t\"[&>pdm-select>select]:shadow-none\",\n\t\t\"[&>pdm-select>div>button]:!rounded-none\",\n\t\t\"[&>pdm-select>div>button]:shadow-none\",\n\t\t\"[&>pdm-select:first-child>select]:!rounded-l-md\",\n\t\t\"[&>pdm-select:last-child>select]:!rounded-r-md\",\n\t\t\"[&>pdm-select:first-child>div>button]:!rounded-l-md\",\n\t\t\"[&>pdm-select:last-child>div>button]:!rounded-r-md\",\n\t\t\"[&>pdm-select:not(:first-child)>div>button]:!rounded-l-none\",\n\t\t\"[&>pdm-select:not(:last-child)>div>button]:!rounded-r-none\",\n\n\t\t\"[&>pdm-tooltip>span>*]:rounded-none\",\n\t\t\"[&>pdm-tooltip>span>*]:shadow-none\",\n\t\t\"[&>pdm-tooltip:not(:first-child)>span>*]:border-l-0\",\n\t\t\"[&>pdm-tooltip>span>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>button]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>button]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>input]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>input]:bg-background\",\n\t\t\"[&>pdm-tooltip>span>input]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>input]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>input]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>select]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>select]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>select]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>select]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-button>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-button>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div]:shadow-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:bg-background\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input>div]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input>div]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input>div>input]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-input-group>div]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input-group>div]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input-group>div]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input-group>div]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>select]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>select]:shadow-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>div>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>div>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-select>select]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-select>select]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-select>div>button]:!rounded-l-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-select>div>button]:!rounded-r-md\",\n\t\t\"[&>pdm-tooltip:not(:first-child)>span>pdm-select>div>button]:!rounded-l-none\",\n\t\t\"[&>pdm-tooltip:not(:last-child)>span>pdm-select>div>button]:!rounded-r-none\",\n\t],\n\tvertical: [\n\t\t\"[&>*]:rounded-none\",\n\t\t\"[&>*:first-child]:rounded-t-md\",\n\t\t\"[&>*:last-child]:rounded-b-md\",\n\t\t\"[&>*:not(:first-child)]:border-t-0\",\n\t\t\"[&>*:not(:first-child)]:-mt-px\",\n\n\t\t\"[&>pdm-button]:flex\",\n\t\t\"[&>pdm-button>button]:h-9\",\n\t\t\"[&>pdm-button>button]:!rounded-none\",\n\t\t\"[&>pdm-button>button]:shadow-none\",\n\t\t\"[&>pdm-button:first-child>button]:!rounded-t-md\",\n\t\t\"[&>pdm-button:last-child>button]:!rounded-b-md\",\n\n\t\t\"[&>pdm-input>div]:!rounded-none\",\n\t\t\"[&>pdm-input>div]:shadow-none\",\n\t\t\"[&>pdm-input>div>input]:!rounded-none\",\n\t\t\"[&>pdm-input>div>input]:bg-background\",\n\t\t\"[&>pdm-input>div>input]:shadow-none\",\n\t\t\"[&>pdm-input:first-child>div]:!rounded-t-md\",\n\t\t\"[&>pdm-input:last-child>div]:!rounded-b-md\",\n\t\t\"[&>pdm-input:first-child>div>input]:!rounded-t-md\",\n\t\t\"[&>pdm-input:last-child>div>input]:!rounded-b-md\",\n\n\t\t\"[&>pdm-input-group>div]:!rounded-none\",\n\t\t\"[&>pdm-input-group>div]:shadow-none\",\n\t\t\"[&>pdm-input-group:first-child>div]:!rounded-t-md\",\n\t\t\"[&>pdm-input-group:last-child>div]:!rounded-b-md\",\n\n\t\t\"[&>pdm-select>select]:!rounded-none\",\n\t\t\"[&>pdm-select>select]:shadow-none\",\n\t\t\"[&>pdm-select>div>button]:!rounded-none\",\n\t\t\"[&>pdm-select>div>button]:shadow-none\",\n\t\t\"[&>pdm-select:first-child>select]:!rounded-t-md\",\n\t\t\"[&>pdm-select:last-child>select]:!rounded-b-md\",\n\t\t\"[&>pdm-select:first-child>div>button]:!rounded-t-md\",\n\t\t\"[&>pdm-select:last-child>div>button]:!rounded-b-md\",\n\t\t\"[&>pdm-select:not(:first-child)>div>button]:!rounded-t-none\",\n\t\t\"[&>pdm-select:not(:last-child)>div>button]:!rounded-b-none\",\n\n\t\t\"[&>pdm-tooltip>span>*]:rounded-none\",\n\t\t\"[&>pdm-tooltip>span>*]:shadow-none\",\n\t\t\"[&>pdm-tooltip:not(:first-child)>span>*]:border-t-0\",\n\t\t\"[&>pdm-tooltip>span>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>button]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>button]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>input]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>input]:bg-background\",\n\t\t\"[&>pdm-tooltip>span>input]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>input]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>input]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>select]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>select]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>select]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>select]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-button>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-button>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div]:shadow-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:bg-background\",\n\t\t\"[&>pdm-tooltip>span>pdm-input>div>input]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input>div]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input>div]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input>div>input]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-input-group>div]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-input-group>div]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-input-group>div]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-input-group>div]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>select]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>select]:shadow-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>div>button]:!rounded-none\",\n\t\t\"[&>pdm-tooltip>span>pdm-select>div>button]:shadow-none\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-select>select]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-select>select]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip:first-child>span>pdm-select>div>button]:!rounded-t-md\",\n\t\t\"[&>pdm-tooltip:last-child>span>pdm-select>div>button]:!rounded-b-md\",\n\t\t\"[&>pdm-tooltip:not(:first-child)>span>pdm-select>div>button]:!rounded-t-none\",\n\t\t\"[&>pdm-tooltip:not(:last-child)>span>pdm-select>div>button]:!rounded-b-none\",\n\t],\n};\n\nconst FOCUS_STACKING_CLASS = \"*:focus-visible:relative *:focus-visible:z-10\";\nconst SEPARATOR_CLASSES =\n\t\"overflow-hidden rounded-md border border-solid border-border bg-secondary shadow-sm\";\n\n@Component({\n\tselector: \"pdm-button-group\",\n\ttemplateUrl: \"./button-group.component.html\",\n\tstyles: [\":host { display: block; }\"],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PdmButtonGroupComponent {\n\t@Input() variant: PdmButtonGroupVariant = \"default\";\n\t@Input() orientation?: PdmButtonGroupOrientation;\n\t@Input() direction?: PdmButtonGroupOrientation;\n\t@Input() separated = true;\n\t@Input() className = \"\";\n\n\tget axis(): Axis {\n\t\treturn this.orientation ?? this.direction ?? \"horizontal\";\n\t}\n\n\tget isVertical(): boolean {\n\t\treturn this.variant === \"orientation\" || this.axis === \"vertical\";\n\t}\n\n\tget shouldAttach(): boolean {\n\t\treturn !this.separated && this.variant !== \"default\";\n\t}\n\n\tget ariaOrientation(): PdmButtonGroupOrientation {\n\t\treturn this.isVertical ? \"vertical\" : \"horizontal\";\n\t}\n\n\tget rootClasses(): string[] {\n\t\treturn [\n\t\t\tROOT_LAYOUT[this.isVertical ? \"vertical\" : \"horizontal\"],\n\t\t\tthis.variant === \"default\" || this.separated ? \"gap-2\" : \"gap-0\",\n\t\t\tthis.shouldAttach\n\t\t\t\t? ATTACHMENT_EDGE_CLASSES[\n\t\t\t\t\t\tthis.isVertical ? \"vertical\" : \"horizontal\"\n\t\t\t\t\t].join(\" \")\n\t\t\t\t: \"\",\n\t\t\tthis.shouldAttach\n\t\t\t\t? ATTACHMENT_CONTROL_CLASSES[\n\t\t\t\t\t\tthis.isVertical ? \"vertical\" : \"horizontal\"\n\t\t\t\t\t].join(\" \")\n\t\t\t\t: \"\",\n\t\t\tthis.shouldAttach ? FOCUS_STACKING_CLASS : \"\",\n\t\t\tthis.variant === \"separator\" ? SEPARATOR_CLASSES : \"\",\n\t\t\tthis.className,\n\t\t];\n\t}\n}\n","<div\n role=\"group\"\n [attr.aria-orientation]=\"ariaOrientation\"\n [ngClass]=\"rootClasses\"\n>\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PdmButtonComponent } from './button.component';\nimport { PdmButtonGroupComponent } from './button-group.component';\n\nconst COMPONENTS = [\n PdmButtonComponent,\n PdmButtonGroupComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}