pdm-ui-kit 0.1.12 → 0.1.14

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.
@@ -15,7 +15,7 @@ export class PdmButtonComponent {
15
15
  default: { default: 'bg-primary text-primary-foreground', hover: 'bg-primary text-primary-foreground opacity-90' },
16
16
  primary: { default: 'bg-primary text-primary-foreground', hover: 'bg-primary text-primary-foreground opacity-90' },
17
17
  destructive: { default: 'bg-destructive text-destructive-foreground', hover: 'bg-destructive text-destructive-foreground opacity-90' },
18
- outline: { default: 'border border-input bg-background text-foreground', hover: 'border border-input bg-accent text-accent-foreground' },
18
+ outline: { default: 'border border-border bg-background text-foreground', hover: 'border border-border bg-muted text-foreground' },
19
19
  subtle: { default: 'bg-secondary text-secondary-foreground', hover: 'bg-accent text-accent-foreground' },
20
20
  secondary: { default: 'bg-secondary text-secondary-foreground', hover: 'bg-accent text-accent-foreground' },
21
21
  ghost: { default: 'bg-transparent text-foreground', hover: 'bg-accent text-accent-foreground' },
@@ -34,7 +34,7 @@ export class PdmButtonComponent {
34
34
  const currentState = this.state === 'hover' ? 'hover' : 'default';
35
35
  const toneClass = this.toneClassMap[this.variant][currentState];
36
36
  return [
37
- 'inline-flex items-center justify-center gap-2 rounded-md border border-transparent text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
37
+ 'inline-flex items-center justify-center gap-2 rounded-md border border-transparent text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-clip-padding',
38
38
  this.variant === 'link' ? 'px-4 py-2 h-9' : '',
39
39
  this.variant === 'icon' ? 'h-9 w-9 p-0' : '',
40
40
  this.variant === 'icon-circle' ? 'h-10 w-10 rounded-full p-0' : '',
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
79
79
  }], pressed: [{
80
80
  type: Output
81
81
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQXdCaEcsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU1XLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBQy9DLFlBQU8sR0FBcUIsU0FBUyxDQUFDO1FBQ3RDLFVBQUssR0FBbUIsU0FBUyxDQUFDO1FBQ2xDLFNBQUksR0FBa0IsU0FBUyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUMsaUJBQVksR0FBaUU7WUFDcEYsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLEtBQUssRUFBRSwrQ0FBK0MsRUFBRTtZQUNsSCxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLCtDQUErQyxFQUFFO1lBQ2xILFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxLQUFLLEVBQUUsdURBQXVELEVBQUU7WUFDdEksT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLG1EQUFtRCxFQUFFLEtBQUssRUFBRSxzREFBc0QsRUFBRTtZQUN4SSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxF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O3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblZhcmlhbnQgPVxuICB8ICdkZWZhdWx0J1xuICB8ICdwcmltYXJ5J1xuICB8ICdkZXN0cnVjdGl2ZSdcbiAgfCAnb3V0bGluZSdcbiAgfCAnc3VidGxlJ1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2dob3N0J1xuICB8ICdsaW5rJ1xuICB8ICd3aXRoLWljb24nXG4gIHwgJ2ljb24nXG4gIHwgJ2ljb24tY2lyY2xlJ1xuICB8ICdyb3VuZGVkJ1xuICB8ICdsb2FkaW5nJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnIHwgJ2hvdmVyJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblNpemUgPSAnc21hbGwnIHwgJ2RlZmF1bHQnIHwgJ2xhcmdlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25WYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzdGF0ZTogUGRtQnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHNpemU6IFBkbUJ1dHRvblNpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgQE91dHB1dCgpIHByZXNzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgdG9uZUNsYXNzTWFwOiBSZWNvcmQ8UGRtQnV0dG9uVmFyaWFudCwgeyBkZWZhdWx0OiBzdHJpbmc7IGhvdmVyOiBzdHJpbmcgfT4gPSB7XG4gICAgZGVmYXVsdDogeyBkZWZhdWx0OiAnYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBvcGFjaXR5LTkwJyB9LFxuICAgIHByaW1hcnk6IHsgZGVmYXVsdDogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBkZXN0cnVjdGl2ZTogeyBkZWZhdWx0OiAnYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kJywgaG92ZXI6ICdiZy1kZXN0cnVjdGl2ZSB0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBvdXRsaW5lOiB7IGRlZmF1bHQ6ICdib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kJywgaG92ZXI6ICdib3JkZXIgYm9yZGVyLWlucHV0IGJnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIHN1YnRsZTogeyBkZWZhdWx0OiAnYmctc2Vjb25kYXJ5IHRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIHNlY29uZGFyeTogeyBkZWZhdWx0OiAnYmctc2Vjb25kYXJ5IHRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIGdob3N0OiB7IGRlZmF1bHQ6ICdiZy10cmFuc3BhcmVudCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIGxpbms6IHsgZGVmYXVsdDogJ2JnLXRyYW5zcGFyZW50IHRleHQtcHJpbWFyeScsIGhvdmVyOiAnYmctdHJhbnNwYXJlbnQgdGV4dC1wcmltYXJ5IHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTQnIH0sXG4gICAgJ3dpdGgtaWNvbic6IHsgZGVmYXVsdDogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBpY29uOiB7IGRlZmF1bHQ6ICdib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kJywgaG92ZXI6ICdib3JkZXIgYm9yZGVyLWlucHV0IGJnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgICdpY29uLWNpcmNsZSc6IHsgZGVmYXVsdDogJ2JvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlciBib3JkZXItaW5wdXQgYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgcm91bmRlZDogeyBkZWZhdWx0OiAnYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcgfSxcbiAgICBsb2FkaW5nOiB7IGRlZmF1bHQ6ICdiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIG9wYWNpdHktNzAnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS03MCcgfVxuICB9O1xuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZyB8fCB0aGlzLnZhcmlhbnQgPT09ICdsb2FkaW5nJztcbiAgfVxuXG4gIGdldCByb290Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZSA9PT0gJ2hvdmVyJyA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgY29uc3QgdG9uZUNsYXNzID0gdGhpcy50b25lQ2xhc3NNYXBbdGhpcy52YXJpYW50XVtjdXJyZW50U3RhdGVdO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICdpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ2xpbmsnID8gJ3B4LTQgcHktMiBoLTknIDogJycsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdpY29uJyA/ICdoLTkgdy05IHAtMCcgOiAnJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ2ljb24tY2lyY2xlJyA/ICdoLTEwIHctMTAgcm91bmRlZC1mdWxsIHAtMCcgOiAnJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ3JvdW5kZWQnID8gJ2gtOSB3LTkgcm91bmRlZC1mdWxsIHAtMCcgOiAnJyxcbiAgICAgIHRoaXMudmFyaWFudCAhPT0gJ2ljb24nICYmIHRoaXMudmFyaWFudCAhPT0gJ2ljb24tY2lyY2xlJyAmJiB0aGlzLnZhcmlhbnQgIT09ICdyb3VuZGVkJ1xuICAgICAgICA/IHRoaXMuc2l6ZSA9PT0gJ3NtYWxsJ1xuICAgICAgICAgID8gJ2gtOCBweC0zIHRleHQteHMnXG4gICAgICAgICAgOiB0aGlzLnNpemUgPT09ICdsYXJnZSdcbiAgICAgICAgICAgID8gJ2gtMTAgcHgtOCdcbiAgICAgICAgICAgIDogJ2gtOSBweC00J1xuICAgICAgICA6ICcnLFxuICAgICAgdGhpcy52YXJpYW50ID09PSAnbGluaycgJiYgdGhpcy5zdGF0ZSA9PT0gJ2hvdmVyJyA/ICd1bmRlcmxpbmUgdW5kZXJsaW5lLW9mZnNldC00JyA6ICcnLFxuICAgICAgdG9uZUNsYXNzLFxuICAgICAgdGhpcy5jbGFzc05hbWVcbiAgICBdO1xuICB9XG5cbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnByZXNzZWQuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIFt0eXBlXT1cInR5cGVcIlxuICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIFthdHRyLmFyaWEtYnVzeV09XCJsb2FkaW5nXCJcbiAgW25nQ2xhc3NdPVwicm9vdENsYXNzZXNcIlxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgIGNsYXNzPVwiaW5saW5lLWJsb2NrIGgtNCB3LTQgYW5pbWF0ZS1zcGluIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItY3VycmVudCBib3JkZXItci10cmFuc3BhcmVudFwiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgPjwvc3Bhbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BkbUJ1dHRvbkljb25dXCIgKm5nSWY9XCJ2YXJpYW50ID09PSAnd2l0aC1pY29uJyB8fCB2YXJpYW50ID09PSAnaWNvbicgfHwgdmFyaWFudCA9PT0gJ2ljb24tY2lyY2xlJyB8fCB2YXJpYW50ID09PSAncm91bmRlZCdcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvYnV0dG9uPlxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQXdCaEcsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU1XLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBQy9DLFlBQU8sR0FBcUIsU0FBUyxDQUFDO1FBQ3RDLFVBQUssR0FBbUIsU0FBUyxDQUFDO1FBQ2xDLFNBQUksR0FBa0IsU0FBUyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUMsaUJBQVksR0FBaUU7WUFDcEYsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLEtBQUssRUFBRSwrQ0FBK0MsRUFBRTtZQUNsSCxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLCtDQUErQyxFQUFFO1lBQ2xILFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxLQUFLLEVBQUUsdURBQXVELEVBQUU7WUFDdEksT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLEtBQUssRUFBRSwrQ0FBK0MsRUFBRTtZQUNsSSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxF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O3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblZhcmlhbnQgPVxuICB8ICdkZWZhdWx0J1xuICB8ICdwcmltYXJ5J1xuICB8ICdkZXN0cnVjdGl2ZSdcbiAgfCAnb3V0bGluZSdcbiAgfCAnc3VidGxlJ1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2dob3N0J1xuICB8ICdsaW5rJ1xuICB8ICd3aXRoLWljb24nXG4gIHwgJ2ljb24nXG4gIHwgJ2ljb24tY2lyY2xlJ1xuICB8ICdyb3VuZGVkJ1xuICB8ICdsb2FkaW5nJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnIHwgJ2hvdmVyJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblNpemUgPSAnc21hbGwnIHwgJ2RlZmF1bHQnIHwgJ2xhcmdlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25WYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzdGF0ZTogUGRtQnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHNpemU6IFBkbUJ1dHRvblNpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgQE91dHB1dCgpIHByZXNzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgdG9uZUNsYXNzTWFwOiBSZWNvcmQ8UGRtQnV0dG9uVmFyaWFudCwgeyBkZWZhdWx0OiBzdHJpbmc7IGhvdmVyOiBzdHJpbmcgfT4gPSB7XG4gICAgZGVmYXVsdDogeyBkZWZhdWx0OiAnYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBvcGFjaXR5LTkwJyB9LFxuICAgIHByaW1hcnk6IHsgZGVmYXVsdDogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBkZXN0cnVjdGl2ZTogeyBkZWZhdWx0OiAnYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kJywgaG92ZXI6ICdiZy1kZXN0cnVjdGl2ZSB0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBvdXRsaW5lOiB7IGRlZmF1bHQ6ICdib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctbXV0ZWQgdGV4dC1mb3JlZ3JvdW5kJyB9LFxuICAgIHN1YnRsZTogeyBkZWZhdWx0OiAnYmctc2Vjb25kYXJ5IHRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIHNlY29uZGFyeTogeyBkZWZhdWx0OiAnYmctc2Vjb25kYXJ5IHRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIGdob3N0OiB7IGRlZmF1bHQ6ICdiZy10cmFuc3BhcmVudCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIGxpbms6IHsgZGVmYXVsdDogJ2JnLXRyYW5zcGFyZW50IHRleHQtcHJpbWFyeScsIGhvdmVyOiAnYmctdHJhbnNwYXJlbnQgdGV4dC1wcmltYXJ5IHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTQnIH0sXG4gICAgJ3dpdGgtaWNvbic6IHsgZGVmYXVsdDogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBpY29uOiB7IGRlZmF1bHQ6ICdib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kJywgaG92ZXI6ICdib3JkZXIgYm9yZGVyLWlucHV0IGJnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgICdpY29uLWNpcmNsZSc6IHsgZGVmYXVsdDogJ2JvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlciBib3JkZXItaW5wdXQgYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgcm91bmRlZDogeyBkZWZhdWx0OiAnYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcgfSxcbiAgICBsb2FkaW5nOiB7IGRlZmF1bHQ6ICdiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIG9wYWNpdHktNzAnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS03MCcgfVxuICB9O1xuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZyB8fCB0aGlzLnZhcmlhbnQgPT09ICdsb2FkaW5nJztcbiAgfVxuXG4gIGdldCByb290Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZSA9PT0gJ2hvdmVyJyA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgY29uc3QgdG9uZUNsYXNzID0gdGhpcy50b25lQ2xhc3NNYXBbdGhpcy52YXJpYW50XVtjdXJyZW50U3RhdGVdO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICdpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctWzNweF0gZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcvNTAgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0yIGRpc2FibGVkOnBvaW50ZXItZXZlbnRzLW5vbmUgZGlzYWJsZWQ6b3BhY2l0eS01MCBiZy1jbGlwLXBhZGRpbmcnLFxuICAgICAgdGhpcy52YXJpYW50ID09PSAnbGluaycgPyAncHgtNCBweS0yIGgtOScgOiAnJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ2ljb24nID8gJ2gtOSB3LTkgcC0wJyA6ICcnLFxuICAgICAgdGhpcy52YXJpYW50ID09PSAnaWNvbi1jaXJjbGUnID8gJ2gtMTAgdy0xMCByb3VuZGVkLWZ1bGwgcC0wJyA6ICcnLFxuICAgICAgdGhpcy52YXJpYW50ID09PSAncm91bmRlZCcgPyAnaC05IHctOSByb3VuZGVkLWZ1bGwgcC0wJyA6ICcnLFxuICAgICAgdGhpcy52YXJpYW50ICE9PSAnaWNvbicgJiYgdGhpcy52YXJpYW50ICE9PSAnaWNvbi1jaXJjbGUnICYmIHRoaXMudmFyaWFudCAhPT0gJ3JvdW5kZWQnXG4gICAgICAgID8gdGhpcy5zaXplID09PSAnc21hbGwnXG4gICAgICAgICAgPyAnaC04IHB4LTMgdGV4dC14cydcbiAgICAgICAgICA6IHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJ1xuICAgICAgICAgICAgPyAnaC0xMCBweC04J1xuICAgICAgICAgICAgOiAnaC05IHB4LTQnXG4gICAgICAgIDogJycsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdsaW5rJyAmJiB0aGlzLnN0YXRlID09PSAnaG92ZXInID8gJ3VuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTQnIDogJycsXG4gICAgICB0b25lQ2xhc3MsXG4gICAgICB0aGlzLmNsYXNzTmFtZVxuICAgIF07XG4gIH1cblxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMucHJlc3NlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgW3R5cGVdPVwidHlwZVwiXG4gIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgW2F0dHIuYXJpYS1idXN5XT1cImxvYWRpbmdcIlxuICBbbmdDbGFzc109XCJyb290Q2xhc3Nlc1wiXG4gIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuPlxuICA8c3BhblxuICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgY2xhc3M9XCJpbmxpbmUtYmxvY2sgaC00IHctNCBhbmltYXRlLXNwaW4gcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci1jdXJyZW50IGJvcmRlci1yLXRyYW5zcGFyZW50XCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICA+PC9zcGFuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGRtQnV0dG9uSWNvbl1cIiAqbmdJZj1cInZhcmlhbnQgPT09ICd3aXRoLWljb24nIHx8IHZhcmlhbnQgPT09ICdpY29uJyB8fCB2YXJpYW50ID09PSAnaWNvbi1jaXJjbGUnIHx8IHZhcmlhbnQgPT09ICdyb3VuZGVkJ1wiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
@@ -4,20 +4,54 @@ import * as i1 from "@angular/common";
4
4
  export class PdmButtonGroupComponent {
5
5
  constructor() {
6
6
  this.variant = 'default';
7
- this.items = ['Archive', 'Report'];
7
+ this.direction = 'horizontal';
8
+ this.separated = true;
8
9
  this.className = '';
9
10
  }
11
+ get rootClasses() {
12
+ const isVertical = this.variant === 'orientation' || this.direction === 'vertical';
13
+ const isAttached = this.variant !== 'default' && !this.separated;
14
+ const isSeparator = this.variant === 'separator';
15
+ return [
16
+ 'inline-flex w-fit',
17
+ isVertical ? 'flex-col items-stretch' : 'items-center',
18
+ this.variant === 'default' || this.separated ? 'gap-2' : 'gap-0',
19
+ isAttached
20
+ ? isVertical
21
+ ? [
22
+ '[&>*]:rounded-none',
23
+ '[&>*:first-child]:rounded-t-md',
24
+ '[&>*:last-child]:rounded-b-md',
25
+ '[&>*:not(:first-child)]:border-t-0',
26
+ '[&>*:not(:first-child)]:-mt-px'
27
+ ].join(' ')
28
+ : [
29
+ '[&>*]:rounded-none',
30
+ '[&>*:first-child]:rounded-l-md',
31
+ '[&>*:last-child]:rounded-r-md',
32
+ '[&>*:not(:first-child)]:border-l-0',
33
+ '[&>*:not(:first-child)]:-ml-px'
34
+ ].join(' ')
35
+ : '',
36
+ isSeparator
37
+ ? 'overflow-hidden rounded-md border border-border bg-secondary shadow-sm'
38
+ : '',
39
+ this.className
40
+ ];
41
+ }
10
42
  }
11
43
  PdmButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- PdmButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmButtonGroupComponent, selector: "pdm-button-group", inputs: { variant: "variant", items: "items", className: "className" }, ngImport: i0, template: "<div\n [ngClass]=\"[\n variant === 'group'\n ? 'inline-flex w-fit items-stretch gap-0 [&>*]:rounded-none [&>*:first-child]:rounded-l-lg [&>*:last-child]:rounded-r-lg [&>*:not(:first-child)]:border-l-0 [&>*:not(:first-child)]:-ml-px [&>input]:flex-1 *:focus-visible:z-10 *:focus-visible:relative'\n : 'inline-flex items-center gap-2',\n className\n ]\"\n>\n <ng-container [ngSwitch]=\"variant\">\n <ng-container *ngSwitchCase=\"'group'\">\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngSwitchCase=\"'orientation'\">\n <div class=\"inline-flex flex-col overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center border-b border-border text-foreground\">+</button>\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center text-foreground\">-</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-muted shadow-sm\">\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center border-r border-border px-3 text-sm font-medium text-foreground\">Copy</button>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center px-3 text-sm font-medium text-foreground\">Paste</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'nested'\">\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button *ngFor=\"let item of ['1', '2', '3', '4', '5']; let last = last\" type=\"button\" [ngClass]=\"['inline-flex h-8 items-center justify-center px-3 text-sm font-medium text-foreground', !last ? 'border-r border-border' : '']\">{{ item }}</button>\n </div>\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center border-r border-border text-foreground\">\u2190</button>\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center text-foreground\">\u2192</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <div class=\"inline-flex h-9 w-9 items-center justify-center overflow-hidden rounded-md border border-border bg-background shadow-sm text-foreground\">\u2190</div>\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button *ngFor=\"let item of items; let last = last\" type=\"button\" [ngClass]=\"['inline-flex h-9 items-center justify-center px-4 text-sm font-medium text-foreground', !last ? 'border-r border-border' : '']\">{{ item }}</button>\n </div>\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button type=\"button\" class=\"inline-flex h-9 items-center justify-center border-r border-border px-4 text-sm font-medium text-foreground\">Snooze</button>\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center text-foreground\">\u2026</button>\n </div>\n </ng-container>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
+ PdmButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmButtonGroupComponent, selector: "pdm-button-group", inputs: { variant: "variant", direction: "direction", separated: "separated", className: "className" }, ngImport: i0, template: "<div\n role=\"group\"\n [attr.aria-orientation]=\"variant === 'orientation' || direction === 'vertical' ? 'vertical' : 'horizontal'\"\n [ngClass]=\"rootClasses\"\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmButtonGroupComponent, decorators: [{
14
46
  type: Component,
15
- args: [{ selector: 'pdm-button-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [ngClass]=\"[\n variant === 'group'\n ? 'inline-flex w-fit items-stretch gap-0 [&>*]:rounded-none [&>*:first-child]:rounded-l-lg [&>*:last-child]:rounded-r-lg [&>*:not(:first-child)]:border-l-0 [&>*:not(:first-child)]:-ml-px [&>input]:flex-1 *:focus-visible:z-10 *:focus-visible:relative'\n : 'inline-flex items-center gap-2',\n className\n ]\"\n>\n <ng-container [ngSwitch]=\"variant\">\n <ng-container *ngSwitchCase=\"'group'\">\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngSwitchCase=\"'orientation'\">\n <div class=\"inline-flex flex-col overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center border-b border-border text-foreground\">+</button>\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center text-foreground\">-</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-muted shadow-sm\">\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center border-r border-border px-3 text-sm font-medium text-foreground\">Copy</button>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center px-3 text-sm font-medium text-foreground\">Paste</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'nested'\">\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button *ngFor=\"let item of ['1', '2', '3', '4', '5']; let last = last\" type=\"button\" [ngClass]=\"['inline-flex h-8 items-center justify-center px-3 text-sm font-medium text-foreground', !last ? 'border-r border-border' : '']\">{{ item }}</button>\n </div>\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center border-r border-border text-foreground\">\u2190</button>\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center text-foreground\">\u2192</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <div class=\"inline-flex h-9 w-9 items-center justify-center overflow-hidden rounded-md border border-border bg-background shadow-sm text-foreground\">\u2190</div>\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button *ngFor=\"let item of items; let last = last\" type=\"button\" [ngClass]=\"['inline-flex h-9 items-center justify-center px-4 text-sm font-medium text-foreground', !last ? 'border-r border-border' : '']\">{{ item }}</button>\n </div>\n <div class=\"inline-flex overflow-hidden rounded-md border border-border bg-background shadow-sm\">\n <button type=\"button\" class=\"inline-flex h-9 items-center justify-center border-r border-border px-4 text-sm font-medium text-foreground\">Snooze</button>\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center text-foreground\">\u2026</button>\n </div>\n </ng-container>\n </ng-container>\n</div>\n" }]
47
+ args: [{ selector: 'pdm-button-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n role=\"group\"\n [attr.aria-orientation]=\"variant === 'orientation' || direction === 'vertical' ? 'vertical' : 'horizontal'\"\n [ngClass]=\"rootClasses\"\n>\n <ng-content></ng-content>\n</div>\n" }]
16
48
  }], propDecorators: { variant: [{
17
49
  type: Input
18
- }], items: [{
50
+ }], direction: [{
51
+ type: Input
52
+ }], separated: [{
19
53
  type: Input
20
54
  }], className: [{
21
55
  type: Input
22
56
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1XLFlBQU8sR0FBMEIsU0FBUyxDQUFDO1FBQzNDLFVBQUssR0FBYSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4QyxjQUFTLEdBQUcsRUFBRSxDQUFDO0tBQ3pCOztvSEFKWSx1QkFBdUI7d0dBQXZCLHVCQUF1QixnSUNUcEMscXhHQWdEQTsyRkR2Q2EsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnb3JpZW50YXRpb24nIHwgJ3NlcGFyYXRvcicgfCAnbmVzdGVkJyB8ICdncm91cCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1idXR0b24tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQnV0dG9uR3JvdXBDb21wb25lbnQge1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBzdHJpbmdbXSA9IFsnQXJjaGl2ZScsICdSZXBvcnQnXTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG59XG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cIltcbiAgICB2YXJpYW50ID09PSAnZ3JvdXAnXG4gICAgICA/ICdpbmxpbmUtZmxleCB3LWZpdCBpdGVtcy1zdHJldGNoIGdhcC0wIFsmPipdOnJvdW5kZWQtbm9uZSBbJj4qOmZpcnN0LWNoaWxkXTpyb3VuZGVkLWwtbGcgWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLXItbGcgWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLWwtMCBbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTotbWwtcHggWyY+aW5wdXRdOmZsZXgtMSAqOmZvY3VzLXZpc2libGU6ei0xMCAqOmZvY3VzLXZpc2libGU6cmVsYXRpdmUnXG4gICAgICA6ICdpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTInLFxuICAgIGNsYXNzTmFtZVxuICBdXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidmFyaWFudFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidncm91cCdcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInb3JpZW50YXRpb24nXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXggZmxleC1jb2wgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCBzaGFkb3ctc21cIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgdy05IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXItYiBib3JkZXItYm9yZGVyIHRleHQtZm9yZWdyb3VuZFwiPis8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgdy05IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LWZvcmVncm91bmRcIj4tPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZXBhcmF0b3InXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXggb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctbXV0ZWQgc2hhZG93LXNtXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXItciBib3JkZXItYm9yZGVyIHB4LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWZvcmVncm91bmRcIj5Db3B5PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kXCI+UGFzdGU8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ25lc3RlZCdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtZmxleCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1zbVwiPlxuICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIFsnMScsICcyJywgJzMnLCAnNCcsICc1J107IGxldCBsYXN0ID0gbGFzdFwiIHR5cGU9XCJidXR0b25cIiBbbmdDbGFzc109XCJbJ2lubGluZS1mbGV4IGgtOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCcsICFsYXN0ID8gJ2JvcmRlci1yIGJvcmRlci1ib3JkZXInIDogJyddXCI+e3sgaXRlbSB9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXggb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCBzaGFkb3ctc21cIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXItciBib3JkZXItYm9yZGVyIHRleHQtZm9yZWdyb3VuZFwiPuKGkDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtZm9yZWdyb3VuZFwiPuKGkjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXggaC05IHctOSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCBzaGFkb3ctc20gdGV4dC1mb3JlZ3JvdW5kXCI+4oaQPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXggb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCBzaGFkb3ctc21cIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGxhc3QgPSBsYXN0XCIgdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnaW5saW5lLWZsZXggaC05IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC00IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kJywgIWxhc3QgPyAnYm9yZGVyLXIgYm9yZGVyLWJvcmRlcicgOiAnJ11cIj57eyBpdGVtIH19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtZmxleCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1zbVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLXIgYm9yZGVyLWJvcmRlciBweC00IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kXCI+U25vb3plPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaW5saW5lLWZsZXggaC05IHctOSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1mb3JlZ3JvdW5kXCI+4oCmPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1XLFlBQU8sR0FBMEIsU0FBUyxDQUFDO1FBQzNDLGNBQVMsR0FBNEIsWUFBWSxDQUFDO1FBQ2xELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsY0FBUyxHQUFHLEVBQUUsQ0FBQztLQWtDekI7SUFoQ0MsSUFBSSxXQUFXO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLENBQUM7UUFDbkYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDO1FBRWpELE9BQU87WUFDTCxtQkFBbUI7WUFDbkIsVUFBVSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsY0FBYztZQUN0RCxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU87WUFDaEUsVUFBVTtnQkFDUixDQUFDLENBQUMsVUFBVTtvQkFDVixDQUFDLENBQUM7d0JBQ0Usb0JBQW9CO3dCQUNwQixnQ0FBZ0M7d0JBQ2hDLCtCQUErQjt3QkFDL0Isb0NBQW9DO3dCQUNwQyxnQ0FBZ0M7cUJBQ2pDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDYixDQUFDLENBQUM7d0JBQ0Usb0JBQW9CO3dCQUNwQixnQ0FBZ0M7d0JBQ2hDLCtCQUErQjt3QkFDL0Isb0NBQW9DO3dCQUNwQyxnQ0FBZ0M7cUJBQ2pDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDZixDQUFDLENBQUMsRUFBRTtZQUNOLFdBQVc7Z0JBQ1QsQ0FBQyxDQUFDLHdFQUF3RTtnQkFDMUUsQ0FBQyxDQUFDLEVBQUU7WUFDTixJQUFJLENBQUMsU0FBUztTQUNmLENBQUM7SUFDSixDQUFDOztvSEFyQ1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsZ0tDVnBDLGdOQU9BOzJGREdhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGRtQnV0dG9uR3JvdXBWYXJpYW50ID0gJ2RlZmF1bHQnIHwgJ2dyb3VwJyB8ICdvcmllbnRhdGlvbicgfCAnc2VwYXJhdG9yJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvbkdyb3VwRGlyZWN0aW9uID0gJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWJ1dHRvbi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1CdXR0b25Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbUJ1dHRvbkdyb3VwVmFyaWFudCA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgZGlyZWN0aW9uOiBQZG1CdXR0b25Hcm91cERpcmVjdGlvbiA9ICdob3Jpem9udGFsJztcbiAgQElucHV0KCkgc2VwYXJhdGVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgZ2V0IHJvb3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBpc1ZlcnRpY2FsID0gdGhpcy52YXJpYW50ID09PSAnb3JpZW50YXRpb24nIHx8IHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnO1xuICAgIGNvbnN0IGlzQXR0YWNoZWQgPSB0aGlzLnZhcmlhbnQgIT09ICdkZWZhdWx0JyAmJiAhdGhpcy5zZXBhcmF0ZWQ7XG4gICAgY29uc3QgaXNTZXBhcmF0b3IgPSB0aGlzLnZhcmlhbnQgPT09ICdzZXBhcmF0b3InO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICdpbmxpbmUtZmxleCB3LWZpdCcsXG4gICAgICBpc1ZlcnRpY2FsID8gJ2ZsZXgtY29sIGl0ZW1zLXN0cmV0Y2gnIDogJ2l0ZW1zLWNlbnRlcicsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdkZWZhdWx0JyB8fCB0aGlzLnNlcGFyYXRlZCA/ICdnYXAtMicgOiAnZ2FwLTAnLFxuICAgICAgaXNBdHRhY2hlZFxuICAgICAgICA/IGlzVmVydGljYWxcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgJ1smPipdOnJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgICAgICdbJj4qOmZpcnN0LWNoaWxkXTpyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICAgICAnWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLXQtMCcsXG4gICAgICAgICAgICAgICdbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTotbXQtcHgnXG4gICAgICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAnWyY+Kl06cm91bmRlZC1ub25lJyxcbiAgICAgICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgICAgICdbJj4qOmxhc3QtY2hpbGRdOnJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgICAgICdbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTpib3JkZXItbC0wJyxcbiAgICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOi1tbC1weCdcbiAgICAgICAgICAgIF0uam9pbignICcpXG4gICAgICAgIDogJycsXG4gICAgICBpc1NlcGFyYXRvclxuICAgICAgICA/ICdvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1zZWNvbmRhcnkgc2hhZG93LXNtJ1xuICAgICAgICA6ICcnLFxuICAgICAgdGhpcy5jbGFzc05hbWVcbiAgICBdO1xuICB9XG59XG4iLCI8ZGl2XG4gIHJvbGU9XCJncm91cFwiXG4gIFthdHRyLmFyaWEtb3JpZW50YXRpb25dPVwidmFyaWFudCA9PT0gJ29yaWVudGF0aW9uJyB8fCBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnXCJcbiAgW25nQ2xhc3NdPVwicm9vdENsYXNzZXNcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -5,9 +5,10 @@ export class PdmCarouselComponent {
5
5
  constructor() {
6
6
  this.variant = 'default';
7
7
  this.className = '';
8
- this.slides = [1, 2, 3, 4, 5];
8
+ this.slides = [];
9
9
  this.startIndex = 0;
10
10
  this.loop = false;
11
+ this.showCounter = false;
11
12
  this.indexChange = new EventEmitter();
12
13
  this._index = 0;
13
14
  }
@@ -27,25 +28,25 @@ export class PdmCarouselComponent {
27
28
  if (this.slides.length === 0) {
28
29
  return 0;
29
30
  }
30
- if (this.variant === 'sizes') {
31
- return Math.max(0, this.slides.length - 3);
32
- }
33
- if (this.variant === 'orientation') {
34
- return Math.max(0, this.slides.length - 2);
35
- }
36
- return Math.max(0, this.slides.length - 1);
31
+ return Math.max(0, this.slides.length - this.currentWindowSize);
37
32
  }
38
33
  get visibleSlides() {
39
34
  if (this.slides.length === 0) {
40
35
  return [];
41
36
  }
37
+ return this.sliceWindow(this.currentWindowSize);
38
+ }
39
+ get currentWindowSize() {
40
+ if (typeof this.windowSize === 'number' && this.windowSize > 0) {
41
+ return Math.max(1, Math.floor(this.windowSize));
42
+ }
42
43
  if (this.variant === 'sizes') {
43
- return this.sliceWindow(3);
44
+ return 3;
44
45
  }
45
46
  if (this.variant === 'orientation') {
46
- return this.sliceWindow(2);
47
+ return 2;
47
48
  }
48
- return [this.slides[this._index]];
49
+ return 1;
49
50
  }
50
51
  onPrev() {
51
52
  if (!this.canPrev) {
@@ -77,10 +78,10 @@ export class PdmCarouselComponent {
77
78
  }
78
79
  }
79
80
  PdmCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
- PdmCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmCarouselComponent, selector: "pdm-carousel", inputs: { variant: "variant", className: "className", slides: "slides", startIndex: "startIndex", loop: "loop" }, outputs: { indexChange: "indexChange" }, ngImport: i0, template: "<section [ngClass]=\"[className]\">\n <div *ngIf=\"variant !== 'orientation'\" class=\"flex items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <ng-container [ngSwitch]=\"variant\">\n <div *ngSwitchCase=\"'sizes'\" class=\"flex items-center\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex items-center\" [ngClass]=\"i > 0 ? 'pl-4' : ''\">\n <div class=\"flex h-40 w-32 items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-2xl font-semibold text-foreground\">{{ slide }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngSwitchDefault class=\"flex flex-col items-center justify-center\">\n <div class=\"flex h-80 w-80 items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-3xl font-semibold text-foreground\">{{ visibleSlides[0] }}</div>\n </div>\n </div>\n <p *ngIf=\"variant === 'api'\" class=\"m-0 pt-2 text-sm font-medium text-muted-foreground\">Slide {{ index + 1 }} of {{ slides.length }}</p>\n </div>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 18L15 12L9 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <div *ngIf=\"variant === 'orientation'\" class=\"flex flex-col items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 15L12 9L6 15\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <div class=\"flex w-80 flex-col\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex h-36 w-full items-center p-1\" [ngClass]=\"i > 0 ? 'pt-1' : ''\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-2xl font-semibold text-foreground\">{{ slide }}</div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
+ PdmCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmCarouselComponent, selector: "pdm-carousel", inputs: { variant: "variant", className: "className", slides: "slides", startIndex: "startIndex", loop: "loop", windowSize: "windowSize", showCounter: "showCounter" }, outputs: { indexChange: "indexChange" }, ngImport: i0, template: "<section [ngClass]=\"[className]\">\n <div *ngIf=\"variant !== 'orientation'\" class=\"flex items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <div class=\"flex items-center\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex items-center\" [ngClass]=\"i > 0 ? 'pl-4' : ''\">\n <div class=\"flex h-40 w-32 items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-2xl font-semibold text-foreground\">{{ slide }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 18L15 12L9 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <p *ngIf=\"variant !== 'orientation' && showCounter\" class=\"m-0 pt-2 text-sm font-medium text-muted-foreground\">\n {{ slides.length ? (index + 1) : 0 }} / {{ slides.length }}\n </p>\n\n <div *ngIf=\"variant === 'orientation'\" class=\"flex flex-col items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 15L12 9L6 15\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <div class=\"flex w-80 flex-col\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex h-36 w-full items-center p-1\" [ngClass]=\"i > 0 ? 'pt-1' : ''\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-2xl font-semibold text-foreground\">{{ slide }}</div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmCarouselComponent, decorators: [{
82
83
  type: Component,
83
- args: [{ selector: 'pdm-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section [ngClass]=\"[className]\">\n <div *ngIf=\"variant !== 'orientation'\" class=\"flex items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <ng-container [ngSwitch]=\"variant\">\n <div *ngSwitchCase=\"'sizes'\" class=\"flex items-center\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex items-center\" [ngClass]=\"i > 0 ? 'pl-4' : ''\">\n <div class=\"flex h-40 w-32 items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-2xl font-semibold text-foreground\">{{ slide }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngSwitchDefault class=\"flex flex-col items-center justify-center\">\n <div class=\"flex h-80 w-80 items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-3xl font-semibold text-foreground\">{{ visibleSlides[0] }}</div>\n </div>\n </div>\n <p *ngIf=\"variant === 'api'\" class=\"m-0 pt-2 text-sm font-medium text-muted-foreground\">Slide {{ index + 1 }} of {{ slides.length }}</p>\n </div>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 18L15 12L9 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <div *ngIf=\"variant === 'orientation'\" class=\"flex flex-col items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 15L12 9L6 15\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <div class=\"flex w-80 flex-col\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex h-36 w-full items-center p-1\" [ngClass]=\"i > 0 ? 'pt-1' : ''\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-2xl font-semibold text-foreground\">{{ slide }}</div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n</section>\n" }]
84
+ args: [{ selector: 'pdm-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section [ngClass]=\"[className]\">\n <div *ngIf=\"variant !== 'orientation'\" class=\"flex items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <div class=\"flex items-center\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex items-center\" [ngClass]=\"i > 0 ? 'pl-4' : ''\">\n <div class=\"flex h-40 w-32 items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-2xl font-semibold text-foreground\">{{ slide }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 18L15 12L9 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <p *ngIf=\"variant !== 'orientation' && showCounter\" class=\"m-0 pt-2 text-sm font-medium text-muted-foreground\">\n {{ slides.length ? (index + 1) : 0 }} / {{ slides.length }}\n </p>\n\n <div *ngIf=\"variant === 'orientation'\" class=\"flex flex-col items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 15L12 9L6 15\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <div class=\"flex w-80 flex-col\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex h-36 w-full items-center p-1\" [ngClass]=\"i > 0 ? 'pt-1' : ''\">\n <div class=\"flex h-full w-full items-center justify-center rounded-lg border border-border bg-background py-6 shadow-sm\">\n <div class=\"text-center text-2xl font-semibold text-foreground\">{{ slide }}</div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-input bg-background p-2.5\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-foreground\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n</section>\n" }]
84
85
  }], propDecorators: { variant: [{
85
86
  type: Input
86
87
  }], className: [{
@@ -91,7 +92,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
91
92
  type: Input
92
93
  }], loop: [{
93
94
  type: Input
95
+ }], windowSize: [{
96
+ type: Input
97
+ }], showCounter: [{
98
+ type: Input
94
99
  }], indexChange: [{
95
100
  type: Output
96
101
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTaEcsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLFlBQU8sR0FBdUIsU0FBUyxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixXQUFNLEdBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkMsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFWixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFM0MsV0FBTSxHQUFHLENBQUMsQ0FBQztLQWlGcEI7SUEvRUMsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJ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QU0sR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDOztpSEF6RlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsK01DVGpDLGtzSUFzRkE7MkZEN0VhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxjQUFjLG1CQUVQLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUNhcm91c2VsVmFyaWFudCA9ICdkZWZhdWx0JyB8ICdzaXplcycgfCAnb3JpZW50YXRpb24nIHwgJ2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUNhcm91c2VsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFyaWFudDogUGRtQ2Fyb3VzZWxWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgc2xpZGVzOiBudW1iZXJbXSA9IFsxLCAyLCAzLCA0LCA1XTtcbiAgQElucHV0KCkgc3RhcnRJbmRleCA9IDA7XG4gIEBJbnB1dCgpIGxvb3AgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9pbmRleCA9IDA7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5kZXggPSB0aGlzLm5vcm1hbGl6ZUluZGV4KHRoaXMuc3RhcnRJbmRleCk7XG4gIH1cblxuICBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faW5kZXg7XG4gIH1cblxuICBnZXQgY2FuUHJldigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sb29wIHx8IHRoaXMuX2luZGV4ID4gMDtcbiAgfVxuXG4gIGdldCBjYW5OZXh0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvb3AgfHwgdGhpcy5faW5kZXggPCB0aGlzLm1heEluZGV4O1xuICB9XG5cbiAgZ2V0IG1heEluZGV4KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuc2xpZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdzaXplcycpIHtcbiAgICAgIHJldHVybiBNYXRoLm1heCgwLCB0aGlzLnNsaWRlcy5sZW5ndGggLSAzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ29yaWVudGF0aW9uJykge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIHRoaXMuc2xpZGVzLmxlbmd0aCAtIDIpO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgdGhpcy5zbGlkZXMubGVuZ3RoIC0gMSk7XG4gIH1cblxuICBnZXQgdmlzaWJsZVNsaWRlcygpOiBudW1iZXJbXSB7XG4gICAgaWYgKHRoaXMuc2xpZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdzaXplcycpIHtcbiAgICAgIHJldHVybiB0aGlzLnNsaWNlV2luZG93KDMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdvcmllbnRhdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLnNsaWNlV2luZG93KDIpO1xuICAgIH1cblxuICAgIHJldHVybiBbdGhpcy5zbGlkZXNbdGhpcy5faW5kZXhdXTtcbiAgfVxuXG4gIG9uUHJldigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2FuUHJldikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQgPSB0aGlzLl9pbmRleCAtIDE7XG4gICAgdGhpcy5zZXRJbmRleCh0aGlzLmxvb3AgJiYgbmV4dCA8IDAgPyB0aGlzLm1heEluZGV4IDogbmV4dCk7XG4gIH1cblxuICBvbk5leHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhbk5leHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0ID0gdGhpcy5faW5kZXggKyAxO1xuICAgIHRoaXMuc2V0SW5kZXgodGhpcy5sb29wICYmIG5leHQgPiB0aGlzLm1heEluZGV4ID8gMCA6IG5leHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbmRleCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHRoaXMubm9ybWFsaXplSW5kZXgodmFsdWUpO1xuICAgIHRoaXMuX2luZGV4ID0gbm9ybWFsaXplZDtcbiAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQodGhpcy5faW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVJbmRleCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5zbGlkZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMubWF4SW5kZXgsIE1hdGgubWF4KDAsIHZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIHNsaWNlV2luZG93KHNpemU6IG51bWJlcik6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5zbGlkZXMuc2xpY2UodGhpcy5faW5kZXgsIHRoaXMuX2luZGV4ICsgc2l6ZSk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtuZ0NsYXNzXT1cIltjbGFzc05hbWVdXCI+XG4gIDxkaXYgKm5nSWY9XCJ2YXJpYW50ICE9PSAnb3JpZW50YXRpb24nXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHAtMi41XCJcbiAgICAgIFtuZ0NsYXNzXT1cIiFjYW5QcmV2ID8gJ29wYWNpdHktNTAnIDogJydcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5QcmV2XCJcbiAgICAgIChjbGljayk9XCJvblByZXYoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiUHJldmlvdXMgc2xpZGVcIlxuICAgID5cbiAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiaC00IHctNCB0ZXh0LWZvcmVncm91bmRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xNSAxOEw5IDEyTDE1IDZcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInZhcmlhbnRcIj5cbiAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidzaXplcydcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNsaWRlIG9mIHZpc2libGVTbGlkZXM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCIgW25nQ2xhc3NdPVwiaSA+IDAgPyAncGwtNCcgOiAnJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGgtNDAgdy0zMiBpdGVtcy1jZW50ZXIgcC0xXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLWZ1bGwgdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLWJhY2tncm91bmQgcHktNiBzaGFkb3ctc21cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdGV4dC1mb3JlZ3JvdW5kXCI+e3sgc2xpZGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLTgwIHctODAgaXRlbXMtY2VudGVyIHAtMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGgtZnVsbCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCBweS02IHNoYWRvdy1zbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtM3hsIGZvbnQtc2VtaWJvbGQgdGV4dC1mb3JlZ3JvdW5kXCI+e3sgdmlzaWJsZVNsaWRlc1swXSB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgKm5nSWY9XCJ2YXJpYW50ID09PSAnYXBpJ1wiIGNsYXNzPVwibS0wIHB0LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5TbGlkZSB7eyBpbmRleCArIDEgfX0gb2Yge3sgc2xpZGVzLmxlbmd0aCB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgcC0yLjVcIlxuICAgICAgW25nQ2xhc3NdPVwiIWNhbk5leHQgPyAnb3BhY2l0eS01MCcgOiAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhbk5leHRcIlxuICAgICAgKGNsaWNrKT1cIm9uTmV4dCgpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJOZXh0IHNsaWRlXCJcbiAgICA+XG4gICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtNCB3LTQgdGV4dC1mb3JlZ3JvdW5kXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNOSAxOEwxNSAxMkw5IDZcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInZhcmlhbnQgPT09ICdvcmllbnRhdGlvbidcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgcC0yLjVcIlxuICAgICAgW25nQ2xhc3NdPVwiIWNhblByZXYgPyAnb3BhY2l0eS01MCcgOiAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhblByZXZcIlxuICAgICAgKGNsaWNrKT1cIm9uUHJldigpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtZm9yZWdyb3VuZFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aCBkPVwiTTE4IDE1TDEyIDlMNiAxNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggdy04MCBmbGV4LWNvbFwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc2xpZGUgb2YgdmlzaWJsZVNsaWRlczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiZmxleCBoLTM2IHctZnVsbCBpdGVtcy1jZW50ZXIgcC0xXCIgW25nQ2xhc3NdPVwiaSA+IDAgPyAncHQtMScgOiAnJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLWZ1bGwgdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLWJhY2tncm91bmQgcHktNiBzaGFkb3ctc21cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0ZXh0LWZvcmVncm91bmRcIj57eyBzbGlkZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgcC0yLjVcIlxuICAgICAgW25nQ2xhc3NdPVwiIWNhbk5leHQgPyAnb3BhY2l0eS01MCcgOiAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhbk5leHRcIlxuICAgICAgKGNsaWNrKT1cIm9uTmV4dCgpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJOZXh0IHNsaWRlXCJcbiAgICA+XG4gICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtNCB3LTQgdGV4dC1mb3JlZ3JvdW5kXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNiA5TDEyIDE1TDE4IDlcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTaEcsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLFlBQU8sR0FBdUIsU0FBUyxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixXQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUNwQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUViLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUzQyxXQUFNLEdBQUcsQ0FBQyxDQUFDO0tBZ0ZwQjtJQTlFQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbEQs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LG1CQUVQLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1DYXJvdXNlbFZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnc2l6ZXMnIHwgJ29yaWVudGF0aW9uJyB8ICdhcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tY2Fyb3VzZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1DYXJvdXNlbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbUNhcm91c2VsVmFyaWFudCA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBJbnB1dCgpIHNsaWRlczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiA9IFtdO1xuICBASW5wdXQoKSBzdGFydEluZGV4ID0gMDtcbiAgQElucHV0KCkgbG9vcCA9IGZhbHNlO1xuICBASW5wdXQoKSB3aW5kb3dTaXplPzogbnVtYmVyO1xuICBASW5wdXQoKSBzaG93Q291bnRlciA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2luZGV4ID0gMDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbmRleCA9IHRoaXMubm9ybWFsaXplSW5kZXgodGhpcy5zdGFydEluZGV4KTtcbiAgfVxuXG4gIGdldCBpbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9pbmRleDtcbiAgfVxuXG4gIGdldCBjYW5QcmV2KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvb3AgfHwgdGhpcy5faW5kZXggPiAwO1xuICB9XG5cbiAgZ2V0IGNhbk5leHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubG9vcCB8fCB0aGlzLl9pbmRleCA8IHRoaXMubWF4SW5kZXg7XG4gIH1cblxuICBnZXQgbWF4SW5kZXgoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5zbGlkZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWF4KDAsIHRoaXMuc2xpZGVzLmxlbmd0aCAtIHRoaXMuY3VycmVudFdpbmRvd1NpemUpO1xuICB9XG5cbiAgZ2V0IHZpc2libGVTbGlkZXMoKTogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB7XG4gICAgaWYgKHRoaXMuc2xpZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNsaWNlV2luZG93KHRoaXMuY3VycmVudFdpbmRvd1NpemUpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRXaW5kb3dTaXplKCk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLndpbmRvd1NpemUgPT09ICdudW1iZXInICYmIHRoaXMud2luZG93U2l6ZSA+IDApIHtcbiAgICAgIHJldHVybiBNYXRoLm1heCgxLCBNYXRoLmZsb29yKHRoaXMud2luZG93U2l6ZSkpO1xuICAgIH1cbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnc2l6ZXMnKSB7XG4gICAgICByZXR1cm4gMztcbiAgICB9XG4gICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ29yaWVudGF0aW9uJykge1xuICAgICAgcmV0dXJuIDI7XG4gICAgfVxuICAgIHJldHVybiAxO1xuICB9XG5cbiAgb25QcmV2KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jYW5QcmV2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IHRoaXMuX2luZGV4IC0gMTtcbiAgICB0aGlzLnNldEluZGV4KHRoaXMubG9vcCAmJiBuZXh0IDwgMCA/IHRoaXMubWF4SW5kZXggOiBuZXh0KTtcbiAgfVxuXG4gIG9uTmV4dCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2FuTmV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQgPSB0aGlzLl9pbmRleCArIDE7XG4gICAgdGhpcy5zZXRJbmRleCh0aGlzLmxvb3AgJiYgbmV4dCA+IHRoaXMubWF4SW5kZXggPyAwIDogbmV4dCk7XG4gIH1cblxuICBwcml2YXRlIHNldEluZGV4KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gdGhpcy5ub3JtYWxpemVJbmRleCh2YWx1ZSk7XG4gICAgdGhpcy5faW5kZXggPSBub3JtYWxpemVkO1xuICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdCh0aGlzLl9pbmRleCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUluZGV4KHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLnNsaWRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5taW4odGhpcy5tYXhJbmRleCwgTWF0aC5tYXgoMCwgdmFsdWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2xpY2VXaW5kb3coc2l6ZTogbnVtYmVyKTogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuc2xpZGVzLnNsaWNlKHRoaXMuX2luZGV4LCB0aGlzLl9pbmRleCArIHNpemUpO1xuICB9XG59XG4iLCI8c2VjdGlvbiBbbmdDbGFzc109XCJbY2xhc3NOYW1lXVwiPlxuICA8ZGl2ICpuZ0lmPVwidmFyaWFudCAhPT0gJ29yaWVudGF0aW9uJ1wiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBwLTIuNVwiXG4gICAgICBbbmdDbGFzc109XCIhY2FuUHJldiA/ICdvcGFjaXR5LTUwJyA6ICcnXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhY2FuUHJldlwiXG4gICAgICAoY2xpY2spPVwib25QcmV2KClcIlxuICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHNsaWRlXCJcbiAgICA+XG4gICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtNCB3LTQgdGV4dC1mb3JlZ3JvdW5kXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTUgMThMOSAxMkwxNSA2XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNsaWRlIG9mIHZpc2libGVTbGlkZXM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCIgW25nQ2xhc3NdPVwiaSA+IDAgPyAncGwtNCcgOiAnJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLTQwIHctMzIgaXRlbXMtY2VudGVyIHAtMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGgtZnVsbCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCBweS02IHNoYWRvdy1zbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdGV4dC1mb3JlZ3JvdW5kXCI+e3sgc2xpZGUgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHAtMi41XCJcbiAgICAgIFtuZ0NsYXNzXT1cIiFjYW5OZXh0ID8gJ29wYWNpdHktNTAnIDogJydcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5OZXh0XCJcbiAgICAgIChjbGljayk9XCJvbk5leHQoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiTmV4dCBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtZm9yZWdyb3VuZFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aCBkPVwiTTkgMThMMTUgMTJMOSA2XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxwICpuZ0lmPVwidmFyaWFudCAhPT0gJ29yaWVudGF0aW9uJyAmJiBzaG93Q291bnRlclwiIGNsYXNzPVwibS0wIHB0LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cbiAgICB7eyBzbGlkZXMubGVuZ3RoID8gKGluZGV4ICsgMSkgOiAwIH19IC8ge3sgc2xpZGVzLmxlbmd0aCB9fVxuICA8L3A+XG5cbiAgPGRpdiAqbmdJZj1cInZhcmlhbnQgPT09ICdvcmllbnRhdGlvbidcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgcC0yLjVcIlxuICAgICAgW25nQ2xhc3NdPVwiIWNhblByZXYgPyAnb3BhY2l0eS01MCcgOiAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhblByZXZcIlxuICAgICAgKGNsaWNrKT1cIm9uUHJldigpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtZm9yZWdyb3VuZFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aCBkPVwiTTE4IDE1TDEyIDlMNiAxNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggdy04MCBmbGV4LWNvbFwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc2xpZGUgb2YgdmlzaWJsZVNsaWRlczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiZmxleCBoLTM2IHctZnVsbCBpdGVtcy1jZW50ZXIgcC0xXCIgW25nQ2xhc3NdPVwiaSA+IDAgPyAncHQtMScgOiAnJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLWZ1bGwgdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLWJhY2tncm91bmQgcHktNiBzaGFkb3ctc21cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0ZXh0LWZvcmVncm91bmRcIj57eyBzbGlkZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLWlucHV0IGJnLWJhY2tncm91bmQgcC0yLjVcIlxuICAgICAgW25nQ2xhc3NdPVwiIWNhbk5leHQgPyAnb3BhY2l0eS01MCcgOiAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhbk5leHRcIlxuICAgICAgKGNsaWNrKT1cIm9uTmV4dCgpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJOZXh0IHNsaWRlXCJcbiAgICA+XG4gICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtNCB3LTQgdGV4dC1mb3JlZ3JvdW5kXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNiA5TDEyIDE1TDE4IDlcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=