@ethlete/cdk 2.8.1 → 2.9.1

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 (53) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -3
  3. package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +3 -7
  4. package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +3 -3
  5. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +3 -3
  6. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +3 -3
  7. package/esm2022/lib/components/overlay/components/menu/context-menu-trigger.mjs +163 -0
  8. package/esm2022/lib/components/overlay/components/menu/menu-aim.mjs +140 -0
  9. package/esm2022/lib/components/overlay/components/menu/menu-bar.mjs +113 -0
  10. package/esm2022/lib/components/overlay/components/menu/menu-base.mjs +154 -0
  11. package/esm2022/lib/components/overlay/components/menu/menu-errors.mjs +7 -0
  12. package/esm2022/lib/components/overlay/components/menu/menu-group.mjs +26 -0
  13. package/esm2022/lib/components/overlay/components/menu/menu-interface.mjs +3 -0
  14. package/esm2022/lib/components/overlay/components/menu/menu-item-checkbox.mjs +39 -0
  15. package/esm2022/lib/components/overlay/components/menu/menu-item-radio.mjs +56 -0
  16. package/esm2022/lib/components/overlay/components/menu/menu-item-selectable.mjs +32 -0
  17. package/esm2022/lib/components/overlay/components/menu/menu-item.mjs +210 -0
  18. package/esm2022/lib/components/overlay/components/menu/menu-module.mjs +52 -0
  19. package/esm2022/lib/components/overlay/components/menu/menu-stack.mjs +101 -0
  20. package/esm2022/lib/components/overlay/components/menu/menu-trigger-base.mjs +77 -0
  21. package/esm2022/lib/components/overlay/components/menu/menu-trigger.mjs +240 -0
  22. package/esm2022/lib/components/overlay/components/menu/menu.mjs +116 -0
  23. package/esm2022/lib/components/overlay/components/menu/pointer-focus-tracker.mjs +26 -0
  24. package/esm2022/lib/components/overlay/components/menu/public-api.mjs +17 -0
  25. package/esm2022/lib/components/overlay/components/public-api.mjs +2 -1
  26. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +5 -5
  27. package/fesm2022/ethlete-cdk.mjs +1580 -180
  28. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  29. package/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.d.ts +1 -1
  30. package/lib/components/forms/components/input/components/input-field/input-field.component.d.ts +1 -1
  31. package/lib/components/forms/components/radio/components/radio-group/radio-group.component.d.ts +1 -1
  32. package/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.d.ts +1 -1
  33. package/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.d.ts +1 -1
  34. package/lib/components/overlay/components/menu/context-menu-trigger.d.ts +33 -0
  35. package/lib/components/overlay/components/menu/menu-aim.d.ts +34 -0
  36. package/lib/components/overlay/components/menu/menu-bar.d.ts +13 -0
  37. package/lib/components/overlay/components/menu/menu-base.d.ts +41 -0
  38. package/lib/components/overlay/components/menu/menu-errors.d.ts +2 -0
  39. package/lib/components/overlay/components/menu/menu-group.d.ts +5 -0
  40. package/lib/components/overlay/components/menu/menu-interface.d.ts +11 -0
  41. package/lib/components/overlay/components/menu/menu-item-checkbox.d.ts +9 -0
  42. package/lib/components/overlay/components/menu/menu-item-radio.d.ts +16 -0
  43. package/lib/components/overlay/components/menu/menu-item-selectable.d.ts +11 -0
  44. package/lib/components/overlay/components/menu/menu-item.d.ts +52 -0
  45. package/lib/components/overlay/components/menu/menu-module.d.ts +16 -0
  46. package/lib/components/overlay/components/menu/menu-stack.d.ts +54 -0
  47. package/lib/components/overlay/components/menu/menu-trigger-base.d.ts +33 -0
  48. package/lib/components/overlay/components/menu/menu-trigger.d.ts +34 -0
  49. package/lib/components/overlay/components/menu/menu.d.ts +17 -0
  50. package/lib/components/overlay/components/menu/pointer-focus-tracker.d.ts +17 -0
  51. package/lib/components/overlay/components/menu/public-api.d.ts +16 -0
  52. package/lib/components/overlay/components/public-api.d.ts +1 -0
  53. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 2.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`729054e`](https://github.com/ethlete-io/ethdk/commit/729054e40a9ad8b6a8623e3cf90c9c07e8be59d8) Thanks [@TomTomB](https://github.com/TomTomB)! - Minor scrollable fixes
8
+
9
+ - [`8bd655e`](https://github.com/ethlete-io/ethdk/commit/8bd655e7a31af7238bea5b8794e83a4822f57c70) Thanks [@TomTomB](https://github.com/TomTomB)! - Relax rules on what elements can be placed inside input components
10
+
11
+ ## 2.9.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [`e7fa66f`](https://github.com/ethlete-io/ethdk/commit/e7fa66f861a95a837daec1f566d02f328d0d5752) Thanks [@TomTomB](https://github.com/TomTomB)! - Add experimental menu component
16
+
17
+ ### Patch Changes
18
+
19
+ - [`bd59856`](https://github.com/ethlete-io/ethdk/commit/bd5985620bcb4b0de63d8bc982907a45983a9e67) Thanks [@TomTomB](https://github.com/TomTomB)! - Update scrollable intersection states if children change
20
+
3
21
  ## 2.8.1
4
22
 
5
23
  ### Patch Changes
@@ -6,12 +6,12 @@ import * as i1 from "../../directives/checkbox-group/checkbox-group.directive";
6
6
  import * as i2 from "../../../../directives/static-form-group/static-form-group.directive";
7
7
  export class CheckboxGroupComponent {
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: CheckboxGroupComponent, isStandalone: true, selector: "et-checkbox-group", host: { classAttribute: "et-form-group et-checkbox-group" }, hostDirectives: [{ directive: i1.CheckboxGroupDirective }, { directive: i2.StaticFormGroupDirective }], ngImport: i0, template: ` <ng-content select="et-checkbox-field" /> `, isInline: true, styles: [":where(.et-checkbox-group){display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: CheckboxGroupComponent, isStandalone: true, selector: "et-checkbox-group", host: { classAttribute: "et-form-group et-checkbox-group" }, hostDirectives: [{ directive: i1.CheckboxGroupDirective }, { directive: i2.StaticFormGroupDirective }], ngImport: i0, template: ` <ng-content /> `, isInline: true, styles: [":where(.et-checkbox-group){display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
12
12
  type: Component,
13
- args: [{ selector: 'et-checkbox-group', template: ` <ng-content select="et-checkbox-field" /> `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
13
+ args: [{ selector: 'et-checkbox-group', template: ` <ng-content /> `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
14
14
  class: 'et-form-group et-checkbox-group',
15
15
  }, hostDirectives: [CheckboxGroupDirective, StaticFormGroupDirective], styles: [":where(.et-checkbox-group){display:block}\n"] }]
16
16
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gvY29tcG9uZW50cy9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWMxRCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQixrUEFWdkIsNkNBQTZDOzsyRkFVNUMsc0JBQXNCO2tCQVpsQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQiw2Q0FBNkMsY0FFM0MsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxpQ0FBaUM7cUJBQ3pDLGtCQUNlLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdGljRm9ybUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDaGVja2JveEdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNoZWNrYm94LWdyb3VwJyxcbiAgdGVtcGxhdGU6IGAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXQtY2hlY2tib3gtZmllbGRcIiAvPiBgLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtZm9ybS1ncm91cCBldC1jaGVja2JveC1ncm91cCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbQ2hlY2tib3hHcm91cERpcmVjdGl2ZSwgU3RhdGljRm9ybUdyb3VwRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cENvbXBvbmVudCB7fVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gvY29tcG9uZW50cy9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWMxRCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQixrUEFWdkIsa0JBQWtCOzsyRkFVakIsc0JBQXNCO2tCQVpsQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQixrQkFBa0IsY0FFaEIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxpQ0FBaUM7cUJBQ3pDLGtCQUNlLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdGljRm9ybUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDaGVja2JveEdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNoZWNrYm94LWdyb3VwJyxcbiAgdGVtcGxhdGU6IGAgPG5nLWNvbnRlbnQgLz4gYCxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWZvcm0tZ3JvdXAgZXQtY2hlY2tib3gtZ3JvdXAnLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW0NoZWNrYm94R3JvdXBEaXJlY3RpdmUsIFN0YXRpY0Zvcm1Hcm91cERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb21wb25lbnQge31cbiJdfQ==
@@ -17,9 +17,7 @@ export class InputFieldComponent extends DecoratedFormFieldBase {
17
17
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: InputFieldComponent, isStandalone: true, selector: "et-input-field", host: { classAttribute: "et-form-field et-input-field" }, usesInheritance: true, hostDirectives: [{ directive: i1.StaticFormFieldDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }], ngImport: i0, template: `
18
18
  <ng-content select="et-label" />
19
19
  <div class="et-input-field-input">
20
- <ng-content
21
- select="et-number-input, et-text-input, et-email-input, et-password-input, et-search-input, et-textarea-input"
22
- />
20
+ <ng-content />
23
21
  </div>
24
22
  <et-error [errors]="inputState.errors$ | async" />
25
23
  `, isInline: true, dependencies: [{ kind: "component", type: ErrorComponent, selector: "et-error", inputs: ["errors"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -31,9 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
31
29
  template: `
32
30
  <ng-content select="et-label" />
33
31
  <div class="et-input-field-input">
34
- <ng-content
35
- select="et-number-input, et-text-input, et-email-input, et-password-input, et-search-input, et-textarea-input"
36
- />
32
+ <ng-content />
37
33
  </div>
38
34
  <et-error [errors]="inputState.errors$ | async" />
39
35
  `,
@@ -54,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
54
50
  imports: [ErrorComponent, NgIf, AsyncPipe],
55
51
  }]
56
52
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvaW5wdXQvY29tcG9uZW50cy9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFRLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQTZCaEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHNCQUFzQjtJQTNCL0Q7O1FBNEJxQixlQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDM0Q7OEdBRlksbUJBQW1CO2tHQUFuQixtQkFBbUIsMFlBekJwQjs7Ozs7Ozs7R0FRVCw0REFlUyxjQUFjLG9FQUFRLFNBQVM7OzJGQUU5QixtQkFBbUI7a0JBM0IvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDhCQUE4QjtxQkFDdEM7b0JBQ0QsY0FBYyxFQUFFO3dCQUNkLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qjs0QkFDRSxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFvQzs0QkFDekYsTUFBTSxFQUFFLENBQUMsa0JBQWtCLENBQUM7eUJBQzdCO3FCQUNGO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBUeXBlLCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlLCBTdGF0aWNGb3JtRmllbGREaXJlY3RpdmUsIFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IERlY29yYXRlZEZvcm1GaWVsZEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBFcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Vycm9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtaW5wdXQtZmllbGQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV0LWxhYmVsXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZXQtaW5wdXQtZmllbGQtaW5wdXRcIj5cbiAgICAgIDxuZy1jb250ZW50XG4gICAgICAgIHNlbGVjdD1cImV0LW51bWJlci1pbnB1dCwgZXQtdGV4dC1pbnB1dCwgZXQtZW1haWwtaW5wdXQsIGV0LXBhc3N3b3JkLWlucHV0LCBldC1zZWFyY2gtaW5wdXQsIGV0LXRleHRhcmVhLWlucHV0XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGV0LWVycm9yIFtlcnJvcnNdPVwiaW5wdXRTdGF0ZS5lcnJvcnMkIHwgYXN5bmNcIiAvPlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtZm9ybS1maWVsZCBldC1pbnB1dC1maWVsZCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgU3RhdGljRm9ybUZpZWxkRGlyZWN0aXZlLFxuICAgIFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlLFxuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogZm9yd2FyZFJlZigoKSA9PiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlKSBhcyBUeXBlPER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmU+LFxuICAgICAgaW5wdXRzOiBbJ2hpZGVFcnJvck1lc3NhZ2UnXSxcbiAgICB9LFxuICBdLFxuICBpbXBvcnRzOiBbRXJyb3JDb21wb25lbnQsIE5nSWYsIEFzeW5jUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBEZWNvcmF0ZWRGb3JtRmllbGRCYXNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0U3RhdGUgPSBpbmplY3QoSW5wdXRTdGF0ZVNlcnZpY2UpO1xufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvaW5wdXQvY29tcG9uZW50cy9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFRLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQTJCaEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHNCQUFzQjtJQXpCL0Q7O1FBMEJxQixlQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDM0Q7OEdBRlksbUJBQW1CO2tHQUFuQixtQkFBbUIsMFlBdkJwQjs7Ozs7O0dBTVQsNERBZVMsY0FBYyxvRUFBUSxTQUFTOzsyRkFFOUIsbUJBQW1CO2tCQXpCL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUU7Ozs7OztHQU1UO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsOEJBQThCO3FCQUN0QztvQkFDRCxjQUFjLEVBQUU7d0JBQ2Qsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCOzRCQUNFLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQW9DOzRCQUN6RixNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzt5QkFDN0I7cUJBQ0Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFR5cGUsIFZpZXdFbmNhcHN1bGF0aW9uLCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUsIFN0YXRpY0Zvcm1GaWVsZERpcmVjdGl2ZSwgV3JpdGVhYmxlSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IElucHV0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgRGVjb3JhdGVkRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZXJyb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1pbnB1dC1maWVsZCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXQtbGFiZWxcIiAvPlxuICAgIDxkaXYgY2xhc3M9XCJldC1pbnB1dC1maWVsZC1pbnB1dFwiPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZXQtZXJyb3IgW2Vycm9yc109XCJpbnB1dFN0YXRlLmVycm9ycyQgfCBhc3luY1wiIC8+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1mb3JtLWZpZWxkIGV0LWlucHV0LWZpZWxkJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICBTdGF0aWNGb3JtRmllbGREaXJlY3RpdmUsXG4gICAgV3JpdGVhYmxlSW5wdXREaXJlY3RpdmUsXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBmb3J3YXJkUmVmKCgpID0+IER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUpIGFzIFR5cGU8RHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZT4sXG4gICAgICBpbnB1dHM6IFsnaGlkZUVycm9yTWVzc2FnZSddLFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtFcnJvckNvbXBvbmVudCwgTmdJZiwgQXN5bmNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGaWVsZENvbXBvbmVudCBleHRlbmRzIERlY29yYXRlZEZvcm1GaWVsZEJhc2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXRTdGF0ZSA9IGluamVjdChJbnB1dFN0YXRlU2VydmljZSk7XG59XG4iXX0=
@@ -16,7 +16,7 @@ export class RadioGroupComponent {
16
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: RadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
17
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: RadioGroupComponent, isStandalone: true, selector: "et-radio-group", host: { classAttribute: "et-form-group et-radio-group" }, hostDirectives: [{ directive: i1.StaticFormGroupDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormGroupDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }, { directive: i4.RadioGroupDirective }], ngImport: i0, template: `
18
18
  <div class="et-radio-group-container">
19
- <ng-content select="et-radio-field" />
19
+ <ng-content />
20
20
  </div>
21
21
  <et-error [errors]="inputState.errors$ | async" />
22
22
  `, isInline: true, styles: [":where(.et-radio-group){display:block}\n"], dependencies: [{ kind: "component", type: ErrorComponent, selector: "et-error", inputs: ["errors"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -25,7 +25,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
25
25
  type: Component,
26
26
  args: [{ selector: 'et-radio-group', template: `
27
27
  <div class="et-radio-group-container">
28
- <ng-content select="et-radio-field" />
28
+ <ng-content />
29
29
  </div>
30
30
  <et-error [errors]="inputState.errors$ | async" />
31
31
  `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
40
40
  RadioGroupDirective,
41
41
  ], imports: [ErrorComponent, AsyncPipe], styles: [":where(.et-radio-group){display:block}\n"] }]
42
42
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvcmFkaW8vY29tcG9uZW50cy9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQTRCdkQsTUFBTSxPQUFPLG1CQUFtQjtJQTFCaEM7UUEyQnFCLGVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUMzRDs4R0FGWSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwwWkF4QnBCOzs7OztHQUtULGtIQWlCUyxjQUFjLG9FQUFFLFNBQVM7OzJGQUV4QixtQkFBbUI7a0JBMUIvQixTQUFTOytCQUNFLGdCQUFnQixZQUNoQjs7Ozs7R0FLVCxjQUVXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsOEJBQThCO3FCQUN0QyxrQkFDZTt3QkFDZCx3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkI7NEJBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzs0QkFDdEQsTUFBTSxFQUFFLENBQUMsa0JBQWtCLENBQUM7eUJBQzdCO3dCQUNELG1CQUFtQjtxQkFDcEIsV0FDUSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Hcm91cERpcmVjdGl2ZSwgU3RhdGljRm9ybUdyb3VwRGlyZWN0aXZlLCBXcml0ZWFibGVJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgSW5wdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBFcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Vycm9yJztcbmltcG9ydCB7IFJhZGlvR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtcmFkaW8tZ3JvdXAnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJldC1yYWRpby1ncm91cC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV0LXJhZGlvLWZpZWxkXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZXQtZXJyb3IgW2Vycm9yc109XCJpbnB1dFN0YXRlLmVycm9ycyQgfCBhc3luY1wiIC8+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1mb3JtLWdyb3VwIGV0LXJhZGlvLWdyb3VwJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICBTdGF0aWNGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgV3JpdGVhYmxlSW5wdXREaXJlY3RpdmUsXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBmb3J3YXJkUmVmKCgpID0+IER5bmFtaWNGb3JtR3JvdXBEaXJlY3RpdmUpLFxuICAgICAgaW5wdXRzOiBbJ2hpZGVFcnJvck1lc3NhZ2UnXSxcbiAgICB9LFxuICAgIFJhZGlvR3JvdXBEaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtFcnJvckNvbXBvbmVudCwgQXN5bmNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9Hcm91cENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dFN0YXRlID0gaW5qZWN0KElucHV0U3RhdGVTZXJ2aWNlKTtcbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvcmFkaW8vY29tcG9uZW50cy9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQTRCdkQsTUFBTSxPQUFPLG1CQUFtQjtJQTFCaEM7UUEyQnFCLGVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUMzRDs4R0FGWSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwwWkF4QnBCOzs7OztHQUtULGtIQWlCUyxjQUFjLG9FQUFFLFNBQVM7OzJGQUV4QixtQkFBbUI7a0JBMUIvQixTQUFTOytCQUNFLGdCQUFnQixZQUNoQjs7Ozs7R0FLVCxjQUVXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsOEJBQThCO3FCQUN0QyxrQkFDZTt3QkFDZCx3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkI7NEJBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzs0QkFDdEQsTUFBTSxFQUFFLENBQUMsa0JBQWtCLENBQUM7eUJBQzdCO3dCQUNELG1CQUFtQjtxQkFDcEIsV0FDUSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Hcm91cERpcmVjdGl2ZSwgU3RhdGljRm9ybUdyb3VwRGlyZWN0aXZlLCBXcml0ZWFibGVJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgSW5wdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBFcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Vycm9yJztcbmltcG9ydCB7IFJhZGlvR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtcmFkaW8tZ3JvdXAnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJldC1yYWRpby1ncm91cC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgPC9kaXY+XG4gICAgPGV0LWVycm9yIFtlcnJvcnNdPVwiaW5wdXRTdGF0ZS5lcnJvcnMkIHwgYXN5bmNcIiAvPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9yYWRpby1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtZm9ybS1ncm91cCBldC1yYWRpby1ncm91cCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgU3RhdGljRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlLFxuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogZm9yd2FyZFJlZigoKSA9PiBEeW5hbWljRm9ybUdyb3VwRGlyZWN0aXZlKSxcbiAgICAgIGlucHV0czogWydoaWRlRXJyb3JNZXNzYWdlJ10sXG4gICAgfSxcbiAgICBSYWRpb0dyb3VwRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbRXJyb3JDb21wb25lbnQsIEFzeW5jUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXRTdGF0ZSA9IGluamVjdChJbnB1dFN0YXRlU2VydmljZSk7XG59XG4iXX0=
@@ -8,7 +8,7 @@ export class SegmentedButtonFieldComponent {
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SegmentedButtonFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
9
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SegmentedButtonFieldComponent, isStandalone: true, selector: "et-segmented-button-field", host: { classAttribute: "et-form-field et-segmented-button-field" }, hostDirectives: [{ directive: i1.StaticFormFieldDirective }, { directive: i2.SegmentedButtonFieldDirective }], ngImport: i0, template: `
10
10
  <div class="et-segmented-button-field-container">
11
- <ng-content select="et-segmented-button" />
11
+ <ng-content />
12
12
  </div>
13
13
  `, isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
14
  }
@@ -16,10 +16,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
16
16
  type: Component,
17
17
  args: [{ selector: 'et-segmented-button-field', template: `
18
18
  <div class="et-segmented-button-field-container">
19
- <ng-content select="et-segmented-button" />
19
+ <ng-content />
20
20
  </div>
21
21
  `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
22
22
  class: 'et-form-field et-segmented-button-field',
23
23
  }, imports: [], hostDirectives: [StaticFormFieldDirective, SegmentedButtonFieldDirective] }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWJ1dHRvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWdtZW50ZWQtYnV0dG9uL2NvbXBvbmVudHMvc2VnbWVudGVkLWJ1dHRvbi1maWVsZC9zZWdtZW50ZWQtYnV0dG9uLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBbUJqRSxNQUFNLE9BQU8sNkJBQTZCOzhHQUE3Qiw2QkFBNkI7a0dBQTdCLDZCQUE2Qix5UUFmOUI7Ozs7R0FJVDs7MkZBV1UsNkJBQTZCO2tCQWpCekMsU0FBUzsrQkFDRSwyQkFBMkIsWUFDM0I7Ozs7R0FJVCxjQUVXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUseUNBQXlDO3FCQUNqRCxXQUNRLEVBQUUsa0JBQ0ssQ0FBQyx3QkFBd0IsRUFBRSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGF0aWNGb3JtRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNlZ21lbnRlZEJ1dHRvbkZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LXNlZ21lbnRlZC1idXR0b24tZmllbGQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJldC1zZWdtZW50ZWQtYnV0dG9uLWZpZWxkLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXQtc2VnbWVudGVkLWJ1dHRvblwiIC8+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlZ21lbnRlZC1idXR0b24tZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWZvcm0tZmllbGQgZXQtc2VnbWVudGVkLWJ1dHRvbi1maWVsZCcsXG4gIH0sXG4gIGltcG9ydHM6IFtdLFxuICBob3N0RGlyZWN0aXZlczogW1N0YXRpY0Zvcm1GaWVsZERpcmVjdGl2ZSwgU2VnbWVudGVkQnV0dG9uRmllbGREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWdtZW50ZWRCdXR0b25GaWVsZENvbXBvbmVudCB7fVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWJ1dHRvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWdtZW50ZWQtYnV0dG9uL2NvbXBvbmVudHMvc2VnbWVudGVkLWJ1dHRvbi1maWVsZC9zZWdtZW50ZWQtYnV0dG9uLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBbUJqRSxNQUFNLE9BQU8sNkJBQTZCOzhHQUE3Qiw2QkFBNkI7a0dBQTdCLDZCQUE2Qix5UUFmOUI7Ozs7R0FJVDs7MkZBV1UsNkJBQTZCO2tCQWpCekMsU0FBUzsrQkFDRSwyQkFBMkIsWUFDM0I7Ozs7R0FJVCxjQUVXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUseUNBQXlDO3FCQUNqRCxXQUNRLEVBQUUsa0JBQ0ssQ0FBQyx3QkFBd0IsRUFBRSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGF0aWNGb3JtRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNlZ21lbnRlZEJ1dHRvbkZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LXNlZ21lbnRlZC1idXR0b24tZmllbGQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJldC1zZWdtZW50ZWQtYnV0dG9uLWZpZWxkLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc2VnbWVudGVkLWJ1dHRvbi1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtZm9ybS1maWVsZCBldC1zZWdtZW50ZWQtYnV0dG9uLWZpZWxkJyxcbiAgfSxcbiAgaW1wb3J0czogW10sXG4gIGhvc3REaXJlY3RpdmVzOiBbU3RhdGljRm9ybUZpZWxkRGlyZWN0aXZlLCBTZWdtZW50ZWRCdXR0b25GaWVsZERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlZ21lbnRlZEJ1dHRvbkZpZWxkQ29tcG9uZW50IHt9XG4iXX0=
@@ -16,7 +16,7 @@ export class SegmentedButtonGroupComponent {
16
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SegmentedButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
17
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SegmentedButtonGroupComponent, isStandalone: true, selector: "et-segmented-button-group", host: { classAttribute: "et-form-group et-segmented-button-group" }, hostDirectives: [{ directive: i1.StaticFormGroupDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormGroupDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }, { directive: i4.SegmentedButtonGroupDirective }], ngImport: i0, template: `
18
18
  <div class="et-segmented-button-group-container">
19
- <ng-content select="et-segmented-button-field" />
19
+ <ng-content />
20
20
  </div>
21
21
  <et-error [errors]="inputState.errors$ | async" />
22
22
  `, isInline: true, styles: [":where(.et-segmented-button-group){--et-segmented-button-group-gap: 1rem}.et-segmented-button-group-container{display:flex;gap:var(--et-segmented-button-group-gap)}\n"], dependencies: [{ kind: "component", type: ErrorComponent, selector: "et-error", inputs: ["errors"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -25,7 +25,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
25
25
  type: Component,
26
26
  args: [{ selector: 'et-segmented-button-group', template: `
27
27
  <div class="et-segmented-button-group-container">
28
- <ng-content select="et-segmented-button-field" />
28
+ <ng-content />
29
29
  </div>
30
30
  <et-error [errors]="inputState.errors$ | async" />
31
31
  `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
40
40
  SegmentedButtonGroupDirective,
41
41
  ], imports: [ErrorComponent, AsyncPipe], styles: [":where(.et-segmented-button-group){--et-segmented-button-group-gap: 1rem}.et-segmented-button-group-container{display:flex;gap:var(--et-segmented-button-group-gap)}\n"] }]
42
42
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWJ1dHRvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWdtZW50ZWQtYnV0dG9uL2NvbXBvbmVudHMvc2VnbWVudGVkLWJ1dHRvbi1ncm91cC9zZWdtZW50ZWQtYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0FBNEJqRSxNQUFNLE9BQU8sNkJBQTZCO0lBMUIxQztRQTJCcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBQzNEOzhHQUZZLDZCQUE2QjtrR0FBN0IsNkJBQTZCLDBiQXhCOUI7Ozs7O0dBS1QsZ1BBaUJTLGNBQWMsb0VBQUUsU0FBUzs7MkZBRXhCLDZCQUE2QjtrQkExQnpDLFNBQVM7K0JBQ0UsMkJBQTJCLFlBQzNCOzs7OztHQUtULGNBRVcsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSx5Q0FBeUM7cUJBQ2pELGtCQUNlO3dCQUNkLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qjs0QkFDRSxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDOzRCQUN0RCxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzt5QkFDN0I7d0JBQ0QsNkJBQTZCO3FCQUM5QixXQUNRLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUdyb3VwRGlyZWN0aXZlLCBTdGF0aWNGb3JtR3JvdXBEaXJlY3RpdmUsIFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZXJyb3InO1xuaW1wb3J0IHsgU2VnbWVudGVkQnV0dG9uR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtc2VnbWVudGVkLWJ1dHRvbi1ncm91cCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImV0LXNlZ21lbnRlZC1idXR0b24tZ3JvdXAtY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldC1zZWdtZW50ZWQtYnV0dG9uLWZpZWxkXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZXQtZXJyb3IgW2Vycm9yc109XCJpbnB1dFN0YXRlLmVycm9ycyQgfCBhc3luY1wiIC8+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlZ21lbnRlZC1idXR0b24tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWZvcm0tZ3JvdXAgZXQtc2VnbWVudGVkLWJ1dHRvbi1ncm91cCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgU3RhdGljRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlLFxuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogZm9yd2FyZFJlZigoKSA9PiBEeW5hbWljRm9ybUdyb3VwRGlyZWN0aXZlKSxcbiAgICAgIGlucHV0czogWydoaWRlRXJyb3JNZXNzYWdlJ10sXG4gICAgfSxcbiAgICBTZWdtZW50ZWRCdXR0b25Hcm91cERpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW0Vycm9yQ29tcG9uZW50LCBBc3luY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWdtZW50ZWRCdXR0b25Hcm91cENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dFN0YXRlID0gaW5qZWN0KElucHV0U3RhdGVTZXJ2aWNlKTtcbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWJ1dHRvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWdtZW50ZWQtYnV0dG9uL2NvbXBvbmVudHMvc2VnbWVudGVkLWJ1dHRvbi1ncm91cC9zZWdtZW50ZWQtYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0FBNEJqRSxNQUFNLE9BQU8sNkJBQTZCO0lBMUIxQztRQTJCcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBQzNEOzhHQUZZLDZCQUE2QjtrR0FBN0IsNkJBQTZCLDBiQXhCOUI7Ozs7O0dBS1QsZ1BBaUJTLGNBQWMsb0VBQUUsU0FBUzs7MkZBRXhCLDZCQUE2QjtrQkExQnpDLFNBQVM7K0JBQ0UsMkJBQTJCLFlBQzNCOzs7OztHQUtULGNBRVcsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSx5Q0FBeUM7cUJBQ2pELGtCQUNlO3dCQUNkLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qjs0QkFDRSxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDOzRCQUN0RCxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzt5QkFDN0I7d0JBQ0QsNkJBQTZCO3FCQUM5QixXQUNRLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUdyb3VwRGlyZWN0aXZlLCBTdGF0aWNGb3JtR3JvdXBEaXJlY3RpdmUsIFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZXJyb3InO1xuaW1wb3J0IHsgU2VnbWVudGVkQnV0dG9uR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtc2VnbWVudGVkLWJ1dHRvbi1ncm91cCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImV0LXNlZ21lbnRlZC1idXR0b24tZ3JvdXAtY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGVudCAvPlxuICAgIDwvZGl2PlxuICAgIDxldC1lcnJvciBbZXJyb3JzXT1cImlucHV0U3RhdGUuZXJyb3JzJCB8IGFzeW5jXCIgLz5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc2VnbWVudGVkLWJ1dHRvbi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtZm9ybS1ncm91cCBldC1zZWdtZW50ZWQtYnV0dG9uLWdyb3VwJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICBTdGF0aWNGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgV3JpdGVhYmxlSW5wdXREaXJlY3RpdmUsXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBmb3J3YXJkUmVmKCgpID0+IER5bmFtaWNGb3JtR3JvdXBEaXJlY3RpdmUpLFxuICAgICAgaW5wdXRzOiBbJ2hpZGVFcnJvck1lc3NhZ2UnXSxcbiAgICB9LFxuICAgIFNlZ21lbnRlZEJ1dHRvbkdyb3VwRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbRXJyb3JDb21wb25lbnQsIEFzeW5jUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlZ21lbnRlZEJ1dHRvbkdyb3VwQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0U3RhdGUgPSBpbmplY3QoSW5wdXRTdGF0ZVNlcnZpY2UpO1xufVxuIl19
@@ -0,0 +1,163 @@
1
+ /* eslint-disable @angular-eslint/directive-class-suffix */
2
+ /* eslint-disable @angular-eslint/no-output-rename */
3
+ /* eslint-disable @angular-eslint/no-outputs-metadata-property */
4
+ /* eslint-disable @angular-eslint/no-input-rename */
5
+ /* eslint-disable @angular-eslint/no-inputs-metadata-property */
6
+ import { Directionality } from '@angular/cdk/bidi';
7
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
8
+ import { Overlay, OverlayConfig, STANDARD_DROPDOWN_BELOW_POSITIONS, } from '@angular/cdk/overlay';
9
+ import { _getEventTarget } from '@angular/cdk/platform';
10
+ import { Directive, Injectable, Input, inject } from '@angular/core';
11
+ import { merge, partition } from 'rxjs';
12
+ import { skip, takeUntil } from 'rxjs/operators';
13
+ import { MENU_STACK, MenuStack } from './menu-stack';
14
+ import { CdkMenuTriggerBase, MENU_TRIGGER } from './menu-trigger-base';
15
+ import * as i0 from "@angular/core";
16
+ const CONTEXT_MENU_POSITIONS = STANDARD_DROPDOWN_BELOW_POSITIONS.map((position) => {
17
+ const offsetX = position.overlayX === 'start' ? 2 : -2;
18
+ const offsetY = position.overlayY === 'top' ? 2 : -2;
19
+ return { ...position, offsetX, offsetY };
20
+ });
21
+ export class ContextMenuTracker {
22
+ update(trigger) {
23
+ if (ContextMenuTracker._openContextMenuTrigger !== trigger) {
24
+ ContextMenuTracker._openContextMenuTrigger?.close();
25
+ ContextMenuTracker._openContextMenuTrigger = trigger;
26
+ }
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ContextMenuTracker, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ContextMenuTracker, providedIn: 'root' }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ContextMenuTracker, decorators: [{
32
+ type: Injectable,
33
+ args: [{ providedIn: 'root' }]
34
+ }] });
35
+ export class CdkContextMenuTrigger extends CdkMenuTriggerBase {
36
+ get disabled() {
37
+ return this._disabled;
38
+ }
39
+ set disabled(value) {
40
+ this._disabled = coerceBooleanProperty(value);
41
+ }
42
+ constructor() {
43
+ super();
44
+ this._overlay = inject(Overlay);
45
+ this._directionality = inject(Directionality, { optional: true });
46
+ this._contextMenuTracker = inject(ContextMenuTracker);
47
+ this._disabled = false;
48
+ this._setMenuStackCloseListener();
49
+ }
50
+ open(coordinates) {
51
+ this._open(coordinates, false);
52
+ }
53
+ close() {
54
+ this.menuStack.closeAll();
55
+ }
56
+ _openOnContextMenu(event) {
57
+ if (!this.disabled) {
58
+ event.preventDefault();
59
+ event.stopPropagation();
60
+ this._contextMenuTracker.update(this);
61
+ this._open({ x: event.clientX, y: event.clientY }, true);
62
+ if (event.button === 2) {
63
+ this.childMenu?.focusFirstItem('mouse');
64
+ }
65
+ else if (event.button === 0) {
66
+ this.childMenu?.focusFirstItem('keyboard');
67
+ }
68
+ else {
69
+ this.childMenu?.focusFirstItem('program');
70
+ }
71
+ }
72
+ }
73
+ _getOverlayConfig(coordinates) {
74
+ return new OverlayConfig({
75
+ positionStrategy: this._getOverlayPositionStrategy(coordinates),
76
+ scrollStrategy: this._overlay.scrollStrategies.reposition(),
77
+ direction: this._directionality || undefined,
78
+ });
79
+ }
80
+ _getOverlayPositionStrategy(coordinates) {
81
+ return this._overlay
82
+ .position()
83
+ .flexibleConnectedTo(coordinates)
84
+ .withLockedPosition()
85
+ .withGrowAfterOpen()
86
+ .withPositions(this.menuPosition ?? CONTEXT_MENU_POSITIONS);
87
+ }
88
+ _setMenuStackCloseListener() {
89
+ this.menuStack.closed.pipe(takeUntil(this.destroyed)).subscribe(({ item }) => {
90
+ if (item === this.childMenu && this.isOpen()) {
91
+ this.closed.next();
92
+ this.overlayRef.detach();
93
+ }
94
+ });
95
+ }
96
+ _subscribeToOutsideClicks(ignoreFirstAuxClick) {
97
+ if (this.overlayRef) {
98
+ let outsideClicks = this.overlayRef.outsidePointerEvents();
99
+ if (ignoreFirstAuxClick) {
100
+ const [auxClicks, nonAuxClicks] = partition(outsideClicks, ({ type }) => type === 'auxclick');
101
+ outsideClicks = merge(nonAuxClicks, auxClicks.pipe(skip(1)));
102
+ }
103
+ outsideClicks.pipe(takeUntil(this.stopOutsideClicksListener)).subscribe((event) => {
104
+ if (!this.isElementInsideMenuStack(_getEventTarget(event))) {
105
+ this.menuStack.closeAll();
106
+ }
107
+ });
108
+ }
109
+ }
110
+ _open(coordinates, ignoreFirstOutsideAuxClick) {
111
+ if (this.disabled) {
112
+ return;
113
+ }
114
+ if (this.isOpen()) {
115
+ this.menuStack.closeSubMenuOf(this.childMenu);
116
+ this.overlayRef.getConfig().positionStrategy.setOrigin(coordinates);
117
+ this.overlayRef.updatePosition();
118
+ }
119
+ else {
120
+ this.opened.next();
121
+ if (this.overlayRef) {
122
+ this.overlayRef.getConfig().positionStrategy.setOrigin(coordinates);
123
+ this.overlayRef.updatePosition();
124
+ }
125
+ else {
126
+ this.overlayRef = this._overlay.create(this._getOverlayConfig(coordinates));
127
+ }
128
+ this.overlayRef.attach(this.getMenuContentPortal());
129
+ this._subscribeToOutsideClicks(ignoreFirstOutsideAuxClick);
130
+ }
131
+ }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkContextMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
133
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: CdkContextMenuTrigger, isStandalone: true, selector: "[cdkContextMenuTriggerFor]", inputs: { menuTemplateRef: ["cdkContextMenuTriggerFor", "menuTemplateRef"], menuPosition: ["cdkContextMenuPosition", "menuPosition"], menuData: ["cdkContextMenuTriggerData", "menuData"], disabled: ["cdkContextMenuDisabled", "disabled"] }, outputs: { opened: "cdkContextMenuOpened", closed: "cdkContextMenuClosed" }, host: { listeners: { "contextmenu": "_openOnContextMenu($event)" }, properties: { "attr.data-cdk-menu-stack-id": "null" } }, providers: [
134
+ { provide: MENU_TRIGGER, useExisting: CdkContextMenuTrigger },
135
+ { provide: MENU_STACK, useClass: MenuStack },
136
+ ], exportAs: ["cdkContextMenuTriggerFor"], usesInheritance: true, ngImport: i0 }); }
137
+ }
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkContextMenuTrigger, decorators: [{
139
+ type: Directive,
140
+ args: [{
141
+ selector: '[cdkContextMenuTriggerFor]',
142
+ exportAs: 'cdkContextMenuTriggerFor',
143
+ standalone: true,
144
+ host: {
145
+ '[attr.data-cdk-menu-stack-id]': 'null',
146
+ '(contextmenu)': '_openOnContextMenu($event)',
147
+ },
148
+ inputs: [
149
+ 'menuTemplateRef: cdkContextMenuTriggerFor',
150
+ 'menuPosition: cdkContextMenuPosition',
151
+ 'menuData: cdkContextMenuTriggerData',
152
+ ],
153
+ outputs: ['opened: cdkContextMenuOpened', 'closed: cdkContextMenuClosed'],
154
+ providers: [
155
+ { provide: MENU_TRIGGER, useExisting: CdkContextMenuTrigger },
156
+ { provide: MENU_STACK, useClass: MenuStack },
157
+ ],
158
+ }]
159
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
160
+ type: Input,
161
+ args: ['cdkContextMenuDisabled']
162
+ }] } });
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LXRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL21lbnUvY29udGV4dC1tZW51LXRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELHFEQUFxRDtBQUNyRCxpRUFBaUU7QUFDakUsb0RBQW9EO0FBQ3BELGdFQUFnRTtBQUVoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxFQUNiLGlDQUFpQyxHQUNsQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV2RSxNQUFNLHNCQUFzQixHQUFHLGlDQUFpQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO0lBQ2hGLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyx5QkFBeUIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQzs4R0FoSFUscUJBQXFCO2tHQUFyQixxQkFBcUIsa2dCQUxyQjtZQUNULEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUU7WUFDN0QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUU7U0FDN0M7OzJGQUVVLHFCQUFxQjtrQkFuQmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSiwrQkFBK0IsRUFBRSxNQUFNO3dCQUN2QyxlQUFlLEVBQUUsNEJBQTRCO3FCQUM5QztvQkFDRCxNQUFNLEVBQUU7d0JBQ04sMkNBQTJDO3dCQUMzQyxzQ0FBc0M7d0JBQ3RDLHFDQUFxQztxQkFDdEM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsOEJBQThCLEVBQUUsOEJBQThCLENBQUM7b0JBQ3pFLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyx1QkFBdUIsRUFBRTt3QkFDN0QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUU7cUJBQzdDO2lCQUNGOzBFQVNLLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeCAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1yZW5hbWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG5cbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICBPdmVybGF5LFxuICBPdmVybGF5Q29uZmlnLFxuICBTVEFOREFSRF9EUk9QRE9XTl9CRUxPV19QT1NJVElPTlMsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IF9nZXRFdmVudFRhcmdldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGFibGUsIElucHV0LCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UsIHBhcnRpdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTUVOVV9TVEFDSywgTWVudVN0YWNrIH0gZnJvbSAnLi9tZW51LXN0YWNrJztcbmltcG9ydCB7IENka01lbnVUcmlnZ2VyQmFzZSwgTUVOVV9UUklHR0VSIH0gZnJvbSAnLi9tZW51LXRyaWdnZXItYmFzZSc7XG5cbmNvbnN0IENPTlRFWFRfTUVOVV9QT1NJVElPTlMgPSBTVEFOREFSRF9EUk9QRE9XTl9CRUxPV19QT1NJVElPTlMubWFwKChwb3NpdGlvbikgPT4ge1xuICBjb25zdCBvZmZzZXRYID0gcG9zaXRpb24ub3ZlcmxheVggPT09ICdzdGFydCcgPyAyIDogLTI7XG4gIGNvbnN0IG9mZnNldFkgPSBwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ3RvcCcgPyAyIDogLTI7XG4gIHJldHVybiB7IC4uLnBvc2l0aW9uLCBvZmZzZXRYLCBvZmZzZXRZIH07XG59KTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudVRyYWNrZXIge1xuICBwcml2YXRlIHN0YXRpYyBfb3BlbkNvbnRleHRNZW51VHJpZ2dlcj86IENka0NvbnRleHRNZW51VHJpZ2dlcjtcblxuICB1cGRhdGUodHJpZ2dlcjogQ2RrQ29udGV4dE1lbnVUcmlnZ2VyKSB7XG4gICAgaWYgKENvbnRleHRNZW51VHJhY2tlci5fb3BlbkNvbnRleHRNZW51VHJpZ2dlciAhPT0gdHJpZ2dlcikge1xuICAgICAgQ29udGV4dE1lbnVUcmFja2VyLl9vcGVuQ29udGV4dE1lbnVUcmlnZ2VyPy5jbG9zZSgpO1xuICAgICAgQ29udGV4dE1lbnVUcmFja2VyLl9vcGVuQ29udGV4dE1lbnVUcmlnZ2VyID0gdHJpZ2dlcjtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnVDb29yZGluYXRlcyA9IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Nka0NvbnRleHRNZW51VHJpZ2dlckZvcl0nLFxuICBleHBvcnRBczogJ2Nka0NvbnRleHRNZW51VHJpZ2dlckZvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1jZGstbWVudS1zdGFjay1pZF0nOiAnbnVsbCcsXG4gICAgJyhjb250ZXh0bWVudSknOiAnX29wZW5PbkNvbnRleHRNZW51KCRldmVudCknLFxuICB9LFxuICBpbnB1dHM6IFtcbiAgICAnbWVudVRlbXBsYXRlUmVmOiBjZGtDb250ZXh0TWVudVRyaWdnZXJGb3InLFxuICAgICdtZW51UG9zaXRpb246IGNka0NvbnRleHRNZW51UG9zaXRpb24nLFxuICAgICdtZW51RGF0YTogY2RrQ29udGV4dE1lbnVUcmlnZ2VyRGF0YScsXG4gIF0sXG4gIG91dHB1dHM6IFsnb3BlbmVkOiBjZGtDb250ZXh0TWVudU9wZW5lZCcsICdjbG9zZWQ6IGNka0NvbnRleHRNZW51Q2xvc2VkJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTUVOVV9UUklHR0VSLCB1c2VFeGlzdGluZzogQ2RrQ29udGV4dE1lbnVUcmlnZ2VyIH0sXG4gICAgeyBwcm92aWRlOiBNRU5VX1NUQUNLLCB1c2VDbGFzczogTWVudVN0YWNrIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENka0NvbnRleHRNZW51VHJpZ2dlciBleHRlbmRzIENka01lbnVUcmlnZ2VyQmFzZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX292ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlyZWN0aW9uYWxpdHkgPSBpbmplY3QoRGlyZWN0aW9uYWxpdHksIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGV4dE1lbnVUcmFja2VyID0gaW5qZWN0KENvbnRleHRNZW51VHJhY2tlcik7XG5cbiAgQElucHV0KCdjZGtDb250ZXh0TWVudURpc2FibGVkJylcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fc2V0TWVudVN0YWNrQ2xvc2VMaXN0ZW5lcigpO1xuICB9XG5cbiAgb3Blbihjb29yZGluYXRlczogQ29udGV4dE1lbnVDb29yZGluYXRlcykge1xuICAgIHRoaXMuX29wZW4oY29vcmRpbmF0ZXMsIGZhbHNlKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMubWVudVN0YWNrLmNsb3NlQWxsKCk7XG4gIH1cblxuICBfb3Blbk9uQ29udGV4dE1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICB0aGlzLl9jb250ZXh0TWVudVRyYWNrZXIudXBkYXRlKHRoaXMpO1xuICAgICAgdGhpcy5fb3Blbih7IHg6IGV2ZW50LmNsaWVudFgsIHk6IGV2ZW50LmNsaWVudFkgfSwgdHJ1ZSk7XG5cbiAgICAgIGlmIChldmVudC5idXR0b24gPT09IDIpIHtcbiAgICAgICAgdGhpcy5jaGlsZE1lbnU/LmZvY3VzRmlyc3RJdGVtKCdtb3VzZScpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5idXR0b24gPT09IDApIHtcbiAgICAgICAgdGhpcy5jaGlsZE1lbnU/LmZvY3VzRmlyc3RJdGVtKCdrZXlib2FyZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jaGlsZE1lbnU/LmZvY3VzRmlyc3RJdGVtKCdwcm9ncmFtJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3ZlcmxheUNvbmZpZyhjb29yZGluYXRlczogQ29udGV4dE1lbnVDb29yZGluYXRlcykge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9nZXRPdmVybGF5UG9zaXRpb25TdHJhdGVneShjb29yZGluYXRlcyksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyZWN0aW9uYWxpdHkgfHwgdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3koY29vcmRpbmF0ZXM6IENvbnRleHRNZW51Q29vcmRpbmF0ZXMpOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLl9vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oY29vcmRpbmF0ZXMpXG4gICAgICAud2l0aExvY2tlZFBvc2l0aW9uKClcbiAgICAgIC53aXRoR3Jvd0FmdGVyT3BlbigpXG4gICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLm1lbnVQb3NpdGlvbiA/PyBDT05URVhUX01FTlVfUE9TSVRJT05TKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE1lbnVTdGFja0Nsb3NlTGlzdGVuZXIoKSB7XG4gICAgdGhpcy5tZW51U3RhY2suY2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKCh7IGl0ZW0gfSkgPT4ge1xuICAgICAgaWYgKGl0ZW0gPT09IHRoaXMuY2hpbGRNZW51ICYmIHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgdGhpcy5jbG9zZWQubmV4dCgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYhLmRldGFjaCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaWJlVG9PdXRzaWRlQ2xpY2tzKGlnbm9yZUZpcnN0QXV4Q2xpY2s6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICBsZXQgb3V0c2lkZUNsaWNrcyA9IHRoaXMub3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpO1xuXG4gICAgICBpZiAoaWdub3JlRmlyc3RBdXhDbGljaykge1xuICAgICAgICBjb25zdCBbYXV4Q2xpY2tzLCBub25BdXhDbGlja3NdID0gcGFydGl0aW9uKG91dHNpZGVDbGlja3MsICh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gJ2F1eGNsaWNrJyk7XG4gICAgICAgIG91dHNpZGVDbGlja3MgPSBtZXJnZShub25BdXhDbGlja3MsIGF1eENsaWNrcy5waXBlKHNraXAoMSkpKTtcbiAgICAgIH1cbiAgICAgIG91dHNpZGVDbGlja3MucGlwZSh0YWtlVW50aWwodGhpcy5zdG9wT3V0c2lkZUNsaWNrc0xpc3RlbmVyKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNFbGVtZW50SW5zaWRlTWVudVN0YWNrKF9nZXRFdmVudFRhcmdldChldmVudCkhKSkge1xuICAgICAgICAgIHRoaXMubWVudVN0YWNrLmNsb3NlQWxsKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29wZW4oY29vcmRpbmF0ZXM6IENvbnRleHRNZW51Q29vcmRpbmF0ZXMsIGlnbm9yZUZpcnN0T3V0c2lkZUF1eENsaWNrOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMubWVudVN0YWNrLmNsb3NlU3ViTWVudU9mKHRoaXMuY2hpbGRNZW51ISk7XG5cbiAgICAgICh0aGlzLm92ZXJsYXlSZWYhLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KS5zZXRPcmlnaW4oY29vcmRpbmF0ZXMpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmIS51cGRhdGVQb3NpdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5lZC5uZXh0KCk7XG5cbiAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgKHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5IGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkuc2V0T3JpZ2luKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh0aGlzLl9nZXRPdmVybGF5Q29uZmlnKGNvb3JkaW5hdGVzKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGhpcy5nZXRNZW51Q29udGVudFBvcnRhbCgpKTtcbiAgICAgIHRoaXMuX3N1YnNjcmliZVRvT3V0c2lkZUNsaWNrcyhpZ25vcmVGaXJzdE91dHNpZGVBdXhDbGljayk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,140 @@
1
+ /* eslint-disable @angular-eslint/directive-class-suffix */
2
+ /* eslint-disable @angular-eslint/no-output-rename */
3
+ /* eslint-disable @angular-eslint/no-outputs-metadata-property */
4
+ /* eslint-disable @angular-eslint/no-input-rename */
5
+ /* eslint-disable @angular-eslint/no-inputs-metadata-property */
6
+ import { Directive, inject, Injectable, InjectionToken, isDevMode, NgZone } from '@angular/core';
7
+ import { fromEvent, Subject } from 'rxjs';
8
+ import { filter, takeUntil } from 'rxjs/operators';
9
+ import { throwMissingMenuReference, throwMissingPointerFocusTracker } from './menu-errors';
10
+ import * as i0 from "@angular/core";
11
+ export const MENU_AIM = new InjectionToken('cdk-menu-aim');
12
+ const MOUSE_MOVE_SAMPLE_FREQUENCY = 3;
13
+ const NUM_POINTS = 5;
14
+ const CLOSE_DELAY = 300;
15
+ function getSlope(a, b) {
16
+ return (b.y - a.y) / (b.x - a.x);
17
+ }
18
+ function getYIntercept(point, slope) {
19
+ return point.y - slope * point.x;
20
+ }
21
+ function isWithinSubmenu(submenuPoints, m, b) {
22
+ const { left, right, top, bottom } = submenuPoints;
23
+ return ((m * left + b >= top && m * left + b <= bottom) ||
24
+ (m * right + b >= top && m * right + b <= bottom) ||
25
+ ((top - b) / m >= left && (top - b) / m <= right) ||
26
+ ((bottom - b) / m >= left && (bottom - b) / m <= right));
27
+ }
28
+ export class TargetMenuAim {
29
+ constructor() {
30
+ this._ngZone = inject(NgZone);
31
+ this._points = [];
32
+ this._menu = null;
33
+ this._pointerTracker = null;
34
+ this._timeoutId = null;
35
+ this._destroyed = new Subject();
36
+ }
37
+ ngOnDestroy() {
38
+ this._destroyed.next();
39
+ this._destroyed.complete();
40
+ }
41
+ initialize(menu, pointerTracker) {
42
+ this._menu = menu;
43
+ this._pointerTracker = pointerTracker;
44
+ this._subscribeToMouseMoves();
45
+ }
46
+ toggle(doToggle) {
47
+ if (!this._menu)
48
+ return;
49
+ if (this._menu.orientation === 'horizontal') {
50
+ doToggle();
51
+ }
52
+ this._checkConfigured();
53
+ const siblingItemIsWaiting = !!this._timeoutId;
54
+ const hasPoints = this._points.length > 1;
55
+ if (hasPoints && !siblingItemIsWaiting) {
56
+ if (this._isMovingToSubmenu()) {
57
+ this._startTimeout(doToggle);
58
+ }
59
+ else {
60
+ doToggle();
61
+ }
62
+ }
63
+ else if (!siblingItemIsWaiting) {
64
+ doToggle();
65
+ }
66
+ }
67
+ _startTimeout(doToggle) {
68
+ const timeoutId = window.setTimeout(() => {
69
+ if (!this._pointerTracker)
70
+ return;
71
+ if (this._pointerTracker.activeElement && timeoutId === this._timeoutId) {
72
+ doToggle();
73
+ }
74
+ this._timeoutId = null;
75
+ }, CLOSE_DELAY);
76
+ this._timeoutId = timeoutId;
77
+ }
78
+ _isMovingToSubmenu() {
79
+ const submenuPoints = this._getSubmenuBounds();
80
+ if (!submenuPoints) {
81
+ return false;
82
+ }
83
+ let numMoving = 0;
84
+ const currPoint = this._points[this._points.length - 1];
85
+ for (let i = this._points.length - 2; i >= 0; i--) {
86
+ const previous = this._points[i];
87
+ const slope = getSlope(currPoint, previous);
88
+ if (isWithinSubmenu(submenuPoints, slope, getYIntercept(currPoint, slope))) {
89
+ numMoving++;
90
+ }
91
+ }
92
+ return numMoving >= Math.floor(NUM_POINTS / 2);
93
+ }
94
+ _getSubmenuBounds() {
95
+ return this._pointerTracker?.previousElement?.getMenu()?.nativeElement.getBoundingClientRect();
96
+ }
97
+ _checkConfigured() {
98
+ if (isDevMode()) {
99
+ if (!this._pointerTracker) {
100
+ throwMissingPointerFocusTracker();
101
+ }
102
+ if (!this._menu) {
103
+ throwMissingMenuReference();
104
+ }
105
+ }
106
+ }
107
+ _subscribeToMouseMoves() {
108
+ this._ngZone.runOutsideAngular(() => {
109
+ if (!this._menu)
110
+ return;
111
+ fromEvent(this._menu.nativeElement, 'mousemove')
112
+ .pipe(filter((_, index) => index % MOUSE_MOVE_SAMPLE_FREQUENCY === 0), takeUntil(this._destroyed))
113
+ .subscribe((event) => {
114
+ this._points.push({ x: event.clientX, y: event.clientY });
115
+ if (this._points.length > NUM_POINTS) {
116
+ this._points.shift();
117
+ }
118
+ });
119
+ });
120
+ }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: TargetMenuAim, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
122
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: TargetMenuAim }); }
123
+ }
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: TargetMenuAim, decorators: [{
125
+ type: Injectable
126
+ }] });
127
+ export class CdkTargetMenuAim {
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkTargetMenuAim, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
129
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: CdkTargetMenuAim, isStandalone: true, selector: "[cdkTargetMenuAim]", providers: [{ provide: MENU_AIM, useClass: TargetMenuAim }], exportAs: ["cdkTargetMenuAim"], ngImport: i0 }); }
130
+ }
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkTargetMenuAim, decorators: [{
132
+ type: Directive,
133
+ args: [{
134
+ selector: '[cdkTargetMenuAim]',
135
+ exportAs: 'cdkTargetMenuAim',
136
+ standalone: true,
137
+ providers: [{ provide: MENU_AIM, useClass: TargetMenuAim }],
138
+ }]
139
+ }] });
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1haW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL21lbnUvbWVudS1haW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELHFEQUFxRDtBQUNyRCxpRUFBaUU7QUFDakUsb0RBQW9EO0FBQ3BELGdFQUFnRTtBQUVoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTNGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxjQUFjLENBQUMsQ0FBQztBQUVwRSxNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQztBQUV0QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFFckIsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDO0FBTXhCLFNBQVMsUUFBUSxDQUFDLENBQVEsRUFBRSxDQUFRO0lBQ2xDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxLQUFZLEVBQUUsS0FBYTtJQUNoRCxPQUFPLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENB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QUM5QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQztpQkFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeCAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1yZW5hbWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgaXNEZXZNb2RlLCBOZ1pvbmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHRocm93TWlzc2luZ01lbnVSZWZlcmVuY2UsIHRocm93TWlzc2luZ1BvaW50ZXJGb2N1c1RyYWNrZXIgfSBmcm9tICcuL21lbnUtZXJyb3JzJztcbmltcG9ydCB7IE1lbnUgfSBmcm9tICcuL21lbnUtaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvY3VzYWJsZUVsZW1lbnQsIFBvaW50ZXJGb2N1c1RyYWNrZXIgfSBmcm9tICcuL3BvaW50ZXItZm9jdXMtdHJhY2tlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudUFpbSB7XG4gIGluaXRpYWxpemUobWVudTogTWVudSwgcG9pbnRlclRyYWNrZXI6IFBvaW50ZXJGb2N1c1RyYWNrZXI8Rm9jdXNhYmxlRWxlbWVudCAmIFRvZ2dsZXI+KTogdm9pZDtcblxuICB0b2dnbGUoZG9Ub2dnbGU6ICgpID0+IHZvaWQpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgTUVOVV9BSU0gPSBuZXcgSW5qZWN0aW9uVG9rZW48TWVudUFpbT4oJ2Nkay1tZW51LWFpbScpO1xuXG5jb25zdCBNT1VTRV9NT1ZFX1NBTVBMRV9GUkVRVUVOQ1kgPSAzO1xuXG5jb25zdCBOVU1fUE9JTlRTID0gNTtcblxuY29uc3QgQ0xPU0VfREVMQVkgPSAzMDA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9nZ2xlciB7XG4gIGdldE1lbnUoKTogTWVudSB8IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ2V0U2xvcGUoYTogUG9pbnQsIGI6IFBvaW50KSB7XG4gIHJldHVybiAoYi55IC0gYS55KSAvIChiLnggLSBhLngpO1xufVxuXG5mdW5jdGlvbiBnZXRZSW50ZXJjZXB0KHBvaW50OiBQb2ludCwgc2xvcGU6IG51bWJlcikge1xuICByZXR1cm4gcG9pbnQueSAtIHNsb3BlICogcG9pbnQueDtcbn1cblxudHlwZSBQb2ludCA9IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcblxuZnVuY3Rpb24gaXNXaXRoaW5TdWJtZW51KHN1Ym1lbnVQb2ludHM6IERPTVJlY3QsIG06IG51bWJlciwgYjogbnVtYmVyKSB7XG4gIGNvbnN0IHsgbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tIH0gPSBzdWJtZW51UG9pbnRzO1xuXG4gIHJldHVybiAoXG4gICAgKG0gKiBsZWZ0ICsgYiA+PSB0b3AgJiYgbSAqIGxlZnQgKyBiIDw9IGJvdHRvbSkgfHxcbiAgICAobSAqIHJpZ2h0ICsgYiA+PSB0b3AgJiYgbSAqIHJpZ2h0ICsgYiA8PSBib3R0b20pIHx8XG4gICAgKCh0b3AgLSBiKSAvIG0gPj0gbGVmdCAmJiAodG9wIC0gYikgLyBtIDw9IHJpZ2h0KSB8fFxuICAgICgoYm90dG9tIC0gYikgLyBtID49IGxlZnQgJiYgKGJvdHRvbSAtIGIpIC8gbSA8PSByaWdodClcbiAgKTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhcmdldE1lbnVBaW0gaW1wbGVtZW50cyBNZW51QWltLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wb2ludHM6IFBvaW50W10gPSBbXTtcblxuICBwcml2YXRlIF9tZW51OiBNZW51IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfcG9pbnRlclRyYWNrZXI6IFBvaW50ZXJGb2N1c1RyYWNrZXI8VG9nZ2xlciAmIEZvY3VzYWJsZUVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfdGltZW91dElkOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBpbml0aWFsaXplKG1lbnU6IE1lbnUsIHBvaW50ZXJUcmFja2VyOiBQb2ludGVyRm9jdXNUcmFja2VyPEZvY3VzYWJsZUVsZW1lbnQgJiBUb2dnbGVyPikge1xuICAgIHRoaXMuX21lbnUgPSBtZW51O1xuICAgIHRoaXMuX3BvaW50ZXJUcmFja2VyID0gcG9pbnRlclRyYWNrZXI7XG4gICAgdGhpcy5fc3Vic2NyaWJlVG9Nb3VzZU1vdmVzKCk7XG4gIH1cblxuICB0b2dnbGUoZG9Ub2dnbGU6ICgpID0+IHZvaWQpIHtcbiAgICBpZiAoIXRoaXMuX21lbnUpIHJldHVybjtcblxuICAgIGlmICh0aGlzLl9tZW51Lm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgIGRvVG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fY2hlY2tDb25maWd1cmVkKCk7XG5cbiAgICBjb25zdCBzaWJsaW5nSXRlbUlzV2FpdGluZyA9ICEhdGhpcy5fdGltZW91dElkO1xuICAgIGNvbnN0IGhhc1BvaW50cyA9IHRoaXMuX3BvaW50cy5sZW5ndGggPiAxO1xuXG4gICAgaWYgKGhhc1BvaW50cyAmJiAhc2libGluZ0l0ZW1Jc1dhaXRpbmcpIHtcbiAgICAgIGlmICh0aGlzLl9pc01vdmluZ1RvU3VibWVudSgpKSB7XG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZW91dChkb1RvZ2dsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb1RvZ2dsZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXNpYmxpbmdJdGVtSXNXYWl0aW5nKSB7XG4gICAgICBkb1RvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N0YXJ0VGltZW91dChkb1RvZ2dsZTogKCkgPT4gdm9pZCkge1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5fcG9pbnRlclRyYWNrZXIpIHJldHVybjtcblxuICAgICAgaWYgKHRoaXMuX3BvaW50ZXJUcmFja2VyLmFjdGl2ZUVsZW1lbnQgJiYgdGltZW91dElkID09PSB0aGlzLl90aW1lb3V0SWQpIHtcbiAgICAgICAgZG9Ub2dnbGUoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3RpbWVvdXRJZCA9IG51bGw7XG4gICAgfSwgQ0xPU0VfREVMQVkpO1xuXG4gICAgdGhpcy5fdGltZW91dElkID0gdGltZW91dElkO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNNb3ZpbmdUb1N1Ym1lbnUoKSB7XG4gICAgY29uc3Qgc3VibWVudVBvaW50cyA9IHRoaXMuX2dldFN1Ym1lbnVCb3VuZHMoKTtcbiAgICBpZiAoIXN1Ym1lbnVQb2ludHMpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBsZXQgbnVtTW92aW5nID0gMDtcbiAgICBjb25zdCBjdXJyUG9pbnQgPSB0aGlzLl9wb2ludHNbdGhpcy5fcG9pbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgZm9yIChsZXQgaSA9IHRoaXMuX3BvaW50cy5sZW5ndGggLSAyOyBpID49IDA7IGktLSkge1xuICAgICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLl9wb2ludHNbaV07XG4gICAgICBjb25zdCBzbG9wZSA9IGdldFNsb3BlKGN1cnJQb2ludCwgcHJldmlvdXMpO1xuICAgICAgaWYgKGlzV2l0aGluU3VibWVudShzdWJtZW51UG9pbnRzLCBzbG9wZSwgZ2V0WUludGVyY2VwdChjdXJyUG9pbnQsIHNsb3BlKSkpIHtcbiAgICAgICAgbnVtTW92aW5nKys7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudW1Nb3ZpbmcgPj0gTWF0aC5mbG9vcihOVU1fUE9JTlRTIC8gMik7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdWJtZW51Qm91bmRzKCk6IERPTVJlY3QgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wb2ludGVyVHJhY2tlcj8ucHJldmlvdXNFbGVtZW50Py5nZXRNZW51KCk/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0NvbmZpZ3VyZWQoKSB7XG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICBpZiAoIXRoaXMuX3BvaW50ZXJUcmFja2VyKSB7XG4gICAgICAgIHRocm93TWlzc2luZ1BvaW50ZXJGb2N1c1RyYWNrZXIoKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5fbWVudSkge1xuICAgICAgICB0aHJvd01pc3NpbmdNZW51UmVmZXJlbmNlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaWJlVG9Nb3VzZU1vdmVzKCkge1xuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuX21lbnUpIHJldHVybjtcblxuICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX21lbnUubmF0aXZlRWxlbWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoXzogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcikgPT4gaW5kZXggJSBNT1VTRV9NT1ZFX1NBTVBMRV9GUkVRVUVOQ1kgPT09IDApLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5fcG9pbnRzLnB1c2goeyB4OiBldmVudC5jbGllbnRYLCB5OiBldmVudC5jbGllbnRZIH0pO1xuICAgICAgICAgIGlmICh0aGlzLl9wb2ludHMubGVuZ3RoID4gTlVNX1BPSU5UUykge1xuICAgICAgICAgICAgdGhpcy5fcG9pbnRzLnNoaWZ0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2RrVGFyZ2V0TWVudUFpbV0nLFxuICBleHBvcnRBczogJ2Nka1RhcmdldE1lbnVBaW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1FTlVfQUlNLCB1c2VDbGFzczogVGFyZ2V0TWVudUFpbSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2RrVGFyZ2V0TWVudUFpbSB7fVxuIl19