ng-primitives 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,7 +31,7 @@ export class NgpAccordionContent {
31
31
  this.dimensions = injectDimensions();
32
32
  }
33
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpAccordionContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpAccordionContent, isStandalone: true, selector: "[ngpAccordionContent]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "id": "id()", "attr.data-orientation": "accordion.orientation()", "attr.data-open": "accordionItem.open()", "attr.aria-labelledby": "accordionItem.triggerId()", "style.--ngp-accordion-content-width.px": "dimensions().width", "style.--ngp-accordion-content-height.px": "dimensions().height", "hidden": "!accordionItem.open() && dimensions().mounted ? true : null" } }, providers: [{ provide: NgpAccordionContentToken, useExisting: NgpAccordionContent }], exportAs: ["ngpAccordionContent"], ngImport: i0 }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpAccordionContent, isStandalone: true, selector: "[ngpAccordionContent]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "id": "id()", "attr.data-orientation": "accordion.orientation()", "attr.data-open": "dimensions().mounted ? accordionItem.open() : null", "attr.aria-labelledby": "accordionItem.triggerId()", "style.--ngp-accordion-content-width.px": "dimensions().width", "style.--ngp-accordion-content-height.px": "dimensions().height" } }, providers: [{ provide: NgpAccordionContentToken, useExisting: NgpAccordionContent }], exportAs: ["ngpAccordionContent"], ngImport: i0 }); }
35
35
  }
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpAccordionContent, decorators: [{
37
37
  type: Directive,
@@ -44,12 +44,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
44
44
  role: 'region',
45
45
  '[id]': 'id()',
46
46
  '[attr.data-orientation]': 'accordion.orientation()',
47
- '[attr.data-open]': 'accordionItem.open()',
47
+ '[attr.data-open]': 'dimensions().mounted ? accordionItem.open() : null',
48
48
  '[attr.aria-labelledby]': 'accordionItem.triggerId()',
49
49
  '[style.--ngp-accordion-content-width.px]': 'dimensions().width',
50
50
  '[style.--ngp-accordion-content-height.px]': 'dimensions().height',
51
- '[hidden]': '!accordionItem.open() && dimensions().mounted ? true : null',
52
51
  },
53
52
  }]
54
53
  }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1jb250ZW50L2FjY29yZGlvbi1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWtCckUsTUFBTSxPQUFPLG1CQUFtQjtJQWhCaEM7UUFpQkU7O1dBRUc7UUFDZ0IsY0FBUyxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRWpEOztXQUVHO1FBQ2dCLGtCQUFhLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztRQUV6RDs7V0FFRztRQUNNLE9BQUUsR0FBRyxLQUFLLENBQVMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztRQUUvRDs7V0FFRztRQUNnQixlQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztLQUNwRDs4R0FwQlksbUJBQW1CO2tHQUFuQixtQkFBbUIsdW1CQVpuQixDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDOzsyRkFZekUsbUJBQW1CO2tCQWhCL0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxxQkFBcUIsRUFBRSxDQUFDO29CQUNwRixJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsTUFBTSxFQUFFLE1BQU07d0JBQ2QseUJBQXlCLEVBQUUseUJBQXlCO3dCQUNwRCxrQkFBa0IsRUFBRSxzQkFBc0I7d0JBQzFDLHdCQUF3QixFQUFFLDJCQUEyQjt3QkFDckQsMENBQTBDLEVBQUUsb0JBQW9CO3dCQUNoRSwyQ0FBMkMsRUFBRSxxQkFBcUI7d0JBQ2xFLFVBQVUsRUFBRSw2REFBNkQ7cUJBQzFFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdERpbWVuc2lvbnMsIHVuaXF1ZUlkIH0gZnJvbSAnbmctcHJpbWl0aXZlcy91dGlscyc7XG5pbXBvcnQgeyBpbmplY3RBY2NvcmRpb25JdGVtIH0gZnJvbSAnLi4vYWNjb3JkaW9uLWl0ZW0vYWNjb3JkaW9uLWl0ZW0udG9rZW4nO1xuaW1wb3J0IHsgaW5qZWN0QWNjb3JkaW9uIH0gZnJvbSAnLi4vYWNjb3JkaW9uL2FjY29yZGlvbi50b2tlbic7XG5pbXBvcnQgeyBOZ3BBY2NvcmRpb25Db250ZW50VG9rZW4gfSBmcm9tICcuL2FjY29yZGlvbi1jb250ZW50LnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncEFjY29yZGlvbkNvbnRlbnRdJyxcbiAgZXhwb3J0QXM6ICduZ3BBY2NvcmRpb25Db250ZW50JyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOZ3BBY2NvcmRpb25Db250ZW50VG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BBY2NvcmRpb25Db250ZW50IH1dLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ3JlZ2lvbicsXG4gICAgJ1tpZF0nOiAnaWQoKScsXG4gICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ2FjY29yZGlvbi5vcmllbnRhdGlvbigpJyxcbiAgICAnW2F0dHIuZGF0YS1vcGVuXSc6ICdhY2NvcmRpb25JdGVtLm9wZW4oKScsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnYWNjb3JkaW9uSXRlbS50cmlnZ2VySWQoKScsXG4gICAgJ1tzdHlsZS4tLW5ncC1hY2NvcmRpb24tY29udGVudC13aWR0aC5weF0nOiAnZGltZW5zaW9ucygpLndpZHRoJyxcbiAgICAnW3N0eWxlLi0tbmdwLWFjY29yZGlvbi1jb250ZW50LWhlaWdodC5weF0nOiAnZGltZW5zaW9ucygpLmhlaWdodCcsXG4gICAgJ1toaWRkZW5dJzogJyFhY2NvcmRpb25JdGVtLm9wZW4oKSAmJiBkaW1lbnNpb25zKCkubW91bnRlZCA/IHRydWUgOiBudWxsJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwQWNjb3JkaW9uQ29udGVudCB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGFjY29yZGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjY29yZGlvbiA9IGluamVjdEFjY29yZGlvbigpO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGFjY29yZGlvbiBpdGVtXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWNjb3JkaW9uSXRlbSA9IGluamVjdEFjY29yZGlvbkl0ZW0oKTtcblxuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBjb250ZW50IHJlZ2lvblxuICAgKi9cbiAgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KHVuaXF1ZUlkKCduZ3AtYWNjb3JkaW9uLWNvbnRlbnQnKSk7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBjb250ZW50IHJlZ2lvblxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpbWVuc2lvbnMgPSBpbmplY3REaW1lbnNpb25zKCk7XG59XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1jb250ZW50L2FjY29yZGlvbi1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWlCckUsTUFBTSxPQUFPLG1CQUFtQjtJQWZoQztRQWdCRTs7V0FFRztRQUNnQixjQUFTLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFFakQ7O1dBRUc7UUFDZ0Isa0JBQWEsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBRXpEOztXQUVHO1FBQ00sT0FBRSxHQUFHLEtBQUssQ0FBUyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1FBRS9EOztXQUVHO1FBQ2dCLGVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0tBQ3BEOzhHQXBCWSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw0akJBWG5CLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUM7OzJGQVd6RSxtQkFBbUI7a0JBZi9CLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztvQkFDcEYsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxRQUFRO3dCQUNkLE1BQU0sRUFBRSxNQUFNO3dCQUNkLHlCQUF5QixFQUFFLHlCQUF5Qjt3QkFDcEQsa0JBQWtCLEVBQUUsb0RBQW9EO3dCQUN4RSx3QkFBd0IsRUFBRSwyQkFBMkI7d0JBQ3JELDBDQUEwQyxFQUFFLG9CQUFvQjt3QkFDaEUsMkNBQTJDLEVBQUUscUJBQXFCO3FCQUNuRTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3REaW1lbnNpb25zLCB1bmlxdWVJZCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvdXRpbHMnO1xuaW1wb3J0IHsgaW5qZWN0QWNjb3JkaW9uSXRlbSB9IGZyb20gJy4uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLnRva2VuJztcbmltcG9ydCB7IGluamVjdEFjY29yZGlvbiB9IGZyb20gJy4uL2FjY29yZGlvbi9hY2NvcmRpb24udG9rZW4nO1xuaW1wb3J0IHsgTmdwQWNjb3JkaW9uQ29udGVudFRva2VuIH0gZnJvbSAnLi9hY2NvcmRpb24tY29udGVudC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BBY2NvcmRpb25Db250ZW50XScsXG4gIGV4cG9ydEFzOiAnbmdwQWNjb3JkaW9uQ29udGVudCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmdwQWNjb3JkaW9uQ29udGVudFRva2VuLCB1c2VFeGlzdGluZzogTmdwQWNjb3JkaW9uQ29udGVudCB9XSxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdyZWdpb24nLFxuICAgICdbaWRdJzogJ2lkKCknLFxuICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdhY2NvcmRpb24ub3JpZW50YXRpb24oKScsXG4gICAgJ1thdHRyLmRhdGEtb3Blbl0nOiAnZGltZW5zaW9ucygpLm1vdW50ZWQgPyBhY2NvcmRpb25JdGVtLm9wZW4oKSA6IG51bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ2FjY29yZGlvbkl0ZW0udHJpZ2dlcklkKCknLFxuICAgICdbc3R5bGUuLS1uZ3AtYWNjb3JkaW9uLWNvbnRlbnQtd2lkdGgucHhdJzogJ2RpbWVuc2lvbnMoKS53aWR0aCcsXG4gICAgJ1tzdHlsZS4tLW5ncC1hY2NvcmRpb24tY29udGVudC1oZWlnaHQucHhdJzogJ2RpbWVuc2lvbnMoKS5oZWlnaHQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BBY2NvcmRpb25Db250ZW50IHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgYWNjb3JkaW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWNjb3JkaW9uID0gaW5qZWN0QWNjb3JkaW9uKCk7XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgYWNjb3JkaW9uIGl0ZW1cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhY2NvcmRpb25JdGVtID0gaW5qZWN0QWNjb3JkaW9uSXRlbSgpO1xuXG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGNvbnRlbnQgcmVnaW9uXG4gICAqL1xuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4odW5pcXVlSWQoJ25ncC1hY2NvcmRpb24tY29udGVudCcpKTtcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGNvbnRlbnQgcmVnaW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGltZW5zaW9ucyA9IGluamVjdERpbWVuc2lvbnMoKTtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { booleanAttribute, Directive, input } from '@angular/core';
1
+ import { booleanAttribute, Directive, ElementRef, HostListener, inject, input, signal, } from '@angular/core';
2
2
  import { NgpAutofill } from 'ng-primitives/autofill';
3
3
  import { NgpFormControl } from 'ng-primitives/form-field';
4
4
  import { NgpFocus, NgpHover, NgpPress } from 'ng-primitives/interactions';
@@ -10,15 +10,28 @@ import * as i2 from "ng-primitives/interactions";
10
10
  import * as i3 from "ng-primitives/autofill";
11
11
  export class NgpInput {
12
12
  constructor() {
13
+ /**
14
+ * Access the underlying input element.
15
+ * @internal
16
+ */
17
+ this.element = inject(ElementRef);
13
18
  /**
14
19
  * Whether the element is disabled.
15
20
  */
16
21
  this.disabled = input(false, {
17
22
  transform: booleanAttribute,
18
23
  });
24
+ /**
25
+ * Sync the input value.
26
+ * @internal
27
+ */
28
+ this.value = signal(this.element.nativeElement.value);
29
+ }
30
+ valueDidChange() {
31
+ this.value.set(this.element.nativeElement.value);
19
32
  }
20
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpInput, isStandalone: true, selector: "[ngpInput]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpInput, isStandalone: true, selector: "input[ngpInput]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "valueDidChange()" } }, providers: [
22
35
  { provide: NgpInputToken, useExisting: NgpInput },
23
36
  { provide: NgpDisabledToken, useExisting: NgpInput },
24
37
  ], exportAs: ["ngpInput"], hostDirectives: [{ directive: i1.NgpFormControl }, { directive: i2.NgpHover }, { directive: i2.NgpFocus }, { directive: i2.NgpPress }, { directive: i3.NgpAutofill }], ngImport: i0 }); }
@@ -27,7 +40,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
27
40
  type: Directive,
28
41
  args: [{
29
42
  standalone: true,
30
- selector: '[ngpInput]',
43
+ selector: 'input[ngpInput]',
31
44
  exportAs: 'ngpInput',
32
45
  providers: [
33
46
  { provide: NgpInputToken, useExisting: NgpInput },
@@ -35,5 +48,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
35
48
  ],
36
49
  hostDirectives: [NgpFormControl, NgpHover, NgpFocus, NgpPress, NgpAutofill],
37
50
  }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9pbnB1dC9zcmMvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBWTlDLE1BQU0sT0FBTyxRQUFRO0lBVnJCO1FBV0U7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUF3QixLQUFLLEVBQUU7WUFDdEQsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7S0FDSjs4R0FQWSxRQUFRO2tHQUFSLFFBQVEsc01BTlI7WUFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRTtZQUNqRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO1NBQ3JEOzsyRkFHVSxRQUFRO2tCQVZwQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxVQUFVLEVBQUU7d0JBQ2pELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsVUFBVSxFQUFFO3FCQUNyRDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDO2lCQUM1RSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdwQXV0b2ZpbGwgfSBmcm9tICduZy1wcmltaXRpdmVzL2F1dG9maWxsJztcbmltcG9ydCB7IE5ncEZvcm1Db250cm9sIH0gZnJvbSAnbmctcHJpbWl0aXZlcy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE5ncEZvY3VzLCBOZ3BIb3ZlciwgTmdwUHJlc3MgfSBmcm9tICduZy1wcmltaXRpdmVzL2ludGVyYWN0aW9ucyc7XG5pbXBvcnQgeyBOZ3BDYW5EaXNhYmxlLCBOZ3BEaXNhYmxlZFRva2VuIH0gZnJvbSAnbmctcHJpbWl0aXZlcy9pbnRlcm5hbCc7XG5pbXBvcnQgeyBOZ3BJbnB1dFRva2VuIH0gZnJvbSAnLi9pbnB1dC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BJbnB1dF0nLFxuICBleHBvcnRBczogJ25ncElucHV0JyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOZ3BJbnB1dFRva2VuLCB1c2VFeGlzdGluZzogTmdwSW5wdXQgfSxcbiAgICB7IHByb3ZpZGU6IE5ncERpc2FibGVkVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BJbnB1dCB9LFxuICBdLFxuICBob3N0RGlyZWN0aXZlczogW05ncEZvcm1Db250cm9sLCBOZ3BIb3ZlciwgTmdwRm9jdXMsIE5ncFByZXNzLCBOZ3BBdXRvZmlsbF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncElucHV0IGltcGxlbWVudHMgTmdwQ2FuRGlzYWJsZSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBlbGVtZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcbn1cbiJdfQ==
51
+ }], propDecorators: { valueDidChange: [{
52
+ type: HostListener,
53
+ args: ['input']
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9pbnB1dC9zcmMvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFZOUMsTUFBTSxPQUFPLFFBQVE7SUFWckI7UUFXRTs7O1dBR0c7UUFDTSxZQUFPLEdBQUcsTUFBTSxDQUErQixVQUFVLENBQUMsQ0FBQztRQUVwRTs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtZQUN0RCxTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCLENBQUMsQ0FBQztRQUVIOzs7V0FHRztRQUNNLFVBQUssR0FBRyxNQUFNLENBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7S0FNbkU7SUFIVyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7OEdBdkJVLFFBQVE7a0dBQVIsUUFBUSxpUUFOUjtZQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO1lBQ2pELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUU7U0FDckQ7OzJGQUdVLFFBQVE7a0JBVnBCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxVQUFVO29CQUNwQixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsVUFBVSxFQUFFO3dCQUNqRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLFVBQVUsRUFBRTtxQkFDckQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQztpQkFDNUU7OEJBc0JXLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3BBdXRvZmlsbCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvYXV0b2ZpbGwnO1xuaW1wb3J0IHsgTmdwRm9ybUNvbnRyb2wgfSBmcm9tICduZy1wcmltaXRpdmVzL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTmdwRm9jdXMsIE5ncEhvdmVyLCBOZ3BQcmVzcyB9IGZyb20gJ25nLXByaW1pdGl2ZXMvaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IE5ncENhbkRpc2FibGUsIE5ncERpc2FibGVkVG9rZW4gfSBmcm9tICduZy1wcmltaXRpdmVzL2ludGVybmFsJztcbmltcG9ydCB7IE5ncElucHV0VG9rZW4gfSBmcm9tICcuL2lucHV0LnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaW5wdXRbbmdwSW5wdXRdJyxcbiAgZXhwb3J0QXM6ICduZ3BJbnB1dCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTmdwSW5wdXRUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncElucHV0IH0sXG4gICAgeyBwcm92aWRlOiBOZ3BEaXNhYmxlZFRva2VuLCB1c2VFeGlzdGluZzogTmdwSW5wdXQgfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOZ3BGb3JtQ29udHJvbCwgTmdwSG92ZXIsIE5ncEZvY3VzLCBOZ3BQcmVzcywgTmdwQXV0b2ZpbGxdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BJbnB1dCBpbXBsZW1lbnRzIE5ncENhbkRpc2FibGUge1xuICAvKipcbiAgICogQWNjZXNzIHRoZSB1bmRlcmx5aW5nIGlucHV0IGVsZW1lbnQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZWxlbWVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFN5bmMgdGhlIGlucHV0IHZhbHVlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlID0gc2lnbmFsPHN0cmluZz4odGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JylcbiAgcHJvdGVjdGVkIHZhbHVlRGlkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUuc2V0KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ export { NgpSearchField } from './search-field/search-field.directive';
9
+ export { NgpSearchFieldToken } from './search-field/search-field.token';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuZXhwb3J0IHsgTmdwU2VhcmNoRmllbGQgfSBmcm9tICcuL3NlYXJjaC1maWVsZC9zZWFyY2gtZmllbGQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IE5ncFNlYXJjaEZpZWxkVG9rZW4gfSBmcm9tICcuL3NlYXJjaC1maWVsZC9zZWFyY2gtZmllbGQudG9rZW4nO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJpbWl0aXZlcy1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3NlYXJjaC9zcmMvbmctcHJpbWl0aXZlcy1zZWFyY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { computed, contentChild, Directive, HostListener } from '@angular/core';
9
+ import { NgpFormField } from 'ng-primitives/form-field';
10
+ import { NgpInputToken } from 'ng-primitives/input';
11
+ import { NgpSearchFieldToken } from './search-field.token';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "ng-primitives/form-field";
14
+ export class NgpSearchField {
15
+ constructor() {
16
+ /**
17
+ * Access the child input field.
18
+ */
19
+ this.input = contentChild.required(NgpInputToken, { descendants: true });
20
+ /**
21
+ * Whether the input field is empty.
22
+ */
23
+ this.empty = computed(() => this.input().value() === '');
24
+ }
25
+ clear() {
26
+ this.input().element.nativeElement.value = '';
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpSearchField, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.1", type: NgpSearchField, isStandalone: true, selector: "[ngpSearchField]", host: { listeners: { "keydown.escape": "clear()" }, properties: { "attr.data-empty": "empty()" } }, providers: [{ provide: NgpSearchFieldToken, useExisting: NgpSearchField }], queries: [{ propertyName: "input", first: true, predicate: NgpInputToken, descendants: true, isSignal: true }], exportAs: ["ngpSearchField"], hostDirectives: [{ directive: i1.NgpFormField }], ngImport: i0 }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpSearchField, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ standalone: true,
35
+ selector: '[ngpSearchField]',
36
+ exportAs: 'ngpSearchField',
37
+ providers: [{ provide: NgpSearchFieldToken, useExisting: NgpSearchField }],
38
+ hostDirectives: [NgpFormField],
39
+ host: {
40
+ '[attr.data-empty]': 'empty()',
41
+ },
42
+ }]
43
+ }], propDecorators: { clear: [{
44
+ type: HostListener,
45
+ args: ['keydown.escape']
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvc2VhcmNoL3NyYy9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVkzRCxNQUFNLE9BQU8sY0FBYztJQVYzQjtRQVdFOztXQUVHO1FBQ2dCLFVBQUssR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZGOztXQUVHO1FBQ2dCLFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBTXhFO0lBSFcsS0FBSztRQUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDaEQsQ0FBQzs4R0FkVSxjQUFjO2tHQUFkLGNBQWMsbUtBTmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUMsNkRBVXpCLGFBQWE7OzJGQUpuRCxjQUFjO2tCQVYxQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLGdCQUFnQixFQUFFLENBQUM7b0JBQzFFLGNBQWMsRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDOUIsSUFBSSxFQUFFO3dCQUNKLG1CQUFtQixFQUFFLFNBQVM7cUJBQy9CO2lCQUNGOzhCQWFXLEtBQUs7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ncEZvcm1GaWVsZCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBOZ3BJbnB1dFRva2VuIH0gZnJvbSAnbmctcHJpbWl0aXZlcy9pbnB1dCc7XG5pbXBvcnQgeyBOZ3BTZWFyY2hGaWVsZFRva2VuIH0gZnJvbSAnLi9zZWFyY2gtZmllbGQudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbbmdwU2VhcmNoRmllbGRdJyxcbiAgZXhwb3J0QXM6ICduZ3BTZWFyY2hGaWVsZCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmdwU2VhcmNoRmllbGRUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncFNlYXJjaEZpZWxkIH1dLFxuICBob3N0RGlyZWN0aXZlczogW05ncEZvcm1GaWVsZF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1lbXB0eV0nOiAnZW1wdHkoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFNlYXJjaEZpZWxkIHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgY2hpbGQgaW5wdXQgZmllbGQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXQgPSBjb250ZW50Q2hpbGQucmVxdWlyZWQoTmdwSW5wdXRUb2tlbiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgZmllbGQgaXMgZW1wdHkuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1wdHkgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlucHV0KCkudmFsdWUoKSA9PT0gJycpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjYXBlJylcbiAgcHJvdGVjdGVkIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQoKS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { InjectionToken, inject } from '@angular/core';
9
+ export const NgpSearchFieldToken = new InjectionToken('NgpSearchFieldToken');
10
+ /**
11
+ * Inject the SearchField directive instance
12
+ */
13
+ export function injectSearchField() {
14
+ return inject(NgpSearchFieldToken);
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9zZWFyY2gvc3JjL3NlYXJjaC1maWVsZC9zZWFyY2gtZmllbGQudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQWlCLHFCQUFxQixDQUFDLENBQUM7QUFFN0Y7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE5ncFNlYXJjaEZpZWxkIH0gZnJvbSAnLi9zZWFyY2gtZmllbGQuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IE5ncFNlYXJjaEZpZWxkVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TmdwU2VhcmNoRmllbGQ+KCdOZ3BTZWFyY2hGaWVsZFRva2VuJyk7XG5cbi8qKlxuICogSW5qZWN0IHRoZSBTZWFyY2hGaWVsZCBkaXJlY3RpdmUgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFNlYXJjaEZpZWxkKCk6IE5ncFNlYXJjaEZpZWxkIHtcbiAgcmV0dXJuIGluamVjdChOZ3BTZWFyY2hGaWVsZFRva2VuKTtcbn1cbiJdfQ==
@@ -40,7 +40,7 @@ export class NgpTabPanel {
40
40
  this.active = computed(() => this.tabset.selectedTab() === this.value());
41
41
  }
42
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
43
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpTabPanel, isStandalone: true, selector: "[ngpTabPanel]", inputs: { value: { classPropertyName: "value", publicName: "ngpTabPanelValue", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabIndex": "0" }, properties: { "attr.aria-labelledby": "labelledBy()", "attr.data-active": "active()", "attr.data-orientation": "tabset.orientation()", "hidden": "!active()" } }, providers: [{ provide: NgpTabPanelToken, useExisting: NgpTabPanel }], exportAs: ["ngpTabPanel"], ngImport: i0 }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpTabPanel, isStandalone: true, selector: "[ngpTabPanel]", inputs: { value: { classPropertyName: "value", publicName: "ngpTabPanelValue", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabIndex": "0" }, properties: { "attr.aria-labelledby": "labelledBy()", "attr.data-active": "active()", "attr.data-orientation": "tabset.orientation()" } }, providers: [{ provide: NgpTabPanelToken, useExisting: NgpTabPanel }], exportAs: ["ngpTabPanel"], ngImport: i0 }); }
44
44
  }
45
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabPanel, decorators: [{
46
46
  type: Directive,
@@ -55,8 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
55
55
  '[attr.aria-labelledby]': 'labelledBy()',
56
56
  '[attr.data-active]': 'active()',
57
57
  '[attr.data-orientation]': 'tabset.orientation()',
58
- '[hidden]': '!active()',
59
58
  },
60
59
  }]
61
60
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdGFicy9zcmMvdGFiLXBhbmVsL3RhYi1wYW5lbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFnQnJELE1BQU0sT0FBTyxXQUFXO0lBZHhCO1FBZUU7O1dBRUc7UUFDZ0IsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRTNDOztXQUVHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBRXZFOzs7V0FHRztRQUNNLE9BQUUsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUU5Qjs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpGOzs7V0FHRztRQUNNLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbkY7O1dBRUc7UUFDTSxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDOUU7OEdBakNZLFdBQVc7a0dBQVgsV0FBVyx3aEJBVlgsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUM7OzJGQVV6RCxXQUFXO2tCQWR2QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsYUFBYSxFQUFFLENBQUM7b0JBQ3BFLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsUUFBUSxFQUFFLEdBQUc7d0JBQ2Isd0JBQXdCLEVBQUUsY0FBYzt3QkFDeEMsb0JBQW9CLEVBQUUsVUFBVTt3QkFDaEMseUJBQXlCLEVBQUUsc0JBQXNCO3dCQUNqRCxVQUFVLEVBQUUsV0FBVztxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdFRhYnNldCB9IGZyb20gJy4uL3RhYnNldC90YWJzZXQudG9rZW4nO1xuaW1wb3J0IHsgTmdwVGFiUGFuZWxUb2tlbiB9IGZyb20gJy4vdGFiLXBhbmVsLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncFRhYlBhbmVsXScsXG4gIGV4cG9ydEFzOiAnbmdwVGFiUGFuZWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ncFRhYlBhbmVsVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BUYWJQYW5lbCB9XSxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICd0YWJwYW5lbCcsXG4gICAgdGFiSW5kZXg6ICcwJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdsYWJlbGxlZEJ5KCknLFxuICAgICdbYXR0ci5kYXRhLWFjdGl2ZV0nOiAnYWN0aXZlKCknLFxuICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICd0YWJzZXQub3JpZW50YXRpb24oKScsXG4gICAgJ1toaWRkZW5dJzogJyFhY3RpdmUoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFRhYlBhbmVsIHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgdGFic2V0XG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFic2V0ID0gaW5qZWN0VGFic2V0KCk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgdGFiXG4gICAqL1xuICByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oeyBhbGlhczogJ25ncFRhYlBhbmVsVmFsdWUnIH0pO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgdGhlIGlkIG9mIHRoZSB0YWIgcGFuZWxcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGEgdW5pcXVlIGlkIGZvciB0aGUgdGFiIHBhbmVsIGlmIG5vdCBwcm92aWRlZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMudGFic2V0LmlkKCl9LXBhbmVsLSR7dGhpcy52YWx1ZSgpfWApO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgdGhlIGFyaWEtbGFiZWxsZWRieSBvZiB0aGUgdGFiIHBhbmVsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgbGFiZWxsZWRCeSA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMudGFic2V0LmlkKCl9LWJ1dHRvbi0ke3RoaXMudmFsdWUoKX1gKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdGFiIGlzIGFjdGl2ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aXZlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50YWJzZXQuc2VsZWN0ZWRUYWIoKSA9PT0gdGhpcy52YWx1ZSgpKTtcbn1cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvdGFicy9zcmMvdGFiLXBhbmVsL3RhYi1wYW5lbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFlckQsTUFBTSxPQUFPLFdBQVc7SUFieEI7UUFjRTs7V0FFRztRQUNnQixXQUFNLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFFM0M7O1dBRUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFFdkU7OztXQUdHO1FBQ00sT0FBRSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRTlCOzs7V0FHRztRQUNNLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakY7OztXQUdHO1FBQ00sZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVuRjs7V0FFRztRQUNNLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUM5RTs4R0FqQ1ksV0FBVztrR0FBWCxXQUFXLGlnQkFUWCxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQzs7MkZBU3pELFdBQVc7a0JBYnZCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxhQUFhLEVBQUUsQ0FBQztvQkFDcEUsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxVQUFVO3dCQUNoQixRQUFRLEVBQUUsR0FBRzt3QkFDYix3QkFBd0IsRUFBRSxjQUFjO3dCQUN4QyxvQkFBb0IsRUFBRSxVQUFVO3dCQUNoQyx5QkFBeUIsRUFBRSxzQkFBc0I7cUJBQ2xEO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RUYWJzZXQgfSBmcm9tICcuLi90YWJzZXQvdGFic2V0LnRva2VuJztcbmltcG9ydCB7IE5ncFRhYlBhbmVsVG9rZW4gfSBmcm9tICcuL3RhYi1wYW5lbC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BUYWJQYW5lbF0nLFxuICBleHBvcnRBczogJ25ncFRhYlBhbmVsJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOZ3BUYWJQYW5lbFRva2VuLCB1c2VFeGlzdGluZzogTmdwVGFiUGFuZWwgfV0sXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAndGFicGFuZWwnLFxuICAgIHRhYkluZGV4OiAnMCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbGFiZWxsZWRCeSgpJyxcbiAgICAnW2F0dHIuZGF0YS1hY3RpdmVdJzogJ2FjdGl2ZSgpJyxcbiAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAndGFic2V0Lm9yaWVudGF0aW9uKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BUYWJQYW5lbCB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHRhYnNldFxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYnNldCA9IGluamVjdFRhYnNldCgpO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHRhYlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KHsgYWxpYXM6ICduZ3BUYWJQYW5lbFZhbHVlJyB9KTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBpZCBvZiB0aGUgdGFiIHBhbmVsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSBhIHVuaXF1ZSBpZCBmb3IgdGhlIHRhYiBwYW5lbCBpZiBub3QgcHJvdmlkZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0SWQgPSBjb21wdXRlZCgoKSA9PiBgJHt0aGlzLnRhYnNldC5pZCgpfS1wYW5lbC0ke3RoaXMudmFsdWUoKX1gKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBhcmlhLWxhYmVsbGVkYnkgb2YgdGhlIHRhYiBwYW5lbFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVsbGVkQnkgPSBjb21wdXRlZCgoKSA9PiBgJHt0aGlzLnRhYnNldC5pZCgpfS1idXR0b24tJHt0aGlzLnZhbHVlKCl9YCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhYiBpcyBhY3RpdmVcbiAgICovXG4gIHJlYWRvbmx5IGFjdGl2ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGFic2V0LnNlbGVjdGVkVGFiKCkgPT09IHRoaXMudmFsdWUoKSk7XG59XG4iXX0=
@@ -79,7 +79,7 @@ class NgpAccordionContent {
79
79
  this.dimensions = injectDimensions();
80
80
  }
81
81
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpAccordionContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpAccordionContent, isStandalone: true, selector: "[ngpAccordionContent]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "id": "id()", "attr.data-orientation": "accordion.orientation()", "attr.data-open": "accordionItem.open()", "attr.aria-labelledby": "accordionItem.triggerId()", "style.--ngp-accordion-content-width.px": "dimensions().width", "style.--ngp-accordion-content-height.px": "dimensions().height", "hidden": "!accordionItem.open() && dimensions().mounted ? true : null" } }, providers: [{ provide: NgpAccordionContentToken, useExisting: NgpAccordionContent }], exportAs: ["ngpAccordionContent"], ngImport: i0 }); }
82
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpAccordionContent, isStandalone: true, selector: "[ngpAccordionContent]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "id": "id()", "attr.data-orientation": "accordion.orientation()", "attr.data-open": "dimensions().mounted ? accordionItem.open() : null", "attr.aria-labelledby": "accordionItem.triggerId()", "style.--ngp-accordion-content-width.px": "dimensions().width", "style.--ngp-accordion-content-height.px": "dimensions().height" } }, providers: [{ provide: NgpAccordionContentToken, useExisting: NgpAccordionContent }], exportAs: ["ngpAccordionContent"], ngImport: i0 }); }
83
83
  }
84
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpAccordionContent, decorators: [{
85
85
  type: Directive,
@@ -92,11 +92,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
92
92
  role: 'region',
93
93
  '[id]': 'id()',
94
94
  '[attr.data-orientation]': 'accordion.orientation()',
95
- '[attr.data-open]': 'accordionItem.open()',
95
+ '[attr.data-open]': 'dimensions().mounted ? accordionItem.open() : null',
96
96
  '[attr.aria-labelledby]': 'accordionItem.triggerId()',
97
97
  '[style.--ngp-accordion-content-width.px]': 'dimensions().width',
98
98
  '[style.--ngp-accordion-content-height.px]': 'dimensions().height',
99
- '[hidden]': '!accordionItem.open() && dimensions().mounted ? true : null',
100
99
  },
101
100
  }]
102
101
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-primitives-accordion.mjs","sources":["../../../../packages/ng-primitives/accordion/src/accordion-item/accordion-item.token.ts","../../../../packages/ng-primitives/accordion/src/accordion/accordion.token.ts","../../../../packages/ng-primitives/accordion/src/accordion-content/accordion-content.token.ts","../../../../packages/ng-primitives/accordion/src/accordion-content/accordion-content.directive.ts","../../../../packages/ng-primitives/accordion/src/accordion-trigger/accordion-trigger.token.ts","../../../../packages/ng-primitives/accordion/src/accordion-item/accordion-item.directive.ts","../../../../packages/ng-primitives/accordion/src/accordion-trigger/accordion-trigger.directive.ts","../../../../packages/ng-primitives/accordion/src/config/accordion.config.ts","../../../../packages/ng-primitives/accordion/src/accordion/accordion.directive.ts","../../../../packages/ng-primitives/accordion/src/index.ts","../../../../packages/ng-primitives/accordion/src/ng-primitives-accordion.ts"],"sourcesContent":["/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpAccordionItem } from './accordion-item.directive';\n\nexport const NgpAccordionItemToken = new InjectionToken<NgpAccordionItem<unknown>>(\n 'NgpAccordionItemToken',\n);\n\n/**\n * Inject the AccordionItem directive instance\n * @returns The AccordionItem directive instance\n */\nexport function injectAccordionItem<T>(): NgpAccordionItem<T> {\n return inject(NgpAccordionItemToken) as NgpAccordionItem<T>;\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpAccordion } from './accordion.directive';\n\nexport const NgpAccordionToken = new InjectionToken<NgpAccordion<unknown>>('NgpAccordionToken');\n\n/**\n * Inject the Accordion directive instance\n * @returns The Accordion directive instance\n */\nexport function injectAccordion<T>(): NgpAccordion<T> {\n return inject(NgpAccordionToken) as NgpAccordion<T>;\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpAccordionContent } from './accordion-content.directive';\n\nexport const NgpAccordionContentToken = new InjectionToken<NgpAccordionContent>(\n 'NgpAccordionContentToken',\n);\n\n/**\n * Inject the AccordionContent directive instance\n * @returns The AccordionContent directive instance\n */\nexport function injectAccordionContent(): NgpAccordionContent {\n return inject(NgpAccordionContentToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive, input } from '@angular/core';\nimport { injectDimensions, uniqueId } from 'ng-primitives/utils';\nimport { injectAccordionItem } from '../accordion-item/accordion-item.token';\nimport { injectAccordion } from '../accordion/accordion.token';\nimport { NgpAccordionContentToken } from './accordion-content.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpAccordionContent]',\n exportAs: 'ngpAccordionContent',\n providers: [{ provide: NgpAccordionContentToken, useExisting: NgpAccordionContent }],\n host: {\n role: 'region',\n '[id]': 'id()',\n '[attr.data-orientation]': 'accordion.orientation()',\n '[attr.data-open]': 'accordionItem.open()',\n '[attr.aria-labelledby]': 'accordionItem.triggerId()',\n '[style.--ngp-accordion-content-width.px]': 'dimensions().width',\n '[style.--ngp-accordion-content-height.px]': 'dimensions().height',\n '[hidden]': '!accordionItem.open() && dimensions().mounted ? true : null',\n },\n})\nexport class NgpAccordionContent {\n /**\n * Access the accordion\n */\n protected readonly accordion = injectAccordion();\n\n /**\n * Access the accordion item\n */\n protected readonly accordionItem = injectAccordionItem();\n\n /**\n * The id of the content region\n */\n readonly id = input<string>(uniqueId('ngp-accordion-content'));\n\n /**\n * The size of the content region\n */\n protected readonly dimensions = injectDimensions();\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpAccordionTrigger } from './accordion-trigger.directive';\n\nexport const NgpAccordionTriggerToken = new InjectionToken<NgpAccordionTrigger>(\n 'NgpAccordionTriggerToken',\n);\n\n/**\n * Inject the AccordionTrigger directive instance\n * @returns The AccordionTrigger directive instance\n */\nexport function injectAccordionTrigger(): NgpAccordionTrigger {\n return inject(NgpAccordionTriggerToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, booleanAttribute, computed, contentChild, input } from '@angular/core';\nimport { NgpAccordionContentToken } from '../accordion-content/accordion-content.token';\nimport { NgpAccordionTriggerToken } from '../accordion-trigger/accordion-trigger.token';\nimport { injectAccordion } from '../accordion/accordion.token';\nimport { NgpAccordionItemToken } from './accordion-item.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpAccordionItem]',\n exportAs: 'ngpAccordionItem',\n providers: [{ provide: NgpAccordionItemToken, useExisting: NgpAccordionItem }],\n host: {\n '[attr.data-orientation]': 'accordion.orientation()',\n '[attr.data-open]': 'open()',\n '[attr.data-disabled]': 'disabled() || accordion.disabled()',\n },\n})\nexport class NgpAccordionItem<T> {\n /**\n * Access the accordion.\n */\n protected readonly accordion = injectAccordion();\n\n /**\n * The value of the accordion item.\n */\n readonly value = input.required<T>({\n alias: 'ngpAccordionItemValue',\n });\n\n /**\n * Whether the accordion item is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpAccordionItemDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * Access the accordion trigger\n */\n private readonly trigger = contentChild(NgpAccordionTriggerToken);\n\n /**\n * Access the accordion content\n */\n private readonly content = contentChild(NgpAccordionContentToken);\n\n /**\n * Whether the accordion item is expanded.\n */\n readonly open = computed<boolean>(() => this.accordion.isOpen(this.value()));\n\n /**\n * The trigger id.\n */\n readonly triggerId = computed(() => this.trigger()?.id());\n\n /**\n * The content id.\n */\n readonly contentId = computed(() => this.content()?.id());\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive, HostListener, input } from '@angular/core';\nimport { NgpFocusVisible, NgpHover, NgpPress } from 'ng-primitives/interactions';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectAccordionItem } from '../accordion-item/accordion-item.token';\nimport { injectAccordion } from '../accordion/accordion.token';\nimport { NgpAccordionTriggerToken } from './accordion-trigger.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpAccordionTrigger]',\n exportAs: 'ngpAccordionTrigger',\n providers: [{ provide: NgpAccordionTriggerToken, useExisting: NgpAccordionTrigger }],\n hostDirectives: [NgpHover, NgpPress, NgpFocusVisible],\n host: {\n '[id]': 'id()',\n '[attr.data-orientation]': 'accordion.orientation()',\n '[attr.data-open]': 'item.open()',\n '[attr.data-disabled]': 'item.disabled() || accordion.disabled()',\n '[attr.aria-controls]': 'item.contentId()',\n '[attr.aria-expanded]': 'item.open()',\n },\n})\nexport class NgpAccordionTrigger {\n /**\n * Access the parent accordion.\n */\n protected readonly accordion = injectAccordion();\n\n /**\n * The item instance.\n */\n protected readonly item = injectAccordionItem();\n\n /**\n * The id of the trigger.\n */\n readonly id = input<string>(uniqueId('ngp-accordion-trigger'));\n\n /**\n * Toggle the accordion item.\n */\n @HostListener('click')\n toggle(): void {\n if (this.item.disabled() || this.accordion.disabled()) {\n return;\n }\n\n this.accordion.toggle(this.item.value());\n }\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, Provider, inject } from '@angular/core';\nimport { NgpAccordionType } from '../accordion/accordion.directive';\n\nexport interface NgpAccordionConfig {\n /**\n * The default type of the accordion\n * @default 'single'\n */\n type: NgpAccordionType;\n /**\n * Whether the accordion is collapsible\n * @default false\n */\n collapsible: boolean;\n /**\n * The default orientation of the accordion\n * @default 'vertical'\n */\n orientation: 'vertical' | 'horizontal';\n}\n\nexport const defaultAccordionConfig: NgpAccordionConfig = {\n type: 'single',\n collapsible: false,\n orientation: 'vertical',\n};\n\nexport const NgpAccordionConfigToken = new InjectionToken<NgpAccordionConfig>(\n 'NgpAccordionConfigToken',\n);\n\n/**\n * Provide the default Accordion configuration\n * @param config The Accordion configuration\n * @returns The provider\n */\nexport function provideAccordionConfig(config: Partial<NgpAccordionConfig>): Provider[] {\n return [\n {\n provide: NgpAccordionConfigToken,\n useValue: { ...defaultAccordionConfig, ...config },\n },\n ];\n}\n\n/**\n * Inject the Accordion configuration\n * @returns The global Accordion configuration\n */\nexport function injectAccordionConfig(): NgpAccordionConfig {\n return inject(NgpAccordionConfigToken, { optional: true }) ?? defaultAccordionConfig;\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, booleanAttribute, input, model } from '@angular/core';\nimport { injectAccordionConfig } from '../config/accordion.config';\nimport { NgpAccordionToken } from './accordion.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpAccordion]',\n exportAs: 'ngpAccordion',\n providers: [{ provide: NgpAccordionToken, useExisting: NgpAccordion }],\n host: {\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-disabled]': 'disabled()',\n },\n})\nexport class NgpAccordion<T> {\n /**\n * Access the global accordion configuration.\n */\n private readonly config = injectAccordionConfig();\n\n /**\n * The type of the accordion.\n */\n readonly type = input<NgpAccordionType>(this.config.type, {\n alias: 'ngpAccordionType',\n });\n\n /**\n * Whether the accordion is collapsible.\n */\n readonly collapsible = input<boolean, BooleanInput>(this.config.collapsible, {\n alias: 'ngpAccordionCollapsible',\n transform: booleanAttribute,\n });\n\n /**\n * The value of the accordion.\n */\n readonly value = model<T | T[] | null>(null, {\n alias: 'ngpAccordionValue',\n });\n\n /**\n * Whether the accordion is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpAccordionDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The accordion orientation.\n */\n readonly orientation = input<'horizontal' | 'vertical'>(this.config.orientation, {\n alias: 'ngpAccordionOrientation',\n });\n\n /**\n * @param value The value to check.\n * @returns Whether the value is open.\n * @internal\n */\n isOpen(value: T): boolean {\n if (this.type() === 'multiple') {\n return (this.value() as T[] | null)?.includes(value) ?? false;\n }\n\n return this.value() === value;\n }\n\n toggle(value: T): void {\n const isOpen = this.isOpen(value);\n\n // if we are in single mode and the value is already open and the accordion is not collapsible, do nothing\n if (this.type() === 'single' && isOpen && !this.collapsible()) {\n return;\n }\n\n // if we are in single mode then toggle the value\n if (this.type() === 'single') {\n this.value.set(isOpen ? null : value);\n return;\n }\n\n // if we are in multiple mode then toggle the value\n const values = (this.value() as T[]) ?? [];\n\n if (isOpen) {\n this.value.set(values.filter(v => v !== value));\n } else {\n this.value.set([...values, value]);\n }\n }\n}\n\nexport type NgpAccordionType = 'single' | 'multiple';\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { NgpAccordionContent } from './accordion-content/accordion-content.directive';\nexport { NgpAccordionContentToken } from './accordion-content/accordion-content.token';\nexport { NgpAccordionItem } from './accordion-item/accordion-item.directive';\nexport { NgpAccordionItemToken } from './accordion-item/accordion-item.token';\nexport { NgpAccordionTrigger } from './accordion-trigger/accordion-trigger.directive';\nexport { NgpAccordionTriggerToken } from './accordion-trigger/accordion-trigger.token';\nexport { NgpAccordion } from './accordion/accordion.directive';\nexport { NgpAccordionToken } from './accordion/accordion.token';\nexport { NgpAccordionConfig, provideAccordionConfig } from './config/accordion.config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-primitives-accordion.mjs","sources":["../../../../packages/ng-primitives/accordion/src/accordion-item/accordion-item.token.ts","../../../../packages/ng-primitives/accordion/src/accordion/accordion.token.ts","../../../../packages/ng-primitives/accordion/src/accordion-content/accordion-content.token.ts","../../../../packages/ng-primitives/accordion/src/accordion-content/accordion-content.directive.ts","../../../../packages/ng-primitives/accordion/src/accordion-trigger/accordion-trigger.token.ts","../../../../packages/ng-primitives/accordion/src/accordion-item/accordion-item.directive.ts","../../../../packages/ng-primitives/accordion/src/accordion-trigger/accordion-trigger.directive.ts","../../../../packages/ng-primitives/accordion/src/config/accordion.config.ts","../../../../packages/ng-primitives/accordion/src/accordion/accordion.directive.ts","../../../../packages/ng-primitives/accordion/src/index.ts","../../../../packages/ng-primitives/accordion/src/ng-primitives-accordion.ts"],"sourcesContent":["/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpAccordionItem } from './accordion-item.directive';\n\nexport const NgpAccordionItemToken = new InjectionToken<NgpAccordionItem<unknown>>(\n 'NgpAccordionItemToken',\n);\n\n/**\n * Inject the AccordionItem directive instance\n * @returns The AccordionItem directive instance\n */\nexport function injectAccordionItem<T>(): NgpAccordionItem<T> {\n return inject(NgpAccordionItemToken) as NgpAccordionItem<T>;\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpAccordion } from './accordion.directive';\n\nexport const NgpAccordionToken = new InjectionToken<NgpAccordion<unknown>>('NgpAccordionToken');\n\n/**\n * Inject the Accordion directive instance\n * @returns The Accordion directive instance\n */\nexport function injectAccordion<T>(): NgpAccordion<T> {\n return inject(NgpAccordionToken) as NgpAccordion<T>;\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpAccordionContent } from './accordion-content.directive';\n\nexport const NgpAccordionContentToken = new InjectionToken<NgpAccordionContent>(\n 'NgpAccordionContentToken',\n);\n\n/**\n * Inject the AccordionContent directive instance\n * @returns The AccordionContent directive instance\n */\nexport function injectAccordionContent(): NgpAccordionContent {\n return inject(NgpAccordionContentToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive, input } from '@angular/core';\nimport { injectDimensions, uniqueId } from 'ng-primitives/utils';\nimport { injectAccordionItem } from '../accordion-item/accordion-item.token';\nimport { injectAccordion } from '../accordion/accordion.token';\nimport { NgpAccordionContentToken } from './accordion-content.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpAccordionContent]',\n exportAs: 'ngpAccordionContent',\n providers: [{ provide: NgpAccordionContentToken, useExisting: NgpAccordionContent }],\n host: {\n role: 'region',\n '[id]': 'id()',\n '[attr.data-orientation]': 'accordion.orientation()',\n '[attr.data-open]': 'dimensions().mounted ? accordionItem.open() : null',\n '[attr.aria-labelledby]': 'accordionItem.triggerId()',\n '[style.--ngp-accordion-content-width.px]': 'dimensions().width',\n '[style.--ngp-accordion-content-height.px]': 'dimensions().height',\n },\n})\nexport class NgpAccordionContent {\n /**\n * Access the accordion\n */\n protected readonly accordion = injectAccordion();\n\n /**\n * Access the accordion item\n */\n protected readonly accordionItem = injectAccordionItem();\n\n /**\n * The id of the content region\n */\n readonly id = input<string>(uniqueId('ngp-accordion-content'));\n\n /**\n * The size of the content region\n */\n protected readonly dimensions = injectDimensions();\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpAccordionTrigger } from './accordion-trigger.directive';\n\nexport const NgpAccordionTriggerToken = new InjectionToken<NgpAccordionTrigger>(\n 'NgpAccordionTriggerToken',\n);\n\n/**\n * Inject the AccordionTrigger directive instance\n * @returns The AccordionTrigger directive instance\n */\nexport function injectAccordionTrigger(): NgpAccordionTrigger {\n return inject(NgpAccordionTriggerToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, booleanAttribute, computed, contentChild, input } from '@angular/core';\nimport { NgpAccordionContentToken } from '../accordion-content/accordion-content.token';\nimport { NgpAccordionTriggerToken } from '../accordion-trigger/accordion-trigger.token';\nimport { injectAccordion } from '../accordion/accordion.token';\nimport { NgpAccordionItemToken } from './accordion-item.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpAccordionItem]',\n exportAs: 'ngpAccordionItem',\n providers: [{ provide: NgpAccordionItemToken, useExisting: NgpAccordionItem }],\n host: {\n '[attr.data-orientation]': 'accordion.orientation()',\n '[attr.data-open]': 'open()',\n '[attr.data-disabled]': 'disabled() || accordion.disabled()',\n },\n})\nexport class NgpAccordionItem<T> {\n /**\n * Access the accordion.\n */\n protected readonly accordion = injectAccordion();\n\n /**\n * The value of the accordion item.\n */\n readonly value = input.required<T>({\n alias: 'ngpAccordionItemValue',\n });\n\n /**\n * Whether the accordion item is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpAccordionItemDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * Access the accordion trigger\n */\n private readonly trigger = contentChild(NgpAccordionTriggerToken);\n\n /**\n * Access the accordion content\n */\n private readonly content = contentChild(NgpAccordionContentToken);\n\n /**\n * Whether the accordion item is expanded.\n */\n readonly open = computed<boolean>(() => this.accordion.isOpen(this.value()));\n\n /**\n * The trigger id.\n */\n readonly triggerId = computed(() => this.trigger()?.id());\n\n /**\n * The content id.\n */\n readonly contentId = computed(() => this.content()?.id());\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive, HostListener, input } from '@angular/core';\nimport { NgpFocusVisible, NgpHover, NgpPress } from 'ng-primitives/interactions';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectAccordionItem } from '../accordion-item/accordion-item.token';\nimport { injectAccordion } from '../accordion/accordion.token';\nimport { NgpAccordionTriggerToken } from './accordion-trigger.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpAccordionTrigger]',\n exportAs: 'ngpAccordionTrigger',\n providers: [{ provide: NgpAccordionTriggerToken, useExisting: NgpAccordionTrigger }],\n hostDirectives: [NgpHover, NgpPress, NgpFocusVisible],\n host: {\n '[id]': 'id()',\n '[attr.data-orientation]': 'accordion.orientation()',\n '[attr.data-open]': 'item.open()',\n '[attr.data-disabled]': 'item.disabled() || accordion.disabled()',\n '[attr.aria-controls]': 'item.contentId()',\n '[attr.aria-expanded]': 'item.open()',\n },\n})\nexport class NgpAccordionTrigger {\n /**\n * Access the parent accordion.\n */\n protected readonly accordion = injectAccordion();\n\n /**\n * The item instance.\n */\n protected readonly item = injectAccordionItem();\n\n /**\n * The id of the trigger.\n */\n readonly id = input<string>(uniqueId('ngp-accordion-trigger'));\n\n /**\n * Toggle the accordion item.\n */\n @HostListener('click')\n toggle(): void {\n if (this.item.disabled() || this.accordion.disabled()) {\n return;\n }\n\n this.accordion.toggle(this.item.value());\n }\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, Provider, inject } from '@angular/core';\nimport { NgpAccordionType } from '../accordion/accordion.directive';\n\nexport interface NgpAccordionConfig {\n /**\n * The default type of the accordion\n * @default 'single'\n */\n type: NgpAccordionType;\n /**\n * Whether the accordion is collapsible\n * @default false\n */\n collapsible: boolean;\n /**\n * The default orientation of the accordion\n * @default 'vertical'\n */\n orientation: 'vertical' | 'horizontal';\n}\n\nexport const defaultAccordionConfig: NgpAccordionConfig = {\n type: 'single',\n collapsible: false,\n orientation: 'vertical',\n};\n\nexport const NgpAccordionConfigToken = new InjectionToken<NgpAccordionConfig>(\n 'NgpAccordionConfigToken',\n);\n\n/**\n * Provide the default Accordion configuration\n * @param config The Accordion configuration\n * @returns The provider\n */\nexport function provideAccordionConfig(config: Partial<NgpAccordionConfig>): Provider[] {\n return [\n {\n provide: NgpAccordionConfigToken,\n useValue: { ...defaultAccordionConfig, ...config },\n },\n ];\n}\n\n/**\n * Inject the Accordion configuration\n * @returns The global Accordion configuration\n */\nexport function injectAccordionConfig(): NgpAccordionConfig {\n return inject(NgpAccordionConfigToken, { optional: true }) ?? defaultAccordionConfig;\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, booleanAttribute, input, model } from '@angular/core';\nimport { injectAccordionConfig } from '../config/accordion.config';\nimport { NgpAccordionToken } from './accordion.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpAccordion]',\n exportAs: 'ngpAccordion',\n providers: [{ provide: NgpAccordionToken, useExisting: NgpAccordion }],\n host: {\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-disabled]': 'disabled()',\n },\n})\nexport class NgpAccordion<T> {\n /**\n * Access the global accordion configuration.\n */\n private readonly config = injectAccordionConfig();\n\n /**\n * The type of the accordion.\n */\n readonly type = input<NgpAccordionType>(this.config.type, {\n alias: 'ngpAccordionType',\n });\n\n /**\n * Whether the accordion is collapsible.\n */\n readonly collapsible = input<boolean, BooleanInput>(this.config.collapsible, {\n alias: 'ngpAccordionCollapsible',\n transform: booleanAttribute,\n });\n\n /**\n * The value of the accordion.\n */\n readonly value = model<T | T[] | null>(null, {\n alias: 'ngpAccordionValue',\n });\n\n /**\n * Whether the accordion is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpAccordionDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The accordion orientation.\n */\n readonly orientation = input<'horizontal' | 'vertical'>(this.config.orientation, {\n alias: 'ngpAccordionOrientation',\n });\n\n /**\n * @param value The value to check.\n * @returns Whether the value is open.\n * @internal\n */\n isOpen(value: T): boolean {\n if (this.type() === 'multiple') {\n return (this.value() as T[] | null)?.includes(value) ?? false;\n }\n\n return this.value() === value;\n }\n\n toggle(value: T): void {\n const isOpen = this.isOpen(value);\n\n // if we are in single mode and the value is already open and the accordion is not collapsible, do nothing\n if (this.type() === 'single' && isOpen && !this.collapsible()) {\n return;\n }\n\n // if we are in single mode then toggle the value\n if (this.type() === 'single') {\n this.value.set(isOpen ? null : value);\n return;\n }\n\n // if we are in multiple mode then toggle the value\n const values = (this.value() as T[]) ?? [];\n\n if (isOpen) {\n this.value.set(values.filter(v => v !== value));\n } else {\n this.value.set([...values, value]);\n }\n }\n}\n\nexport type NgpAccordionType = 'single' | 'multiple';\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { NgpAccordionContent } from './accordion-content/accordion-content.directive';\nexport { NgpAccordionContentToken } from './accordion-content/accordion-content.token';\nexport { NgpAccordionItem } from './accordion-item/accordion-item.directive';\nexport { NgpAccordionItemToken } from './accordion-item/accordion-item.token';\nexport { NgpAccordionTrigger } from './accordion-trigger/accordion-trigger.directive';\nexport { NgpAccordionTriggerToken } from './accordion-trigger/accordion-trigger.token';\nexport { NgpAccordion } from './accordion/accordion.directive';\nexport { NgpAccordionToken } from './accordion/accordion.token';\nexport { NgpAccordionConfig, provideAccordionConfig } from './config/accordion.config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, input, booleanAttribute, Directive } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, input, booleanAttribute, signal, Directive, HostListener } from '@angular/core';
3
3
  import * as i3 from 'ng-primitives/autofill';
4
4
  import { NgpAutofill } from 'ng-primitives/autofill';
5
5
  import * as i1 from 'ng-primitives/form-field';
@@ -25,15 +25,28 @@ function injectInput() {
25
25
 
26
26
  class NgpInput {
27
27
  constructor() {
28
+ /**
29
+ * Access the underlying input element.
30
+ * @internal
31
+ */
32
+ this.element = inject(ElementRef);
28
33
  /**
29
34
  * Whether the element is disabled.
30
35
  */
31
36
  this.disabled = input(false, {
32
37
  transform: booleanAttribute,
33
38
  });
39
+ /**
40
+ * Sync the input value.
41
+ * @internal
42
+ */
43
+ this.value = signal(this.element.nativeElement.value);
44
+ }
45
+ valueDidChange() {
46
+ this.value.set(this.element.nativeElement.value);
34
47
  }
35
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpInput, isStandalone: true, selector: "[ngpInput]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpInput, isStandalone: true, selector: "input[ngpInput]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "valueDidChange()" } }, providers: [
37
50
  { provide: NgpInputToken, useExisting: NgpInput },
38
51
  { provide: NgpDisabledToken, useExisting: NgpInput },
39
52
  ], exportAs: ["ngpInput"], hostDirectives: [{ directive: i1.NgpFormControl }, { directive: i2.NgpHover }, { directive: i2.NgpFocus }, { directive: i2.NgpPress }, { directive: i3.NgpAutofill }], ngImport: i0 }); }
@@ -42,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
42
55
  type: Directive,
43
56
  args: [{
44
57
  standalone: true,
45
- selector: '[ngpInput]',
58
+ selector: 'input[ngpInput]',
46
59
  exportAs: 'ngpInput',
47
60
  providers: [
48
61
  { provide: NgpInputToken, useExisting: NgpInput },
@@ -50,7 +63,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
50
63
  ],
51
64
  hostDirectives: [NgpFormControl, NgpHover, NgpFocus, NgpPress, NgpAutofill],
52
65
  }]
53
- }] });
66
+ }], propDecorators: { valueDidChange: [{
67
+ type: HostListener,
68
+ args: ['input']
69
+ }] } });
54
70
 
55
71
  /**
56
72
  * Copyright © 2024 Angular Primitives.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-primitives-input.mjs","sources":["../../../../packages/ng-primitives/input/src/input/input.token.ts","../../../../packages/ng-primitives/input/src/input/input.directive.ts","../../../../packages/ng-primitives/input/src/index.ts","../../../../packages/ng-primitives/input/src/ng-primitives-input.ts"],"sourcesContent":["/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpInput } from './input.directive';\n\nexport const NgpInputToken = new InjectionToken<NgpInput>('NgpInputToken');\n\n/**\n * Inject the Input directive instance\n */\nexport function injectInput(): NgpInput {\n return inject(NgpInputToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { NgpAutofill } from 'ng-primitives/autofill';\nimport { NgpFormControl } from 'ng-primitives/form-field';\nimport { NgpFocus, NgpHover, NgpPress } from 'ng-primitives/interactions';\nimport { NgpCanDisable, NgpDisabledToken } from 'ng-primitives/internal';\nimport { NgpInputToken } from './input.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpInput]',\n exportAs: 'ngpInput',\n providers: [\n { provide: NgpInputToken, useExisting: NgpInput },\n { provide: NgpDisabledToken, useExisting: NgpInput },\n ],\n hostDirectives: [NgpFormControl, NgpHover, NgpFocus, NgpPress, NgpAutofill],\n})\nexport class NgpInput implements NgpCanDisable {\n /**\n * Whether the element is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { NgpInput } from './input/input.directive';\nexport { NgpInputToken } from './input/input.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;;AAMG;MAIU,aAAa,GAAG,IAAI,cAAc,CAAW,eAAe,EAAE;AAE3E;;AAEG;SACa,WAAW,GAAA;AACzB,IAAA,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/B;;MCQa,QAAQ,CAAA;AAVrB,IAAA,WAAA,GAAA;AAWE;;AAEG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAwB,KAAK,EAAE;AACtD,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAC,CAAC;AACJ,KAAA;8GAPY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EANR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE;AACjD,YAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE;AACrD,SAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAGU,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAVpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,UAAU,EAAE;AACjD,wBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,UAAU,EAAE;AACrD,qBAAA;oBACD,cAAc,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;AAC5E,iBAAA,CAAA;;;ACxBD;;;;;;AAMG;;ACNH;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-primitives-input.mjs","sources":["../../../../packages/ng-primitives/input/src/input/input.token.ts","../../../../packages/ng-primitives/input/src/input/input.directive.ts","../../../../packages/ng-primitives/input/src/index.ts","../../../../packages/ng-primitives/input/src/ng-primitives-input.ts"],"sourcesContent":["/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpInput } from './input.directive';\n\nexport const NgpInputToken = new InjectionToken<NgpInput>('NgpInputToken');\n\n/**\n * Inject the Input directive instance\n */\nexport function injectInput(): NgpInput {\n return inject(NgpInputToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n Directive,\n ElementRef,\n HostListener,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { NgpAutofill } from 'ng-primitives/autofill';\nimport { NgpFormControl } from 'ng-primitives/form-field';\nimport { NgpFocus, NgpHover, NgpPress } from 'ng-primitives/interactions';\nimport { NgpCanDisable, NgpDisabledToken } from 'ng-primitives/internal';\nimport { NgpInputToken } from './input.token';\n\n@Directive({\n standalone: true,\n selector: 'input[ngpInput]',\n exportAs: 'ngpInput',\n providers: [\n { provide: NgpInputToken, useExisting: NgpInput },\n { provide: NgpDisabledToken, useExisting: NgpInput },\n ],\n hostDirectives: [NgpFormControl, NgpHover, NgpFocus, NgpPress, NgpAutofill],\n})\nexport class NgpInput implements NgpCanDisable {\n /**\n * Access the underlying input element.\n * @internal\n */\n readonly element = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n /**\n * Whether the element is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /**\n * Sync the input value.\n * @internal\n */\n readonly value = signal<string>(this.element.nativeElement.value);\n\n @HostListener('input')\n protected valueDidChange(): void {\n this.value.set(this.element.nativeElement.value);\n }\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { NgpInput } from './input/input.directive';\nexport { NgpInputToken } from './input/input.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;;AAMG;MAIU,aAAa,GAAG,IAAI,cAAc,CAAW,eAAe,EAAE;AAE3E;;AAEG;SACa,WAAW,GAAA;AACzB,IAAA,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/B;;MCgBa,QAAQ,CAAA;AAVrB,IAAA,WAAA,GAAA;AAWE;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA+B,UAAU,CAAC,CAAC;AAEpE;;AAEG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAwB,KAAK,EAAE;AACtD,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAC,CAAC;AAEH;;;AAGG;QACM,IAAK,CAAA,KAAA,GAAG,MAAM,CAAS,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAMnE,KAAA;IAHW,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAClD;8GAvBU,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EANR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE;AACjD,YAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE;AACrD,SAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAGU,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAVpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,UAAU,EAAE;AACjD,wBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,UAAU,EAAE;AACrD,qBAAA;oBACD,cAAc,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;AAC5E,iBAAA,CAAA;8BAsBW,cAAc,EAAA,CAAA;sBADvB,YAAY;uBAAC,OAAO,CAAA;;;ACrDvB;;;;;;AAMG;;ACNH;;AAEG;;;;"}
@@ -0,0 +1,76 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, contentChild, computed, Directive, HostListener } from '@angular/core';
3
+ import * as i1 from 'ng-primitives/form-field';
4
+ import { NgpFormField } from 'ng-primitives/form-field';
5
+ import { NgpInputToken } from 'ng-primitives/input';
6
+
7
+ /**
8
+ * Copyright © 2024 Angular Primitives.
9
+ * https://github.com/ng-primitives/ng-primitives
10
+ *
11
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ */
14
+ const NgpSearchFieldToken = new InjectionToken('NgpSearchFieldToken');
15
+ /**
16
+ * Inject the SearchField directive instance
17
+ */
18
+ function injectSearchField() {
19
+ return inject(NgpSearchFieldToken);
20
+ }
21
+
22
+ /**
23
+ * Copyright © 2024 Angular Primitives.
24
+ * https://github.com/ng-primitives/ng-primitives
25
+ *
26
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
27
+ * LICENSE file in the root directory of this source tree.
28
+ */
29
+ class NgpSearchField {
30
+ constructor() {
31
+ /**
32
+ * Access the child input field.
33
+ */
34
+ this.input = contentChild.required(NgpInputToken, { descendants: true });
35
+ /**
36
+ * Whether the input field is empty.
37
+ */
38
+ this.empty = computed(() => this.input().value() === '');
39
+ }
40
+ clear() {
41
+ this.input().element.nativeElement.value = '';
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpSearchField, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.1", type: NgpSearchField, isStandalone: true, selector: "[ngpSearchField]", host: { listeners: { "keydown.escape": "clear()" }, properties: { "attr.data-empty": "empty()" } }, providers: [{ provide: NgpSearchFieldToken, useExisting: NgpSearchField }], queries: [{ propertyName: "input", first: true, predicate: NgpInputToken, descendants: true, isSignal: true }], exportAs: ["ngpSearchField"], hostDirectives: [{ directive: i1.NgpFormField }], ngImport: i0 }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpSearchField, decorators: [{
47
+ type: Directive,
48
+ args: [{
49
+ standalone: true,
50
+ selector: '[ngpSearchField]',
51
+ exportAs: 'ngpSearchField',
52
+ providers: [{ provide: NgpSearchFieldToken, useExisting: NgpSearchField }],
53
+ hostDirectives: [NgpFormField],
54
+ host: {
55
+ '[attr.data-empty]': 'empty()',
56
+ },
57
+ }]
58
+ }], propDecorators: { clear: [{
59
+ type: HostListener,
60
+ args: ['keydown.escape']
61
+ }] } });
62
+
63
+ /**
64
+ * Copyright © 2024 Angular Primitives.
65
+ * https://github.com/ng-primitives/ng-primitives
66
+ *
67
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
68
+ * LICENSE file in the root directory of this source tree.
69
+ */
70
+
71
+ /**
72
+ * Generated bundle index. Do not edit.
73
+ */
74
+
75
+ export { NgpSearchField, NgpSearchFieldToken };
76
+ //# sourceMappingURL=ng-primitives-search.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-primitives-search.mjs","sources":["../../../../packages/ng-primitives/search/src/search-field/search-field.token.ts","../../../../packages/ng-primitives/search/src/search-field/search-field.directive.ts","../../../../packages/ng-primitives/search/src/index.ts","../../../../packages/ng-primitives/search/src/ng-primitives-search.ts"],"sourcesContent":["/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpSearchField } from './search-field.directive';\n\nexport const NgpSearchFieldToken = new InjectionToken<NgpSearchField>('NgpSearchFieldToken');\n\n/**\n * Inject the SearchField directive instance\n */\nexport function injectSearchField(): NgpSearchField {\n return inject(NgpSearchFieldToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { computed, contentChild, Directive, HostListener } from '@angular/core';\nimport { NgpFormField } from 'ng-primitives/form-field';\nimport { NgpInputToken } from 'ng-primitives/input';\nimport { NgpSearchFieldToken } from './search-field.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpSearchField]',\n exportAs: 'ngpSearchField',\n providers: [{ provide: NgpSearchFieldToken, useExisting: NgpSearchField }],\n hostDirectives: [NgpFormField],\n host: {\n '[attr.data-empty]': 'empty()',\n },\n})\nexport class NgpSearchField {\n /**\n * Access the child input field.\n */\n protected readonly input = contentChild.required(NgpInputToken, { descendants: true });\n\n /**\n * Whether the input field is empty.\n */\n protected readonly empty = computed(() => this.input().value() === '');\n\n @HostListener('keydown.escape')\n protected clear(): void {\n this.input().element.nativeElement.value = '';\n }\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { NgpSearchField } from './search-field/search-field.directive';\nexport { NgpSearchFieldToken } from './search-field/search-field.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;AAMG;MAIU,mBAAmB,GAAG,IAAI,cAAc,CAAiB,qBAAqB,EAAE;AAE7F;;AAEG;SACa,iBAAiB,GAAA;AAC/B,IAAA,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACrC;;ACjBA;;;;;;AAMG;MAgBU,cAAc,CAAA;AAV3B,IAAA,WAAA,GAAA;AAWE;;AAEG;AACgB,QAAA,IAAA,CAAA,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAEvF;;AAEG;AACgB,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAMxE,KAAA;IAHW,KAAK,GAAA;QACb,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;KAC/C;8GAdU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EANd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,6DAUzB,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAJnD,cAAc,EAAA,UAAA,EAAA,CAAA;kBAV1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAgB,cAAA,EAAE,CAAC;oBAC1E,cAAc,EAAE,CAAC,YAAY,CAAC;AAC9B,oBAAA,IAAI,EAAE;AACJ,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA;AACF,iBAAA,CAAA;8BAaW,KAAK,EAAA,CAAA;sBADd,YAAY;uBAAC,gBAAgB,CAAA;;;ACjChC;;;;;;AAMG;;ACNH;;AAEG;;;;"}
@@ -221,7 +221,7 @@ class NgpTabPanel {
221
221
  this.active = computed(() => this.tabset.selectedTab() === this.value());
222
222
  }
223
223
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
224
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpTabPanel, isStandalone: true, selector: "[ngpTabPanel]", inputs: { value: { classPropertyName: "value", publicName: "ngpTabPanelValue", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabIndex": "0" }, properties: { "attr.aria-labelledby": "labelledBy()", "attr.data-active": "active()", "attr.data-orientation": "tabset.orientation()", "hidden": "!active()" } }, providers: [{ provide: NgpTabPanelToken, useExisting: NgpTabPanel }], exportAs: ["ngpTabPanel"], ngImport: i0 }); }
224
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpTabPanel, isStandalone: true, selector: "[ngpTabPanel]", inputs: { value: { classPropertyName: "value", publicName: "ngpTabPanelValue", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabIndex": "0" }, properties: { "attr.aria-labelledby": "labelledBy()", "attr.data-active": "active()", "attr.data-orientation": "tabset.orientation()" } }, providers: [{ provide: NgpTabPanelToken, useExisting: NgpTabPanel }], exportAs: ["ngpTabPanel"], ngImport: i0 }); }
225
225
  }
226
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpTabPanel, decorators: [{
227
227
  type: Directive,
@@ -236,7 +236,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
236
236
  '[attr.aria-labelledby]': 'labelledBy()',
237
237
  '[attr.data-active]': 'active()',
238
238
  '[attr.data-orientation]': 'tabset.orientation()',
239
- '[hidden]': '!active()',
240
239
  },
241
240
  }]
242
241
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-primitives-tabs.mjs","sources":["../../../../packages/ng-primitives/tabs/src/config/tabs.config.ts","../../../../packages/ng-primitives/tabs/src/tabset/tabset.token.ts","../../../../packages/ng-primitives/tabs/src/tab-button/tab-button.directive.ts","../../../../packages/ng-primitives/tabs/src/tab-list/tab-list.directive.ts","../../../../packages/ng-primitives/tabs/src/tab-panel/tab-panel.token.ts","../../../../packages/ng-primitives/tabs/src/tab-panel/tab-panel.directive.ts","../../../../packages/ng-primitives/tabs/src/tabset/tabset.directive.ts","../../../../packages/ng-primitives/tabs/src/index.ts","../../../../packages/ng-primitives/tabs/src/ng-primitives-tabs.ts"],"sourcesContent":["/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, Provider, inject } from '@angular/core';\n\nexport interface NgpTabsConfig {\n /**\n * The orientation of the tabset\n * @default 'horizontal'\n */\n orientation: 'horizontal' | 'vertical';\n\n /**\n * Whether tabs should activate on focus\n * @default true\n */\n activateOnFocus: boolean;\n\n /**\n * Whether focus should wrap within the tab list when using the keyboard.\n * @default true\n */\n wrap: boolean;\n}\n\nexport const defaultTabsConfig: NgpTabsConfig = {\n orientation: 'horizontal',\n activateOnFocus: true,\n wrap: true,\n};\n\nexport const NgpTabsConfigToken = new InjectionToken<NgpTabsConfig>('NgpTabsConfigToken');\n\n/**\n * Provide the default Tabs configuration\n * @param config The Tabs configuration\n * @returns The provider\n */\nexport function provideTabsConfig(config: Partial<NgpTabsConfig>): Provider[] {\n return [\n {\n provide: NgpTabsConfigToken,\n useValue: { ...defaultTabsConfig, ...config },\n },\n ];\n}\n\n/**\n * Inject the Tabs configuration\n * @returns The global Tabs configuration\n */\nexport function injectTabsConfig(): NgpTabsConfig {\n return inject(NgpTabsConfigToken, { optional: true }) ?? defaultTabsConfig;\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpTabset } from './tabset.directive';\n\nexport const NgpTabsetToken = new InjectionToken<NgpTabset>('NgpTabsetToken');\n\n/**\n * Inject the Tabset directive instance\n * @returns The Tabset directive instance\n */\nexport function injectTabset(): NgpTabset {\n return inject(NgpTabsetToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, HostListener, booleanAttribute, computed, input } from '@angular/core';\nimport { NgpFocusVisible, NgpHover, NgpPress } from 'ng-primitives/interactions';\nimport { NgpRovingFocusItem } from 'ng-primitives/roving-focus';\nimport { injectTabset } from '../tabset/tabset.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpTabButton]',\n exportAs: 'ngpTabButton',\n host: {\n role: 'tab',\n '[attr.id]': 'id() ?? defaultId()',\n '[attr.aria-controls]': 'ariaControls()',\n '[attr.data-active]': 'active()',\n '[attr.data-disabled]': 'disabled()',\n '[attr.data-orientation]': 'tabset.orientation()',\n },\n hostDirectives: [NgpRovingFocusItem, NgpHover, NgpFocusVisible, NgpPress],\n})\nexport class NgpTabButton {\n /**\n * Access the tabset\n */\n protected readonly tabset = injectTabset();\n\n /**\n * The value of the tab this trigger controls\n */\n readonly value = input.required<string>({ alias: 'ngpTabButtonValue' });\n\n /**\n * Whether the tab is disabled\n * @default false\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpTabButtonDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * Determine the id of the tab button\n * @internal\n */\n readonly id = input<string>();\n\n /**\n * Determine a unique id for the tab button if not provided\n * @internal\n */\n readonly defaultId = computed(() => `${this.tabset.id()}-button-${this.value()}`);\n\n /**\n * Determine the aria-controls of the tab button\n * @internal\n */\n readonly ariaControls = computed(() => `${this.tabset.id()}-panel-${this.value()}`);\n\n /**\n * Whether the tab is active\n */\n readonly active = computed(() => this.tabset.value() === this.value());\n\n /**\n * Select the tab this trigger controls\n */\n @HostListener('click')\n select(): void {\n this.tabset.select(this.value());\n }\n\n /**\n * On focus select the tab this trigger controls if activateOnFocus is true\n */\n @HostListener('focus')\n protected activateOnFocus(): void {\n if (this.tabset.activateOnFocus()) {\n this.select();\n }\n }\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive } from '@angular/core';\nimport { injectTabset } from '../tabset/tabset.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpTabList]',\n exportAs: 'ngpTabList',\n host: {\n role: 'tablist',\n '[attr.aria-orientation]': 'tabset.orientation()',\n '[attr.data-orientation]': 'tabset.orientation()',\n },\n})\nexport class NgpTabList {\n /**\n * Access the tabset\n */\n protected readonly tabset = injectTabset();\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpTabPanel } from './tab-panel.directive';\n\nexport const NgpTabPanelToken = new InjectionToken<NgpTabPanel>('NgpTabPanelToken');\n\n/**\n * Inject the TabPanel directive instance\n * @returns The TabPanel directive instance\n */\nexport function injectTabPanel(): NgpTabPanel {\n return inject(NgpTabPanelToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive, computed, input } from '@angular/core';\nimport { injectTabset } from '../tabset/tabset.token';\nimport { NgpTabPanelToken } from './tab-panel.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpTabPanel]',\n exportAs: 'ngpTabPanel',\n providers: [{ provide: NgpTabPanelToken, useExisting: NgpTabPanel }],\n host: {\n role: 'tabpanel',\n tabIndex: '0',\n '[attr.aria-labelledby]': 'labelledBy()',\n '[attr.data-active]': 'active()',\n '[attr.data-orientation]': 'tabset.orientation()',\n '[hidden]': '!active()',\n },\n})\nexport class NgpTabPanel {\n /**\n * Access the tabset\n */\n protected readonly tabset = injectTabset();\n\n /**\n * The value of the tab\n */\n readonly value = input.required<string>({ alias: 'ngpTabPanelValue' });\n\n /**\n * Determine the id of the tab panel\n * @internal\n */\n readonly id = input<string>();\n\n /**\n * Determine a unique id for the tab panel if not provided\n * @internal\n */\n readonly defaultId = computed(() => `${this.tabset.id()}-panel-${this.value()}`);\n\n /**\n * Determine the aria-labelledby of the tab panel\n * @internal\n */\n readonly labelledBy = computed(() => `${this.tabset.id()}-button-${this.value()}`);\n\n /**\n * Whether the tab is active\n */\n readonly active = computed(() => this.tabset.selectedTab() === this.value());\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport {\n Directive,\n booleanAttribute,\n computed,\n contentChildren,\n input,\n model,\n} from '@angular/core';\nimport { NgpCanOrientate, NgpOrientation, NgpOrientationToken } from 'ng-primitives/internal';\nimport { NgpRovingFocusGroup } from 'ng-primitives/roving-focus';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectTabsConfig } from '../config/tabs.config';\nimport { NgpTabPanelToken } from '../tab-panel/tab-panel.token';\nimport { NgpTabsetToken } from './tabset.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpTabset]',\n exportAs: 'ngpTabset',\n providers: [\n { provide: NgpTabsetToken, useExisting: NgpTabset },\n { provide: NgpOrientationToken, useExisting: NgpTabset },\n ],\n hostDirectives: [NgpRovingFocusGroup],\n host: {\n '[attr.id]': 'id()',\n '[attr.data-orientation]': 'orientation()',\n },\n})\nexport class NgpTabset implements NgpCanOrientate {\n /**\n * Access the global tabset configuration\n */\n private readonly config = injectTabsConfig();\n\n /**\n * Define the id for the tabset\n */\n readonly id = input<string>(uniqueId('ngp-tabset'));\n\n /**\n * Define the active tab\n */\n readonly value = model<string | null>(null, {\n alias: 'ngpTabsetValue',\n });\n\n /**\n * The orientation of the tabset\n * @default 'horizontal'\n */\n readonly orientation = input<NgpOrientation>(this.config.orientation, {\n alias: 'ngpTabsetOrientation',\n });\n\n /**\n * Whether tabs should activate on focus\n */\n readonly activateOnFocus = input<boolean, BooleanInput>(this.config.activateOnFocus, {\n alias: 'ngpTabsetActivateOnFocus',\n transform: booleanAttribute,\n });\n\n /**\n * Access the tabs within the tabset\n */\n readonly panels = contentChildren(NgpTabPanelToken, { descendants: true });\n\n /**\n * Get the id of the selected tab\n */\n readonly selectedTab = computed(() => {\n const panels = this.panels();\n\n // if there is a value set and a tab with that value exists, return the value\n if (panels.some(panel => panel.value() === this.value())) {\n return this.value();\n }\n\n // otherwise return the first tab\n return panels[0]?.value();\n });\n\n /**\n * Select a tab by its value\n * @param value The value of the tab to select\n */\n select(value: string): void {\n this.value.set(value);\n }\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { NgpTabsConfig, provideTabsConfig } from './config/tabs.config';\nexport { NgpTabButton } from './tab-button/tab-button.directive';\nexport { NgpTabList } from './tab-list/tab-list.directive';\nexport { NgpTabPanel } from './tab-panel/tab-panel.directive';\nexport { NgpTabPanelToken } from './tab-panel/tab-panel.token';\nexport { NgpTabset } from './tabset/tabset.directive';\nexport { NgpTabsetToken } from './tabset/tabset.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-primitives-tabs.mjs","sources":["../../../../packages/ng-primitives/tabs/src/config/tabs.config.ts","../../../../packages/ng-primitives/tabs/src/tabset/tabset.token.ts","../../../../packages/ng-primitives/tabs/src/tab-button/tab-button.directive.ts","../../../../packages/ng-primitives/tabs/src/tab-list/tab-list.directive.ts","../../../../packages/ng-primitives/tabs/src/tab-panel/tab-panel.token.ts","../../../../packages/ng-primitives/tabs/src/tab-panel/tab-panel.directive.ts","../../../../packages/ng-primitives/tabs/src/tabset/tabset.directive.ts","../../../../packages/ng-primitives/tabs/src/index.ts","../../../../packages/ng-primitives/tabs/src/ng-primitives-tabs.ts"],"sourcesContent":["/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, Provider, inject } from '@angular/core';\n\nexport interface NgpTabsConfig {\n /**\n * The orientation of the tabset\n * @default 'horizontal'\n */\n orientation: 'horizontal' | 'vertical';\n\n /**\n * Whether tabs should activate on focus\n * @default true\n */\n activateOnFocus: boolean;\n\n /**\n * Whether focus should wrap within the tab list when using the keyboard.\n * @default true\n */\n wrap: boolean;\n}\n\nexport const defaultTabsConfig: NgpTabsConfig = {\n orientation: 'horizontal',\n activateOnFocus: true,\n wrap: true,\n};\n\nexport const NgpTabsConfigToken = new InjectionToken<NgpTabsConfig>('NgpTabsConfigToken');\n\n/**\n * Provide the default Tabs configuration\n * @param config The Tabs configuration\n * @returns The provider\n */\nexport function provideTabsConfig(config: Partial<NgpTabsConfig>): Provider[] {\n return [\n {\n provide: NgpTabsConfigToken,\n useValue: { ...defaultTabsConfig, ...config },\n },\n ];\n}\n\n/**\n * Inject the Tabs configuration\n * @returns The global Tabs configuration\n */\nexport function injectTabsConfig(): NgpTabsConfig {\n return inject(NgpTabsConfigToken, { optional: true }) ?? defaultTabsConfig;\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpTabset } from './tabset.directive';\n\nexport const NgpTabsetToken = new InjectionToken<NgpTabset>('NgpTabsetToken');\n\n/**\n * Inject the Tabset directive instance\n * @returns The Tabset directive instance\n */\nexport function injectTabset(): NgpTabset {\n return inject(NgpTabsetToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, HostListener, booleanAttribute, computed, input } from '@angular/core';\nimport { NgpFocusVisible, NgpHover, NgpPress } from 'ng-primitives/interactions';\nimport { NgpRovingFocusItem } from 'ng-primitives/roving-focus';\nimport { injectTabset } from '../tabset/tabset.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpTabButton]',\n exportAs: 'ngpTabButton',\n host: {\n role: 'tab',\n '[attr.id]': 'id() ?? defaultId()',\n '[attr.aria-controls]': 'ariaControls()',\n '[attr.data-active]': 'active()',\n '[attr.data-disabled]': 'disabled()',\n '[attr.data-orientation]': 'tabset.orientation()',\n },\n hostDirectives: [NgpRovingFocusItem, NgpHover, NgpFocusVisible, NgpPress],\n})\nexport class NgpTabButton {\n /**\n * Access the tabset\n */\n protected readonly tabset = injectTabset();\n\n /**\n * The value of the tab this trigger controls\n */\n readonly value = input.required<string>({ alias: 'ngpTabButtonValue' });\n\n /**\n * Whether the tab is disabled\n * @default false\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpTabButtonDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * Determine the id of the tab button\n * @internal\n */\n readonly id = input<string>();\n\n /**\n * Determine a unique id for the tab button if not provided\n * @internal\n */\n readonly defaultId = computed(() => `${this.tabset.id()}-button-${this.value()}`);\n\n /**\n * Determine the aria-controls of the tab button\n * @internal\n */\n readonly ariaControls = computed(() => `${this.tabset.id()}-panel-${this.value()}`);\n\n /**\n * Whether the tab is active\n */\n readonly active = computed(() => this.tabset.value() === this.value());\n\n /**\n * Select the tab this trigger controls\n */\n @HostListener('click')\n select(): void {\n this.tabset.select(this.value());\n }\n\n /**\n * On focus select the tab this trigger controls if activateOnFocus is true\n */\n @HostListener('focus')\n protected activateOnFocus(): void {\n if (this.tabset.activateOnFocus()) {\n this.select();\n }\n }\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive } from '@angular/core';\nimport { injectTabset } from '../tabset/tabset.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpTabList]',\n exportAs: 'ngpTabList',\n host: {\n role: 'tablist',\n '[attr.aria-orientation]': 'tabset.orientation()',\n '[attr.data-orientation]': 'tabset.orientation()',\n },\n})\nexport class NgpTabList {\n /**\n * Access the tabset\n */\n protected readonly tabset = injectTabset();\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { InjectionToken, inject } from '@angular/core';\nimport type { NgpTabPanel } from './tab-panel.directive';\n\nexport const NgpTabPanelToken = new InjectionToken<NgpTabPanel>('NgpTabPanelToken');\n\n/**\n * Inject the TabPanel directive instance\n * @returns The TabPanel directive instance\n */\nexport function injectTabPanel(): NgpTabPanel {\n return inject(NgpTabPanelToken);\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive, computed, input } from '@angular/core';\nimport { injectTabset } from '../tabset/tabset.token';\nimport { NgpTabPanelToken } from './tab-panel.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpTabPanel]',\n exportAs: 'ngpTabPanel',\n providers: [{ provide: NgpTabPanelToken, useExisting: NgpTabPanel }],\n host: {\n role: 'tabpanel',\n tabIndex: '0',\n '[attr.aria-labelledby]': 'labelledBy()',\n '[attr.data-active]': 'active()',\n '[attr.data-orientation]': 'tabset.orientation()',\n },\n})\nexport class NgpTabPanel {\n /**\n * Access the tabset\n */\n protected readonly tabset = injectTabset();\n\n /**\n * The value of the tab\n */\n readonly value = input.required<string>({ alias: 'ngpTabPanelValue' });\n\n /**\n * Determine the id of the tab panel\n * @internal\n */\n readonly id = input<string>();\n\n /**\n * Determine a unique id for the tab panel if not provided\n * @internal\n */\n readonly defaultId = computed(() => `${this.tabset.id()}-panel-${this.value()}`);\n\n /**\n * Determine the aria-labelledby of the tab panel\n * @internal\n */\n readonly labelledBy = computed(() => `${this.tabset.id()}-button-${this.value()}`);\n\n /**\n * Whether the tab is active\n */\n readonly active = computed(() => this.tabset.selectedTab() === this.value());\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport {\n Directive,\n booleanAttribute,\n computed,\n contentChildren,\n input,\n model,\n} from '@angular/core';\nimport { NgpCanOrientate, NgpOrientation, NgpOrientationToken } from 'ng-primitives/internal';\nimport { NgpRovingFocusGroup } from 'ng-primitives/roving-focus';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectTabsConfig } from '../config/tabs.config';\nimport { NgpTabPanelToken } from '../tab-panel/tab-panel.token';\nimport { NgpTabsetToken } from './tabset.token';\n\n@Directive({\n standalone: true,\n selector: '[ngpTabset]',\n exportAs: 'ngpTabset',\n providers: [\n { provide: NgpTabsetToken, useExisting: NgpTabset },\n { provide: NgpOrientationToken, useExisting: NgpTabset },\n ],\n hostDirectives: [NgpRovingFocusGroup],\n host: {\n '[attr.id]': 'id()',\n '[attr.data-orientation]': 'orientation()',\n },\n})\nexport class NgpTabset implements NgpCanOrientate {\n /**\n * Access the global tabset configuration\n */\n private readonly config = injectTabsConfig();\n\n /**\n * Define the id for the tabset\n */\n readonly id = input<string>(uniqueId('ngp-tabset'));\n\n /**\n * Define the active tab\n */\n readonly value = model<string | null>(null, {\n alias: 'ngpTabsetValue',\n });\n\n /**\n * The orientation of the tabset\n * @default 'horizontal'\n */\n readonly orientation = input<NgpOrientation>(this.config.orientation, {\n alias: 'ngpTabsetOrientation',\n });\n\n /**\n * Whether tabs should activate on focus\n */\n readonly activateOnFocus = input<boolean, BooleanInput>(this.config.activateOnFocus, {\n alias: 'ngpTabsetActivateOnFocus',\n transform: booleanAttribute,\n });\n\n /**\n * Access the tabs within the tabset\n */\n readonly panels = contentChildren(NgpTabPanelToken, { descendants: true });\n\n /**\n * Get the id of the selected tab\n */\n readonly selectedTab = computed(() => {\n const panels = this.panels();\n\n // if there is a value set and a tab with that value exists, return the value\n if (panels.some(panel => panel.value() === this.value())) {\n return this.value();\n }\n\n // otherwise return the first tab\n return panels[0]?.value();\n });\n\n /**\n * Select a tab by its value\n * @param value The value of the tab to select\n */\n select(value: string): void {\n this.value.set(value);\n }\n}\n","/**\n * Copyright © 2024 Angular Primitives.\n * https://github.com/ng-primitives/ng-primitives\n *\n * This source code is licensed under the CC BY-ND 4.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { NgpTabsConfig, provideTabsConfig } from './config/tabs.config';\nexport { NgpTabButton } from './tab-button/tab-button.directive';\nexport { NgpTabList } from './tab-list/tab-list.directive';\nexport { NgpTabPanel } from './tab-panel/tab-panel.directive';\nexport { NgpTabPanelToken } from './tab-panel/tab-panel.token';\nexport { NgpTabset } from './tabset/tabset.directive';\nexport { NgpTabsetToken } from './tabset/tabset.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -6,16 +6,28 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
+ import { ElementRef } from '@angular/core';
9
10
  import { NgpCanDisable } from 'ng-primitives/internal';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "ng-primitives/form-field";
12
13
  import * as i2 from "ng-primitives/interactions";
13
14
  import * as i3 from "ng-primitives/autofill";
14
15
  export declare class NgpInput implements NgpCanDisable {
16
+ /**
17
+ * Access the underlying input element.
18
+ * @internal
19
+ */
20
+ readonly element: ElementRef<HTMLInputElement>;
15
21
  /**
16
22
  * Whether the element is disabled.
17
23
  */
18
24
  readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
25
+ /**
26
+ * Sync the input value.
27
+ * @internal
28
+ */
29
+ readonly value: import("@angular/core").WritableSignal<string>;
30
+ protected valueDidChange(): void;
19
31
  static ɵfac: i0.ɵɵFactoryDeclaration<NgpInput, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgpInput, "[ngpInput]", ["ngpInput"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgpFormControl; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpFocus; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpPress; inputs: {}; outputs: {}; }, { directive: typeof i3.NgpAutofill; inputs: {}; outputs: {}; }]>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpInput, "input[ngpInput]", ["ngpInput"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgpFormControl; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpHover; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpFocus; inputs: {}; outputs: {}; }, { directive: typeof i2.NgpPress; inputs: {}; outputs: {}; }, { directive: typeof i3.NgpAutofill; inputs: {}; outputs: {}; }]>;
21
33
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ng-primitives",
3
3
  "license": "Apache-2.0",
4
- "version": "0.1.0",
4
+ "version": "0.2.0",
5
5
  "peerDependencies": {
6
6
  "@angular/core": ">=18.0.0",
7
7
  "@angular/cdk": ">=18.0.0",
@@ -41,18 +41,6 @@
41
41
  "esm": "./esm2022/accordion/ng-primitives-accordion.mjs",
42
42
  "default": "./fesm2022/ng-primitives-accordion.mjs"
43
43
  },
44
- "./avatar": {
45
- "types": "./avatar/index.d.ts",
46
- "esm2022": "./esm2022/avatar/ng-primitives-avatar.mjs",
47
- "esm": "./esm2022/avatar/ng-primitives-avatar.mjs",
48
- "default": "./fesm2022/ng-primitives-avatar.mjs"
49
- },
50
- "./autofill": {
51
- "types": "./autofill/index.d.ts",
52
- "esm2022": "./esm2022/autofill/ng-primitives-autofill.mjs",
53
- "esm": "./esm2022/autofill/ng-primitives-autofill.mjs",
54
- "default": "./fesm2022/ng-primitives-autofill.mjs"
55
- },
56
44
  "./button": {
57
45
  "types": "./button/index.d.ts",
58
46
  "esm2022": "./esm2022/button/ng-primitives-button.mjs",
@@ -71,6 +59,18 @@
71
59
  "esm": "./esm2022/file-upload/ng-primitives-file-upload.mjs",
72
60
  "default": "./fesm2022/ng-primitives-file-upload.mjs"
73
61
  },
62
+ "./avatar": {
63
+ "types": "./avatar/index.d.ts",
64
+ "esm2022": "./esm2022/avatar/ng-primitives-avatar.mjs",
65
+ "esm": "./esm2022/avatar/ng-primitives-avatar.mjs",
66
+ "default": "./fesm2022/ng-primitives-avatar.mjs"
67
+ },
68
+ "./autofill": {
69
+ "types": "./autofill/index.d.ts",
70
+ "esm2022": "./esm2022/autofill/ng-primitives-autofill.mjs",
71
+ "esm": "./esm2022/autofill/ng-primitives-autofill.mjs",
72
+ "default": "./fesm2022/ng-primitives-autofill.mjs"
73
+ },
74
74
  "./focus-trap": {
75
75
  "types": "./focus-trap/index.d.ts",
76
76
  "esm2022": "./esm2022/focus-trap/ng-primitives-focus-trap.mjs",
@@ -95,12 +95,6 @@
95
95
  "esm": "./esm2022/interactions/ng-primitives-interactions.mjs",
96
96
  "default": "./fesm2022/ng-primitives-interactions.mjs"
97
97
  },
98
- "./internal": {
99
- "types": "./internal/index.d.ts",
100
- "esm2022": "./esm2022/internal/ng-primitives-internal.mjs",
101
- "esm": "./esm2022/internal/ng-primitives-internal.mjs",
102
- "default": "./fesm2022/ng-primitives-internal.mjs"
103
- },
104
98
  "./progress": {
105
99
  "types": "./progress/index.d.ts",
106
100
  "esm2022": "./esm2022/progress/ng-primitives-progress.mjs",
@@ -113,6 +107,12 @@
113
107
  "esm": "./esm2022/radio/ng-primitives-radio.mjs",
114
108
  "default": "./fesm2022/ng-primitives-radio.mjs"
115
109
  },
110
+ "./internal": {
111
+ "types": "./internal/index.d.ts",
112
+ "esm2022": "./esm2022/internal/ng-primitives-internal.mjs",
113
+ "esm": "./esm2022/internal/ng-primitives-internal.mjs",
114
+ "default": "./fesm2022/ng-primitives-internal.mjs"
115
+ },
116
116
  "./resize": {
117
117
  "types": "./resize/index.d.ts",
118
118
  "esm2022": "./esm2022/resize/ng-primitives-resize.mjs",
@@ -125,6 +125,12 @@
125
125
  "esm": "./esm2022/roving-focus/ng-primitives-roving-focus.mjs",
126
126
  "default": "./fesm2022/ng-primitives-roving-focus.mjs"
127
127
  },
128
+ "./search": {
129
+ "types": "./search/index.d.ts",
130
+ "esm2022": "./esm2022/search/ng-primitives-search.mjs",
131
+ "esm": "./esm2022/search/ng-primitives-search.mjs",
132
+ "default": "./fesm2022/ng-primitives-search.mjs"
133
+ },
128
134
  "./select": {
129
135
  "types": "./select/index.d.ts",
130
136
  "esm2022": "./esm2022/select/ng-primitives-select.mjs",
@@ -0,0 +1,3 @@
1
+ # ng-primitives/search
2
+
3
+ Secondary entry point of `ng-primitives`. It can be used by importing from `ng-primitives/search`.
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ export { NgpSearchField } from './search-field/search-field.directive';
9
+ export { NgpSearchFieldToken } from './search-field/search-field.token';
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "ng-primitives/form-field";
3
+ export declare class NgpSearchField {
4
+ /**
5
+ * Access the child input field.
6
+ */
7
+ protected readonly input: import("@angular/core").Signal<import("ng-primitives/input").NgpInput>;
8
+ /**
9
+ * Whether the input field is empty.
10
+ */
11
+ protected readonly empty: import("@angular/core").Signal<boolean>;
12
+ protected clear(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgpSearchField, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgpSearchField, "[ngpSearchField]", ["ngpSearchField"], {}, {}, ["input"], never, true, [{ directive: typeof i1.NgpFormField; inputs: {}; outputs: {}; }]>;
15
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the CC BY-ND 4.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { InjectionToken } from '@angular/core';
9
+ import type { NgpSearchField } from './search-field.directive';
10
+ export declare const NgpSearchFieldToken: InjectionToken<NgpSearchField>;
11
+ /**
12
+ * Inject the SearchField directive instance
13
+ */
14
+ export declare function injectSearchField(): NgpSearchField;