@radix-ng/primitives 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/alert-dialog/index.d.ts +11 -0
  2. package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +3 -3
  3. package/alert-dialog/src/alert-dialog-content.directive.d.ts +3 -3
  4. package/alert-dialog/src/alert-dialog-root.directive.d.ts +3 -3
  5. package/alert-dialog/src/alert-dialog-title.directive.d.ts +3 -3
  6. package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +3 -3
  7. package/alert-dialog/src/alert-dialog.service.d.ts +3 -3
  8. package/aspect-ratio/README.md +1 -0
  9. package/aspect-ratio/index.d.ts +1 -0
  10. package/aspect-ratio/src/aspect-ratio.directive.d.ts +28 -0
  11. package/compodoc/documentation.json +878 -292
  12. package/core/index.d.ts +6 -0
  13. package/core/src/accessor/provide-value-accessor.d.ts +12 -0
  14. package/core/src/auto-focus.directive.d.ts +14 -0
  15. package/core/src/document.d.ts +1 -0
  16. package/core/src/inject-ng-control.d.ts +8 -0
  17. package/core/src/is-client.d.ts +1 -0
  18. package/core/src/window.d.ts +3 -0
  19. package/esm2022/alert-dialog/index.mjs +35 -1
  20. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +7 -7
  21. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +7 -7
  22. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +7 -7
  23. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +5 -5
  24. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +7 -7
  25. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +5 -5
  26. package/esm2022/aspect-ratio/index.mjs +2 -0
  27. package/esm2022/aspect-ratio/radix-ng-primitives-aspect-ratio.mjs +5 -0
  28. package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +53 -0
  29. package/esm2022/core/index.mjs +7 -0
  30. package/esm2022/core/radix-ng-primitives-core.mjs +5 -0
  31. package/esm2022/core/src/accessor/provide-value-accessor.mjs +19 -0
  32. package/esm2022/core/src/auto-focus.directive.mjs +80 -0
  33. package/esm2022/core/src/document.mjs +6 -0
  34. package/esm2022/core/src/inject-ng-control.mjs +17 -0
  35. package/esm2022/core/src/is-client.mjs +6 -0
  36. package/esm2022/core/src/window.mjs +15 -0
  37. package/esm2022/separator/src/separator.directive.mjs +33 -15
  38. package/esm2022/visually-hidden/index.mjs +4 -0
  39. package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +5 -0
  40. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +74 -0
  41. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +74 -0
  42. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +42 -0
  43. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +59 -31
  44. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  45. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +60 -0
  46. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -0
  47. package/fesm2022/radix-ng-primitives-core.mjs +144 -0
  48. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -0
  49. package/fesm2022/radix-ng-primitives-separator.mjs +32 -14
  50. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  51. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +189 -0
  52. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -0
  53. package/package.json +19 -1
  54. package/separator/src/separator.directive.d.ts +29 -5
  55. package/visually-hidden/README.md +3 -0
  56. package/visually-hidden/index.d.ts +3 -0
  57. package/visually-hidden/src/visually-hidden-input-bubble.directive.d.ts +21 -0
  58. package/visually-hidden/src/visually-hidden-input.directive.d.ts +19 -0
  59. package/visually-hidden/src/visually-hidden.directive.d.ts +15 -0
@@ -0,0 +1,15 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ import { injectDocument } from './document';
3
+ export const WINDOW = new InjectionToken('An abstraction over global window object', {
4
+ factory: () => {
5
+ const { defaultView } = injectDocument();
6
+ if (!defaultView) {
7
+ throw new Error('Window is not available');
8
+ }
9
+ return defaultView;
10
+ }
11
+ });
12
+ export function injectWindow() {
13
+ return inject(WINDOW);
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jb3JlL3NyYy93aW5kb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQTZCLDBDQUEwQyxFQUFFO0lBQzdHLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLFlBQVk7SUFDeEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdERvY3VtZW50IH0gZnJvbSAnLi9kb2N1bWVudCc7XG5cbmV4cG9ydCBjb25zdCBXSU5ET1cgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2luZG93ICYgdHlwZW9mIGdsb2JhbFRoaXM+KCdBbiBhYnN0cmFjdGlvbiBvdmVyIGdsb2JhbCB3aW5kb3cgb2JqZWN0Jywge1xuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBkZWZhdWx0VmlldyB9ID0gaW5qZWN0RG9jdW1lbnQoKTtcbiAgICAgICAgaWYgKCFkZWZhdWx0Vmlldykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXaW5kb3cgaXMgbm90IGF2YWlsYWJsZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmlldztcbiAgICB9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFdpbmRvdygpOiBXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcyB7XG4gICAgcmV0dXJuIGluamVjdChXSU5ET1cpO1xufVxuIl19
@@ -1,15 +1,39 @@
1
- import { booleanAttribute, Directive, Input } from '@angular/core';
1
+ import { booleanAttribute, computed, Directive, input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  const DEFAULT_ORIENTATION = 'horizontal';
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
  const ORIENTATIONS = ['horizontal', 'vertical'];
6
+ /**
7
+ * Directive that adds accessible and configurable separator element to the DOM.
8
+ * This can be either horizontal or vertical and optionally decorative (which removes
9
+ * it from the accessibility tree).
10
+ */
6
11
  export class RdxSeparatorRootDirective {
7
12
  constructor() {
8
- this.orientation = DEFAULT_ORIENTATION;
9
- this.decorative = false;
13
+ /**
14
+ * Orientation of the separator, can be either 'horizontal' or 'vertical'.
15
+ * Defaults to 'horizontal'.
16
+ */
17
+ this.orientation = input(DEFAULT_ORIENTATION);
18
+ /**
19
+ * If true, the separator will be considered decorative and removed from
20
+ * the accessibility tree. Defaults to false.
21
+ */
22
+ this.decorative = input(false, { transform: booleanAttribute });
23
+ /**
24
+ * Computes the `role` attribute for the separator. If `decorative` is true,
25
+ * the role is set to "none", otherwise it is "separator".
26
+ */
27
+ this.computedRole = computed(() => (this.decorative() ? 'none' : 'separator'));
28
+ /**
29
+ * Computes the `aria-orientation` attribute. It is set to "vertical" only if
30
+ * the separator is not decorative and the orientation is set to "vertical".
31
+ * For horizontal orientation, the attribute is omitted.
32
+ */
33
+ this.computedAriaOrientation = computed(() => !this.decorative() && this.orientation() === 'vertical' ? 'vertical' : null);
10
34
  }
11
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxSeparatorRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxSeparatorRootDirective, isStandalone: true, selector: "div[rdxSeparatorRoot]", inputs: { orientation: "orientation", decorative: ["decorative", "decorative", booleanAttribute] }, host: { properties: { "attr.role": "decorative ? \"none\" : \"separator\"", "attr.aria-orientation": "!decorative && orientation === \"vertical\" ? \"vertical\" : null", "attr.data-orientation": "orientation" } }, ngImport: i0 }); }
36
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxSeparatorRootDirective, isStandalone: true, selector: "div[rdxSeparatorRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "computedRole()", "attr.aria-orientation": "computedAriaOrientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 }); }
13
37
  }
14
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxSeparatorRootDirective, decorators: [{
15
39
  type: Directive,
@@ -17,16 +41,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
17
41
  selector: 'div[rdxSeparatorRoot]',
18
42
  standalone: true,
19
43
  host: {
20
- '[attr.role]': 'decorative ? "none" : "separator"',
21
- // `aria-orientation` defaults to `horizontal` so we only need it if `orientation` is vertical
22
- '[attr.aria-orientation]': '!decorative && orientation === "vertical" ? "vertical" : null',
23
- '[attr.data-orientation]': 'orientation'
44
+ '[attr.role]': 'computedRole()',
45
+ '[attr.aria-orientation]': 'computedAriaOrientation()',
46
+ '[attr.data-orientation]': 'orientation()'
24
47
  }
25
48
  }]
26
- }], propDecorators: { orientation: [{
27
- type: Input
28
- }], decorative: [{
29
- type: Input,
30
- args: [{ transform: booleanAttribute }]
31
- }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2VwYXJhdG9yL3NyYy9zZXBhcmF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVuRSxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQztBQUN6Qyw2REFBNkQ7QUFDN0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFVLENBQUM7QUEwQnpELE1BQU0sT0FBTyx5QkFBeUI7SUFWdEM7UUFXYSxnQkFBVyxHQUFnQixtQkFBbUIsQ0FBQztRQUVoQixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBQzlEOzhHQUpZLHlCQUF5QjtrR0FBekIseUJBQXlCLHdJQUdkLGdCQUFnQjs7MkZBSDNCLHlCQUF5QjtrQkFWckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLGFBQWEsRUFBRSxtQ0FBbUM7d0JBQ2xELDhGQUE4Rjt3QkFDOUYseUJBQXlCLEVBQUUsK0RBQStEO3dCQUMxRix5QkFBeUIsRUFBRSxhQUFhO3FCQUMzQztpQkFDSjs4QkFFWSxXQUFXO3NCQUFuQixLQUFLO2dCQUVrQyxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBERUZBVUxUX09SSUVOVEFUSU9OID0gJ2hvcml6b250YWwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuY29uc3QgT1JJRU5UQVRJT05TID0gWydob3Jpem9udGFsJywgJ3ZlcnRpY2FsJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIE9yaWVudGF0aW9uID0gKHR5cGVvZiBPUklFTlRBVElPTlMpW251bWJlcl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VwYXJhdG9yUHJvcHMge1xuICAgIC8qKlxuICAgICAqIEVpdGhlciBgdmVydGljYWxgIG9yIGBob3Jpem9udGFsYC4gRGVmYXVsdHMgdG8gYGhvcml6b250YWxgLlxuICAgICAqL1xuICAgIG9yaWVudGF0aW9uPzogT3JpZW50YXRpb247XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIHB1cmVseSBkZWNvcmF0aXZlLiBXaGVuIHRydWUsIGFjY2Vzc2liaWxpdHktcmVsYXRlZCBhdHRyaWJ1dGVzXG4gICAgICogYXJlIHVwZGF0ZWQgc28gdGhhdCB0aGUgcmVuZGVyZWQgZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZS5cbiAgICAgKi9cbiAgICBkZWNvcmF0aXZlPzogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdkaXZbcmR4U2VwYXJhdG9yUm9vdF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIucm9sZV0nOiAnZGVjb3JhdGl2ZSA/IFwibm9uZVwiIDogXCJzZXBhcmF0b3JcIicsXG4gICAgICAgIC8vIGBhcmlhLW9yaWVudGF0aW9uYCBkZWZhdWx0cyB0byBgaG9yaXpvbnRhbGAgc28gd2Ugb25seSBuZWVkIGl0IGlmIGBvcmllbnRhdGlvbmAgaXMgdmVydGljYWxcbiAgICAgICAgJ1thdHRyLmFyaWEtb3JpZW50YXRpb25dJzogJyFkZWNvcmF0aXZlICYmIG9yaWVudGF0aW9uID09PSBcInZlcnRpY2FsXCIgPyBcInZlcnRpY2FsXCIgOiBudWxsJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ29yaWVudGF0aW9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4U2VwYXJhdG9yUm9vdERpcmVjdGl2ZSBpbXBsZW1lbnRzIFNlcGFyYXRvclByb3BzIHtcbiAgICBASW5wdXQoKSBvcmllbnRhdGlvbjogT3JpZW50YXRpb24gPSBERUZBVUxUX09SSUVOVEFUSU9OO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRlY29yYXRpdmUgPSBmYWxzZTtcbn1cbiJdfQ==
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2VwYXJhdG9yL3NyYy9zZXBhcmF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFN0UsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUM7QUFFekMsNkRBQTZEO0FBQzdELE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBVSxDQUFDO0FBZ0J6RDs7OztHQUlHO0FBV0gsTUFBTSxPQUFPLHlCQUF5QjtJQVZ0QztRQVdJOzs7V0FHRztRQUNNLGdCQUFXLEdBQUcsS0FBSyxDQUFjLG1CQUFtQixDQUFDLENBQUM7UUFFL0Q7OztXQUdHO1FBQ00sZUFBVSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUUzRjs7O1dBR0c7UUFDZ0IsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUU3Rjs7OztXQUlHO1FBQ2dCLDRCQUF1QixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDdkQsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlFLENBQUM7S0FDTDs4R0EzQlkseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBVnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixhQUFhLEVBQUUsZ0JBQWdCO3dCQUMvQix5QkFBeUIsRUFBRSwyQkFBMkI7d0JBRXRELHlCQUF5QixFQUFFLGVBQWU7cUJBQzdDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIGNvbXB1dGVkLCBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IERFRkFVTFRfT1JJRU5UQVRJT04gPSAnaG9yaXpvbnRhbCc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmNvbnN0IE9SSUVOVEFUSU9OUyA9IFsnaG9yaXpvbnRhbCcsICd2ZXJ0aWNhbCddIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBPcmllbnRhdGlvbiA9ICh0eXBlb2YgT1JJRU5UQVRJT05TKVtudW1iZXJdO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlcGFyYXRvclByb3BzIHtcbiAgICAvKipcbiAgICAgKiBFaXRoZXIgYHZlcnRpY2FsYCBvciBgaG9yaXpvbnRhbGAuIERlZmF1bHRzIHRvIGBob3Jpem9udGFsYC5cbiAgICAgKi9cbiAgICBvcmllbnRhdGlvbj86IE9yaWVudGF0aW9uO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBwdXJlbHkgZGVjb3JhdGl2ZS4gV2hlbiB0cnVlLCBhY2Nlc3NpYmlsaXR5LXJlbGF0ZWQgYXR0cmlidXRlc1xuICAgICAqIGFyZSB1cGRhdGVkIHNvIHRoYXQgdGhlIHJlbmRlcmVkIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUuXG4gICAgICovXG4gICAgZGVjb3JhdGl2ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgYWRkcyBhY2Nlc3NpYmxlIGFuZCBjb25maWd1cmFibGUgc2VwYXJhdG9yIGVsZW1lbnQgdG8gdGhlIERPTS5cbiAqIFRoaXMgY2FuIGJlIGVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGFuZCBvcHRpb25hbGx5IGRlY29yYXRpdmUgKHdoaWNoIHJlbW92ZXNcbiAqIGl0IGZyb20gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSkuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZGl2W3JkeFNlcGFyYXRvclJvb3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnJvbGVdJzogJ2NvbXB1dGVkUm9sZSgpJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtb3JpZW50YXRpb25dJzogJ2NvbXB1dGVkQXJpYU9yaWVudGF0aW9uKCknLFxuXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbigpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4U2VwYXJhdG9yUm9vdERpcmVjdGl2ZSB7XG4gICAgLyoqXG4gICAgICogT3JpZW50YXRpb24gb2YgdGhlIHNlcGFyYXRvciwgY2FuIGJlIGVpdGhlciAnaG9yaXpvbnRhbCcgb3IgJ3ZlcnRpY2FsJy5cbiAgICAgKiBEZWZhdWx0cyB0byAnaG9yaXpvbnRhbCcuXG4gICAgICovXG4gICAgcmVhZG9ubHkgb3JpZW50YXRpb24gPSBpbnB1dDxPcmllbnRhdGlvbj4oREVGQVVMVF9PUklFTlRBVElPTik7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgc2VwYXJhdG9yIHdpbGwgYmUgY29uc2lkZXJlZCBkZWNvcmF0aXZlIGFuZCByZW1vdmVkIGZyb21cbiAgICAgKiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZWNvcmF0aXZlID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBmb3IgdGhlIHNlcGFyYXRvci4gSWYgYGRlY29yYXRpdmVgIGlzIHRydWUsXG4gICAgICogdGhlIHJvbGUgaXMgc2V0IHRvIFwibm9uZVwiLCBvdGhlcndpc2UgaXQgaXMgXCJzZXBhcmF0b3JcIi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcHV0ZWRSb2xlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuZGVjb3JhdGl2ZSgpID8gJ25vbmUnIDogJ3NlcGFyYXRvcicpKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHRoZSBgYXJpYS1vcmllbnRhdGlvbmAgYXR0cmlidXRlLiBJdCBpcyBzZXQgdG8gXCJ2ZXJ0aWNhbFwiIG9ubHkgaWZcbiAgICAgKiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBkZWNvcmF0aXZlIGFuZCB0aGUgb3JpZW50YXRpb24gaXMgc2V0IHRvIFwidmVydGljYWxcIi5cbiAgICAgKiBGb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvbiwgdGhlIGF0dHJpYnV0ZSBpcyBvbWl0dGVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb21wdXRlZEFyaWFPcmllbnRhdGlvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgICF0aGlzLmRlY29yYXRpdmUoKSAmJiB0aGlzLm9yaWVudGF0aW9uKCkgPT09ICd2ZXJ0aWNhbCcgPyAndmVydGljYWwnIDogbnVsbFxuICAgICk7XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './src/visually-hidden-input-bubble.directive';
2
+ export * from './src/visually-hidden-input.directive';
3
+ export * from './src/visually-hidden.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Zpc3VhbGx5LWhpZGRlbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3Zpc3VhbGx5LWhpZGRlbi1pbnB1dC1idWJibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Zpc3VhbGx5LWhpZGRlbi1pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvdmlzdWFsbHktaGlkZGVuLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy12aXN1YWxseS1oaWRkZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Zpc3VhbGx5LWhpZGRlbi9yYWRpeC1uZy1wcmltaXRpdmVzLXZpc3VhbGx5LWhpZGRlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { Directive, effect, ElementRef, inject, input } from '@angular/core';
2
+ import { RdxVisuallyHiddenDirective } from './visually-hidden.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./visually-hidden.directive";
5
+ /**
6
+ *
7
+ */
8
+ export class RdxVisuallyHiddenInputBubbleDirective {
9
+ constructor() {
10
+ this.elementRef = inject(ElementRef);
11
+ this.name = input('');
12
+ this.value = input(null);
13
+ this.checked = input(undefined);
14
+ this.required = input(undefined);
15
+ this.disabled = input(undefined);
16
+ this.feature = input('fully-hidden');
17
+ effect(() => {
18
+ this.updateInputValue();
19
+ });
20
+ }
21
+ onChange() {
22
+ this.updateInputValue();
23
+ }
24
+ updateInputValue() {
25
+ let valueChanged = false;
26
+ let checkedChanged = false;
27
+ // Check if the value has changed before applying the update
28
+ const currentValue = this.inputElement.value;
29
+ const newValue = String(this.value());
30
+ if (currentValue !== newValue) {
31
+ this.inputElement.value = newValue;
32
+ valueChanged = true;
33
+ }
34
+ if (this.inputElement.type === 'checkbox' || this.inputElement.type === 'radio') {
35
+ const currentChecked = this.inputElement.checked;
36
+ const newChecked = !!this.checked();
37
+ if (currentChecked !== newChecked) {
38
+ this.inputElement.checked = newChecked;
39
+ checkedChanged = true;
40
+ }
41
+ }
42
+ if (valueChanged || checkedChanged) {
43
+ this.dispatchInputEvents();
44
+ }
45
+ }
46
+ get inputElement() {
47
+ return this.elementRef.nativeElement;
48
+ }
49
+ dispatchInputEvents() {
50
+ const inputEvent = new Event('input', { bubbles: true });
51
+ const changeEvent = new Event('change', { bubbles: true });
52
+ this.inputElement.dispatchEvent(inputEvent);
53
+ this.inputElement.dispatchEvent(changeEvent);
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxVisuallyHiddenInputBubbleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
56
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxVisuallyHiddenInputBubbleDirective, isStandalone: true, selector: "[rdxVisuallyHiddenInputBubble]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "change": "onChange()" }, properties: { "attr.name": "name()", "attr.required": "required()", "attr.disabled": "disabled()", "attr.checked": "checked()", "value": "value()" } }, hostDirectives: [{ directive: i1.RdxVisuallyHiddenDirective, inputs: ["feature", "feature"] }], ngImport: i0 }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxVisuallyHiddenInputBubbleDirective, decorators: [{
59
+ type: Directive,
60
+ args: [{
61
+ selector: '[rdxVisuallyHiddenInputBubble]',
62
+ standalone: true,
63
+ hostDirectives: [{ directive: RdxVisuallyHiddenDirective, inputs: ['feature: feature'] }],
64
+ host: {
65
+ '[attr.name]': 'name()',
66
+ '[attr.required]': 'required()',
67
+ '[attr.disabled]': 'disabled()',
68
+ '[attr.checked]': 'checked()',
69
+ '[value]': 'value()',
70
+ '(change)': 'onChange()'
71
+ }
72
+ }]
73
+ }], ctorParameters: () => [] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsbHktaGlkZGVuLWlucHV0LWJ1YmJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Zpc3VhbGx5LWhpZGRlbi9zcmMvdmlzdWFsbHktaGlkZGVuLWlucHV0LWJ1YmJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUV6RTs7R0FFRztBQWNILE1BQU0sT0FBTyxxQ0FBcUM7SUFVOUM7UUFUaUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV4QyxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFVBQUssR0FBRyxLQUFLLENBQVcsSUFBSSxDQUFDLENBQUM7UUFDOUIsWUFBTyxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7UUFDaEQsYUFBUSxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7UUFDakQsYUFBUSxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7UUFDakQsWUFBTyxHQUFHLEtBQUssQ0FBUyxjQUFjLENBQUMsQ0FBQztRQUc3QyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsUUFBUTtRQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQztRQUUzQiw0REFBNEQ7UUFDNUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNuQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUM5RSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNqRCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXBDLElBQUksY0FBYyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7Z0JBQ3ZDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDMUIsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLFlBQVksSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVksWUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0ExRFEscUNBQXFDO2tHQUFyQyxxQ0FBcUM7OzJGQUFyQyxxQ0FBcUM7a0JBYmpELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztvQkFDekYsSUFBSSxFQUFFO3dCQUNGLGFBQWEsRUFBRSxRQUFRO3dCQUN2QixpQkFBaUIsRUFBRSxZQUFZO3dCQUMvQixpQkFBaUIsRUFBRSxZQUFZO3dCQUMvQixnQkFBZ0IsRUFBRSxXQUFXO3dCQUM3QixTQUFTLEVBQUUsU0FBUzt3QkFDcEIsVUFBVSxFQUFFLFlBQVk7cUJBQzNCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFZpc3VhbGx5SGlkZGVuRGlyZWN0aXZlIH0gZnJvbSAnLi92aXN1YWxseS1oaWRkZW4uZGlyZWN0aXZlJztcblxuLyoqXG4gKlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhWaXN1YWxseUhpZGRlbklucHV0QnViYmxlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0RGlyZWN0aXZlczogW3sgZGlyZWN0aXZlOiBSZHhWaXN1YWxseUhpZGRlbkRpcmVjdGl2ZSwgaW5wdXRzOiBbJ2ZlYXR1cmU6IGZlYXR1cmUnXSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5uYW1lXSc6ICduYW1lKCknLFxuICAgICAgICAnW2F0dHIucmVxdWlyZWRdJzogJ3JlcXVpcmVkKCknLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnW2F0dHIuY2hlY2tlZF0nOiAnY2hlY2tlZCgpJyxcbiAgICAgICAgJ1t2YWx1ZV0nOiAndmFsdWUoKScsXG4gICAgICAgICcoY2hhbmdlKSc6ICdvbkNoYW5nZSgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VmlzdWFsbHlIaWRkZW5JbnB1dEJ1YmJsZURpcmVjdGl2ZTxUPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgcmVhZG9ubHkgbmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICAgIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQ8VCB8IG51bGw+KG51bGwpO1xuICAgIHJlYWRvbmx5IGNoZWNrZWQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgcmVhZG9ubHkgZmVhdHVyZSA9IGlucHV0PHN0cmluZz4oJ2Z1bGx5LWhpZGRlbicpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUlucHV0VmFsdWUoKSB7XG4gICAgICAgIGxldCB2YWx1ZUNoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IGNoZWNrZWRDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkIGJlZm9yZSBhcHBseWluZyB0aGUgdXBkYXRlXG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IFN0cmluZyh0aGlzLnZhbHVlKCkpO1xuXG4gICAgICAgIGlmIChjdXJyZW50VmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdmFsdWVDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudC50eXBlID09PSAnY2hlY2tib3gnIHx8IHRoaXMuaW5wdXRFbGVtZW50LnR5cGUgPT09ICdyYWRpbycpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRDaGVja2VkID0gdGhpcy5pbnB1dEVsZW1lbnQuY2hlY2tlZDtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NoZWNrZWQgPSAhIXRoaXMuY2hlY2tlZCgpO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudENoZWNrZWQgIT09IG5ld0NoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5jaGVja2VkID0gbmV3Q2hlY2tlZDtcbiAgICAgICAgICAgICAgICBjaGVja2VkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWVDaGFuZ2VkIHx8IGNoZWNrZWRDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BhdGNoSW5wdXRFdmVudHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlucHV0RWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzcGF0Y2hJbnB1dEV2ZW50cygpIHtcbiAgICAgICAgY29uc3QgaW5wdXRFdmVudCA9IG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUgfSk7XG4gICAgICAgIGNvbnN0IGNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSk7XG5cbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZGlzcGF0Y2hFdmVudChpbnB1dEV2ZW50KTtcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZGlzcGF0Y2hFdmVudChjaGFuZ2VFdmVudCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,74 @@
1
+ // Implementation from https://github.com/unovue/radix-vue
2
+ import { Directive, ElementRef, computed, inject, input } from '@angular/core';
3
+ import { RdxVisuallyHiddenInputBubbleDirective } from './visually-hidden-input-bubble.directive';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./visually-hidden-input-bubble.directive";
6
+ export class RdxVisuallyHiddenInputDirective {
7
+ constructor() {
8
+ this.elementRef = inject(ElementRef);
9
+ this.name = input('');
10
+ this.value = input(null);
11
+ this.checked = input(undefined);
12
+ this.required = input(undefined);
13
+ this.disabled = input(undefined);
14
+ this.feature = input('fully-hidden');
15
+ this.parsedValue = computed(() => {
16
+ const value = this.value();
17
+ const name = this.name();
18
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
19
+ return [{ name, value }];
20
+ }
21
+ if (Array.isArray(value)) {
22
+ return value.flatMap((obj, index) => {
23
+ if (typeof obj === 'object') {
24
+ return Object.entries(obj).map(([key, val]) => ({
25
+ name: `[${name}][${index}][${key}]`,
26
+ value: val
27
+ }));
28
+ }
29
+ else {
30
+ return { name: `[${name}][${index}]`, value: obj };
31
+ }
32
+ });
33
+ }
34
+ if (value !== null && typeof value === 'object') {
35
+ return Object.entries(value).map(([key, val]) => ({
36
+ name: `[${name}][${key}]`,
37
+ value: val
38
+ }));
39
+ }
40
+ return [];
41
+ });
42
+ }
43
+ ngOnInit() {
44
+ const parsedValues = this.parsedValue();
45
+ parsedValues.forEach((parsed) => {
46
+ const inputElement = this.elementRef.nativeElement;
47
+ inputElement.setAttribute('name', parsed.name);
48
+ inputElement.setAttribute('value', parsed.value);
49
+ });
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxVisuallyHiddenInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxVisuallyHiddenInputDirective, isStandalone: true, selector: "[rdxVisuallyHiddenInput]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.RdxVisuallyHiddenInputBubbleDirective, inputs: ["feature", "feature", "name", "name", "value", "value", "checked", "checked", "disabled", "disabled", "required", "required"] }], ngImport: i0 }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxVisuallyHiddenInputDirective, decorators: [{
55
+ type: Directive,
56
+ args: [{
57
+ selector: '[rdxVisuallyHiddenInput]',
58
+ standalone: true,
59
+ hostDirectives: [
60
+ {
61
+ directive: RdxVisuallyHiddenInputBubbleDirective,
62
+ inputs: [
63
+ 'feature: feature',
64
+ 'name: name ',
65
+ 'value: value',
66
+ 'checked: checked',
67
+ 'disabled: disabled',
68
+ 'required: required'
69
+ ]
70
+ }
71
+ ]
72
+ }]
73
+ }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsbHktaGlkZGVuLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdmlzdWFsbHktaGlkZGVuL3NyYy92aXN1YWxseS1oaWRkZW4taW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUUxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBbUJqRyxNQUFNLE9BQU8sK0JBQStCO0lBakI1QztRQWtCcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV4QyxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFVBQUssR0FBRyxLQUFLLENBQVcsSUFBSSxDQUFDLENBQUM7UUFDOUIsWUFBTyxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7UUFDaEQsYUFBUSxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7UUFDakQsYUFBUSxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7UUFDakQsWUFBTyxHQUFHLEtBQUssQ0FBK0IsY0FBYyxDQUFDLENBQUM7UUFFOUQsZ0JBQVcsR0FBRyxRQUFRLENBQWlDLEdBQUcsRUFBRTtZQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXpCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdkYsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ2hDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7d0JBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzs0QkFDNUMsSUFBSSxFQUFFLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxHQUFHLEdBQUc7NEJBQ25DLEtBQUssRUFBRSxHQUFHO3lCQUNiLENBQUMsQ0FBQyxDQUFDO29CQUNSLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxLQUFLLEtBQUssR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztvQkFDdkQsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFFRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzlDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDOUMsSUFBSSxFQUFFLElBQUksSUFBSSxLQUFLLEdBQUcsR0FBRztvQkFDekIsS0FBSyxFQUFFLEdBQUc7aUJBQ2IsQ0FBQyxDQUFDLENBQUM7WUFDUixDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztLQVdOO0lBVEcsUUFBUTtRQUNKLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV4QyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDNUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDbkQsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9DLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBakRRLCtCQUErQjtrR0FBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQWpCM0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFO3dCQUNaOzRCQUNJLFNBQVMsRUFBRSxxQ0FBcUM7NEJBQ2hELE1BQU0sRUFBRTtnQ0FDSixrQkFBa0I7Z0NBQ2xCLGFBQWE7Z0NBQ2IsY0FBYztnQ0FDZCxrQkFBa0I7Z0NBQ2xCLG9CQUFvQjtnQ0FDcEIsb0JBQW9COzZCQUN2Qjt5QkFDSjtxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEltcGxlbWVudGF0aW9uIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3Vub3Z1ZS9yYWRpeC12dWVcblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhWaXN1YWxseUhpZGRlbklucHV0QnViYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi92aXN1YWxseS1oaWRkZW4taW5wdXQtYnViYmxlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFZpc3VhbGx5SGlkZGVuSW5wdXRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogUmR4VmlzdWFsbHlIaWRkZW5JbnB1dEJ1YmJsZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICdmZWF0dXJlOiBmZWF0dXJlJyxcbiAgICAgICAgICAgICAgICAnbmFtZTogbmFtZSAnLFxuICAgICAgICAgICAgICAgICd2YWx1ZTogdmFsdWUnLFxuICAgICAgICAgICAgICAgICdjaGVja2VkOiBjaGVja2VkJyxcbiAgICAgICAgICAgICAgICAnZGlzYWJsZWQ6IGRpc2FibGVkJyxcbiAgICAgICAgICAgICAgICAncmVxdWlyZWQ6IHJlcXVpcmVkJ1xuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhWaXN1YWxseUhpZGRlbklucHV0RGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICByZWFkb25seSBuYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gICAgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dDxUIHwgbnVsbD4obnVsbCk7XG4gICAgcmVhZG9ubHkgY2hlY2tlZCA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgcmVhZG9ubHkgcmVxdWlyZWQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICByZWFkb25seSBmZWF0dXJlID0gaW5wdXQ8J2ZvY3VzYWJsZScgfCAnZnVsbHktaGlkZGVuJz4oJ2Z1bGx5LWhpZGRlbicpO1xuXG4gICAgcmVhZG9ubHkgcGFyc2VkVmFsdWUgPSBjb21wdXRlZDx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10+KCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUoKTtcblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gW3sgbmFtZSwgdmFsdWUgfV07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mbGF0TWFwKChvYmosIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuZW50cmllcyhvYmopLm1hcCgoW2tleSwgdmFsXSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGBbJHtuYW1lfV1bJHtpbmRleH1dWyR7a2V5fV1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbFxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbmFtZTogYFske25hbWV9XVske2luZGV4fV1gLCB2YWx1ZTogb2JqIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXksIHZhbF0pID0+ICh7XG4gICAgICAgICAgICAgICAgbmFtZTogYFske25hbWV9XVske2tleX1dYCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfSk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVmFsdWVzID0gdGhpcy5wYXJzZWRWYWx1ZSgpO1xuXG4gICAgICAgIHBhcnNlZFZhbHVlcy5mb3JFYWNoKChwYXJzZWQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgaW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZSgnbmFtZScsIHBhcnNlZC5uYW1lKTtcbiAgICAgICAgICAgIGlucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgcGFyc2VkLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ import { Directive, input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ *
5
+ * <span rdxVisuallyHidden [feature]="'fully-hidden'">
6
+ * <ng-content></ng-content>
7
+ * </span>
8
+ *
9
+ * <button (click)="directiveInstance.feature.set('focusable')">Make Focusable</button>
10
+ * <button (click)="directiveInstance.feature.set('fully-hidden')">Hide</button>
11
+ */
12
+ export class RdxVisuallyHiddenDirective {
13
+ constructor() {
14
+ this.feature = input('focusable');
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxVisuallyHiddenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxVisuallyHiddenDirective, isStandalone: true, selector: "[rdxVisuallyHidden]", inputs: { feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-hidden": "feature() === \"focusable\" ? \"true\" : null", "hidden": "feature() === \"fully-hidden\" ? true : null", "attr.tabindex": "feature() === \"fully-hidden\" ? \"-1\" : null", "style.position": "\"absolute\"", "style.border": "\"0\"", "style.width": "\"1px\"", "style.display": "feature() === \"focusable\" ? \"inline-block\" : \"none\"", "style.height": "\"1px\"", "style.padding": "\"0\"", "style.margin": "\"-1px\"", "style.overflow": "\"hidden\"", "style.clip": "\"rect(0, 0, 0, 0)\"", "style.white-space": "\"nowrap\"", "style.word-wrap": "\"normal\"" } }, ngImport: i0 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxVisuallyHiddenDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[rdxVisuallyHidden]',
23
+ standalone: true,
24
+ host: {
25
+ '[attr.aria-hidden]': 'feature() === "focusable" ? "true" : null',
26
+ '[hidden]': 'feature() === "fully-hidden" ? true : null',
27
+ '[attr.tabindex]': 'feature() === "fully-hidden" ? "-1" : null',
28
+ '[style.position]': '"absolute"',
29
+ '[style.border]': '"0"',
30
+ '[style.width]': '"1px"',
31
+ '[style.display]': 'feature() === "focusable" ? "inline-block" : "none"',
32
+ '[style.height]': '"1px"',
33
+ '[style.padding]': '"0"',
34
+ '[style.margin]': '"-1px"',
35
+ '[style.overflow]': '"hidden"',
36
+ '[style.clip]': '"rect(0, 0, 0, 0)"',
37
+ '[style.white-space]': '"nowrap"',
38
+ '[style.word-wrap]': '"normal"'
39
+ }
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsbHktaGlkZGVuLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdmlzdWFsbHktaGlkZGVuL3NyYy92aXN1YWxseS1oaWRkZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRDs7Ozs7Ozs7R0FRRztBQXFCSCxNQUFNLE9BQU8sMEJBQTBCO0lBcEJ2QztRQXFCYSxZQUFPLEdBQUcsS0FBSyxDQUErQixXQUFXLENBQUMsQ0FBQztLQUN2RTs4R0FGWSwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFwQnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixvQkFBb0IsRUFBRSwyQ0FBMkM7d0JBQ2pFLFVBQVUsRUFBRSw0Q0FBNEM7d0JBQ3hELGlCQUFpQixFQUFFLDRDQUE0Qzt3QkFDL0Qsa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMsZ0JBQWdCLEVBQUUsS0FBSzt3QkFDdkIsZUFBZSxFQUFFLE9BQU87d0JBQ3hCLGlCQUFpQixFQUFFLHFEQUFxRDt3QkFDeEUsZ0JBQWdCLEVBQUUsT0FBTzt3QkFDekIsaUJBQWlCLEVBQUUsS0FBSzt3QkFDeEIsZ0JBQWdCLEVBQUUsUUFBUTt3QkFDMUIsa0JBQWtCLEVBQUUsVUFBVTt3QkFDOUIsY0FBYyxFQUFFLG9CQUFvQjt3QkFDcEMscUJBQXFCLEVBQUUsVUFBVTt3QkFDakMsbUJBQW1CLEVBQUUsVUFBVTtxQkFDbEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICpcbiAqIDxzcGFuIHJkeFZpc3VhbGx5SGlkZGVuIFtmZWF0dXJlXT1cIidmdWxseS1oaWRkZW4nXCI+XG4gKiAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAqIDwvc3Bhbj5cbiAqXG4gKiA8YnV0dG9uIChjbGljayk9XCJkaXJlY3RpdmVJbnN0YW5jZS5mZWF0dXJlLnNldCgnZm9jdXNhYmxlJylcIj5NYWtlIEZvY3VzYWJsZTwvYnV0dG9uPlxuICogPGJ1dHRvbiAoY2xpY2spPVwiZGlyZWN0aXZlSW5zdGFuY2UuZmVhdHVyZS5zZXQoJ2Z1bGx5LWhpZGRlbicpXCI+SGlkZTwvYnV0dG9uPlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhWaXN1YWxseUhpZGRlbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuYXJpYS1oaWRkZW5dJzogJ2ZlYXR1cmUoKSA9PT0gXCJmb2N1c2FibGVcIiA/IFwidHJ1ZVwiIDogbnVsbCcsXG4gICAgICAgICdbaGlkZGVuXSc6ICdmZWF0dXJlKCkgPT09IFwiZnVsbHktaGlkZGVuXCIgPyB0cnVlIDogbnVsbCcsXG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAnZmVhdHVyZSgpID09PSBcImZ1bGx5LWhpZGRlblwiID8gXCItMVwiIDogbnVsbCcsXG4gICAgICAgICdbc3R5bGUucG9zaXRpb25dJzogJ1wiYWJzb2x1dGVcIicsXG4gICAgICAgICdbc3R5bGUuYm9yZGVyXSc6ICdcIjBcIicsXG4gICAgICAgICdbc3R5bGUud2lkdGhdJzogJ1wiMXB4XCInLFxuICAgICAgICAnW3N0eWxlLmRpc3BsYXldJzogJ2ZlYXR1cmUoKSA9PT0gXCJmb2N1c2FibGVcIiA/IFwiaW5saW5lLWJsb2NrXCIgOiBcIm5vbmVcIicsXG4gICAgICAgICdbc3R5bGUuaGVpZ2h0XSc6ICdcIjFweFwiJyxcbiAgICAgICAgJ1tzdHlsZS5wYWRkaW5nXSc6ICdcIjBcIicsXG4gICAgICAgICdbc3R5bGUubWFyZ2luXSc6ICdcIi0xcHhcIicsXG4gICAgICAgICdbc3R5bGUub3ZlcmZsb3ddJzogJ1wiaGlkZGVuXCInLFxuICAgICAgICAnW3N0eWxlLmNsaXBdJzogJ1wicmVjdCgwLCAwLCAwLCAwKVwiJyxcbiAgICAgICAgJ1tzdHlsZS53aGl0ZS1zcGFjZV0nOiAnXCJub3dyYXBcIicsXG4gICAgICAgICdbc3R5bGUud29yZC13cmFwXSc6ICdcIm5vcm1hbFwiJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VmlzdWFsbHlIaWRkZW5EaXJlY3RpdmUge1xuICAgIHJlYWRvbmx5IGZlYXR1cmUgPSBpbnB1dDwnZm9jdXNhYmxlJyB8ICdmdWxseS1oaWRkZW4nPignZm9jdXNhYmxlJyk7XG59XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, inject, Directive, Renderer2, ElementRef, Input, ViewContainerRef } from '@angular/core';
2
+ import { Injectable, inject, Directive, Renderer2, ElementRef, Input, ViewContainerRef, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/cdk/overlay';
4
4
  import { TemplatePortal } from '@angular/cdk/portal';
5
5
  import * as i1$1 from '@angular/cdk/a11y';
6
6
  import { CdkTrapFocus } from '@angular/cdk/a11y';
7
7
 
8
- class AlertDialogService {
8
+ class RdxAlertDialogService {
9
9
  constructor(overlay) {
10
10
  this.overlay = overlay;
11
11
  }
@@ -36,27 +36,27 @@ class AlertDialogService {
36
36
  this.overlayRef = null;
37
37
  }
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogService, providedIn: 'root' }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogService, providedIn: 'root' }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogService, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogService, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{
45
45
  providedIn: 'root'
46
46
  }]
47
47
  }], ctorParameters: () => [{ type: i1.Overlay }] });
48
48
 
49
- class AlertDialogCancelDirective {
49
+ class RdxAlertDialogCancelDirective {
50
50
  constructor() {
51
- this.alertDialogService = inject(AlertDialogService);
51
+ this.alertDialogService = inject(RdxAlertDialogService);
52
52
  }
53
53
  onClick() {
54
54
  this.alertDialogService.close();
55
55
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogCancelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogCancelDirective, isStandalone: true, selector: "[rdxAlertDialogCancel]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogCancelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogCancelDirective, isStandalone: true, selector: "[rdxAlertDialogCancel]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogCancelDirective, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogCancelDirective, decorators: [{
60
60
  type: Directive,
61
61
  args: [{
62
62
  selector: '[rdxAlertDialogCancel]',
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
67
67
  }]
68
68
  }] });
69
69
 
70
- class AlertDialogContentDirective {
70
+ class RdxAlertDialogContentDirective {
71
71
  constructor() {
72
72
  this.renderer = inject(Renderer2);
73
73
  this.elementRef = inject(ElementRef);
@@ -75,21 +75,21 @@ class AlertDialogContentDirective {
75
75
  set maxWidth(value) {
76
76
  this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);
77
77
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
79
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogContentDirective, isStandalone: true, selector: "[rdxAlertDialogContent]", inputs: { maxWidth: "maxWidth" }, host: { properties: { "attr.data-state": "open", "attr.cdkTrapFocusAutoCapture": "true" } }, hostDirectives: [{ directive: i1$1.CdkTrapFocus }], ngImport: i0 }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
79
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogContentDirective, isStandalone: true, selector: "[rdxAlertDialogContent]", inputs: { maxWidth: "maxWidth" }, host: { properties: { "attr.data-state": "\"open\"", "attr.cdkTrapFocusAutoCapture": "true" } }, hostDirectives: [{ directive: i1$1.CdkTrapFocus }], ngImport: i0 }); }
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogContentDirective, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogContentDirective, decorators: [{
82
82
  type: Directive,
83
83
  args: [{
84
84
  selector: '[rdxAlertDialogContent]',
85
+ standalone: true,
85
86
  hostDirectives: [
86
87
  {
87
88
  directive: CdkTrapFocus
88
89
  }
89
90
  ],
90
- standalone: true,
91
91
  host: {
92
- '[attr.data-state]': 'open',
92
+ '[attr.data-state]': '"open"',
93
93
  '[attr.cdkTrapFocusAutoCapture]': 'true'
94
94
  }
95
95
  }]
@@ -97,18 +97,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
97
97
  type: Input
98
98
  }] } });
99
99
 
100
- class AlertDialogRootDirective {
100
+ class RdxAlertDialogRootDirective {
101
101
  constructor() {
102
102
  this.viewContainerRef = inject(ViewContainerRef);
103
- this.alertDialogService = inject(AlertDialogService);
103
+ this.alertDialogService = inject(RdxAlertDialogService);
104
104
  }
105
105
  set content(template) {
106
106
  this.alertDialogService.setDialogContent(this.viewContainerRef, template);
107
107
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogRootDirective, isStandalone: true, selector: "[rdxAlertDialogRoot]", inputs: { content: "content" }, ngImport: i0 }); }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogRootDirective, isStandalone: true, selector: "[rdxAlertDialogRoot]", inputs: { content: "content" }, ngImport: i0 }); }
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogRootDirective, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogRootDirective, decorators: [{
112
112
  type: Directive,
113
113
  args: [{
114
114
  selector: '[rdxAlertDialogRoot]',
@@ -118,11 +118,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
118
118
  type: Input
119
119
  }] } });
120
120
 
121
- class AlertDialogTitleDirective {
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
123
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogTitleDirective, isStandalone: true, selector: "[rdxAlertDialogTitle]", ngImport: i0 }); }
121
+ class RdxAlertDialogTitleDirective {
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
123
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogTitleDirective, isStandalone: true, selector: "[rdxAlertDialogTitle]", ngImport: i0 }); }
124
124
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogTitleDirective, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogTitleDirective, decorators: [{
126
126
  type: Directive,
127
127
  args: [{
128
128
  selector: '[rdxAlertDialogTitle]',
@@ -130,17 +130,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
130
130
  }]
131
131
  }] });
132
132
 
133
- class AlertDialogTriggerDirective {
133
+ class RdxAlertDialogTriggerDirective {
134
134
  constructor() {
135
- this.alertDialogService = inject(AlertDialogService);
135
+ this.alertDialogService = inject(RdxAlertDialogService);
136
136
  }
137
137
  handleClick() {
138
138
  this.alertDialogService.open();
139
139
  }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
141
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogTriggerDirective, isStandalone: true, selector: "[rdxAlertDialogTrigger]", host: { listeners: { "click": "handleClick()" } }, ngImport: i0 }); }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
141
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAlertDialogTriggerDirective, isStandalone: true, selector: "[rdxAlertDialogTrigger]", host: { listeners: { "click": "handleClick()" } }, ngImport: i0 }); }
142
142
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogTriggerDirective, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogTriggerDirective, decorators: [{
144
144
  type: Directive,
145
145
  args: [{
146
146
  selector: '[rdxAlertDialogTrigger]',
@@ -151,9 +151,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
151
151
  }]
152
152
  }] });
153
153
 
154
+ const _imports = [
155
+ RdxAlertDialogRootDirective,
156
+ RdxAlertDialogContentDirective,
157
+ RdxAlertDialogCancelDirective,
158
+ RdxAlertDialogTriggerDirective,
159
+ RdxAlertDialogTitleDirective
160
+ ];
161
+ class RdxAlertDialogModule {
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
163
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogModule, imports: [RdxAlertDialogRootDirective,
164
+ RdxAlertDialogContentDirective,
165
+ RdxAlertDialogCancelDirective,
166
+ RdxAlertDialogTriggerDirective,
167
+ RdxAlertDialogTitleDirective], exports: [RdxAlertDialogRootDirective,
168
+ RdxAlertDialogContentDirective,
169
+ RdxAlertDialogCancelDirective,
170
+ RdxAlertDialogTriggerDirective,
171
+ RdxAlertDialogTitleDirective] }); }
172
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogModule }); }
173
+ }
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAlertDialogModule, decorators: [{
175
+ type: NgModule,
176
+ args: [{
177
+ imports: [..._imports],
178
+ exports: [..._imports]
179
+ }]
180
+ }] });
181
+
154
182
  /**
155
183
  * Generated bundle index. Do not edit.
156
184
  */
157
185
 
158
- export { AlertDialogCancelDirective, AlertDialogContentDirective, AlertDialogRootDirective, AlertDialogService, AlertDialogTitleDirective, AlertDialogTriggerDirective };
186
+ export { RdxAlertDialogCancelDirective, RdxAlertDialogContentDirective, RdxAlertDialogModule, RdxAlertDialogRootDirective, RdxAlertDialogService, RdxAlertDialogTitleDirective, RdxAlertDialogTriggerDirective };
159
187
  //# sourceMappingURL=radix-ng-primitives-alert-dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-alert-dialog.mjs","sources":["../../../packages/primitives/alert-dialog/src/alert-dialog.service.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-cancel.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-content.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-root.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-title.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-trigger.directive.ts","../../../packages/primitives/alert-dialog/radix-ng-primitives-alert-dialog.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertDialogService {\n private overlayRef: OverlayRef | null | undefined;\n private dialogContent:\n | {\n viewContainerRef: ViewContainerRef;\n template: TemplateRef<any>;\n }\n | undefined;\n\n constructor(private overlay: Overlay) {}\n\n setDialogContent(viewContainerRef: ViewContainerRef, template: TemplateRef<any>) {\n this.dialogContent = { viewContainerRef, template };\n }\n\n open() {\n if (!this.dialogContent) {\n throw new Error('Dialog content is not set');\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-dark-backdrop',\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically()\n });\n\n const templatePortal = new TemplatePortal(this.dialogContent.template, this.dialogContent.viewContainerRef);\n this.overlayRef.attach(templatePortal);\n\n this.overlayRef.keydownEvents().subscribe((event) => {\n if (event.key === 'Escape' || event.code === 'Escape') {\n this.close();\n }\n });\n this.overlayRef.backdropClick().subscribe(() => this.close());\n }\n\n close() {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogCancel]',\n standalone: true,\n host: {\n '(click)': 'onClick()'\n }\n})\nexport class AlertDialogCancelDirective {\n private readonly alertDialogService = inject(AlertDialogService);\n\n onClick() {\n this.alertDialogService.close();\n }\n}\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogContent]',\n hostDirectives: [\n {\n directive: CdkTrapFocus\n }\n ],\n standalone: true,\n host: {\n '[attr.data-state]': 'open',\n '[attr.cdkTrapFocusAutoCapture]': 'true'\n }\n})\nexport class AlertDialogContentDirective {\n private readonly renderer = inject(Renderer2);\n private readonly elementRef = inject(ElementRef);\n\n @Input() set maxWidth(value: string) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);\n }\n}\n","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogRoot]',\n standalone: true\n})\nexport class AlertDialogRootDirective {\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly alertDialogService = inject(AlertDialogService);\n\n @Input() set content(template: TemplateRef<any>) {\n this.alertDialogService.setDialogContent(this.viewContainerRef, template);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogTitle]',\n standalone: true\n})\nexport class AlertDialogTitleDirective {}\n","import { Directive, inject } from '@angular/core';\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogTrigger]',\n standalone: true,\n host: {\n '(click)': 'handleClick()'\n }\n})\nexport class AlertDialogTriggerDirective {\n private readonly alertDialogService = inject(AlertDialogService);\n\n handleClick() {\n this.alertDialogService.open();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"radix-ng-primitives-alert-dialog.mjs","sources":["../../../packages/primitives/alert-dialog/src/alert-dialog.service.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-cancel.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-content.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-root.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-title.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-trigger.directive.ts","../../../packages/primitives/alert-dialog/index.ts","../../../packages/primitives/alert-dialog/radix-ng-primitives-alert-dialog.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RdxAlertDialogService {\n private overlayRef: OverlayRef | null | undefined;\n private dialogContent:\n | {\n viewContainerRef: ViewContainerRef;\n template: TemplateRef<any>;\n }\n | undefined;\n\n constructor(private overlay: Overlay) {}\n\n setDialogContent(viewContainerRef: ViewContainerRef, template: TemplateRef<any>) {\n this.dialogContent = { viewContainerRef, template };\n }\n\n open() {\n if (!this.dialogContent) {\n throw new Error('Dialog content is not set');\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-dark-backdrop',\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically()\n });\n\n const templatePortal = new TemplatePortal(this.dialogContent.template, this.dialogContent.viewContainerRef);\n this.overlayRef.attach(templatePortal);\n\n this.overlayRef.keydownEvents().subscribe((event) => {\n if (event.key === 'Escape' || event.code === 'Escape') {\n this.close();\n }\n });\n this.overlayRef.backdropClick().subscribe(() => this.close());\n }\n\n close() {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { RdxAlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogCancel]',\n standalone: true,\n host: {\n '(click)': 'onClick()'\n }\n})\nexport class RdxAlertDialogCancelDirective {\n private readonly alertDialogService = inject(RdxAlertDialogService);\n\n onClick() {\n this.alertDialogService.close();\n }\n}\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogContent]',\n standalone: true,\n hostDirectives: [\n {\n directive: CdkTrapFocus\n }\n ],\n host: {\n '[attr.data-state]': '\"open\"',\n '[attr.cdkTrapFocusAutoCapture]': 'true'\n }\n})\nexport class RdxAlertDialogContentDirective {\n private readonly renderer = inject(Renderer2);\n private readonly elementRef = inject(ElementRef);\n\n @Input() set maxWidth(value: string) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);\n }\n}\n","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { RdxAlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogRoot]',\n standalone: true\n})\nexport class RdxAlertDialogRootDirective {\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly alertDialogService = inject(RdxAlertDialogService);\n\n @Input() set content(template: TemplateRef<any>) {\n this.alertDialogService.setDialogContent(this.viewContainerRef, template);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogTitle]',\n standalone: true\n})\nexport class RdxAlertDialogTitleDirective {}\n","import { Directive, inject } from '@angular/core';\nimport { RdxAlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogTrigger]',\n standalone: true,\n host: {\n '(click)': 'handleClick()'\n }\n})\nexport class RdxAlertDialogTriggerDirective {\n private readonly alertDialogService = inject(RdxAlertDialogService);\n\n handleClick() {\n this.alertDialogService.open();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RdxAlertDialogCancelDirective } from './src/alert-dialog-cancel.directive';\nimport { RdxAlertDialogContentDirective } from './src/alert-dialog-content.directive';\nimport { RdxAlertDialogRootDirective } from './src/alert-dialog-root.directive';\nimport { RdxAlertDialogTitleDirective } from './src/alert-dialog-title.directive';\nimport { RdxAlertDialogTriggerDirective } from './src/alert-dialog-trigger.directive';\n\nexport * from './src/alert-dialog-cancel.directive';\nexport * from './src/alert-dialog-content.directive';\nexport * from './src/alert-dialog-root.directive';\nexport * from './src/alert-dialog-title.directive';\nexport * from './src/alert-dialog-trigger.directive';\n\nexport * from './src/alert-dialog.service';\n\nconst _imports = [\n RdxAlertDialogRootDirective,\n RdxAlertDialogContentDirective,\n RdxAlertDialogCancelDirective,\n RdxAlertDialogTriggerDirective,\n RdxAlertDialogTitleDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxAlertDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}