cax-design-system 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +1 -1
  2. package/avatargroup/avatargroup.d.ts +1 -7
  3. package/avatargroup/avatargroup.module.d.ts +9 -0
  4. package/avatargroup/public_api.d.ts +1 -0
  5. package/button/button.d.ts +2 -1
  6. package/editor/editor.d.ts +1 -8
  7. package/editor/editor.module.d.ts +9 -0
  8. package/editor/public_api.d.ts +1 -0
  9. package/esm2022/avatar/avatar.mjs +3 -3
  10. package/esm2022/avatargroup/avatargroup.mjs +5 -27
  11. package/esm2022/avatargroup/avatargroup.module.mjs +19 -0
  12. package/esm2022/avatargroup/public_api.mjs +2 -1
  13. package/esm2022/badge/badge.mjs +2 -2
  14. package/esm2022/button/button.mjs +5 -4
  15. package/esm2022/checkbox/checkbox.mjs +3 -3
  16. package/esm2022/dropdown/dropdown.mjs +4 -6
  17. package/esm2022/editor/editor.mjs +9 -120
  18. package/esm2022/editor/editor.module.mjs +19 -0
  19. package/esm2022/editor/public_api.mjs +2 -1
  20. package/esm2022/inputmask/inputmask.mjs +42 -108
  21. package/esm2022/inputmask/inputmask.module.mjs +22 -0
  22. package/esm2022/inputmask/public_api.mjs +2 -1
  23. package/esm2022/inputtext/inputtext.component.mjs +14 -8
  24. package/esm2022/inputtext/inputtext.directive.mjs +3 -4
  25. package/esm2022/messages/messages.mjs +5 -5
  26. package/esm2022/paginator/paginator.mjs +21 -8
  27. package/esm2022/progressbar/progressbar.mjs +2 -2
  28. package/esm2022/progressspinner/progressspinner.mjs +12 -12
  29. package/esm2022/selectbutton/selectbutton.mjs +2 -2
  30. package/esm2022/sidebar/sidebar.mjs +3 -3
  31. package/esm2022/table/table.mjs +3 -3
  32. package/esm2022/tabview/tabview.mjs +28 -3
  33. package/esm2022/togglebutton/togglebutton.mjs +2 -2
  34. package/esm2022/toggleswitch/toggleswitch.mjs +7 -4
  35. package/fesm2022/cax-design-system-avatar.mjs +2 -2
  36. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  37. package/fesm2022/cax-design-system-avatargroup.mjs +9 -15
  38. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  39. package/fesm2022/cax-design-system-badge.mjs +1 -1
  40. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  41. package/fesm2022/cax-design-system-button.mjs +5 -4
  42. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  43. package/fesm2022/cax-design-system-checkbox.mjs +2 -2
  44. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  45. package/fesm2022/cax-design-system-dropdown.mjs +3 -5
  46. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  47. package/fesm2022/cax-design-system-editor.mjs +9 -106
  48. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  49. package/fesm2022/cax-design-system-inputmask.mjs +40 -89
  50. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  51. package/fesm2022/cax-design-system-inputtext.mjs +15 -10
  52. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  53. package/fesm2022/cax-design-system-messages.mjs +4 -4
  54. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  55. package/fesm2022/cax-design-system-paginator.mjs +20 -7
  56. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  57. package/fesm2022/cax-design-system-progressbar.mjs +2 -2
  58. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  59. package/fesm2022/cax-design-system-progressspinner.mjs +11 -11
  60. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  61. package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
  62. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  63. package/fesm2022/cax-design-system-sidebar.mjs +2 -2
  64. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  65. package/fesm2022/cax-design-system-table.mjs +2 -2
  66. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  67. package/fesm2022/cax-design-system-tabview.mjs +27 -2
  68. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  69. package/fesm2022/cax-design-system-togglebutton.mjs +2 -2
  70. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  71. package/fesm2022/cax-design-system-toggleswitch.mjs +6 -3
  72. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  73. package/inputmask/inputmask.d.ts +12 -12
  74. package/inputmask/inputmask.module.d.ts +12 -0
  75. package/inputmask/public_api.d.ts +1 -0
  76. package/inputtext/inputtext.component.d.ts +6 -3
  77. package/messages/messages.d.ts +1 -1
  78. package/package.json +236 -236
  79. package/paginator/paginator.d.ts +4 -1
  80. package/progressspinner/progressspinner.d.ts +1 -1
  81. package/resources/cax.min.scss +1 -1
  82. package/resources/cax.scss +4767 -3709
  83. package/resources/components/avatar/avatar.scss +2 -2
  84. package/resources/components/avatargroup/{avatargroup.css → avatargroup.scss} +2 -2
  85. package/resources/components/button/button.scss +44 -11
  86. package/resources/components/dropdown/dropdown.scss +2 -18
  87. package/resources/components/editor/editor.scss +4 -0
  88. package/resources/components/inputmask/{inputmask.css → inputmask.scss} +2 -2
  89. package/resources/components/inputtext/inputtext.scss +21 -23
  90. package/resources/components/messages/messages.scss +1 -1
  91. package/resources/components/paginator/paginator.scss +4 -0
  92. package/resources/components/progressbar/progressbar.scss +0 -15
  93. package/resources/components/progressspinner/progressspinner.scss +9 -9
  94. package/resources/components/sidebar/sidebar.scss +1 -1
  95. package/resources/components/table/table.scss +41 -1
  96. package/resources/components/tabview/tabview.scss +12 -8
  97. package/toggleswitch/toggleswitch.d.ts +2 -1
  98. package/resources/components/editor/editor.css +0 -4
@@ -58,13 +58,13 @@ class ProgressBar {
58
58
  });
59
59
  }
60
60
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ProgressBar, selector: "cax-progressBar", inputs: { value: ["value", "value", numberAttribute], showValue: ["showValue", "showValue", booleanAttribute], styleClass: "styleClass", style: "style", unit: "unit", mode: "mode", color: "color" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{\r\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\r\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\r\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\r\n }\"\r\n >\r\n <div\r\n\r\n *ngIf=\"mode === 'determinate' && showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n {{ value }}{{ unit }}\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\r\n <div\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n <div\r\n *ngIf=\"mode === 'determinate' && !showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n", styles: ["@layer cax{.cax-progressbar{position:relative;overflow:hidden}.cax-progressbar-determinate .cax-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}.cax-progressbar-determinate .cax-progressbar-label{display:inline-flex}.cax-progressbar-determinate .cax-progressbar-value-animate{transition:width 1s ease-in-out}.cax-progressbar-value-animate-style{transition:width 1s ease;height:100%}.cax-progressbar-determinate-no-value .cax-progressbar-value-animate{transition:width 2s ease-in-out}.cax-progressbar-value{border-radius:8px 0 0 8px}.cax-progressbar-indeterminate .cax-progressbar-value:before{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.cax-progressbar-indeterminate .cax-progressbar-value:after{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ProgressBar, selector: "cax-progressBar", inputs: { value: ["value", "value", numberAttribute], showValue: ["showValue", "showValue", booleanAttribute], styleClass: "styleClass", style: "style", unit: "unit", mode: "mode", color: "color" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{\r\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\r\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\r\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\r\n }\"\r\n >\r\n <div\r\n\r\n *ngIf=\"mode === 'determinate' && showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n {{ value }}{{ unit }}\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\r\n <div\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n <div\r\n *ngIf=\"mode === 'determinate' && !showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n", styles: ["@layer cax{.cax-progressbar{position:relative;overflow:hidden}.cax-progressbar-determinate .cax-progressbar-label{display:inline-flex}.cax-progressbar-determinate .cax-progressbar-value-animate{transition:width 1s ease-in-out}.cax-progressbar-value-animate-style{transition:width 1s ease;height:100%}.cax-progressbar-determinate-no-value .cax-progressbar-value-animate{transition:width 2s ease-in-out}.cax-progressbar-indeterminate .cax-progressbar-value:before{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.cax-progressbar-indeterminate .cax-progressbar-value:after{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ProgressBar, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'cax-progressBar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
66
66
  class: 'cax-element'
67
- }, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{\r\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\r\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\r\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\r\n }\"\r\n >\r\n <div\r\n\r\n *ngIf=\"mode === 'determinate' && showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n {{ value }}{{ unit }}\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\r\n <div\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n <div\r\n *ngIf=\"mode === 'determinate' && !showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n", styles: ["@layer cax{.cax-progressbar{position:relative;overflow:hidden}.cax-progressbar-determinate .cax-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}.cax-progressbar-determinate .cax-progressbar-label{display:inline-flex}.cax-progressbar-determinate .cax-progressbar-value-animate{transition:width 1s ease-in-out}.cax-progressbar-value-animate-style{transition:width 1s ease;height:100%}.cax-progressbar-determinate-no-value .cax-progressbar-value-animate{transition:width 2s ease-in-out}.cax-progressbar-value{border-radius:8px 0 0 8px}.cax-progressbar-indeterminate .cax-progressbar-value:before{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.cax-progressbar-indeterminate .cax-progressbar-value:after{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"] }]
67
+ }, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{\r\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\r\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\r\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\r\n }\"\r\n >\r\n <div\r\n\r\n *ngIf=\"mode === 'determinate' && showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n {{ value }}{{ unit }}\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\r\n <div\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n <div\r\n *ngIf=\"mode === 'determinate' && !showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n", styles: ["@layer cax{.cax-progressbar{position:relative;overflow:hidden}.cax-progressbar-determinate .cax-progressbar-label{display:inline-flex}.cax-progressbar-determinate .cax-progressbar-value-animate{transition:width 1s ease-in-out}.cax-progressbar-value-animate-style{transition:width 1s ease;height:100%}.cax-progressbar-determinate-no-value .cax-progressbar-value-animate{transition:width 2s ease-in-out}.cax-progressbar-indeterminate .cax-progressbar-value:before{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.cax-progressbar-indeterminate .cax-progressbar-value:after{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"] }]
68
68
  }], propDecorators: { value: [{
69
69
  type: Input,
70
70
  args: [{ transform: numberAttribute }]
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-progressbar.mjs","sources":["../../src/app/components/progressbar/progressbar.ts","../../src/app/components/progressbar/progressbar.html","../../src/app/components/progressbar/progressbar.module.ts","../../src/app/components/progressbar/cax-design-system-progressbar.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, ContentChildren, Input, NgModule, ViewEncapsulation, booleanAttribute, numberAttribute } from '@angular/core';\nimport { CaxTemplate } from 'cax-design-system/api';\nimport { QueryList } from '@angular/core';\n/**\n * ProgressBar is a process status indicator.\n * @group Components\n */\n@Component({\n selector: 'cax-progressBar',\n templateUrl: './progressbar.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./progressbar.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class ProgressBar {\n /**\n * Current value of the progress.\n * @group Props\n */\n @Input({ transform: numberAttribute }) value: number | undefined;\n /**\n * Whether to display the progress bar value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showValue: boolean = true;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Unit sign appended to the value.\n * @group Props\n */\n @Input() unit: string = '%';\n /**\n * Defines the mode of the progress\n * @group Props\n */\n @Input() mode: string = 'determinate';\n /**\n * Color for the background of the progress.\n * @group Props\n */\n @Input() color: string | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n }\n });\n }\n}\n","<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{\r\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\r\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\r\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\r\n }\"\r\n >\r\n <div\r\n\r\n *ngIf=\"mode === 'determinate' && showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n {{ value }}{{ unit }}\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\r\n <div\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n <div\r\n *ngIf=\"mode === 'determinate' && !showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ProgressBar } from './progressbar';\n\n@NgModule({\n imports: [CommonModule],\n exports: [ProgressBar],\n declarations: [ProgressBar]\n})\nexport class ProgressBarModule {}\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":"cax-design-system-progressbar.mjs","sources":["../../src/app/components/progressbar/progressbar.ts","../../src/app/components/progressbar/progressbar.html","../../src/app/components/progressbar/progressbar.module.ts","../../src/app/components/progressbar/cax-design-system-progressbar.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, ContentChildren, Input, NgModule, ViewEncapsulation, booleanAttribute, numberAttribute } from '@angular/core';\nimport { CaxTemplate } from 'cax-design-system/api';\nimport { QueryList } from '@angular/core';\n/**\n * ProgressBar is a process status indicator.\n * @group Components\n */\n@Component({\n selector: 'cax-progressBar',\n templateUrl: './progressbar.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./progressbar.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class ProgressBar {\n /**\n * Current value of the progress.\n * @group Props\n */\n @Input({ transform: numberAttribute }) value: number | undefined;\n /**\n * Whether to display the progress bar value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showValue: boolean = true;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Unit sign appended to the value.\n * @group Props\n */\n @Input() unit: string = '%';\n /**\n * Defines the mode of the progress\n * @group Props\n */\n @Input() mode: string = 'determinate';\n /**\n * Color for the background of the progress.\n * @group Props\n */\n @Input() color: string | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n }\n });\n }\n}\n","<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass\"\r\n [ngStyle]=\"style\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{\r\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\r\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\r\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\r\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\r\n }\"\r\n >\r\n <div\r\n\r\n *ngIf=\"mode === 'determinate' && showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n {{ value }}{{ unit }}\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\r\n <div\r\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\r\n [ngStyle]=\"{\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n <div\r\n *ngIf=\"mode === 'determinate' && !showValue\"\r\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\r\n [ngStyle]=\"{\r\n width: value + '%',\r\n display: 'flex',\r\n background: color\r\n }\"\r\n [attr.data-pc-section]=\"'value'\"\r\n >\r\n <div class=\"cax-progressbar-label\">\r\n <div\r\n *ngIf=\"showValue && !contentTemplate\"\r\n [ngStyle]=\"{\r\n display: value != null && value !== 0 ? 'flex' : 'none'\r\n }\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ProgressBar } from './progressbar';\n\n@NgModule({\n imports: [CommonModule],\n exports: [ProgressBar],\n declarations: [ProgressBar]\n})\nexport class ProgressBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ class ProgressSpinner {
15
15
  styleClass;
16
16
  strokeColor;
17
17
  backgroundStrokeColor;
18
- size = 'm';
18
+ size = 'md';
19
19
  ngOnChanges(changes) {
20
20
  if (changes['size']) {
21
21
  this.updateStrokeWidthBasedOnSize();
@@ -25,14 +25,14 @@ class ProgressSpinner {
25
25
  }
26
26
  }
27
27
  updateStrokeWidthBasedOnSize() {
28
- if (this.size === 's') {
28
+ if (this.size === 'sm') {
29
29
  this.strokeWidth = 4;
30
30
  }
31
- else if (this.size === 'm') {
31
+ else if (this.size === 'md') {
32
32
  this.strokeWidth = 5;
33
33
  }
34
- else if (this.size === 'l') {
35
- this.strokeWidth = 7;
34
+ else if (this.size === 'lg') {
35
+ this.strokeWidth = 5;
36
36
  }
37
37
  }
38
38
  updateBackgroundStrokeColor() {
@@ -45,18 +45,18 @@ class ProgressSpinner {
45
45
  }
46
46
  get stroke() {
47
47
  if (this.strokeColor === 'primary') {
48
- return '#0B3FDA';
48
+ return getComputedStyle(document.documentElement).getPropertyValue('--primary-500').trim() || '#0C4AF3';
49
49
  }
50
50
  else if (this.strokeColor === 'secondary') {
51
- return '#FFFFFF';
51
+ return getComputedStyle(document.documentElement).getPropertyValue('--white-100').trim() || '#FFFFFF';
52
52
  }
53
53
  }
54
54
  get backgroundStroke() {
55
55
  if (this.backgroundStrokeColor === 'primary') {
56
- return '#86A3F9';
56
+ return getComputedStyle(document.documentElement).getPropertyValue('--primary-200').trim() || '#0B3FDA';
57
57
  }
58
58
  else if (this.backgroundStrokeColor === 'secondary') {
59
- return '#B7BBC8';
59
+ return getComputedStyle(document.documentElement).getPropertyValue('--neutral-300').trim() || '#A9AFBC';
60
60
  }
61
61
  }
62
62
  /**
@@ -85,13 +85,13 @@ class ProgressSpinner {
85
85
  */
86
86
  ariaLabel;
87
87
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ProgressSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ProgressSpinner, selector: "cax-progressSpinner", inputs: { styleClass: "styleClass", strokeColor: "strokeColor", backgroundStrokeColor: "backgroundStrokeColor", size: "size", style: "style", strokeWidth: "strokeWidth", fill: "fill", animationDuration: "animationDuration", ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\r\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\r\n <circle\r\n class=\"cax-progress-spinner-bg\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"20\"\r\n [attr.stroke-width]=\"strokeWidth\"\r\n [attr.stroke]=\"backgroundStroke\"\r\n fill=\"none\"\r\n ></circle>\r\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\r\n </svg>\r\n</div>\r\n", styles: ["@layer cax{.cax-progress-spinner{position:relative;margin:0 auto;width:100px;height:100px;display:inline-block}.cax-progress-spinner:before{content:\"\";display:block;padding-top:100%}.cax-progress-spinner-svg{animation:cax-progress-spinner-rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;inset:0;margin:auto}.cax-progress-spinner-circle{stroke-dasharray:89,200;stroke-dashoffset:0;animation:cax-progress-spinner-dash 1.5s ease-in-out infinite,cax-progress-spinner-color 6s ease-in-out infinite;stroke-linecap:round}.cax-progress-spinner-circle{stroke:transparent}.cax-progress-spinner-size-s{width:25.46px;height:25.46px}.cax-progress-spinner-size-m{width:38.18px;height:38.18px}.cax-progress-spinner-size-l{width:50.91px;height:50.91px}}@keyframes cax-progress-spinner-rotate{to{transform:rotate(360deg)}}@keyframes cax-progress-spinner-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ProgressSpinner, selector: "cax-progressSpinner", inputs: { styleClass: "styleClass", strokeColor: "strokeColor", backgroundStrokeColor: "backgroundStrokeColor", size: "size", style: "style", strokeWidth: "strokeWidth", fill: "fill", animationDuration: "animationDuration", ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\r\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\r\n <circle\r\n class=\"cax-progress-spinner-bg\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"20\"\r\n [attr.stroke-width]=\"strokeWidth\"\r\n [attr.stroke]=\"backgroundStroke\"\r\n fill=\"none\"\r\n ></circle>\r\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\r\n </svg>\r\n</div>\r\n", styles: ["@layer cax{.cax-progress-spinner{position:relative;margin:0 auto;width:100px;height:100px;display:inline-block}.cax-progress-spinner:before{content:\"\";display:block;padding-top:100%}.cax-progress-spinner-svg{animation:cax-progress-spinner-rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;inset:0;margin:auto}.cax-progress-spinner-circle{stroke-dasharray:89,200;stroke-dashoffset:0;animation:cax-progress-spinner-dash 1.5s ease-in-out infinite,cax-progress-spinner-color 6s ease-in-out infinite;stroke-linecap:round}.cax-progress-spinner-circle{stroke:transparent}.cax-progress-spinner-size-sm{width:25px;height:25px}.cax-progress-spinner-size-md{width:36px;height:36px}.cax-progress-spinner-size-lg{width:50px;height:50px}}@keyframes cax-progress-spinner-rotate{to{transform:rotate(360deg)}}@keyframes cax-progress-spinner-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
89
  }
90
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ProgressSpinner, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'cax-progressSpinner', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
93
93
  class: 'cax-element'
94
- }, template: "<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\r\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\r\n <circle\r\n class=\"cax-progress-spinner-bg\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"20\"\r\n [attr.stroke-width]=\"strokeWidth\"\r\n [attr.stroke]=\"backgroundStroke\"\r\n fill=\"none\"\r\n ></circle>\r\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\r\n </svg>\r\n</div>\r\n", styles: ["@layer cax{.cax-progress-spinner{position:relative;margin:0 auto;width:100px;height:100px;display:inline-block}.cax-progress-spinner:before{content:\"\";display:block;padding-top:100%}.cax-progress-spinner-svg{animation:cax-progress-spinner-rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;inset:0;margin:auto}.cax-progress-spinner-circle{stroke-dasharray:89,200;stroke-dashoffset:0;animation:cax-progress-spinner-dash 1.5s ease-in-out infinite,cax-progress-spinner-color 6s ease-in-out infinite;stroke-linecap:round}.cax-progress-spinner-circle{stroke:transparent}.cax-progress-spinner-size-s{width:25.46px;height:25.46px}.cax-progress-spinner-size-m{width:38.18px;height:38.18px}.cax-progress-spinner-size-l{width:50.91px;height:50.91px}}@keyframes cax-progress-spinner-rotate{to{transform:rotate(360deg)}}@keyframes cax-progress-spinner-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}\n"] }]
94
+ }, template: "<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\r\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\r\n <circle\r\n class=\"cax-progress-spinner-bg\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"20\"\r\n [attr.stroke-width]=\"strokeWidth\"\r\n [attr.stroke]=\"backgroundStroke\"\r\n fill=\"none\"\r\n ></circle>\r\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\r\n </svg>\r\n</div>\r\n", styles: ["@layer cax{.cax-progress-spinner{position:relative;margin:0 auto;width:100px;height:100px;display:inline-block}.cax-progress-spinner:before{content:\"\";display:block;padding-top:100%}.cax-progress-spinner-svg{animation:cax-progress-spinner-rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;inset:0;margin:auto}.cax-progress-spinner-circle{stroke-dasharray:89,200;stroke-dashoffset:0;animation:cax-progress-spinner-dash 1.5s ease-in-out infinite,cax-progress-spinner-color 6s ease-in-out infinite;stroke-linecap:round}.cax-progress-spinner-circle{stroke:transparent}.cax-progress-spinner-size-sm{width:25px;height:25px}.cax-progress-spinner-size-md{width:36px;height:36px}.cax-progress-spinner-size-lg{width:50px;height:50px}}@keyframes cax-progress-spinner-rotate{to{transform:rotate(360deg)}}@keyframes cax-progress-spinner-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}\n"] }]
95
95
  }], propDecorators: { styleClass: [{
96
96
  type: Input
97
97
  }], strokeColor: [{
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-progressspinner.mjs","sources":["../../src/app/components/progressspinner/progressspinner.ts","../../src/app/components/progressspinner/progressspinner.html","../../src/app/components/progressspinner/progressspinner.module.ts","../../src/app/components/progressspinner/cax-design-system-progressspinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, SimpleChanges, ViewEncapsulation } from '@angular/core';\n/**\n * ProgressSpinner is a process status indicator.\n * @group Components\n */\n@Component({\n selector: 'cax-progressSpinner',\n templateUrl: './progressspinner.html',\n styleUrls: ['./progressspinner.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element'\n }\n})\nexport class ProgressSpinner {\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @Input() strokeColor: 'primary' | 'secondary';\n\n @Input() backgroundStrokeColor: 'primary' | 'secondary';\n\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['size']) {\n this.updateStrokeWidthBasedOnSize();\n }\n if (changes['strokeColor']) {\n this.updateBackgroundStrokeColor();\n }\n }\n\n updateStrokeWidthBasedOnSize(): void {\n if (this.size === 's') {\n this.strokeWidth = 4;\n } else if (this.size === 'm') {\n this.strokeWidth = 5;\n } else if (this.size === 'l') {\n this.strokeWidth = 7;\n }\n }\n\n updateBackgroundStrokeColor(): void {\n if (this.strokeColor === 'primary') {\n this.backgroundStrokeColor = 'primary';\n } else if (this.strokeColor === 'secondary') {\n this.backgroundStrokeColor = 'secondary';\n }\n }\n\n get stroke(): string {\n if (this.strokeColor === 'primary') {\n return '#0B3FDA';\n } else if (this.strokeColor === 'secondary') {\n return '#FFFFFF';\n }\n }\n\n get backgroundStroke(): string {\n if (this.backgroundStrokeColor === 'primary') {\n return '#86A3F9';\n } else if (this.backgroundStrokeColor === 'secondary') {\n return '#B7BBC8';\n }\n }\n\n /**\n * Inline style of the element.\n * @group Props\n */\n\n @Input() style: { [klass: string]: any } | null | undefined;\n\n /**\n * Width of the circle stroke.\n * @group Props\n */\n @Input() strokeWidth: number = 5;\n /**\n * Color for the background of the circle.\n * @group Props\n */\n @Input() fill: string = 'none';\n /**\n * Duration of the rotate animation.\n * @group Props\n */\n @Input() animationDuration: string = '2s';\n /**\n * Used to define a aria label attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n}\n","<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\r\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\r\n <circle\r\n class=\"cax-progress-spinner-bg\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"20\"\r\n [attr.stroke-width]=\"strokeWidth\"\r\n [attr.stroke]=\"backgroundStroke\"\r\n fill=\"none\"\r\n ></circle>\r\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\r\n </svg>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ProgressSpinner } from './progressspinner';\n\n@NgModule({\n imports: [CommonModule],\n exports: [ProgressSpinner],\n declarations: [ProgressSpinner]\n})\nexport class ProgressSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;AACA;;;AAGG;MAWU,eAAe,CAAA;AACxB;;;AAGG;AACM,IAAA,UAAU,CAAqB;AAE/B,IAAA,WAAW,CAA0B;AAErC,IAAA,qBAAqB,CAA0B;IAE/C,IAAI,GAAoB,GAAG,CAAC;AAErC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACjB,IAAI,CAAC,4BAA4B,EAAE,CAAC;SACvC;AACD,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YACxB,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACtC;KACJ;IAED,4BAA4B,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;SACxB;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;SACxB;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;SACxB;KACJ;IAED,2BAA2B,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;SAC1C;AAAM,aAAA,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AACzC,YAAA,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;SAC5C;KACJ;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;AAChC,YAAA,OAAO,SAAS,CAAC;SACpB;AAAM,aAAA,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AACzC,YAAA,OAAO,SAAS,CAAC;SACpB;KACJ;AAED,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE;AAC1C,YAAA,OAAO,SAAS,CAAC;SACpB;AAAM,aAAA,IAAI,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;AACnD,YAAA,OAAO,SAAS,CAAC;SACpB;KACJ;AAED;;;AAGG;AAEM,IAAA,KAAK,CAA8C;AAE5D;;;AAGG;IACM,WAAW,GAAW,CAAC,CAAC;AACjC;;;AAGG;IACM,IAAI,GAAW,MAAM,CAAC;AAC/B;;;AAGG;IACM,iBAAiB,GAAW,IAAI,CAAC;AAC1C;;;AAGG;AACM,IAAA,SAAS,CAAqB;uGAlF9B,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,mXCf5B,06BAcA,EAAA,MAAA,EAAA,CAAA,yhCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDCa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;+BACI,qBAAqB,EAAA,eAAA,EAGd,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,aAAa;AACvB,qBAAA,EAAA,QAAA,EAAA,06BAAA,EAAA,MAAA,EAAA,CAAA,yhCAAA,CAAA,EAAA,CAAA;8BAOQ,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAkDG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAMG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MExFG,qBAAqB,CAAA;uGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAFf,YAAA,EAAA,CAAA,eAAe,CAFpB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,eAAe,CAAA,EAAA,CAAA,CAAA;AAGhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAJpB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAIb,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,YAAY,EAAE,CAAC,eAAe,CAAC;AAClC,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"cax-design-system-progressspinner.mjs","sources":["../../src/app/components/progressspinner/progressspinner.ts","../../src/app/components/progressspinner/progressspinner.html","../../src/app/components/progressspinner/progressspinner.module.ts","../../src/app/components/progressspinner/cax-design-system-progressspinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, SimpleChanges, ViewEncapsulation } from '@angular/core';\n/**\n * ProgressSpinner is a process status indicator.\n * @group Components\n */\n@Component({\n selector: 'cax-progressSpinner',\n templateUrl: './progressspinner.html',\n styleUrls: ['./progressspinner.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element'\n }\n})\nexport class ProgressSpinner {\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @Input() strokeColor: 'primary' | 'secondary';\n\n @Input() backgroundStrokeColor: 'primary' | 'secondary';\n\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['size']) {\n this.updateStrokeWidthBasedOnSize();\n }\n if (changes['strokeColor']) {\n this.updateBackgroundStrokeColor();\n }\n }\n\n updateStrokeWidthBasedOnSize(): void {\n if (this.size === 'sm') {\n this.strokeWidth = 4;\n } else if (this.size === 'md') {\n this.strokeWidth = 5;\n } else if (this.size === 'lg') {\n this.strokeWidth = 5;\n }\n }\n\n updateBackgroundStrokeColor(): void {\n if (this.strokeColor === 'primary') {\n this.backgroundStrokeColor = 'primary';\n } else if (this.strokeColor === 'secondary') {\n this.backgroundStrokeColor = 'secondary';\n }\n }\n\n get stroke(): string {\n if (this.strokeColor === 'primary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--primary-500').trim() || '#0C4AF3';\n } else if (this.strokeColor === 'secondary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--white-100').trim() || '#FFFFFF';\n }\n }\n\n get backgroundStroke(): string {\n if (this.backgroundStrokeColor === 'primary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--primary-200').trim() || '#0B3FDA';\n } else if (this.backgroundStrokeColor === 'secondary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--neutral-300').trim() || '#A9AFBC';\n }\n }\n\n /**\n * Inline style of the element.\n * @group Props\n */\n\n @Input() style: { [klass: string]: any } | null | undefined;\n\n /**\n * Width of the circle stroke.\n * @group Props\n */\n @Input() strokeWidth: number = 5;\n /**\n * Color for the background of the circle.\n * @group Props\n */\n @Input() fill: string = 'none';\n /**\n * Duration of the rotate animation.\n * @group Props\n */\n @Input() animationDuration: string = '2s';\n /**\n * Used to define a aria label attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n}\n","<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\r\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\r\n <circle\r\n class=\"cax-progress-spinner-bg\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"20\"\r\n [attr.stroke-width]=\"strokeWidth\"\r\n [attr.stroke]=\"backgroundStroke\"\r\n fill=\"none\"\r\n ></circle>\r\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\r\n </svg>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ProgressSpinner } from './progressspinner';\n\n@NgModule({\n imports: [CommonModule],\n exports: [ProgressSpinner],\n declarations: [ProgressSpinner]\n})\nexport class ProgressSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -279,7 +279,7 @@ class SelectButton {
279
279
  </ng-template>
280
280
  </div>
281
281
  </div>
282
- `, isInline: true, styles: ["@layer cax{.cax-button{margin:0;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.cax-button-label{flex:1 1 auto}.cax-button-icon-right{order:1}.cax-button:disabled{cursor:default;pointer-events:none}.cax-button-icon-only{justify-content:center}.cax-button-icon-only:after{content:\"p\";visibility:hidden;clip:rect(0 0 0 0);width:0}.cax-button-vertical{flex-direction:column}.cax-button-icon-bottom{order:2}.cax-button-group .cax-button{margin:0}.cax-button.cax-button-loading{opacity:1!important}.cax-button-group .cax-button:focus,.cax-button-group cax-button:focus .cax-button,.cax-buttonset .cax-button:focus,.cax-buttonset cax-button:focus .cax-button{position:relative;z-index:1}.cax-button-group .cax-button:not(:last-child),.cax-button-group .cax-button:not(:last-child):hover,.cax-button-group cax-button:not(:last-child) .cax-button,.cax-button-group cax-button:not(:last-child) .cax-button:hover,.cax-buttonset .cax-button:not(:last-child),.cax-buttonset .cax-button:not(:last-child):hover,.cax-buttonset cax-button:not(:last-child) .cax-button,.cax-buttonset cax-button:not(:last-child) .cax-button:hover{border-right:0 none}.cax-button-group .cax-button:not(:first-of-type):not(:last-of-type),.cax-button-group cax-button:not(:first-of-type):not(:last-of-type) .cax-button,.cax-buttonset .cax-button:not(:first-of-type):not(:last-of-type),.cax-buttonset cax-button:not(:first-of-type):not(:last-of-type) .cax-button{border-radius:0}.cax-button-group .cax-button:first-of-type:not(:only-of-type),.cax-button-group cax-button:first-of-type:not(:only-of-type) .cax-button,.cax-buttonset .cax-button:first-of-type:not(:only-of-type),.cax-buttonset cax-button:first-of-type:not(:only-of-type) .cax-button{border-top-right-radius:0;border-bottom-right-radius:0}.cax-button-group .cax-button:last-of-type:not(:only-of-type),.cax-button-group cax-button:last-of-type:not(:only-of-type) .cax-button,.cax-buttonset .cax-button:last-of-type:not(:only-of-type),.cax-buttonset cax-button:last-of-type:not(:only-of-type) .cax-button{border-top-left-radius:0;border-bottom-left-radius:0}cax-button[iconpos=right] spinnericon{order:1}.cax-button-content-wrapper{display:inline-flex;align-items:center;gap:1rem;max-width:fit-content}.cax-button-icon-left,.cax-button-icon-right,.cax-button-label{flex:0 0 auto}.center-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
282
+ `, isInline: true, styles: ["@layer cax{.cax-button{margin:0;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.cax-button-label{flex:1 1 auto}.cax-button-icon-right{order:1}.cax-button:disabled{cursor:default;pointer-events:none}.cax-button-icon-only{justify-content:center}.cax-button-icon-only:after{content:\"p\";visibility:hidden;clip:rect(0 0 0 0);width:0}.cax-button-vertical{flex-direction:column}.cax-button-icon-bottom{order:2}.cax-button-group .cax-button{margin:0}.cax-button.cax-button-loading{opacity:1!important}.cax-button-group .cax-button:focus,.cax-button-group cax-button:focus .cax-button,.cax-buttonset .cax-button:focus,.cax-buttonset cax-button:focus .cax-button{position:relative;z-index:1}.cax-button-group .cax-button:not(:last-child),.cax-button-group .cax-button:not(:last-child):hover,.cax-button-group cax-button:not(:last-child) .cax-button,.cax-button-group cax-button:not(:last-child) .cax-button:hover,.cax-buttonset .cax-button:not(:last-child),.cax-buttonset .cax-button:not(:last-child):hover,.cax-buttonset cax-button:not(:last-child) .cax-button,.cax-buttonset cax-button:not(:last-child) .cax-button:hover{border-right:0 none}.cax-button-group .cax-button:not(:first-of-type):not(:last-of-type),.cax-button-group cax-button:not(:first-of-type):not(:last-of-type) .cax-button,.cax-buttonset .cax-button:not(:first-of-type):not(:last-of-type),.cax-buttonset cax-button:not(:first-of-type):not(:last-of-type) .cax-button{border-radius:0}.cax-button-group .cax-button:first-of-type:not(:only-of-type),.cax-button-group cax-button:first-of-type:not(:only-of-type) .cax-button,.cax-buttonset .cax-button:first-of-type:not(:only-of-type),.cax-buttonset cax-button:first-of-type:not(:only-of-type) .cax-button{border-top-right-radius:0;border-bottom-right-radius:0}.cax-button-group .cax-button:last-of-type:not(:only-of-type),.cax-button-group cax-button:last-of-type:not(:only-of-type) .cax-button,.cax-buttonset .cax-button:last-of-type:not(:only-of-type),.cax-buttonset cax-button:last-of-type:not(:only-of-type) .cax-button{border-top-left-radius:0;border-bottom-left-radius:0}cax-button[iconpos=right] spinnericon{order:1}.cax-button-content-wrapper{display:inline-flex;align-items:center;gap:1rem;max-width:fit-content;position:relative}.cax-button-loading-container{display:flex;align-items:center;justify-content:center;width:100%;position:absolute}.cax-button-icon-left,.cax-button-icon-right,.cax-button-label{flex:0 0 auto}.center-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.cax-main-loader{display:flex;justify-content:center;align-items:center;background:transparent}.cax-main-loader .cax-button-sm{height:32px!important;padding:var(--space-100) var(--space-150) var(--space-100) var(--space-150)!important;gap:var(--space-75)}.cax-main-loader .cax-button-md{height:40px!important;padding:var(--space-100) var(--space-200) var(--space-100) var(--space-200)!important;gap:var(--space-100)}.cax-main-loader .cax-button-lg{height:48px!important;padding:var(--space-100) var(--space-200) var(--space-100) var(--space-200)!important;gap:var(--space-100)}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
283
283
  }
284
284
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SelectButton, decorators: [{
285
285
  type: Component,
@@ -317,7 +317,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
317
317
  </div>
318
318
  `, providers: [SELECTBUTTON_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
319
319
  class: 'cax-element'
320
- }, styles: ["@layer cax{.cax-button{margin:0;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.cax-button-label{flex:1 1 auto}.cax-button-icon-right{order:1}.cax-button:disabled{cursor:default;pointer-events:none}.cax-button-icon-only{justify-content:center}.cax-button-icon-only:after{content:\"p\";visibility:hidden;clip:rect(0 0 0 0);width:0}.cax-button-vertical{flex-direction:column}.cax-button-icon-bottom{order:2}.cax-button-group .cax-button{margin:0}.cax-button.cax-button-loading{opacity:1!important}.cax-button-group .cax-button:focus,.cax-button-group cax-button:focus .cax-button,.cax-buttonset .cax-button:focus,.cax-buttonset cax-button:focus .cax-button{position:relative;z-index:1}.cax-button-group .cax-button:not(:last-child),.cax-button-group .cax-button:not(:last-child):hover,.cax-button-group cax-button:not(:last-child) .cax-button,.cax-button-group cax-button:not(:last-child) .cax-button:hover,.cax-buttonset .cax-button:not(:last-child),.cax-buttonset .cax-button:not(:last-child):hover,.cax-buttonset cax-button:not(:last-child) .cax-button,.cax-buttonset cax-button:not(:last-child) .cax-button:hover{border-right:0 none}.cax-button-group .cax-button:not(:first-of-type):not(:last-of-type),.cax-button-group cax-button:not(:first-of-type):not(:last-of-type) .cax-button,.cax-buttonset .cax-button:not(:first-of-type):not(:last-of-type),.cax-buttonset cax-button:not(:first-of-type):not(:last-of-type) .cax-button{border-radius:0}.cax-button-group .cax-button:first-of-type:not(:only-of-type),.cax-button-group cax-button:first-of-type:not(:only-of-type) .cax-button,.cax-buttonset .cax-button:first-of-type:not(:only-of-type),.cax-buttonset cax-button:first-of-type:not(:only-of-type) .cax-button{border-top-right-radius:0;border-bottom-right-radius:0}.cax-button-group .cax-button:last-of-type:not(:only-of-type),.cax-button-group cax-button:last-of-type:not(:only-of-type) .cax-button,.cax-buttonset .cax-button:last-of-type:not(:only-of-type),.cax-buttonset cax-button:last-of-type:not(:only-of-type) .cax-button{border-top-left-radius:0;border-bottom-left-radius:0}cax-button[iconpos=right] spinnericon{order:1}.cax-button-content-wrapper{display:inline-flex;align-items:center;gap:1rem;max-width:fit-content}.cax-button-icon-left,.cax-button-icon-right,.cax-button-label{flex:0 0 auto}.center-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}\n"] }]
320
+ }, styles: ["@layer cax{.cax-button{margin:0;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.cax-button-label{flex:1 1 auto}.cax-button-icon-right{order:1}.cax-button:disabled{cursor:default;pointer-events:none}.cax-button-icon-only{justify-content:center}.cax-button-icon-only:after{content:\"p\";visibility:hidden;clip:rect(0 0 0 0);width:0}.cax-button-vertical{flex-direction:column}.cax-button-icon-bottom{order:2}.cax-button-group .cax-button{margin:0}.cax-button.cax-button-loading{opacity:1!important}.cax-button-group .cax-button:focus,.cax-button-group cax-button:focus .cax-button,.cax-buttonset .cax-button:focus,.cax-buttonset cax-button:focus .cax-button{position:relative;z-index:1}.cax-button-group .cax-button:not(:last-child),.cax-button-group .cax-button:not(:last-child):hover,.cax-button-group cax-button:not(:last-child) .cax-button,.cax-button-group cax-button:not(:last-child) .cax-button:hover,.cax-buttonset .cax-button:not(:last-child),.cax-buttonset .cax-button:not(:last-child):hover,.cax-buttonset cax-button:not(:last-child) .cax-button,.cax-buttonset cax-button:not(:last-child) .cax-button:hover{border-right:0 none}.cax-button-group .cax-button:not(:first-of-type):not(:last-of-type),.cax-button-group cax-button:not(:first-of-type):not(:last-of-type) .cax-button,.cax-buttonset .cax-button:not(:first-of-type):not(:last-of-type),.cax-buttonset cax-button:not(:first-of-type):not(:last-of-type) .cax-button{border-radius:0}.cax-button-group .cax-button:first-of-type:not(:only-of-type),.cax-button-group cax-button:first-of-type:not(:only-of-type) .cax-button,.cax-buttonset .cax-button:first-of-type:not(:only-of-type),.cax-buttonset cax-button:first-of-type:not(:only-of-type) .cax-button{border-top-right-radius:0;border-bottom-right-radius:0}.cax-button-group .cax-button:last-of-type:not(:only-of-type),.cax-button-group cax-button:last-of-type:not(:only-of-type) .cax-button,.cax-buttonset .cax-button:last-of-type:not(:only-of-type),.cax-buttonset cax-button:last-of-type:not(:only-of-type) .cax-button{border-top-left-radius:0;border-bottom-left-radius:0}cax-button[iconpos=right] spinnericon{order:1}.cax-button-content-wrapper{display:inline-flex;align-items:center;gap:1rem;max-width:fit-content;position:relative}.cax-button-loading-container{display:flex;align-items:center;justify-content:center;width:100%;position:absolute}.cax-button-icon-left,.cax-button-icon-right,.cax-button-label{flex:0 0 auto}.center-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.cax-main-loader{display:flex;justify-content:center;align-items:center;background:transparent}.cax-main-loader .cax-button-sm{height:32px!important;padding:var(--space-100) var(--space-150) var(--space-100) var(--space-150)!important;gap:var(--space-75)}.cax-main-loader .cax-button-md{height:40px!important;padding:var(--space-100) var(--space-200) var(--space-100) var(--space-200)!important;gap:var(--space-100)}.cax-main-loader .cax-button-lg{height:48px!important;padding:var(--space-100) var(--space-200) var(--space-100) var(--space-200)!important;gap:var(--space-100)}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}\n"] }]
321
321
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { options: [{
322
322
  type: Input
323
323
  }], optionLabel: [{
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-selectbutton.mjs","sources":["../../src/app/components/selectbutton/selectbutton.ts","../../src/app/components/selectbutton/cax-design-system-selectbutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Input, NgModule, Output, TemplateRef, ViewChild, ViewEncapsulation, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { ObjectUtils } from 'cax-design-system/utils';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { SelectButtonChangeEvent, SelectButtonOptionClickEvent } from './selectbutton.interface';\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * SelectButton is used to choose single or multiple items from a list using buttons.\n * @group Components\n */\n@Component({\n selector: 'p-selectButton',\n template: `\n <div #container [ngClass]=\"'p-selectbutton p-buttonset p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"group\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.data-pc-name]=\"'selectbutton'\" [attr.data-pc-section]=\"'root'\">\n <div\n *ngFor=\"let option of options; let i = index\"\n pRipple\n [attr.tabindex]=\"i === focusedIndex && !disabled ? '0' : '-1'\"\n [attr.aria-label]=\"option.label\"\n [role]=\"multiple ? 'checkbox' : 'radio'\"\n [attr.aria-checked]=\"isSelected(option)\"\n [attr.aria-disabled]=\"optionDisabled\"\n class=\"p-button p-component\"\n [class]=\"option.styleClass\"\n [ngClass]=\"{ 'p-highlight': isSelected(option), 'p-disabled': disabled || isOptionDisabled(option), 'p-button-icon-only': option.icon && !getOptionLabel(option) }\"\n (click)=\"onOptionSelect($event, option, i)\"\n (keydown)=\"onKeyDown($event, option, i)\"\n [attr.title]=\"option.title\"\n (focus)=\"onFocus($event, i)\"\n (blur)=\"onBlur()\"\n [attr.aria-labelledby]=\"this.getOptionLabel(option)\"\n [attr.data-pc-section]=\"'button'\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n >\n <ng-container *ngIf=\"!itemTemplate; else customcontent\">\n <span [ngClass]=\"'p-button-icon p-button-icon-left'\" [class]=\"option.icon\" *ngIf=\"option.icon\" [attr.data-pc-section]=\"'icon'\"></span>\n <span class=\"p-button-label\" [attr.data-pc-section]=\"'label'\">{{ getOptionLabel(option) }}</span>\n </ng-container>\n <ng-template #customcontent>\n <ng-container *ngTemplateOutlet=\"selectButtonTemplate; context: { $implicit: option, index: i }\"></ng-container>\n </ng-template>\n </div>\n </div>\n `,\n providers: [SELECTBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../button/button.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class SelectButton implements ControlValueAccessor {\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() options: any[] | undefined;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unselectable: boolean = false;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) allowEmpty: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Callback to invoke on input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onOptionClick: EventEmitter<SelectButtonOptionClickEvent> = new EventEmitter<SelectButtonOptionClickEvent>();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<SelectButtonChangeEvent> = new EventEmitter<SelectButtonChangeEvent>();\n\n @ViewChild('container') container: Nullable<ElementRef>;\n\n @ContentChild(CaxTemplate) itemTemplate!: CaxTemplate;\n\n public get selectButtonTemplate(): TemplateRef<any> {\n return this.itemTemplate?.template;\n }\n\n get equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focusedIndex: number = 0;\n\n constructor(public cd: ChangeDetectorRef) {}\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected && this.unselectable) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple) {\n if (selected) newValue = this.value.filter((val) => !ObjectUtils.equals(val, optionValue, this.equalityKey));\n else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty) {\n return;\n }\n newValue = selected ? null : optionValue;\n }\n\n this.focusedIndex = index;\n this.value = newValue;\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n\n onKeyDown(event, option, index) {\n switch (event.code) {\n case 'Space': {\n this.onOptionSelect(event, option, index);\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown':\n\n case 'ArrowRight': {\n this.changeTabIndexes(event, 'next');\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp':\n\n case 'ArrowLeft': {\n this.changeTabIndexes(event, 'prev');\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n\n for (let i = 0; i <= this.container.nativeElement.children.length - 1; i++) {\n if (this.container.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = { elem: this.container.nativeElement.children[i], index: i };\n }\n\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.container.nativeElement.children.length - 1;\n else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.container.nativeElement.children.length - 1) index = 0;\n else index = firstTabableChild.index + 1;\n }\n\n this.focusedIndex = index;\n this.container.nativeElement.children[index].focus();\n }\n\n onFocus(event: Event, index: number) {\n this.focusedIndex = index;\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter((val: any) => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = ObjectUtils.equals(this.getOptionValue(option), this.value, this.equalityKey);\n }\n\n return selected;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RippleModule, SharedModule, AutoFocusModule],\n exports: [SelectButton, SharedModule],\n declarations: [SelectButton]\n})\nexport class SelectButtonModule {}\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":"cax-design-system-selectbutton.mjs","sources":["../../src/app/components/selectbutton/selectbutton.ts","../../src/app/components/selectbutton/cax-design-system-selectbutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Input, NgModule, Output, TemplateRef, ViewChild, ViewEncapsulation, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { ObjectUtils } from 'cax-design-system/utils';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { SelectButtonChangeEvent, SelectButtonOptionClickEvent } from './selectbutton.interface';\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * SelectButton is used to choose single or multiple items from a list using buttons.\n * @group Components\n */\n@Component({\n selector: 'p-selectButton',\n template: `\n <div #container [ngClass]=\"'p-selectbutton p-buttonset p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"group\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.data-pc-name]=\"'selectbutton'\" [attr.data-pc-section]=\"'root'\">\n <div\n *ngFor=\"let option of options; let i = index\"\n pRipple\n [attr.tabindex]=\"i === focusedIndex && !disabled ? '0' : '-1'\"\n [attr.aria-label]=\"option.label\"\n [role]=\"multiple ? 'checkbox' : 'radio'\"\n [attr.aria-checked]=\"isSelected(option)\"\n [attr.aria-disabled]=\"optionDisabled\"\n class=\"p-button p-component\"\n [class]=\"option.styleClass\"\n [ngClass]=\"{ 'p-highlight': isSelected(option), 'p-disabled': disabled || isOptionDisabled(option), 'p-button-icon-only': option.icon && !getOptionLabel(option) }\"\n (click)=\"onOptionSelect($event, option, i)\"\n (keydown)=\"onKeyDown($event, option, i)\"\n [attr.title]=\"option.title\"\n (focus)=\"onFocus($event, i)\"\n (blur)=\"onBlur()\"\n [attr.aria-labelledby]=\"this.getOptionLabel(option)\"\n [attr.data-pc-section]=\"'button'\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n >\n <ng-container *ngIf=\"!itemTemplate; else customcontent\">\n <span [ngClass]=\"'p-button-icon p-button-icon-left'\" [class]=\"option.icon\" *ngIf=\"option.icon\" [attr.data-pc-section]=\"'icon'\"></span>\n <span class=\"p-button-label\" [attr.data-pc-section]=\"'label'\">{{ getOptionLabel(option) }}</span>\n </ng-container>\n <ng-template #customcontent>\n <ng-container *ngTemplateOutlet=\"selectButtonTemplate; context: { $implicit: option, index: i }\"></ng-container>\n </ng-template>\n </div>\n </div>\n `,\n providers: [SELECTBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../button/button.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class SelectButton implements ControlValueAccessor {\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() options: any[] | undefined;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unselectable: boolean = false;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) allowEmpty: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Callback to invoke on input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onOptionClick: EventEmitter<SelectButtonOptionClickEvent> = new EventEmitter<SelectButtonOptionClickEvent>();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<SelectButtonChangeEvent> = new EventEmitter<SelectButtonChangeEvent>();\n\n @ViewChild('container') container: Nullable<ElementRef>;\n\n @ContentChild(CaxTemplate) itemTemplate!: CaxTemplate;\n\n public get selectButtonTemplate(): TemplateRef<any> {\n return this.itemTemplate?.template;\n }\n\n get equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focusedIndex: number = 0;\n\n constructor(public cd: ChangeDetectorRef) {}\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected && this.unselectable) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple) {\n if (selected) newValue = this.value.filter((val) => !ObjectUtils.equals(val, optionValue, this.equalityKey));\n else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty) {\n return;\n }\n newValue = selected ? null : optionValue;\n }\n\n this.focusedIndex = index;\n this.value = newValue;\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n\n onKeyDown(event, option, index) {\n switch (event.code) {\n case 'Space': {\n this.onOptionSelect(event, option, index);\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown':\n\n case 'ArrowRight': {\n this.changeTabIndexes(event, 'next');\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp':\n\n case 'ArrowLeft': {\n this.changeTabIndexes(event, 'prev');\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n\n for (let i = 0; i <= this.container.nativeElement.children.length - 1; i++) {\n if (this.container.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = { elem: this.container.nativeElement.children[i], index: i };\n }\n\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.container.nativeElement.children.length - 1;\n else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.container.nativeElement.children.length - 1) index = 0;\n else index = firstTabableChild.index + 1;\n }\n\n this.focusedIndex = index;\n this.container.nativeElement.children[index].focus();\n }\n\n onFocus(event: Event, index: number) {\n this.focusedIndex = index;\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter((val: any) => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = ObjectUtils.equals(this.getOptionValue(option), this.value, this.equalityKey);\n }\n\n return selected;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RippleModule, SharedModule, AutoFocusModule],\n exports: [SelectButton, SharedModule],\n declarations: [SelectButton]\n})\nexport class SelectButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -348,13 +348,13 @@ class Sidebar {
348
348
  this.unbindAnimationEndListener();
349
349
  }
350
350
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Sidebar, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
351
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Sidebar, isStandalone: true, selector: "cax-sidebar", inputs: { headerText: "headerText", appendTo: "appendTo", blockScroll: ["blockScroll", "blockScroll", booleanAttribute], style: "style", styleClass: "styleClass", ariaCloseLabel: "ariaCloseLabel", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], modal: ["modal", "modal", booleanAttribute], dismissible: ["dismissible", "dismissible", booleanAttribute], showCloseIcon: ["showCloseIcon", "showCloseIcon", booleanAttribute], closeOnEscape: ["closeOnEscape", "closeOnEscape", booleanAttribute], transitionOptions: "transitionOptions", visible: "visible", position: "position", fullScreen: "fullScreen", contentTemplate: "contentTemplate", headerTemplate: "headerTemplate", headlessTemplate: "headlessTemplate", footerTemplate: "footerTemplate", closeIconTemplate: "closeIconTemplate" }, outputs: { onShow: "onShow", onHide: "onHide", visibleChange: "visibleChange" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div>\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [attr.data-pc-section]=\"'header'\">\r\n\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <h3>{{ headerText || 'Sidebar' }}</h3>\r\n </ng-template>\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" [styleClass]=\"'cax-sidebar-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\" [attr.data-pc-section]=\"'content'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"footerTemplate\">\r\n <div class=\"cax-sidebar-footer\" [attr.data-pc-section]=\"'footer'\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n</div>\r\n\r\n", styles: ["@layer cax{.cax-sidebar{position:fixed;transition:transform .3s;display:flex;flex-direction:column}.cax-sidebar-content{position:relative;overflow-y:auto;flex-grow:1}.cax-sidebar-header{display:flex;align-items:center}.cax-sidebar-footer{margin-top:auto}.cax-sidebar-icon-css{display:flex;align-items:center;justify-content:center;margin-left:auto}.cax-sidebar-left{top:0;left:0;width:478px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-right{top:0;right:0;width:478px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-top{top:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-bottom{bottom:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-full{width:100%;height:100%;top:0;left:0;-webkit-transition:none;transition:none}.cax-sidebar-left.cax-sidebar-sm,.cax-sidebar-right.cax-sidebar-sm{width:478px}.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-md{width:40rem}.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-lg{width:60rem}.cax-sidebar-top.cax-sidebar-sm,.cax-sidebar-bottom.cax-sidebar-sm{height:10rem}.cax-sidebar-top.cax-sidebar-md,.cax-sidebar-bottom.cax-sidebar-md{height:478px}.cax-sidebar-top.cax-sidebar-lg,.cax-sidebar-bottom.cax-sidebar-lg{height:30rem}@media screen and (max-width: 64em){.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-md{width:478px}}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "ngmodule", type: ButtonModule }], animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
351
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Sidebar, isStandalone: true, selector: "cax-sidebar", inputs: { headerText: "headerText", appendTo: "appendTo", blockScroll: ["blockScroll", "blockScroll", booleanAttribute], style: "style", styleClass: "styleClass", ariaCloseLabel: "ariaCloseLabel", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], modal: ["modal", "modal", booleanAttribute], dismissible: ["dismissible", "dismissible", booleanAttribute], showCloseIcon: ["showCloseIcon", "showCloseIcon", booleanAttribute], closeOnEscape: ["closeOnEscape", "closeOnEscape", booleanAttribute], transitionOptions: "transitionOptions", visible: "visible", position: "position", fullScreen: "fullScreen", contentTemplate: "contentTemplate", headerTemplate: "headerTemplate", headlessTemplate: "headlessTemplate", footerTemplate: "footerTemplate", closeIconTemplate: "closeIconTemplate" }, outputs: { onShow: "onShow", onHide: "onHide", visibleChange: "visibleChange" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div>\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [attr.data-pc-section]=\"'header'\">\r\n\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" [styleClass]=\"'cax-sidebar-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\" [attr.data-pc-section]=\"'content'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"footerTemplate\">\r\n <div class=\"cax-sidebar-footer\" [attr.data-pc-section]=\"'footer'\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n</div>\r\n\r\n", styles: ["@layer cax{.cax-sidebar{position:fixed;transition:transform .3s;display:flex;flex-direction:column}.cax-sidebar-content{position:relative;overflow-y:auto;flex-grow:1}.cax-sidebar-header{display:flex;align-items:center}.cax-sidebar-footer{margin-top:auto}.cax-sidebar-icon-css{display:flex;align-items:center;justify-content:center;margin-left:auto}.cax-sidebar-left{top:0;left:0;width:478px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-right{top:0;right:0;width:480px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-top{top:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-bottom{bottom:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-full{width:100%;height:100%;top:0;left:0;-webkit-transition:none;transition:none}.cax-sidebar-left.cax-sidebar-sm,.cax-sidebar-right.cax-sidebar-sm{width:478px}.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-md{width:40rem}.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-lg{width:60rem}.cax-sidebar-top.cax-sidebar-sm,.cax-sidebar-bottom.cax-sidebar-sm{height:10rem}.cax-sidebar-top.cax-sidebar-md,.cax-sidebar-bottom.cax-sidebar-md{height:478px}.cax-sidebar-top.cax-sidebar-lg,.cax-sidebar-bottom.cax-sidebar-lg{height:30rem}@media screen and (max-width: 64em){.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-md{width:478px}}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "ngmodule", type: ButtonModule }], animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
352
352
  }
353
353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Sidebar, decorators: [{
354
354
  type: Component,
355
355
  args: [{ selector: 'cax-sidebar', animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule], host: {
356
356
  class: 'cax-element'
357
- }, template: "<div>\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [attr.data-pc-section]=\"'header'\">\r\n\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <h3>{{ headerText || 'Sidebar' }}</h3>\r\n </ng-template>\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" [styleClass]=\"'cax-sidebar-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\" [attr.data-pc-section]=\"'content'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"footerTemplate\">\r\n <div class=\"cax-sidebar-footer\" [attr.data-pc-section]=\"'footer'\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n</div>\r\n\r\n", styles: ["@layer cax{.cax-sidebar{position:fixed;transition:transform .3s;display:flex;flex-direction:column}.cax-sidebar-content{position:relative;overflow-y:auto;flex-grow:1}.cax-sidebar-header{display:flex;align-items:center}.cax-sidebar-footer{margin-top:auto}.cax-sidebar-icon-css{display:flex;align-items:center;justify-content:center;margin-left:auto}.cax-sidebar-left{top:0;left:0;width:478px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-right{top:0;right:0;width:478px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-top{top:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-bottom{bottom:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-full{width:100%;height:100%;top:0;left:0;-webkit-transition:none;transition:none}.cax-sidebar-left.cax-sidebar-sm,.cax-sidebar-right.cax-sidebar-sm{width:478px}.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-md{width:40rem}.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-lg{width:60rem}.cax-sidebar-top.cax-sidebar-sm,.cax-sidebar-bottom.cax-sidebar-sm{height:10rem}.cax-sidebar-top.cax-sidebar-md,.cax-sidebar-bottom.cax-sidebar-md{height:478px}.cax-sidebar-top.cax-sidebar-lg,.cax-sidebar-bottom.cax-sidebar-lg{height:30rem}@media screen and (max-width: 64em){.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-md{width:478px}}}\n"] }]
357
+ }, template: "<div>\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [attr.data-pc-section]=\"'header'\">\r\n\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" [styleClass]=\"'cax-sidebar-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\" [attr.data-pc-section]=\"'content'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"footerTemplate\">\r\n <div class=\"cax-sidebar-footer\" [attr.data-pc-section]=\"'footer'\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n</div>\r\n\r\n", styles: ["@layer cax{.cax-sidebar{position:fixed;transition:transform .3s;display:flex;flex-direction:column}.cax-sidebar-content{position:relative;overflow-y:auto;flex-grow:1}.cax-sidebar-header{display:flex;align-items:center}.cax-sidebar-footer{margin-top:auto}.cax-sidebar-icon-css{display:flex;align-items:center;justify-content:center;margin-left:auto}.cax-sidebar-left{top:0;left:0;width:478px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-right{top:0;right:0;width:480px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-top{top:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-bottom{bottom:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-full{width:100%;height:100%;top:0;left:0;-webkit-transition:none;transition:none}.cax-sidebar-left.cax-sidebar-sm,.cax-sidebar-right.cax-sidebar-sm{width:478px}.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-md{width:40rem}.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-lg{width:60rem}.cax-sidebar-top.cax-sidebar-sm,.cax-sidebar-bottom.cax-sidebar-sm{height:10rem}.cax-sidebar-top.cax-sidebar-md,.cax-sidebar-bottom.cax-sidebar-md{height:478px}.cax-sidebar-top.cax-sidebar-lg,.cax-sidebar-bottom.cax-sidebar-lg{height:30rem}@media screen and (max-width: 64em){.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-md{width:478px}}}\n"] }]
358
358
  }], ctorParameters: () => [{ type: Document, decorators: [{
359
359
  type: Inject,
360
360
  args: [DOCUMENT]