@mintplayer/ng-bootstrap 21.7.0 → 21.9.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 (65) hide show
  1. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +16 -9
  2. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  3. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +2 -2
  4. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  5. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +4 -4
  6. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  7. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +133 -130
  8. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  9. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +6 -6
  10. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  11. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +5 -5
  12. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  13. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +3 -0
  14. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  15. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +8 -9
  16. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  17. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +6 -8
  18. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  19. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +3 -3
  20. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  21. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +25 -6
  22. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  23. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +16 -16
  24. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  25. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +58 -47
  26. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  27. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +8 -8
  28. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  29. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +3 -1
  30. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  31. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +48 -49
  32. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  33. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +7 -7
  34. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  35. package/fesm2022/mintplayer-ng-bootstrap-shell.mjs +5 -5
  36. package/fesm2022/mintplayer-ng-bootstrap-shell.mjs.map +1 -1
  37. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +12 -6
  38. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  39. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +7 -7
  40. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  41. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +15 -18
  42. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  43. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +102 -102
  44. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  45. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +7 -7
  46. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  47. package/package.json +2 -2
  48. package/types/mintplayer-ng-bootstrap-accordion.d.ts +5 -3
  49. package/types/mintplayer-ng-bootstrap-code-snippet.d.ts +2 -2
  50. package/types/mintplayer-ng-bootstrap-color-picker.d.ts +37 -34
  51. package/types/mintplayer-ng-bootstrap-dock.d.ts +1 -1
  52. package/types/mintplayer-ng-bootstrap-dropdown-menu.d.ts +9 -9
  53. package/types/mintplayer-ng-bootstrap-file-upload.d.ts +1 -1
  54. package/types/mintplayer-ng-bootstrap-modal.d.ts +1 -1
  55. package/types/mintplayer-ng-bootstrap-navbar.d.ts +5 -3
  56. package/types/mintplayer-ng-bootstrap-range.d.ts +9 -9
  57. package/types/mintplayer-ng-bootstrap-resizable.d.ts +10 -10
  58. package/types/mintplayer-ng-bootstrap-scrollspy.d.ts +1 -1
  59. package/types/mintplayer-ng-bootstrap-select.d.ts +16 -16
  60. package/types/mintplayer-ng-bootstrap-select2.d.ts +3 -3
  61. package/types/mintplayer-ng-bootstrap-shell.d.ts +1 -1
  62. package/types/mintplayer-ng-bootstrap-tab-control.d.ts +1 -1
  63. package/types/mintplayer-ng-bootstrap-timepicker.d.ts +3 -3
  64. package/types/mintplayer-ng-bootstrap-toggle-button.d.ts +15 -15
  65. package/types/mintplayer-ng-bootstrap-typeahead.d.ts +2 -2
@@ -15,14 +15,14 @@ class BsAccordionTabComponent {
15
15
  setActive(value) {
16
16
  if (this.isActive() !== value) {
17
17
  this.isActive.set(value);
18
- if (value) {
18
+ if (value && !this.accordion.multi()) {
19
19
  this.accordion.tabPages().filter((tab) => {
20
20
  return tab !== this;
21
21
  }).forEach((tab) => {
22
22
  tab.isActive.set(false);
23
23
  });
24
24
  }
25
- else {
25
+ if (!value) {
26
26
  this.childAccordions().forEach((accordion) => {
27
27
  accordion.tabPages().forEach((tab) => {
28
28
  tab.isActive.set(false);
@@ -32,20 +32,21 @@ class BsAccordionTabComponent {
32
32
  }
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsAccordionTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.6", type: BsAccordionTabComponent, isStandalone: true, selector: "bs-accordion-tab", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isActive: "isActiveChange" }, host: { classAttribute: "accordion-item d-block" }, queries: [{ propertyName: "childAccordions", predicate: i0.forwardRef(() => BsAccordionComponent), isSignal: true }], ngImport: i0, template: "<div [@.disabled]=\"accordion.disableAnimations\" bsNoNoscript>\n <ng-content select=\"bs-accordion-tab-header\"></ng-content>\n <div [id]=\"accordionTabName() + '-content'\"\n class=\"accordion-collapse collapse show overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"accordionTabName() + '-header'\"\n [@slideUpDown]=\"isActive()\">\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".card,.card-header,.card-block{border-radius:0}.card{margin-bottom:-1px}:host ::ng-deep .noscript>input[type=radio]:checked+bs-accordion-tab-header>h2>label{background-color:#e7f1ff}:host ::ng-deep .noscript>input[type=radio]:checked+bs-accordion-tab-header>h2>label:after{transform:var(--bs-accordion-btn-icon-transform)}:host ::ng-deep .noscript>input[type=radio]:checked~.accordion-collapse{height:auto!important}\n"], dependencies: [{ kind: "directive", type: BsNoNoscriptDirective, selector: "[bsNoNoscript]" }], animations: [SlideUpDownAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: BsAccordionTabComponent, isStandalone: true, selector: "bs-accordion-tab", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isActive: "isActiveChange" }, host: { classAttribute: "accordion-item d-block" }, queries: [{ propertyName: "childAccordions", predicate: i0.forwardRef(() => BsAccordionComponent), isSignal: true }], ngImport: i0, template: "<div [@.disabled]=\"accordion.disableAnimations()\" bsNoNoscript>\n @if (accordion.multi()) {\n <input type=\"checkbox\" class=\"d-none\"\n [id]=\"accordionTabName()\"\n [checked]=\"isActive()\">\n } @else {\n <input type=\"radio\" class=\"d-none\"\n [name]=\"accordion.accordionName()\"\n [id]=\"accordionTabName()\"\n [checked]=\"isActive()\">\n }\n <ng-content select=\"bs-accordion-tab-header\"></ng-content>\n <div [id]=\"accordionTabName() + '-content'\"\n class=\"accordion-collapse collapse show overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"accordionTabName() + '-header'\"\n [@slideUpDown]=\"isActive()\">\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".card,.card-header,.card-block{border-radius:0}.card{margin-bottom:-1px}:host ::ng-deep .noscript>.accordion-collapse{height:0!important}:host ::ng-deep .noscript>input[type=radio]:checked+bs-accordion-tab-header>h2>label,:host ::ng-deep .noscript>input[type=checkbox]:checked+bs-accordion-tab-header>h2>label{background-color:#e7f1ff}:host ::ng-deep .noscript>input[type=radio]:checked+bs-accordion-tab-header>h2>label:after,:host ::ng-deep .noscript>input[type=checkbox]:checked+bs-accordion-tab-header>h2>label:after{transform:var(--bs-accordion-btn-icon-transform)}:host ::ng-deep .noscript>input[type=radio]:checked~.accordion-collapse,:host ::ng-deep .noscript>input[type=checkbox]:checked~.accordion-collapse{height:auto!important}\n"], dependencies: [{ kind: "directive", type: BsNoNoscriptDirective, selector: "[bsNoNoscript]" }], animations: [SlideUpDownAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsAccordionTabComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'bs-accordion-tab', imports: [BsNoNoscriptDirective], animations: [SlideUpDownAnimation], changeDetection: ChangeDetectionStrategy.OnPush, host: {
40
40
  'class': 'accordion-item d-block',
41
- }, template: "<div [@.disabled]=\"accordion.disableAnimations\" bsNoNoscript>\n <ng-content select=\"bs-accordion-tab-header\"></ng-content>\n <div [id]=\"accordionTabName() + '-content'\"\n class=\"accordion-collapse collapse show overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"accordionTabName() + '-header'\"\n [@slideUpDown]=\"isActive()\">\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".card,.card-header,.card-block{border-radius:0}.card{margin-bottom:-1px}:host ::ng-deep .noscript>input[type=radio]:checked+bs-accordion-tab-header>h2>label{background-color:#e7f1ff}:host ::ng-deep .noscript>input[type=radio]:checked+bs-accordion-tab-header>h2>label:after{transform:var(--bs-accordion-btn-icon-transform)}:host ::ng-deep .noscript>input[type=radio]:checked~.accordion-collapse{height:auto!important}\n"] }]
41
+ }, template: "<div [@.disabled]=\"accordion.disableAnimations()\" bsNoNoscript>\n @if (accordion.multi()) {\n <input type=\"checkbox\" class=\"d-none\"\n [id]=\"accordionTabName()\"\n [checked]=\"isActive()\">\n } @else {\n <input type=\"radio\" class=\"d-none\"\n [name]=\"accordion.accordionName()\"\n [id]=\"accordionTabName()\"\n [checked]=\"isActive()\">\n }\n <ng-content select=\"bs-accordion-tab-header\"></ng-content>\n <div [id]=\"accordionTabName() + '-content'\"\n class=\"accordion-collapse collapse show overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"accordionTabName() + '-header'\"\n [@slideUpDown]=\"isActive()\">\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".card,.card-header,.card-block{border-radius:0}.card{margin-bottom:-1px}:host ::ng-deep .noscript>.accordion-collapse{height:0!important}:host ::ng-deep .noscript>input[type=radio]:checked+bs-accordion-tab-header>h2>label,:host ::ng-deep .noscript>input[type=checkbox]:checked+bs-accordion-tab-header>h2>label{background-color:#e7f1ff}:host ::ng-deep .noscript>input[type=radio]:checked+bs-accordion-tab-header>h2>label:after,:host ::ng-deep .noscript>input[type=checkbox]:checked+bs-accordion-tab-header>h2>label:after{transform:var(--bs-accordion-btn-icon-transform)}:host ::ng-deep .noscript>input[type=radio]:checked~.accordion-collapse,:host ::ng-deep .noscript>input[type=checkbox]:checked~.accordion-collapse{height:auto!important}\n"] }]
42
42
  }], ctorParameters: () => [], propDecorators: { childAccordions: [{ type: i0.ContentChildren, args: [forwardRef(() => BsAccordionComponent), { isSignal: true }] }], isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }, { type: i0.Output, args: ["isActiveChange"] }] } });
43
43
 
44
44
  class BsAccordionComponent {
45
45
  constructor() {
46
46
  this.tabPages = contentChildren(forwardRef(() => BsAccordionTabComponent), ...(ngDevMode ? [{ debugName: "tabPages" }] : []));
47
- this.disableAnimations = false;
47
+ this.disableAnimations = signal(false, ...(ngDevMode ? [{ debugName: "disableAnimations" }] : []));
48
48
  this.highlightActiveTab = input(false, ...(ngDevMode ? [{ debugName: "highlightActiveTab" }] : []));
49
+ this.multi = input(false, ...(ngDevMode ? [{ debugName: "multi" }] : []));
49
50
  this.accordionId = signal(0, ...(ngDevMode ? [{ debugName: "accordionId" }] : []));
50
51
  this.accordionName = computed(() => `bs-accordion-${this.accordionId()}`, ...(ngDevMode ? [{ debugName: "accordionName" }] : []));
51
52
  this.accordionTabCounter = 0;
@@ -53,12 +54,12 @@ class BsAccordionComponent {
53
54
  }
54
55
  static { this.accordionCounter = 0; }
55
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.6", type: BsAccordionComponent, isStandalone: true, selector: "bs-accordion", inputs: { highlightActiveTab: { classPropertyName: "highlightActiveTab", publicName: "highlightActiveTab", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "tabPages", predicate: i0.forwardRef(() => BsAccordionTabComponent), isSignal: true }], ngImport: i0, template: "<div class=\"accordion\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgb%285.2, 44, 101.2%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}:host ::ng-deep .accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion:reduce){:host ::ng-deep .accordion-button{transition:none}}:host ::ng-deep .accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}:host ::ng-deep .accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}:host ::ng-deep .accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:\"\";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion:reduce){:host ::ng-deep .accordion-button:after{transition:none}}:host ::ng-deep .accordion-button:hover{z-index:2}:host ::ng-deep .accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}:host ::ng-deep .accordion-header{margin-bottom:0}:host ::ng-deep .accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}:host ::ng-deep .accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}:host ::ng-deep .accordion-item:not(:first-of-type){border-top:0}:host ::ng-deep .accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}:host ::ng-deep .accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}:host ::ng-deep .accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}:host ::ng-deep .accordion-flush>.accordion-item:first-child{border-top:0}:host ::ng-deep .accordion-flush>.accordion-item:last-child{border-bottom:0}:host ::ng-deep .accordion-flush>.accordion-item>.accordion-collapse,:host ::ng-deep .accordion-flush>.accordion-item>.accordion-header .accordion-button,:host ::ng-deep .accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}:host ::ng-deep [data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28109.8, 168, 253.8%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e\");--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28109.8, 168, 253.8%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e\")}:host ::ng-deep bs-accordion{margin:-1px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.6", type: BsAccordionComponent, isStandalone: true, selector: "bs-accordion", inputs: { highlightActiveTab: { classPropertyName: "highlightActiveTab", publicName: "highlightActiveTab", isSignal: true, isRequired: false, transformFunction: null }, multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "tabPages", predicate: i0.forwardRef(() => BsAccordionTabComponent), isSignal: true }], ngImport: i0, template: "<div class=\"accordion\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgb%285.2, 44, 101.2%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}:host ::ng-deep .accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion:reduce){:host ::ng-deep .accordion-button{transition:none}}:host ::ng-deep .accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}:host ::ng-deep .accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}:host ::ng-deep .accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:\"\";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion:reduce){:host ::ng-deep .accordion-button:after{transition:none}}:host ::ng-deep .accordion-button:hover{z-index:2}:host ::ng-deep .accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}:host ::ng-deep .accordion-header{margin-bottom:0}:host ::ng-deep .accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}:host ::ng-deep .accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}:host ::ng-deep .accordion-item:not(:first-of-type){border-top:0}:host ::ng-deep .accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}:host ::ng-deep .accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}:host ::ng-deep .accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}:host ::ng-deep .accordion-flush>.accordion-item:first-child{border-top:0}:host ::ng-deep .accordion-flush>.accordion-item:last-child{border-bottom:0}:host ::ng-deep .accordion-flush>.accordion-item>.accordion-collapse,:host ::ng-deep .accordion-flush>.accordion-item>.accordion-header .accordion-button,:host ::ng-deep .accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}:host ::ng-deep [data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28109.8, 168, 253.8%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e\");--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28109.8, 168, 253.8%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e\")}:host ::ng-deep bs-accordion{margin:-1px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
58
  }
58
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsAccordionComponent, decorators: [{
59
60
  type: Component,
60
61
  args: [{ selector: 'bs-accordion', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"accordion\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgb%285.2, 44, 101.2%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}:host ::ng-deep .accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion:reduce){:host ::ng-deep .accordion-button{transition:none}}:host ::ng-deep .accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}:host ::ng-deep .accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}:host ::ng-deep .accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:\"\";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion:reduce){:host ::ng-deep .accordion-button:after{transition:none}}:host ::ng-deep .accordion-button:hover{z-index:2}:host ::ng-deep .accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}:host ::ng-deep .accordion-header{margin-bottom:0}:host ::ng-deep .accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}:host ::ng-deep .accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}:host ::ng-deep .accordion-item:not(:first-of-type){border-top:0}:host ::ng-deep .accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}:host ::ng-deep .accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}:host ::ng-deep .accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}:host ::ng-deep .accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}:host ::ng-deep .accordion-flush>.accordion-item:first-child{border-top:0}:host ::ng-deep .accordion-flush>.accordion-item:last-child{border-bottom:0}:host ::ng-deep .accordion-flush>.accordion-item>.accordion-collapse,:host ::ng-deep .accordion-flush>.accordion-item>.accordion-header .accordion-button,:host ::ng-deep .accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}:host ::ng-deep [data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28109.8, 168, 253.8%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e\");--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28109.8, 168, 253.8%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e\")}:host ::ng-deep bs-accordion{margin:-1px}\n"] }]
61
- }], ctorParameters: () => [], propDecorators: { tabPages: [{ type: i0.ContentChildren, args: [forwardRef(() => BsAccordionTabComponent), { isSignal: true }] }], highlightActiveTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightActiveTab", required: false }] }] } });
62
+ }], ctorParameters: () => [], propDecorators: { tabPages: [{ type: i0.ContentChildren, args: [forwardRef(() => BsAccordionTabComponent), { isSignal: true }] }], highlightActiveTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightActiveTab", required: false }] }], multi: [{ type: i0.Input, args: [{ isSignal: true, alias: "multi", required: false }] }] } });
62
63
 
63
64
  class BsAccordionTabHeaderComponent {
64
65
  constructor() {
@@ -68,12 +69,18 @@ class BsAccordionTabHeaderComponent {
68
69
  event.preventDefault();
69
70
  this.accordionTab.setActive(!this.accordionTab.isActive());
70
71
  }
72
+ headerKeydown(event) {
73
+ if (event.key === 'Enter' || event.key === ' ') {
74
+ event.preventDefault();
75
+ this.accordionTab.setActive(!this.accordionTab.isActive());
76
+ }
77
+ }
71
78
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsAccordionTabHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.6", type: BsAccordionTabHeaderComponent, isStandalone: true, selector: "bs-accordion-tab-header", ngImport: i0, template: "<h2 class=\"accordion-header\">\n <button type=\"button\"\n class=\"accordion-button\"\n [id]=\"accordionTab.accordionTabName() + '-header'\"\n [class.collapsed]=\"!accordionTab.isActive()\"\n [class.bg-unset]=\"!accordionTab.accordion.highlightActiveTab()\"\n [attr.aria-expanded]=\"accordionTab.isActive()\"\n [attr.aria-controls]=\"accordionTab.accordionTabName() + '-content'\"\n (click)=\"headerClicked($event)\">\n <ng-content></ng-content>\n </button>\n</h2>", styles: [".bg-unset{background:unset}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.6", type: BsAccordionTabHeaderComponent, isStandalone: true, selector: "bs-accordion-tab-header", ngImport: i0, template: "<h2 class=\"accordion-header\">\n <label role=\"button\"\n tabindex=\"0\"\n class=\"accordion-button\"\n [for]=\"accordionTab.accordionTabName()\"\n [id]=\"accordionTab.accordionTabName() + '-header'\"\n [class.collapsed]=\"!accordionTab.isActive()\"\n [class.bg-unset]=\"!accordionTab.accordion.highlightActiveTab()\"\n [attr.aria-expanded]=\"accordionTab.isActive()\"\n [attr.aria-controls]=\"accordionTab.accordionTabName() + '-content'\"\n (click)=\"headerClicked($event)\"\n (keydown)=\"headerKeydown($event)\">\n <ng-content></ng-content>\n </label>\n</h2>", styles: [".bg-unset{background:unset}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
80
  }
74
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsAccordionTabHeaderComponent, decorators: [{
75
82
  type: Component,
76
- args: [{ selector: 'bs-accordion-tab-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<h2 class=\"accordion-header\">\n <button type=\"button\"\n class=\"accordion-button\"\n [id]=\"accordionTab.accordionTabName() + '-header'\"\n [class.collapsed]=\"!accordionTab.isActive()\"\n [class.bg-unset]=\"!accordionTab.accordion.highlightActiveTab()\"\n [attr.aria-expanded]=\"accordionTab.isActive()\"\n [attr.aria-controls]=\"accordionTab.accordionTabName() + '-content'\"\n (click)=\"headerClicked($event)\">\n <ng-content></ng-content>\n </button>\n</h2>", styles: [".bg-unset{background:unset}\n"] }]
83
+ args: [{ selector: 'bs-accordion-tab-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<h2 class=\"accordion-header\">\n <label role=\"button\"\n tabindex=\"0\"\n class=\"accordion-button\"\n [for]=\"accordionTab.accordionTabName()\"\n [id]=\"accordionTab.accordionTabName() + '-header'\"\n [class.collapsed]=\"!accordionTab.isActive()\"\n [class.bg-unset]=\"!accordionTab.accordion.highlightActiveTab()\"\n [attr.aria-expanded]=\"accordionTab.isActive()\"\n [attr.aria-controls]=\"accordionTab.accordionTabName() + '-content'\"\n (click)=\"headerClicked($event)\"\n (keydown)=\"headerKeydown($event)\">\n <ng-content></ng-content>\n </label>\n</h2>", styles: [".bg-unset{background:unset}\n"] }]
77
84
  }] });
78
85
 
79
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-accordion.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion-tab/accordion-tab.component.ts","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion-tab/accordion-tab.component.html","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion/accordion.component.ts","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion/accordion.component.html","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion-tab-header/accordion-tab-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion-tab-header/accordion-tab-header.component.html","../../../../libs/mintplayer-ng-bootstrap/accordion/mintplayer-ng-bootstrap-accordion.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, contentChildren, forwardRef, inject, model, computed, signal } from '@angular/core';\nimport { SlideUpDownAnimation } from '@mintplayer/ng-animations';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsAccordionComponent } from '../accordion/accordion.component';\n\n@Component({\n selector: 'bs-accordion-tab',\n templateUrl: './accordion-tab.component.html',\n styleUrls: ['./accordion-tab.component.scss'],\n imports: [BsNoNoscriptDirective],\n animations: [SlideUpDownAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'accordion-item d-block',\n },\n})\nexport class BsAccordionTabComponent {\n accordion = inject(BsAccordionComponent);\n accordionTabId = signal<number>(0);\n accordionTabName = computed(() => `${this.accordion.accordionName()}-${this.accordionTabId()}`);\n readonly childAccordions = contentChildren<BsAccordionComponent>(forwardRef(() => BsAccordionComponent));\n\n constructor() {\n this.accordionTabId.set(++this.accordion.accordionTabCounter);\n }\n\n isActive = model<boolean>(false);\n\n setActive(value: boolean) {\n if (this.isActive() !== value) {\n this.isActive.set(value);\n if (value) {\n this.accordion.tabPages().filter((tab) => {\n return tab !== this;\n }).forEach((tab) => {\n tab.isActive.set(false);\n });\n } else {\n this.childAccordions().forEach((accordion) => {\n accordion.tabPages().forEach((tab: BsAccordionTabComponent) => {\n tab.isActive.set(false);\n });\n });\n }\n }\n }\n}\n","<div [@.disabled]=\"accordion.disableAnimations\" bsNoNoscript>\n <ng-content select=\"bs-accordion-tab-header\"></ng-content>\n <div [id]=\"accordionTabName() + '-content'\"\n class=\"accordion-collapse collapse show overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"accordionTabName() + '-header'\"\n [@slideUpDown]=\"isActive()\">\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, contentChildren, forwardRef, input, signal, computed } from '@angular/core';\nimport { BsAccordionTabComponent } from '../accordion-tab/accordion-tab.component';\n\n@Component({\n selector: 'bs-accordion',\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsAccordionComponent {\n\n constructor() {\n this.accordionId = signal(++BsAccordionComponent.accordionCounter);\n }\n\n readonly tabPages = contentChildren<BsAccordionTabComponent>(forwardRef(() => BsAccordionTabComponent));\n disableAnimations = false;\n highlightActiveTab = input(false);\n\n accordionId = signal<number>(0);\n accordionName = computed(() => `bs-accordion-${this.accordionId()}`);\n accordionTabCounter = 0;\n static accordionCounter = 0;\n}\n","<div class=\"accordion\">\n <ng-content></ng-content>\n</div>","import { Component, inject, ChangeDetectionStrategy} from '@angular/core';\nimport { BsAccordionTabComponent } from '../accordion-tab/accordion-tab.component';\n\n@Component({\n selector: 'bs-accordion-tab-header',\n templateUrl: './accordion-tab-header.component.html',\n styleUrls: ['./accordion-tab-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsAccordionTabHeaderComponent {\n accordionTab = inject(BsAccordionTabComponent);\n\n headerClicked(event: MouseEvent) {\n event.preventDefault();\n this.accordionTab.setActive(!this.accordionTab.isActive());\n }\n}\n","<h2 class=\"accordion-header\">\n <button type=\"button\"\n class=\"accordion-button\"\n [id]=\"accordionTab.accordionTabName() + '-header'\"\n [class.collapsed]=\"!accordionTab.isActive()\"\n [class.bg-unset]=\"!accordionTab.accordion.highlightActiveTab()\"\n [attr.aria-expanded]=\"accordionTab.isActive()\"\n [attr.aria-controls]=\"accordionTab.accordionTabName() + '-content'\"\n (click)=\"headerClicked($event)\">\n <ng-content></ng-content>\n </button>\n</h2>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-accordion.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion-tab/accordion-tab.component.ts","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion-tab/accordion-tab.component.html","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion/accordion.component.ts","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion/accordion.component.html","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion-tab-header/accordion-tab-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/accordion/src/accordion-tab-header/accordion-tab-header.component.html","../../../../libs/mintplayer-ng-bootstrap/accordion/mintplayer-ng-bootstrap-accordion.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, contentChildren, forwardRef, inject, model, computed, signal } from '@angular/core';\nimport { SlideUpDownAnimation } from '@mintplayer/ng-animations';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsAccordionComponent } from '../accordion/accordion.component';\n\n@Component({\n selector: 'bs-accordion-tab',\n templateUrl: './accordion-tab.component.html',\n styleUrls: ['./accordion-tab.component.scss'],\n imports: [BsNoNoscriptDirective],\n animations: [SlideUpDownAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'accordion-item d-block',\n },\n})\nexport class BsAccordionTabComponent {\n accordion = inject(BsAccordionComponent);\n accordionTabId = signal<number>(0);\n accordionTabName = computed(() => `${this.accordion.accordionName()}-${this.accordionTabId()}`);\n readonly childAccordions = contentChildren<BsAccordionComponent>(forwardRef(() => BsAccordionComponent));\n\n constructor() {\n this.accordionTabId.set(++this.accordion.accordionTabCounter);\n }\n\n isActive = model<boolean>(false);\n\n setActive(value: boolean) {\n if (this.isActive() !== value) {\n this.isActive.set(value);\n if (value && !this.accordion.multi()) {\n this.accordion.tabPages().filter((tab) => {\n return tab !== this;\n }).forEach((tab) => {\n tab.isActive.set(false);\n });\n }\n if (!value) {\n this.childAccordions().forEach((accordion) => {\n accordion.tabPages().forEach((tab: BsAccordionTabComponent) => {\n tab.isActive.set(false);\n });\n });\n }\n }\n }\n}\n","<div [@.disabled]=\"accordion.disableAnimations()\" bsNoNoscript>\n @if (accordion.multi()) {\n <input type=\"checkbox\" class=\"d-none\"\n [id]=\"accordionTabName()\"\n [checked]=\"isActive()\">\n } @else {\n <input type=\"radio\" class=\"d-none\"\n [name]=\"accordion.accordionName()\"\n [id]=\"accordionTabName()\"\n [checked]=\"isActive()\">\n }\n <ng-content select=\"bs-accordion-tab-header\"></ng-content>\n <div [id]=\"accordionTabName() + '-content'\"\n class=\"accordion-collapse collapse show overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"accordionTabName() + '-header'\"\n [@slideUpDown]=\"isActive()\">\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, contentChildren, forwardRef, input, signal, computed } from '@angular/core';\nimport { BsAccordionTabComponent } from '../accordion-tab/accordion-tab.component';\n\n@Component({\n selector: 'bs-accordion',\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsAccordionComponent {\n\n constructor() {\n this.accordionId = signal(++BsAccordionComponent.accordionCounter);\n }\n\n readonly tabPages = contentChildren<BsAccordionTabComponent>(forwardRef(() => BsAccordionTabComponent));\n disableAnimations = signal(false);\n highlightActiveTab = input(false);\n multi = input(false);\n\n accordionId = signal<number>(0);\n accordionName = computed(() => `bs-accordion-${this.accordionId()}`);\n accordionTabCounter = 0;\n static accordionCounter = 0;\n}\n","<div class=\"accordion\">\n <ng-content></ng-content>\n</div>","import { Component, inject, ChangeDetectionStrategy} from '@angular/core';\nimport { BsAccordionTabComponent } from '../accordion-tab/accordion-tab.component';\n\n@Component({\n selector: 'bs-accordion-tab-header',\n templateUrl: './accordion-tab-header.component.html',\n styleUrls: ['./accordion-tab-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsAccordionTabHeaderComponent {\n accordionTab = inject(BsAccordionTabComponent);\n\n headerClicked(event: Event) {\n event.preventDefault();\n this.accordionTab.setActive(!this.accordionTab.isActive());\n }\n\n headerKeydown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.accordionTab.setActive(!this.accordionTab.isActive());\n }\n }\n}\n","<h2 class=\"accordion-header\">\n <label role=\"button\"\n tabindex=\"0\"\n class=\"accordion-button\"\n [for]=\"accordionTab.accordionTabName()\"\n [id]=\"accordionTab.accordionTabName() + '-header'\"\n [class.collapsed]=\"!accordionTab.isActive()\"\n [class.bg-unset]=\"!accordionTab.accordion.highlightActiveTab()\"\n [attr.aria-expanded]=\"accordionTab.isActive()\"\n [attr.aria-controls]=\"accordionTab.accordionTabName() + '-content'\"\n (click)=\"headerClicked($event)\"\n (keydown)=\"headerKeydown($event)\">\n <ng-content></ng-content>\n </label>\n</h2>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, signal, model, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { BsCalendarMonthService, BsMonthNamePipe, BsWeekdayNamePipe } from '@mintplayer/ng-bootstrap/calendar-month';
3
+ import { BsCalendarMonthService, BsMonthNamePipe } from '@mintplayer/ng-bootstrap/calendar-month';
4
4
  import { DomSanitizer } from '@angular/platform-browser';
5
5
  import { BsUcFirstPipe } from '@mintplayer/ng-bootstrap/uc-first';
6
6
 
@@ -71,7 +71,7 @@ class BsCalendarComponent {
71
71
  }
72
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsCalendarComponent, decorators: [{
73
73
  type: Component,
74
- args: [{ selector: 'bs-calendar', imports: [BsUcFirstPipe, BsMonthNamePipe, BsWeekdayNamePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button type=\"button\" class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft()\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth() | monthName | bsUcFirst }}\n {{ currentMonth().getFullYear() }}\n </td>\n <td>\n <button type=\"button\" class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight()\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n @for (dayOfWeek of shownDays(); track dayOfWeek.long) {\n <th [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n }\n </tr>\n @for (week of weeks(); track week.number) {\n <tr>\n <th>\n {{ week.number }}\n </th>\n @for (day of week.days; track day?.date) {\n @let showSpan = (day !== null) && day.isInMonth;\n @let disableFn = disableDateFn();\n @let disabled = disableFn && day && disableFn(day.date);\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate(), day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n @if (showSpan) {\n <span [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n }\n </td>\n }\n </tr>\n }\n</table>\n", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"] }]
74
+ args: [{ selector: 'bs-calendar', imports: [BsUcFirstPipe, BsMonthNamePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button type=\"button\" class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft()\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth() | monthName | bsUcFirst }}\n {{ currentMonth().getFullYear() }}\n </td>\n <td>\n <button type=\"button\" class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight()\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n @for (dayOfWeek of shownDays(); track dayOfWeek.long) {\n <th [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n }\n </tr>\n @for (week of weeks(); track week.number) {\n <tr>\n <th>\n {{ week.number }}\n </th>\n @for (day of week.days; track day?.date) {\n @let showSpan = (day !== null) && day.isInMonth;\n @let disableFn = disableDateFn();\n @let disabled = disableFn && day && disableFn(day.date);\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate(), day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n @if (showSpan) {\n <span [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n }\n </td>\n }\n </tr>\n }\n</table>\n", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"] }]
75
75
  }], ctorParameters: () => [], propDecorators: { currentMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentMonth", required: false }] }, { type: i0.Output, args: ["currentMonthChange"] }], selectedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedDate", required: false }] }, { type: i0.Output, args: ["selectedDateChange"] }], disableDateFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableDateFn", required: false }] }] } });
76
76
 
77
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-calendar.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/calendar/src/calendar.component.ts","../../../../libs/mintplayer-ng-bootstrap/calendar/src/calendar.component.html","../../../../libs/mintplayer-ng-bootstrap/calendar/mintplayer-ng-bootstrap-calendar.ts"],"sourcesContent":["/// <reference types=\"./types\" />\n\nimport { ChangeDetectionStrategy, Component, computed, inject, input, model, signal } from '@angular/core';\nimport { BsCalendarMonthService, BsMonthNamePipe, BsWeekdayNamePipe, DateDayOfMonth, WeekDay } from '@mintplayer/ng-bootstrap/calendar-month';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { BsUcFirstPipe } from '@mintplayer/ng-bootstrap/uc-first';\n\n@Component({\n selector: 'bs-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n imports: [BsUcFirstPipe, BsMonthNamePipe, BsWeekdayNamePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsCalendarComponent {\n private sanitizer = inject(DomSanitizer);\n private calendarMonthService = inject(BsCalendarMonthService);\n\n constructor() {\n import('bootstrap-icons/icons/chevron-left.svg').then((icon) => {\n this.chevronLeft.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n import('bootstrap-icons/icons/chevron-right.svg').then((icon) => {\n this.chevronRight.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n }\n\n chevronLeft = signal<SafeHtml | undefined>(undefined);\n chevronRight = signal<SafeHtml | undefined>(undefined);\n\n currentMonth = model<Date>(new Date());\n selectedDate = model<Date>(new Date());\n disableDateFn = input<((date: Date) => boolean) | undefined>(undefined);\n\n weeks = computed(() => this.calendarMonthService.getWeeks(this.currentMonth()));\n\n shownDays = computed<WeekDay[]>(() => {\n const weeks = this.weeks();\n if (weeks.length <= 1) return [];\n const days = weeks[1].days;\n const firstDay = days[0];\n if (firstDay) {\n return days.map((d) => {\n const date = new Date(\n firstDay.date.getFullYear(),\n firstDay.date.getMonth(),\n d?.dayOfMonth\n );\n return <WeekDay>{\n short: date.toLocaleString('default', { weekday: 'short' }),\n long: date.toLocaleString('default', { weekday: 'long' })\n };\n });\n } else {\n return [];\n }\n });\n\n previousMonth() {\n const month = this.currentMonth();\n this.currentMonth.set(new Date(month.getFullYear(), month.getMonth() - 1, 1));\n return false;\n }\n\n nextMonth() {\n const month = this.currentMonth();\n this.currentMonth.set(new Date(month.getFullYear(), month.getMonth() + 1, 1));\n return false;\n }\n\n isSameDate(date1: Date | null, date2: Date | null) {\n if (date1 === null && date2 === null) return true;\n if (date1 === null || date2 === null) return false;\n\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate()\n );\n }\n\n goto(day: DateDayOfMonth | null) {\n const disableFn = this.disableDateFn();\n if (day && day.isInMonth && (!disableFn || !disableFn(day.date))) {\n this.selectedDate.set(day.date);\n }\n }\n}\n","<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button type=\"button\" class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft()\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth() | monthName | bsUcFirst }}\n {{ currentMonth().getFullYear() }}\n </td>\n <td>\n <button type=\"button\" class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight()\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n @for (dayOfWeek of shownDays(); track dayOfWeek.long) {\n <th [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n }\n </tr>\n @for (week of weeks(); track week.number) {\n <tr>\n <th>\n {{ week.number }}\n </th>\n @for (day of week.days; track day?.date) {\n @let showSpan = (day !== null) && day.isInMonth;\n @let disableFn = disableDateFn();\n @let disabled = disableFn && day && disableFn(day.date);\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate(), day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n @if (showSpan) {\n <span [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n }\n </td>\n }\n </tr>\n }\n</table>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-calendar.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/calendar/src/calendar.component.ts","../../../../libs/mintplayer-ng-bootstrap/calendar/src/calendar.component.html","../../../../libs/mintplayer-ng-bootstrap/calendar/mintplayer-ng-bootstrap-calendar.ts"],"sourcesContent":["/// <reference types=\"./types\" />\n\nimport { ChangeDetectionStrategy, Component, computed, inject, input, model, signal } from '@angular/core';\nimport { BsCalendarMonthService, BsMonthNamePipe, DateDayOfMonth, WeekDay } from '@mintplayer/ng-bootstrap/calendar-month';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { BsUcFirstPipe } from '@mintplayer/ng-bootstrap/uc-first';\n\n@Component({\n selector: 'bs-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n imports: [BsUcFirstPipe, BsMonthNamePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsCalendarComponent {\n private sanitizer = inject(DomSanitizer);\n private calendarMonthService = inject(BsCalendarMonthService);\n\n constructor() {\n import('bootstrap-icons/icons/chevron-left.svg').then((icon) => {\n this.chevronLeft.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n import('bootstrap-icons/icons/chevron-right.svg').then((icon) => {\n this.chevronRight.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n }\n\n chevronLeft = signal<SafeHtml | undefined>(undefined);\n chevronRight = signal<SafeHtml | undefined>(undefined);\n\n currentMonth = model<Date>(new Date());\n selectedDate = model<Date>(new Date());\n disableDateFn = input<((date: Date) => boolean) | undefined>(undefined);\n\n weeks = computed(() => this.calendarMonthService.getWeeks(this.currentMonth()));\n\n shownDays = computed<WeekDay[]>(() => {\n const weeks = this.weeks();\n if (weeks.length <= 1) return [];\n const days = weeks[1].days;\n const firstDay = days[0];\n if (firstDay) {\n return days.map((d) => {\n const date = new Date(\n firstDay.date.getFullYear(),\n firstDay.date.getMonth(),\n d?.dayOfMonth\n );\n return <WeekDay>{\n short: date.toLocaleString('default', { weekday: 'short' }),\n long: date.toLocaleString('default', { weekday: 'long' })\n };\n });\n } else {\n return [];\n }\n });\n\n previousMonth() {\n const month = this.currentMonth();\n this.currentMonth.set(new Date(month.getFullYear(), month.getMonth() - 1, 1));\n return false;\n }\n\n nextMonth() {\n const month = this.currentMonth();\n this.currentMonth.set(new Date(month.getFullYear(), month.getMonth() + 1, 1));\n return false;\n }\n\n isSameDate(date1: Date | null, date2: Date | null) {\n if (date1 === null && date2 === null) return true;\n if (date1 === null || date2 === null) return false;\n\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate()\n );\n }\n\n goto(day: DateDayOfMonth | null) {\n const disableFn = this.disableDateFn();\n if (day && day.isInMonth && (!disableFn || !disableFn(day.date))) {\n this.selectedDate.set(day.date);\n }\n }\n}\n","<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button type=\"button\" class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft()\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth() | monthName | bsUcFirst }}\n {{ currentMonth().getFullYear() }}\n </td>\n <td>\n <button type=\"button\" class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight()\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n @for (dayOfWeek of shownDays(); track dayOfWeek.long) {\n <th [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n }\n </tr>\n @for (week of weeks(); track week.number) {\n <tr>\n <th>\n {{ week.number }}\n </th>\n @for (day of week.days; track day?.date) {\n @let showSpan = (day !== null) && day.isInMonth;\n @let disableFn = disableDateFn();\n @let disabled = disableFn && day && disableFn(day.date);\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate(), day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n @if (showSpan) {\n <span [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n }\n </td>\n }\n </tr>\n }\n</table>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, input, viewChild, output, effect, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { model, input, viewChild, output, signal, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';
4
4
  import { BsOffcanvasHostComponent, BsOffcanvasContentDirective } from '@mintplayer/ng-bootstrap/offcanvas';
5
5
  import * as i1 from 'ngx-highlightjs';
@@ -7,7 +7,7 @@ import { HighlightModule } from 'ngx-highlightjs';
7
7
 
8
8
  class BsCodeSnippetComponent {
9
9
  constructor() {
10
- this.offcanvasVisible = signal(false, ...(ngDevMode ? [{ debugName: "offcanvasVisible" }] : []));
10
+ this.offcanvasVisible = model(false, ...(ngDevMode ? [{ debugName: "offcanvasVisible" }] : []));
11
11
  this.codeToCopy = input('', ...(ngDevMode ? [{ debugName: "codeToCopy" }] : []));
12
12
  this.language = input('', ...(ngDevMode ? [{ debugName: "language" }] : []));
13
13
  this.copiedTemplate = viewChild.required('copiedTemplate');
@@ -26,12 +26,12 @@ class BsCodeSnippetComponent {
26
26
  this.detectedLanguageValue.set(result?.language ?? 'code');
27
27
  }
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsCodeSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.6", type: BsCodeSnippetComponent, isStandalone: true, selector: "bs-code-snippet", inputs: { codeToCopy: { classPropertyName: "codeToCopy", publicName: "codeToCopy", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { detectedLanguage: "detectedLanguage" }, viewQueries: [{ propertyName: "copiedTemplate", first: true, predicate: ["copiedTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy()\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ detectedLanguageValue() }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy()\" [language]=\"language()\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"], dependencies: [{ kind: "directive", type: BsCopyDirective, selector: "[bsCopy]", inputs: ["bsCopy"], outputs: ["bsCopied"] }, { kind: "component", type: BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: ["isVisible", "size", "position", "hasBackdrop"], outputs: ["isVisibleChange", "sizeChange", "positionChange", "hasBackdropChange", "backdropClick"] }, { kind: "directive", type: BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]" }, { kind: "ngmodule", type: HighlightModule }, { kind: "directive", type: i1.Highlight, selector: "[highlight]", inputs: ["highlight", "language", "ignoreIllegals"], outputs: ["highlighted"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.6", type: BsCodeSnippetComponent, isStandalone: true, selector: "bs-code-snippet", inputs: { offcanvasVisible: { classPropertyName: "offcanvasVisible", publicName: "offcanvasVisible", isSignal: true, isRequired: false, transformFunction: null }, codeToCopy: { classPropertyName: "codeToCopy", publicName: "codeToCopy", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { offcanvasVisible: "offcanvasVisibleChange", detectedLanguage: "detectedLanguage" }, viewQueries: [{ propertyName: "copiedTemplate", first: true, predicate: ["copiedTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy()\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ detectedLanguageValue() }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy()\" [language]=\"language()\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"], dependencies: [{ kind: "directive", type: BsCopyDirective, selector: "[bsCopy]", inputs: ["bsCopy"], outputs: ["bsCopied"] }, { kind: "component", type: BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: ["isVisible", "size", "position", "hasBackdrop"], outputs: ["isVisibleChange", "sizeChange", "positionChange", "hasBackdropChange", "backdropClick"] }, { kind: "directive", type: BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]" }, { kind: "ngmodule", type: HighlightModule }, { kind: "directive", type: i1.Highlight, selector: "[highlight]", inputs: ["highlight", "language", "ignoreIllegals"], outputs: ["highlighted"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsCodeSnippetComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'bs-code-snippet', imports: [BsCopyDirective, BsOffcanvasHostComponent, BsOffcanvasContentDirective, HighlightModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy()\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ detectedLanguageValue() }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy()\" [language]=\"language()\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"] }]
34
- }], ctorParameters: () => [], propDecorators: { codeToCopy: [{ type: i0.Input, args: [{ isSignal: true, alias: "codeToCopy", required: false }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], copiedTemplate: [{ type: i0.ViewChild, args: ['copiedTemplate', { isSignal: true }] }], detectedLanguage: [{ type: i0.Output, args: ["detectedLanguage"] }] } });
34
+ }], ctorParameters: () => [], propDecorators: { offcanvasVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "offcanvasVisible", required: false }] }, { type: i0.Output, args: ["offcanvasVisibleChange"] }], codeToCopy: [{ type: i0.Input, args: [{ isSignal: true, alias: "codeToCopy", required: false }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], copiedTemplate: [{ type: i0.ViewChild, args: ['copiedTemplate', { isSignal: true }] }], detectedLanguage: [{ type: i0.Output, args: ["detectedLanguage"] }] } });
35
35
 
36
36
  /**
37
37
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-code-snippet.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.ts","../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.html","../../../../libs/mintplayer-ng-bootstrap/code-snippet/mintplayer-ng-bootstrap-code-snippet.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, input, output, signal, TemplateRef, viewChild } from '@angular/core';\nimport { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';\nimport { BsOffcanvasHostComponent, BsOffcanvasContentDirective } from '@mintplayer/ng-bootstrap/offcanvas';\nimport { HighlightModule } from 'ngx-highlightjs';\nimport { HighlightResult } from 'highlight.js';\n\n@Component({\n selector: 'bs-code-snippet',\n templateUrl: './code-snippet.component.html',\n styleUrls: ['./code-snippet.component.scss'],\n imports: [BsCopyDirective, BsOffcanvasHostComponent, BsOffcanvasContentDirective, HighlightModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsCodeSnippetComponent {\n\n constructor() {\n effect(() => {\n const language = this.detectedLanguageValue();\n this.detectedLanguage.emit(language);\n });\n }\n\n offcanvasVisible = signal(false);\n codeToCopy = input<string>('');\n language = input<string>('');\n readonly copiedTemplate = viewChild.required<TemplateRef<any>>('copiedTemplate');\n detectedLanguage = output<string>();\n\n detectedLanguageValue = signal<string>('code');\n\n copiedHtml() {\n this.offcanvasVisible.set(true);\n setTimeout(() => this.offcanvasVisible.set(false), 3000);\n }\n\n onHighlighted(result: HighlightResult | null) {\n this.detectedLanguageValue.set(result?.language ?? 'code');\n }\n\n}\n","<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy()\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ detectedLanguageValue() }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy()\" [language]=\"language()\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAaa,sBAAsB,CAAA;AAEjC,IAAA,WAAA,GAAA;AAOA,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,KAAK,4DAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAS,EAAE,sDAAC;AAC9B,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,EAAE,oDAAC;AACnB,QAAA,IAAA,CAAA,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAmB,gBAAgB,CAAC;QAChF,IAAA,CAAA,gBAAgB,GAAG,MAAM,EAAU;AAEnC,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAS,MAAM,iEAAC;QAZ5C,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC7C,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtC,QAAA,CAAC,CAAC;IACJ;IAUA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IAC1D;AAEA,IAAA,aAAa,CAAC,MAA8B,EAAA;QAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC;IAC5D;8GAxBW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbnC,2nBAUM,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDAM,eAAe,gGAAE,wBAAwB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGtF,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAGlB,CAAC,eAAe,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,eAAe,CAAC,EAAA,eAAA,EACjF,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2nBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA;0SAcgB,gBAAgB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEzBjF;;AAEG;;;;"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-code-snippet.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.ts","../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.html","../../../../libs/mintplayer-ng-bootstrap/code-snippet/mintplayer-ng-bootstrap-code-snippet.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, input, model, output, signal, TemplateRef, viewChild } from '@angular/core';\nimport { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';\nimport { BsOffcanvasHostComponent, BsOffcanvasContentDirective } from '@mintplayer/ng-bootstrap/offcanvas';\nimport { HighlightModule } from 'ngx-highlightjs';\nimport { HighlightResult } from 'highlight.js';\n\n@Component({\n selector: 'bs-code-snippet',\n templateUrl: './code-snippet.component.html',\n styleUrls: ['./code-snippet.component.scss'],\n imports: [BsCopyDirective, BsOffcanvasHostComponent, BsOffcanvasContentDirective, HighlightModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsCodeSnippetComponent {\n\n constructor() {\n effect(() => {\n const language = this.detectedLanguageValue();\n this.detectedLanguage.emit(language);\n });\n }\n\n offcanvasVisible = model(false);\n codeToCopy = input<string>('');\n language = input<string>('');\n readonly copiedTemplate = viewChild.required<TemplateRef<any>>('copiedTemplate');\n detectedLanguage = output<string>();\n\n detectedLanguageValue = signal<string>('code');\n\n copiedHtml() {\n this.offcanvasVisible.set(true);\n setTimeout(() => this.offcanvasVisible.set(false), 3000);\n }\n\n onHighlighted(result: HighlightResult | null) {\n this.detectedLanguageValue.set(result?.language ?? 'code');\n }\n\n}\n","<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy()\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ detectedLanguageValue() }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy()\" [language]=\"language()\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}