@odx/angular 5.2.0 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @odx/angular
2
2
 
3
+ ## 5.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 98bcba9: Use :root as default CSS variable root selector
8
+
3
9
  ## 5.2.0
4
10
 
5
11
  ### Minor Changes
@@ -4,7 +4,7 @@ function isSameDomain({ href }) {
4
4
  }
5
5
  /** @internal */
6
6
  /* istanbul ignore next */
7
- export function getCSSVariables(filter, selector = 'body') {
7
+ export function getCSSVariables(filter, selector = ':root') {
8
8
  const stylesheets = Array.from(document.styleSheets).filter(isSameDomain);
9
9
  return stylesheets.reduce((variables, { cssRules }) => {
10
10
  const rules = Array.from(cssRules).filter(({ type }) => type === CSSRule.STYLE_RULE);
@@ -19,4 +19,4 @@ export function getCSSVariables(filter, selector = 'body') {
19
19
  return variables;
20
20
  }, []);
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNzcy12YXJpYWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW50ZXJuYWwvc3JjL2xpYi9oZWxwZXJzL2dldC1jc3MtdmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLDBCQUEwQjtBQUMxQixTQUFTLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBYztJQUN4QyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsZ0JBQWdCO0FBQ2hCLDBCQUEwQjtBQUMxQixNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWMsRUFBRSxRQUFRLEdBQUcsTUFBTTtJQUMvRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFMUUsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUEwQixDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7UUFDN0UsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBbUIsQ0FBQztRQUN2RyxLQUFLLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksS0FBSyxFQUFFO1lBQzNDLEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksWUFBWSxLQUFLLFFBQVEsQ0FBQztvQkFBRSxTQUFTO2dCQUN0RyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQzFFO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIENTU1ZhcmlhYmxlRGVmaW5pdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGlzU2FtZURvbWFpbih7IGhyZWYgfTogU3R5bGVTaGVldCk6IGJvb2xlYW4ge1xuICByZXR1cm4gIWhyZWYgfHwgaHJlZi5zdGFydHNXaXRoKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO1xufVxuXG4vKiogQGludGVybmFsICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENTU1ZhcmlhYmxlcyhmaWx0ZXI6IFJlZ0V4cCwgc2VsZWN0b3IgPSAnYm9keScpOiBDU1NWYXJpYWJsZURlZmluaXRpb25bXSB7XG4gIGNvbnN0IHN0eWxlc2hlZXRzID0gQXJyYXkuZnJvbShkb2N1bWVudC5zdHlsZVNoZWV0cykuZmlsdGVyKGlzU2FtZURvbWFpbik7XG5cbiAgcmV0dXJuIHN0eWxlc2hlZXRzLnJlZHVjZTxDU1NWYXJpYWJsZURlZmluaXRpb25bXT4oKHZhcmlhYmxlcywgeyBjc3NSdWxlcyB9KSA9PiB7XG4gICAgY29uc3QgcnVsZXMgPSBBcnJheS5mcm9tKGNzc1J1bGVzKS5maWx0ZXIoKHsgdHlwZSB9KSA9PiB0eXBlID09PSBDU1NSdWxlLlNUWUxFX1JVTEUpIGFzIENTU1N0eWxlUnVsZVtdO1xuICAgIGZvciAoY29uc3QgeyBzdHlsZSwgc2VsZWN0b3JUZXh0IH0gb2YgcnVsZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcE5hbWUgb2YgQXJyYXkuZnJvbShzdHlsZSkpIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IHByb3BOYW1lLnRyaW0oKTtcbiAgICAgICAgaWYgKCFuYW1lLnN0YXJ0c1dpdGgoJy0tJykgfHwgIWZpbHRlci50ZXN0KG5hbWUpIHx8IChzZWxlY3RvciAmJiBzZWxlY3RvclRleHQgIT09IHNlbGVjdG9yKSkgY29udGludWU7XG4gICAgICAgIHZhcmlhYmxlcy5wdXNoKHsgbmFtZSwgdmFsdWU6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcE5hbWUpLnRyaW0oKSB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfSwgW10pO1xufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNzcy12YXJpYWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW50ZXJuYWwvc3JjL2xpYi9oZWxwZXJzL2dldC1jc3MtdmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLDBCQUEwQjtBQUMxQixTQUFTLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBYztJQUN4QyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsZ0JBQWdCO0FBQ2hCLDBCQUEwQjtBQUMxQixNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWMsRUFBRSxRQUFRLEdBQUcsT0FBTztJQUNoRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFMUUsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUEwQixDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7UUFDN0UsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBbUIsQ0FBQztRQUN2RyxLQUFLLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksS0FBSyxFQUFFO1lBQzNDLEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksWUFBWSxLQUFLLFFBQVEsQ0FBQztvQkFBRSxTQUFTO2dCQUN0RyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQzFFO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIENTU1ZhcmlhYmxlRGVmaW5pdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGlzU2FtZURvbWFpbih7IGhyZWYgfTogU3R5bGVTaGVldCk6IGJvb2xlYW4ge1xuICByZXR1cm4gIWhyZWYgfHwgaHJlZi5zdGFydHNXaXRoKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO1xufVxuXG4vKiogQGludGVybmFsICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENTU1ZhcmlhYmxlcyhmaWx0ZXI6IFJlZ0V4cCwgc2VsZWN0b3IgPSAnOnJvb3QnKTogQ1NTVmFyaWFibGVEZWZpbml0aW9uW10ge1xuICBjb25zdCBzdHlsZXNoZWV0cyA9IEFycmF5LmZyb20oZG9jdW1lbnQuc3R5bGVTaGVldHMpLmZpbHRlcihpc1NhbWVEb21haW4pO1xuXG4gIHJldHVybiBzdHlsZXNoZWV0cy5yZWR1Y2U8Q1NTVmFyaWFibGVEZWZpbml0aW9uW10+KCh2YXJpYWJsZXMsIHsgY3NzUnVsZXMgfSkgPT4ge1xuICAgIGNvbnN0IHJ1bGVzID0gQXJyYXkuZnJvbShjc3NSdWxlcykuZmlsdGVyKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gQ1NTUnVsZS5TVFlMRV9SVUxFKSBhcyBDU1NTdHlsZVJ1bGVbXTtcbiAgICBmb3IgKGNvbnN0IHsgc3R5bGUsIHNlbGVjdG9yVGV4dCB9IG9mIHJ1bGVzKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIEFycmF5LmZyb20oc3R5bGUpKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBwcm9wTmFtZS50cmltKCk7XG4gICAgICAgIGlmICghbmFtZS5zdGFydHNXaXRoKCctLScpIHx8ICFmaWx0ZXIudGVzdChuYW1lKSB8fCAoc2VsZWN0b3IgJiYgc2VsZWN0b3JUZXh0ICE9PSBzZWxlY3RvcikpIGNvbnRpbnVlO1xuICAgICAgICB2YXJpYWJsZXMucHVzaCh7IG5hbWUsIHZhbHVlOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BOYW1lKS50cmltKCkgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH0sIFtdKTtcbn1cbiJdfQ==
@@ -43,7 +43,7 @@ export class WindowRef {
43
43
  getCSSVariable(name, element = this.document.body) {
44
44
  return this.nativeWindow.getComputedStyle(element).getPropertyValue(`--${name}`).trim();
45
45
  }
46
- getCSSColorStyles(filter, selector = 'body') {
46
+ getCSSColorStyles(filter, selector = ':root') {
47
47
  const selectorFilter = new RegExp(`^${selector}$`);
48
48
  const nameFilter = new RegExp(`^--${filter}`);
49
49
  const arr = Array.from(this.document.styleSheets)
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
71
71
  providedIn: 'root',
72
72
  }]
73
73
  }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL3dpbmRvdy1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt0RyxNQUFNLE9BQU8sU0FBUztJQUh0QjtRQUltQixVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsaUJBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDbkQsY0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ2pGLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQzFCLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxF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RSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksWUFBWSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQy9GLE1BQU0sQ0FBQyxDQUFDLE1BQThCLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDL0MsTUFBTSxDQUFDLE1BQU0sQ0FBRSxJQUFxQixDQUFDLEtBQUssQ0FBQztpQkFDeEMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ3ZDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3hELE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDVCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7K0dBNUVVLFNBQVM7bUhBQVQsU0FBUyxjQUZSLE1BQU07OzRGQUVQLFNBQVM7a0JBSHJCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCByZWZsZWN0Q29tcG9uZW50VHlwZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmcm9tRXZlbnRzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3J4anMnO1xuaW1wb3J0IHsgZ2V0TGFuZ3VhZ2VDb2RlIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIEVNUFRZLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV2luZG93UmVmIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZSA9IGluamVjdChUaXRsZSk7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHB1YmxpYyByZWFkb25seSBuYXRpdmVXaW5kb3cgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3ID8/IHdpbmRvdztcbiAgcHVibGljIHJlYWRvbmx5IGlzT25saW5lJCA9IGZyb21FdmVudHModGhpcy5uYXRpdmVXaW5kb3csICdvZmZsaW5lJywgJ29ubGluZScpLnBpcGUoXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIG1hcCgoKSA9PiB0aGlzLmlzT25saW5lKCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHBhZ2VUaXRsZSQgPSAoaW5qZWN0KFJvdXRlciwgeyBvcHRpb25hbDogdHJ1ZSB9KT8uZXZlbnRzID8/IEVNUFRZKS5waXBlKFxuICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICBtYXAoKCkgPT4gdGhpcy50aXRsZS5nZXRUaXRsZSgpKSxcbiAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuXG4gIHB1YmxpYyBnZXQgbG9jYXRpb24oKTogTG9jYXRpb24ge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZVdpbmRvdy5sb2NhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBpc09ubGluZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXRpdmVXaW5kb3cubmF2aWdhdG9yLm9uTGluZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbGFuZ3VhZ2UsIGxhbmd1YWdlcywgdXNlckxhbmd1YWdlIH0gPSB0aGlzLm5hdGl2ZVdpbmRvdy5uYXZpZ2F0b3IgYXMgTmF2aWdhdG9yICYgeyB1c2VyTGFuZ3VhZ2U/OiBzdHJpbmcgfTtcblxuICAgIHJldHVybiBsYW5ndWFnZXM/LlswXSA/PyB1c2VyTGFuZ3VhZ2UgPz8gbGFuZ3VhZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFuZ3VhZ2VDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldExhbmd1YWdlQ29kZSh0aGlzLmdldExhbmd1YWdlKCkpO1xuICB9XG5cbiAgcHVibGljIGdldE9yaWdpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uLm9yaWdpbjtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuUGFnZSh1cmw/OiBzdHJpbmcgfCBVUkwsIHRhcmdldD86IHN0cmluZywgZmVhdHVyZXM/OiBzdHJpbmcpOiBXaW5kb3dQcm94eSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZVdpbmRvdy5vcGVuKHVybCwgdGFyZ2V0LCBmZWF0dXJlcyk7XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkUGFnZSgpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBxdWVyeUJ5Q29tcG9uZW50PFQ+KHR5cGU6IFR5cGU8VD4pOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSByZWZsZWN0Q29tcG9uZW50VHlwZSh0eXBlKTtcblxuICAgIHJldHVybiBjb21wb25lbnRUeXBlID8gdGhpcy5uYXRpdmVXaW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihjb21wb25lbnRUeXBlLnNlbGVjdG9yKSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q1NTVmFyaWFibGUobmFtZTogc3RyaW5nLCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuYm9keSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmF0aXZlV2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShgLS0ke25hbWV9YCkudHJpbSgpO1xuICB9XG5cbiAgcHVibGljIGdldENTU0NvbG9yU3R5bGVzKGZpbHRlcjogc3RyaW5nLCBzZWxlY3RvciA9ICdib2R5Jyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHNlbGVjdG9yRmlsdGVyID0gbmV3IFJlZ0V4cChgXiR7c2VsZWN0b3J9JGApO1xuICAgIGNvbnN0IG5hbWVGaWx0ZXIgPSBuZXcgUmVnRXhwKGBeLS0ke2ZpbHRlcn1gKTtcbiAgICBjb25zdCBhcnIgPSBBcnJheS5mcm9tKHRoaXMuZG9jdW1lbnQuc3R5bGVTaGVldHMpXG4gICAgICAuZmlsdGVyKCh7IGhyZWYgfSkgPT4gIWhyZWYgfHwgaHJlZi5zdGFydHNXaXRoKHRoaXMubmF0aXZlV2luZG93LmxvY2F0aW9uLm9yaWdpbikpXG4gICAgICAubWFwKCh7IGNzc1J1bGVzIH0pID0+IEFycmF5LmZyb20oY3NzUnVsZXMpWzBdKVxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gcnVsZSBpbnN0YW5jZW9mIENTU1N0eWxlUnVsZSAmJiBzZWxlY3RvckZpbHRlci50ZXN0KHJ1bGUuc2VsZWN0b3JUZXh0LnRyaW0oKSkpXG4gICAgICAucmVkdWNlKChjb2xvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIHJ1bGUpID0+IHtcbiAgICAgICAgT2JqZWN0LnZhbHVlcygocnVsZSBhcyBDU1NTdHlsZVJ1bGUpLnN0eWxlKVxuICAgICAgICAgIC5tYXAoKHN0eWxlKSA9PiBzdHlsZS50b1N0cmluZygpLnRyaW0oKSlcbiAgICAgICAgICAuZmlsdGVyKChuYW1lKSA9PiBCb29sZWFuKG5hbWUpICYmIG5hbWVGaWx0ZXIudGVzdChuYW1lKSlcbiAgICAgICAgICAuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gbmFtZS5yZXBsYWNlKCctLScsICcnKTtcbiAgICAgICAgICAgIGNvbG9yc1trZXldID0gdGhpcy5nZXRDU1NWYXJpYWJsZShrZXkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29sb3JzO1xuICAgICAgfSwge30pO1xuICAgIHJldHVybiBhcnI7XG4gIH1cbn1cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL3dpbmRvdy1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt0RyxNQUFNLE9BQU8sU0FBUztJQUh0QjtRQUltQixVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsaUJBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDbkQsY0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ2pGLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQzFCLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO1FBQ2MsZUFBVSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3JGLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUNqRCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUNmLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ2hDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO0tBNkRIO0lBM0RDLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDNUMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFrRCxDQUFDO1FBRW5ILE9BQU8sU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxJQUFJLFFBQVEsQ0FBQztJQUNwRCxDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFrQixFQUFFLE1BQWUsRUFBRSxRQUFpQjtRQUNwRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLGdCQUFnQixDQUFJLElBQWE7UUFDdEMsTUFBTSxhQUFhLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakQsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRyxDQUFDO0lBRU0sY0FBYyxDQUFDLElBQVksRUFBRSxVQUF1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7UUFDM0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxRixDQUFDO0lBRU0saUJBQWlCLENBQUMsTUFBYyxFQUFFLFFBQVEsR0FBRyxPQUFPO1FBQ3pELE1BQU0sY0FBYyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNuRCxNQUFNLFVBQVUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDOUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQzthQUM5QyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pGLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksWUFBWSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQy9GLE1BQU0sQ0FBQyxDQUFDLE1BQThCLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDL0MsTUFBTSxDQUFDLE1BQU0sQ0FBRSxJQUFxQixDQUFDLEtBQUssQ0FBQztpQkFDeEMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ3ZDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3hELE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDVCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7K0dBNUVVLFNBQVM7bUhBQVQsU0FBUyxjQUZSLE1BQU07OzRGQUVQLFNBQVM7a0JBSHJCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCByZWZsZWN0Q29tcG9uZW50VHlwZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmcm9tRXZlbnRzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3J4anMnO1xuaW1wb3J0IHsgZ2V0TGFuZ3VhZ2VDb2RlIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIEVNUFRZLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV2luZG93UmVmIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZSA9IGluamVjdChUaXRsZSk7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHB1YmxpYyByZWFkb25seSBuYXRpdmVXaW5kb3cgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3ID8/IHdpbmRvdztcbiAgcHVibGljIHJlYWRvbmx5IGlzT25saW5lJCA9IGZyb21FdmVudHModGhpcy5uYXRpdmVXaW5kb3csICdvZmZsaW5lJywgJ29ubGluZScpLnBpcGUoXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIG1hcCgoKSA9PiB0aGlzLmlzT25saW5lKCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHBhZ2VUaXRsZSQgPSAoaW5qZWN0KFJvdXRlciwgeyBvcHRpb25hbDogdHJ1ZSB9KT8uZXZlbnRzID8/IEVNUFRZKS5waXBlKFxuICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICBtYXAoKCkgPT4gdGhpcy50aXRsZS5nZXRUaXRsZSgpKSxcbiAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuXG4gIHB1YmxpYyBnZXQgbG9jYXRpb24oKTogTG9jYXRpb24ge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZVdpbmRvdy5sb2NhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBpc09ubGluZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXRpdmVXaW5kb3cubmF2aWdhdG9yLm9uTGluZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbGFuZ3VhZ2UsIGxhbmd1YWdlcywgdXNlckxhbmd1YWdlIH0gPSB0aGlzLm5hdGl2ZVdpbmRvdy5uYXZpZ2F0b3IgYXMgTmF2aWdhdG9yICYgeyB1c2VyTGFuZ3VhZ2U/OiBzdHJpbmcgfTtcblxuICAgIHJldHVybiBsYW5ndWFnZXM/LlswXSA/PyB1c2VyTGFuZ3VhZ2UgPz8gbGFuZ3VhZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFuZ3VhZ2VDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldExhbmd1YWdlQ29kZSh0aGlzLmdldExhbmd1YWdlKCkpO1xuICB9XG5cbiAgcHVibGljIGdldE9yaWdpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uLm9yaWdpbjtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuUGFnZSh1cmw/OiBzdHJpbmcgfCBVUkwsIHRhcmdldD86IHN0cmluZywgZmVhdHVyZXM/OiBzdHJpbmcpOiBXaW5kb3dQcm94eSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZVdpbmRvdy5vcGVuKHVybCwgdGFyZ2V0LCBmZWF0dXJlcyk7XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkUGFnZSgpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBxdWVyeUJ5Q29tcG9uZW50PFQ+KHR5cGU6IFR5cGU8VD4pOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSByZWZsZWN0Q29tcG9uZW50VHlwZSh0eXBlKTtcblxuICAgIHJldHVybiBjb21wb25lbnRUeXBlID8gdGhpcy5uYXRpdmVXaW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihjb21wb25lbnRUeXBlLnNlbGVjdG9yKSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q1NTVmFyaWFibGUobmFtZTogc3RyaW5nLCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuYm9keSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmF0aXZlV2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShgLS0ke25hbWV9YCkudHJpbSgpO1xuICB9XG5cbiAgcHVibGljIGdldENTU0NvbG9yU3R5bGVzKGZpbHRlcjogc3RyaW5nLCBzZWxlY3RvciA9ICc6cm9vdCcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCBzZWxlY3RvckZpbHRlciA9IG5ldyBSZWdFeHAoYF4ke3NlbGVjdG9yfSRgKTtcbiAgICBjb25zdCBuYW1lRmlsdGVyID0gbmV3IFJlZ0V4cChgXi0tJHtmaWx0ZXJ9YCk7XG4gICAgY29uc3QgYXJyID0gQXJyYXkuZnJvbSh0aGlzLmRvY3VtZW50LnN0eWxlU2hlZXRzKVxuICAgICAgLmZpbHRlcigoeyBocmVmIH0pID0+ICFocmVmIHx8IGhyZWYuc3RhcnRzV2l0aCh0aGlzLm5hdGl2ZVdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pKVxuICAgICAgLm1hcCgoeyBjc3NSdWxlcyB9KSA9PiBBcnJheS5mcm9tKGNzc1J1bGVzKVswXSlcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+IHJ1bGUgaW5zdGFuY2VvZiBDU1NTdHlsZVJ1bGUgJiYgc2VsZWN0b3JGaWx0ZXIudGVzdChydWxlLnNlbGVjdG9yVGV4dC50cmltKCkpKVxuICAgICAgLnJlZHVjZSgoY29sb3JzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBydWxlKSA9PiB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMoKHJ1bGUgYXMgQ1NTU3R5bGVSdWxlKS5zdHlsZSlcbiAgICAgICAgICAubWFwKChzdHlsZSkgPT4gc3R5bGUudG9TdHJpbmcoKS50cmltKCkpXG4gICAgICAgICAgLmZpbHRlcigobmFtZSkgPT4gQm9vbGVhbihuYW1lKSAmJiBuYW1lRmlsdGVyLnRlc3QobmFtZSkpXG4gICAgICAgICAgLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IG5hbWUucmVwbGFjZSgnLS0nLCAnJyk7XG4gICAgICAgICAgICBjb2xvcnNba2V5XSA9IHRoaXMuZ2V0Q1NTVmFyaWFibGUoa2V5KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbG9ycztcbiAgICAgIH0sIHt9KTtcbiAgICByZXR1cm4gYXJyO1xuICB9XG59XG4iXX0=
@@ -28,7 +28,7 @@ function isSameDomain({ href }) {
28
28
  }
29
29
  /** @internal */
30
30
  /* istanbul ignore next */
31
- function getCSSVariables(filter, selector = 'body') {
31
+ function getCSSVariables(filter, selector = ':root') {
32
32
  const stylesheets = Array.from(document.styleSheets).filter(isSameDomain);
33
33
  return stylesheets.reduce((variables, { cssRules }) => {
34
34
  const rules = Array.from(cssRules).filter(({ type }) => type === CSSRule.STYLE_RULE);
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-internal.mjs","sources":["../../../../libs/angular/internal/src/lib/helpers/camel-to-kebab-case.ts","../../../../libs/angular/internal/src/lib/helpers/decorator-property-name.ts","../../../../libs/angular/internal/src/lib/helpers/deepmerge.ts","../../../../libs/angular/internal/src/lib/helpers/get-css-variables.ts","../../../../libs/angular/internal/src/lib/helpers/get-enum-values.ts","../../../../libs/angular/internal/src/lib/decorators/css-component.ts","../../../../libs/angular/internal/src/lib/decorators/css-modifier.ts","../../../../libs/angular/internal/src/lib/logger.ts","../../../../libs/angular/internal/src/odx-angular-internal.ts"],"sourcesContent":["/** @internal */\n/* istanbul ignore next */\nexport function camelToKebabCase(value: string): string {\n if (value !== value.toLowerCase()) {\n return value.replace(/[A-Z]/g, (match, index) => {\n const char = match.toLowerCase();\n\n return index === 0 ? char : `-${char}`;\n });\n }\n return value;\n}\n","export function decoratorPropertyName<D extends string, T extends string>(decoratorName: D, propertyName: T): `__ODX_${D}_${T}__` {\n return `__ODX_${decoratorName}_${propertyName}__`;\n}\n","import { deepmergeCustom, DeepMergeLeafURI } from 'deepmerge-ts';\n\nexport const deepmerge = deepmergeCustom<{ DeepMergeArraysURI: DeepMergeLeafURI }>({\n mergeArrays: false,\n mergeSets: false,\n});\n","interface CSSVariableDefinition {\n name: string;\n value: string;\n}\n\n/* istanbul ignore next */\nfunction isSameDomain({ href }: StyleSheet): boolean {\n return !href || href.startsWith(window.location.origin);\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function getCSSVariables(filter: RegExp, selector = 'body'): CSSVariableDefinition[] {\n const stylesheets = Array.from(document.styleSheets).filter(isSameDomain);\n\n return stylesheets.reduce<CSSVariableDefinition[]>((variables, { cssRules }) => {\n const rules = Array.from(cssRules).filter(({ type }) => type === CSSRule.STYLE_RULE) as CSSStyleRule[];\n for (const { style, selectorText } of rules) {\n for (const propName of Array.from(style)) {\n const name = propName.trim();\n if (!name.startsWith('--') || !filter.test(name) || (selector && selectorText !== selector)) continue;\n variables.push({ name, value: style.getPropertyValue(propName).trim() });\n }\n }\n return variables;\n }, []);\n}\n","/** @internal */\nexport function getEnumValues<TEnum, TKeys extends string>(e: { [key in TKeys]: TEnum }): TEnum[] {\n const keys = Object.keys(e) as TKeys[];\n return keys.filter((key) => e[key] !== undefined).map((key) => e[key]);\n}\n","import { ElementRef, Type } from '@angular/core';\nimport { decoratorPropertyName } from '../helpers';\n\nexport const CSS_COMPONENT_NAME = decoratorPropertyName('CSSComponent', 'name');\n\n/** @internal */\nexport interface CSSComponent {\n readonly element: ElementRef<HTMLElement>;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSComponent(name: string, prefix = 'odx') {\n return (target: Type<CSSComponent>) => {\n const cssClass = `${prefix}-${name}`;\n Object.defineProperty(target.prototype, CSS_COMPONENT_NAME, {\n value: cssClass,\n });\n\n (function (this: unknown, ngOnInit?: () => void) {\n target.prototype.ngOnInit = function (this: CSSComponent) {\n this.element.nativeElement.classList.add(cssClass);\n ngOnInit?.call(this);\n };\n })(target.prototype.ngOnInit);\n };\n}\n","import { camelToKebabCase, decoratorPropertyName } from '../helpers';\nimport { CSSComponent, CSS_COMPONENT_NAME } from './css-component';\n\n/** @internal */\ninterface CSSModifierOptions {\n withComponentPrefix?: boolean;\n withPrefix?: boolean;\n}\n\ntype CSSComponentInstance = CSSComponent & Record<string, unknown>;\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSModifier(options?: CSSModifierOptions) {\n return (target: CSSComponent, propertyKey: PropertyKey) => {\n const propertyKeyName = propertyKey.toString();\n const propertyKeyKebabCase = camelToKebabCase(propertyKeyName);\n const propertySymbol = decoratorPropertyName('CSSModifier', propertyKeyName);\n const propertyDefaultValue = decoratorPropertyName('CSSModifier', `${propertyKeyName}_default`);\n\n function createModifierClass(this: CSSComponentInstance, value: unknown) {\n if (typeof value === 'boolean' || (typeof value === 'string' && value.length > 0)) {\n let modifier = typeof value === 'boolean' ? propertyKeyKebabCase : value;\n if (options?.withPrefix) {\n modifier = `${propertyKeyName}-${modifier}`;\n }\n if (options?.withComponentPrefix ?? true) {\n return `${this[CSS_COMPONENT_NAME]}--${modifier}`;\n }\n return modifier;\n }\n return null;\n }\n\n function getter(this: CSSComponentInstance) {\n return this[propertySymbol];\n }\n\n function setter(this: CSSComponentInstance, value: unknown) {\n this[propertyDefaultValue] ??= value;\n const currentValue = this[propertySymbol] ?? null;\n const nextValue = value ?? this[propertyDefaultValue] ?? null;\n\n if (nextValue !== currentValue) {\n const currentModifierClass = createModifierClass.call(this, currentValue);\n if (currentModifierClass !== null) {\n this.element.nativeElement.classList.remove(currentModifierClass);\n }\n const newModifierClass = createModifierClass.call(this, nextValue);\n if (newModifierClass !== null && (typeof nextValue === 'boolean' ? nextValue : true)) {\n this.element.nativeElement.classList.add(newModifierClass);\n }\n }\n this[propertySymbol] = nextValue;\n }\n Object.defineProperty(target, propertyKey, {\n get: getter,\n set: setter,\n });\n };\n}\n","import { isDevMode } from '@angular/core';\n\nexport class Logger {\n private isEnabled: boolean;\n private readonly name: string;\n private readonly prefix: string;\n\n constructor(name: string) {\n this.name = name;\n this.prefix = `[${this.name}]`;\n this.isEnabled = isDevMode();\n }\n\n public log(...data: unknown[]): void {\n this.handle('log', data);\n }\n\n public info(...data: unknown[]): void {\n this.handle('info', data);\n }\n\n public warn(...data: unknown[]): void {\n this.handle('warn', data);\n }\n\n public error(...data: unknown[]): void {\n this.handle('error', data);\n }\n\n public debug(...data: unknown[]): void {\n this.handle('debug', data);\n }\n\n public group(name: string, groupHandler: (this: Logger, log: (...data: unknown[]) => void) => void, collapsed = true): void {\n if (!this.isEnabled) return;\n console[collapsed ? 'groupCollapsed' : 'group'](this.prefix, name);\n groupHandler.apply(this, [console.info]);\n console.groupEnd();\n }\n\n public enable(): void {\n this.isEnabled = true;\n }\n\n public disable(): void {\n this.isEnabled = false;\n }\n\n protected handle(method: 'debug' | 'log' | 'info' | 'warn' | 'error', data: unknown[]): void {\n if (!this.isEnabled) return;\n console[method](this.prefix, ...data);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-internal.mjs","sources":["../../../../libs/angular/internal/src/lib/helpers/camel-to-kebab-case.ts","../../../../libs/angular/internal/src/lib/helpers/decorator-property-name.ts","../../../../libs/angular/internal/src/lib/helpers/deepmerge.ts","../../../../libs/angular/internal/src/lib/helpers/get-css-variables.ts","../../../../libs/angular/internal/src/lib/helpers/get-enum-values.ts","../../../../libs/angular/internal/src/lib/decorators/css-component.ts","../../../../libs/angular/internal/src/lib/decorators/css-modifier.ts","../../../../libs/angular/internal/src/lib/logger.ts","../../../../libs/angular/internal/src/odx-angular-internal.ts"],"sourcesContent":["/** @internal */\n/* istanbul ignore next */\nexport function camelToKebabCase(value: string): string {\n if (value !== value.toLowerCase()) {\n return value.replace(/[A-Z]/g, (match, index) => {\n const char = match.toLowerCase();\n\n return index === 0 ? char : `-${char}`;\n });\n }\n return value;\n}\n","export function decoratorPropertyName<D extends string, T extends string>(decoratorName: D, propertyName: T): `__ODX_${D}_${T}__` {\n return `__ODX_${decoratorName}_${propertyName}__`;\n}\n","import { deepmergeCustom, DeepMergeLeafURI } from 'deepmerge-ts';\n\nexport const deepmerge = deepmergeCustom<{ DeepMergeArraysURI: DeepMergeLeafURI }>({\n mergeArrays: false,\n mergeSets: false,\n});\n","interface CSSVariableDefinition {\n name: string;\n value: string;\n}\n\n/* istanbul ignore next */\nfunction isSameDomain({ href }: StyleSheet): boolean {\n return !href || href.startsWith(window.location.origin);\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function getCSSVariables(filter: RegExp, selector = ':root'): CSSVariableDefinition[] {\n const stylesheets = Array.from(document.styleSheets).filter(isSameDomain);\n\n return stylesheets.reduce<CSSVariableDefinition[]>((variables, { cssRules }) => {\n const rules = Array.from(cssRules).filter(({ type }) => type === CSSRule.STYLE_RULE) as CSSStyleRule[];\n for (const { style, selectorText } of rules) {\n for (const propName of Array.from(style)) {\n const name = propName.trim();\n if (!name.startsWith('--') || !filter.test(name) || (selector && selectorText !== selector)) continue;\n variables.push({ name, value: style.getPropertyValue(propName).trim() });\n }\n }\n return variables;\n }, []);\n}\n","/** @internal */\nexport function getEnumValues<TEnum, TKeys extends string>(e: { [key in TKeys]: TEnum }): TEnum[] {\n const keys = Object.keys(e) as TKeys[];\n return keys.filter((key) => e[key] !== undefined).map((key) => e[key]);\n}\n","import { ElementRef, Type } from '@angular/core';\nimport { decoratorPropertyName } from '../helpers';\n\nexport const CSS_COMPONENT_NAME = decoratorPropertyName('CSSComponent', 'name');\n\n/** @internal */\nexport interface CSSComponent {\n readonly element: ElementRef<HTMLElement>;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSComponent(name: string, prefix = 'odx') {\n return (target: Type<CSSComponent>) => {\n const cssClass = `${prefix}-${name}`;\n Object.defineProperty(target.prototype, CSS_COMPONENT_NAME, {\n value: cssClass,\n });\n\n (function (this: unknown, ngOnInit?: () => void) {\n target.prototype.ngOnInit = function (this: CSSComponent) {\n this.element.nativeElement.classList.add(cssClass);\n ngOnInit?.call(this);\n };\n })(target.prototype.ngOnInit);\n };\n}\n","import { camelToKebabCase, decoratorPropertyName } from '../helpers';\nimport { CSSComponent, CSS_COMPONENT_NAME } from './css-component';\n\n/** @internal */\ninterface CSSModifierOptions {\n withComponentPrefix?: boolean;\n withPrefix?: boolean;\n}\n\ntype CSSComponentInstance = CSSComponent & Record<string, unknown>;\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSModifier(options?: CSSModifierOptions) {\n return (target: CSSComponent, propertyKey: PropertyKey) => {\n const propertyKeyName = propertyKey.toString();\n const propertyKeyKebabCase = camelToKebabCase(propertyKeyName);\n const propertySymbol = decoratorPropertyName('CSSModifier', propertyKeyName);\n const propertyDefaultValue = decoratorPropertyName('CSSModifier', `${propertyKeyName}_default`);\n\n function createModifierClass(this: CSSComponentInstance, value: unknown) {\n if (typeof value === 'boolean' || (typeof value === 'string' && value.length > 0)) {\n let modifier = typeof value === 'boolean' ? propertyKeyKebabCase : value;\n if (options?.withPrefix) {\n modifier = `${propertyKeyName}-${modifier}`;\n }\n if (options?.withComponentPrefix ?? true) {\n return `${this[CSS_COMPONENT_NAME]}--${modifier}`;\n }\n return modifier;\n }\n return null;\n }\n\n function getter(this: CSSComponentInstance) {\n return this[propertySymbol];\n }\n\n function setter(this: CSSComponentInstance, value: unknown) {\n this[propertyDefaultValue] ??= value;\n const currentValue = this[propertySymbol] ?? null;\n const nextValue = value ?? this[propertyDefaultValue] ?? null;\n\n if (nextValue !== currentValue) {\n const currentModifierClass = createModifierClass.call(this, currentValue);\n if (currentModifierClass !== null) {\n this.element.nativeElement.classList.remove(currentModifierClass);\n }\n const newModifierClass = createModifierClass.call(this, nextValue);\n if (newModifierClass !== null && (typeof nextValue === 'boolean' ? nextValue : true)) {\n this.element.nativeElement.classList.add(newModifierClass);\n }\n }\n this[propertySymbol] = nextValue;\n }\n Object.defineProperty(target, propertyKey, {\n get: getter,\n set: setter,\n });\n };\n}\n","import { isDevMode } from '@angular/core';\n\nexport class Logger {\n private isEnabled: boolean;\n private readonly name: string;\n private readonly prefix: string;\n\n constructor(name: string) {\n this.name = name;\n this.prefix = `[${this.name}]`;\n this.isEnabled = isDevMode();\n }\n\n public log(...data: unknown[]): void {\n this.handle('log', data);\n }\n\n public info(...data: unknown[]): void {\n this.handle('info', data);\n }\n\n public warn(...data: unknown[]): void {\n this.handle('warn', data);\n }\n\n public error(...data: unknown[]): void {\n this.handle('error', data);\n }\n\n public debug(...data: unknown[]): void {\n this.handle('debug', data);\n }\n\n public group(name: string, groupHandler: (this: Logger, log: (...data: unknown[]) => void) => void, collapsed = true): void {\n if (!this.isEnabled) return;\n console[collapsed ? 'groupCollapsed' : 'group'](this.prefix, name);\n groupHandler.apply(this, [console.info]);\n console.groupEnd();\n }\n\n public enable(): void {\n this.isEnabled = true;\n }\n\n public disable(): void {\n this.isEnabled = false;\n }\n\n protected handle(method: 'debug' | 'log' | 'info' | 'warn' | 'error', data: unknown[]): void {\n if (!this.isEnabled) return;\n console[method](this.prefix, ...data);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -400,7 +400,7 @@ class WindowRef {
400
400
  getCSSVariable(name, element = this.document.body) {
401
401
  return this.nativeWindow.getComputedStyle(element).getPropertyValue(`--${name}`).trim();
402
402
  }
403
- getCSSColorStyles(filter, selector = 'body') {
403
+ getCSSColorStyles(filter, selector = ':root') {
404
404
  const selectorFilter = new RegExp(`^${selector}$`);
405
405
  const nameFilter = new RegExp(`^--${filter}`);
406
406
  const arr = Array.from(this.document.styleSheets)
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular.mjs","sources":["../../../../libs/angular/src/lib/controllers/controller.ts","../../../../libs/angular/src/lib/controllers/disabled.controller.ts","../../../../libs/angular/src/lib/controllers/readonly.controller.ts","../../../../libs/angular/src/lib/directives/click-outside.directive.ts","../../../../libs/angular/src/lib/directives/delegate-focus.directive.ts","../../../../libs/angular/src/lib/directives/with-disabled-state.directive.ts","../../../../libs/angular/src/lib/directives/with-tabindex.directive.ts","../../../../libs/angular/src/lib/core.module.ts","../../../../libs/angular/src/lib/models/environment.ts","../../../../libs/angular/src/lib/services/window-ref.ts","../../../../libs/angular/src/lib/tokens/identity-matcher.ts","../../../../libs/angular/src/lib/tokens/string-search-handler.ts","../../../../libs/angular/src/lib/tokens/stringify.ts","../../../../libs/angular/src/odx-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, inject, OnChanges, OnDestroy } from '@angular/core';\nimport { isPresent, pluckFromArray } from '@odx/angular/utils';\nimport { EMPTY, merge, Observable, shareReplay, Subject, tap } from 'rxjs';\n\nfunction controllerChanges(controllers: Array<Controller | undefined | null>): Observable<void> {\n const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');\n\n return changes$.length > 0 ? merge(...changes$) : EMPTY;\n}\n\nexport function detectControllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void> {\n const changeDetector = inject(ChangeDetectorRef);\n\n return controllerChanges(controllers).pipe(tap(() => changeDetector.markForCheck()));\n}\n\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new Subject<void>();\n\n public readonly change$ = this.change$$.pipe(shareReplay({ refCount: true }));\n\n public static setup(controller: Controller | null, changeDetector: ChangeDetectorRef): Controller | null {\n controllerChanges([controller])\n .pipe(tap(() => changeDetector.markForCheck()))\n .subscribe();\n\n return controller;\n }\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { booleanAttribute, ChangeDetectorRef, Directive, forwardRef, Host, inject, InjectionToken, Input, Optional, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nexport const DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController');\n\n@Directive({\n standalone: true,\n selector: '[disabled]',\n providers: [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => DisabledController),\n },\n ],\n})\nexport class DisabledController extends Controller {\n private readonly parentController = inject(DISABLED_CONTROLLER, { optional: true, skipSelf: true });\n private isDisabled = false;\n\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.disabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true }),\n );\n\n @Input({ transform: booleanAttribute })\n public set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n public get disabled(): boolean {\n return this.isDisabled || !!this.parentController?.disabled;\n }\n\n public static inject(): DisabledController | null {\n return inject(DISABLED_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider[] {\n return [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useFactory: (hostController: DisabledController | null) => hostController ?? new DisabledController(),\n deps: [[new Optional(), new Host(), DisabledController]],\n },\n {\n provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [[new Optional(), new Host(), DISABLED_INTERNAL_CONTROLLER], ChangeDetectorRef],\n },\n ];\n }\n\n public setDisabledState(state: boolean): void {\n if (this.disabled !== state) {\n this.disabled = state;\n this.ngOnChanges();\n }\n }\n}\n","import { booleanAttribute, ChangeDetectorRef, Directive, ElementRef, forwardRef, Host, inject, InjectionToken, Input, Optional, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_READONLY_ATTRIBUTE = {\n input: true,\n textarea: true,\n select: true,\n} as Record<string, boolean>;\n\nexport const READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nexport const READONLY_INTERNAL_CONTROLLER = new InjectionToken<ReadonlyController | null>('@odx/angular::ReadonlyController');\n\n@Directive({\n standalone: true,\n selector: '[readonly]',\n providers: [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => ReadonlyController),\n },\n ],\n host: {\n '[attr.readonly]': 'hasReadonlyAttribute || null',\n },\n})\nexport class ReadonlyController extends Controller {\n private readonly parentController = inject(READONLY_CONTROLLER, { optional: true, skipSelf: true });\n private readonly nodeName: string;\n private isReadonly = false;\n\n protected hasReadonlyAttribute = false;\n\n public readonly isReadonly$ = this.change$.pipe(\n map(() => this.isReadonly),\n distinctUntilChanged(),\n shareReplay({ refCount: true }),\n );\n\n @Input({ transform: booleanAttribute })\n public set readonly(value: boolean) {\n if (this.isReadonly === value) return;\n this.isReadonly = value;\n this.hasReadonlyAttribute = this.isReadonly && ELEMENTS_WITH_READONLY_ATTRIBUTE[this.nodeName];\n }\n public get readonly(): boolean {\n return this.isReadonly || !!this.parentController?.readonly;\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): ReadonlyController | null {\n return inject(READONLY_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useFactory: (hostController: ReadonlyController | null, elementRef: ElementRef | null) => hostController ?? new ReadonlyController(elementRef),\n deps: [\n [new Optional(), new Host(), ReadonlyController],\n [new Optional(), ElementRef],\n ],\n },\n {\n provide: READONLY_CONTROLLER,\n useFactory: Controller.setup,\n deps: [[new Optional(), new Host(), READONLY_INTERNAL_CONTROLLER], ChangeDetectorRef],\n },\n ];\n }\n}\n","import { booleanAttribute, Directive, EventEmitter, inject, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { deferFn, hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { debounceTime, NEVER, Observable, Subscription, switchMap, tap } from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[odxClickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n private listener?: Subscription;\n private readonly element = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly onOutsideClick$ = this.registerEventHandler('mousedown').pipe(\n switchMap((event) => {\n if (!this.odxClickOutsideActive) return NEVER;\n const hostElement = this.element.nativeElement;\n const targetElement = event.target as Element;\n const clickedOutside = hostElement.isConnected && targetElement.isConnected && !hostElement.contains(targetElement);\n return this.registerEventHandler('mouseup').pipe(\n debounceTime(0),\n tap(() => clickedOutside && this.odxClickOutside.emit(event)),\n );\n }),\n );\n\n @Input({ transform: booleanAttribute })\n public odxClickOutsideActive = true;\n\n @Output()\n public readonly odxClickOutside = new EventEmitter<Event>();\n\n public ngOnInit(): void {\n if (this.odxClickOutsideActive) {\n this.registerHandler();\n }\n }\n\n public ngOnChanges(changes: NgChanges<ClickOutsideDirective>): void {\n if (hasChanged(changes, 'odxClickOutsideActive', true)) {\n if (changes.odxClickOutsideActive?.currentValue) {\n this.registerHandler();\n } else {\n this.destroy();\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy() {\n if (this.listener) {\n this.listener.unsubscribe();\n this.listener = undefined;\n }\n }\n\n private registerHandler() {\n deferFn(() => {\n this.listener = this.onOutsideClick$.subscribe();\n });\n }\n\n private registerEventHandler<T extends Event>(eventName: string): Observable<T> {\n return new Observable<T>((subscriber) => {\n const listener = this.renderer.listen('document', eventName, (event: T) => {\n subscriber.next(event);\n });\n subscriber.add(listener);\n });\n }\n}\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n host: {\n '[attr.tabindex]': 'tabindex',\n },\n})\nexport class DelegateFocusDirective {\n protected tabindex = 0;\n\n @Output()\n public focused = new EventEmitter<void>();\n\n @HostListener('focus')\n protected handleFocus(): void {\n this.focused.next();\n }\n\n @HostListener('focusin')\n protected handleFocusIn(): void {\n this.tabindex = -1;\n }\n\n @HostListener('focusout')\n protected handleFocusOut(): void {\n this.tabindex = 0;\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { DisabledController } from '../controllers';\n\nconst ELEMENTS_WITH_DISABLED_ATTRIBUTE = {\n button: true,\n fieldset: true,\n input: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n} as Record<string, boolean>;\n\n@Directive({\n standalone: true,\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute && isDisabled || null',\n },\n})\nexport class WithDisabledState {\n protected readonly hasAriaRole: boolean;\n protected readonly hasDisabledAttribute: boolean;\n protected readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasAriaRole && this.isDisabled);\n }\n\n constructor(element: ElementRef<HTMLElement>) {\n this.hasDisabledAttribute = !!ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];\n this.hasAriaRole = element.nativeElement.hasAttribute('role');\n }\n}\n","import { Directive } from '@angular/core';\nimport { DisabledController } from '../controllers';\n\n@Directive({\n standalone: true,\n host: {\n '[attr.tabindex]': 'isDisabled ? -1 : 0',\n },\n})\nexport class WithTabIndex {\n private readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LetModule } from '@ngrx/component';\nimport { DisabledController, ReadonlyController } from './controllers';\nimport { ClickOutsideDirective } from './directives';\n\nconst controllers = [DisabledController, ReadonlyController];\nconst modules = [ClickOutsideDirective];\n\n@NgModule({\n imports: [...controllers, ...modules],\n exports: [CommonModule, LetModule, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","export type Environment = typeof Environment[keyof typeof Environment];\n\nexport const Environment = {\n DEV: 'dev',\n STAGE: 'stage',\n PROD: 'prod'\n} as const;\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable, reflectComponentType, Type } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { getLanguageCode } from '@odx/angular/utils';\nimport { debounceTime, distinctUntilChanged, EMPTY, filter, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\n private readonly title = inject(Title);\n public readonly document = inject(DOCUMENT);\n public readonly nativeWindow = this.document.defaultView ?? window;\n public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n startWith(null),\n map(() => this.isOnline()),\n distinctUntilChanged(),\n shareReplay({ refCount: true }),\n );\n public readonly pageTitle$ = (inject(Router, { optional: true })?.events ?? EMPTY).pipe(\n filter((event) => event instanceof NavigationEnd),\n startWith(null),\n debounceTime(0),\n map(() => this.title.getTitle()),\n shareReplay({ refCount: true }),\n );\n\n public get location(): Location {\n return this.nativeWindow.location;\n }\n\n public isOnline(): boolean {\n return this.nativeWindow.navigator.onLine;\n }\n\n public getLanguage(): string {\n const { language, languages, userLanguage } = this.nativeWindow.navigator as Navigator & { userLanguage?: string };\n\n return languages?.[0] ?? userLanguage ?? language;\n }\n\n public getLanguageCode(): string {\n return getLanguageCode(this.getLanguage());\n }\n\n public getOrigin(): string {\n return this.location.origin;\n }\n\n public openPage(url?: string | URL, target?: string, features?: string): WindowProxy | null {\n return this.nativeWindow.open(url, target, features);\n }\n\n public reloadPage(): void {\n return this.location.reload();\n }\n\n public queryByComponent<T>(type: Type<T>): HTMLElement | null {\n const componentType = reflectComponentType(type);\n\n return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;\n }\n\n public getCSSVariable(name: string, element: HTMLElement = this.document.body): string {\n return this.nativeWindow.getComputedStyle(element).getPropertyValue(`--${name}`).trim();\n }\n\n public getCSSColorStyles(filter: string, selector = 'body'): Record<string, string> {\n const selectorFilter = new RegExp(`^${selector}$`);\n const nameFilter = new RegExp(`^--${filter}`);\n const arr = Array.from(this.document.styleSheets)\n .filter(({ href }) => !href || href.startsWith(this.nativeWindow.location.origin))\n .map(({ cssRules }) => Array.from(cssRules)[0])\n .filter((rule) => rule instanceof CSSStyleRule && selectorFilter.test(rule.selectorText.trim()))\n .reduce((colors: Record<string, string>, rule) => {\n Object.values((rule as CSSStyleRule).style)\n .map((style) => style.toString().trim())\n .filter((name) => Boolean(name) && nameFilter.test(name))\n .forEach((name) => {\n const key = name.replace('--', '');\n colors[key] = this.getCSSVariable(key);\n });\n return colors;\n }, {});\n return arr;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type IdentityMatcher<T> = (item1: T, item2: T) => boolean;\n\nconst ODX_DEFAULT_IDENTITY_MATCHER: IdentityMatcher<unknown> = (item1, item2) => item1 === item2;\n\nexport const ODX_IDENTITY_MATCHER = new InjectionToken<IdentityMatcher<unknown>>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_IDENTITY_MATCHER,\n});\n","import { InjectionToken } from '@angular/core';\n\nexport type StringSearchHandler = (item: string, query: string) => boolean;\n\nconst ODX_DEFAULT_STRING_SEARCH_HANDLER: StringSearchHandler = (item, query) => {\n return item.toLocaleLowerCase().includes(query.toLocaleLowerCase());\n};\n\nexport const ODX_STRING_SEARCH_HANDLER = new InjectionToken<StringSearchHandler>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRING_SEARCH_HANDLER,\n});\n","import { InjectionToken } from '@angular/core';\nimport { isPresent } from '@odx/angular/utils';\n\nexport type StringifyFn<T> = (item: T) => string;\n\nconst ODX_DEFAULT_STRINGIFY: StringifyFn<unknown> = (item) => (isPresent(item) ? String(item) : '');\n\nexport const ODX_STRINGIFY = new InjectionToken<StringifyFn<unknown>>('@odx/angular::Stringify', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRINGIFY,\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular.mjs","sources":["../../../../libs/angular/src/lib/controllers/controller.ts","../../../../libs/angular/src/lib/controllers/disabled.controller.ts","../../../../libs/angular/src/lib/controllers/readonly.controller.ts","../../../../libs/angular/src/lib/directives/click-outside.directive.ts","../../../../libs/angular/src/lib/directives/delegate-focus.directive.ts","../../../../libs/angular/src/lib/directives/with-disabled-state.directive.ts","../../../../libs/angular/src/lib/directives/with-tabindex.directive.ts","../../../../libs/angular/src/lib/core.module.ts","../../../../libs/angular/src/lib/models/environment.ts","../../../../libs/angular/src/lib/services/window-ref.ts","../../../../libs/angular/src/lib/tokens/identity-matcher.ts","../../../../libs/angular/src/lib/tokens/string-search-handler.ts","../../../../libs/angular/src/lib/tokens/stringify.ts","../../../../libs/angular/src/odx-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, inject, OnChanges, OnDestroy } from '@angular/core';\nimport { isPresent, pluckFromArray } from '@odx/angular/utils';\nimport { EMPTY, merge, Observable, shareReplay, Subject, tap } from 'rxjs';\n\nfunction controllerChanges(controllers: Array<Controller | undefined | null>): Observable<void> {\n const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');\n\n return changes$.length > 0 ? merge(...changes$) : EMPTY;\n}\n\nexport function detectControllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void> {\n const changeDetector = inject(ChangeDetectorRef);\n\n return controllerChanges(controllers).pipe(tap(() => changeDetector.markForCheck()));\n}\n\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new Subject<void>();\n\n public readonly change$ = this.change$$.pipe(shareReplay({ refCount: true }));\n\n public static setup(controller: Controller | null, changeDetector: ChangeDetectorRef): Controller | null {\n controllerChanges([controller])\n .pipe(tap(() => changeDetector.markForCheck()))\n .subscribe();\n\n return controller;\n }\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { booleanAttribute, ChangeDetectorRef, Directive, forwardRef, Host, inject, InjectionToken, Input, Optional, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nexport const DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController');\n\n@Directive({\n standalone: true,\n selector: '[disabled]',\n providers: [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => DisabledController),\n },\n ],\n})\nexport class DisabledController extends Controller {\n private readonly parentController = inject(DISABLED_CONTROLLER, { optional: true, skipSelf: true });\n private isDisabled = false;\n\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.disabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true }),\n );\n\n @Input({ transform: booleanAttribute })\n public set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n public get disabled(): boolean {\n return this.isDisabled || !!this.parentController?.disabled;\n }\n\n public static inject(): DisabledController | null {\n return inject(DISABLED_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider[] {\n return [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useFactory: (hostController: DisabledController | null) => hostController ?? new DisabledController(),\n deps: [[new Optional(), new Host(), DisabledController]],\n },\n {\n provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [[new Optional(), new Host(), DISABLED_INTERNAL_CONTROLLER], ChangeDetectorRef],\n },\n ];\n }\n\n public setDisabledState(state: boolean): void {\n if (this.disabled !== state) {\n this.disabled = state;\n this.ngOnChanges();\n }\n }\n}\n","import { booleanAttribute, ChangeDetectorRef, Directive, ElementRef, forwardRef, Host, inject, InjectionToken, Input, Optional, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_READONLY_ATTRIBUTE = {\n input: true,\n textarea: true,\n select: true,\n} as Record<string, boolean>;\n\nexport const READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nexport const READONLY_INTERNAL_CONTROLLER = new InjectionToken<ReadonlyController | null>('@odx/angular::ReadonlyController');\n\n@Directive({\n standalone: true,\n selector: '[readonly]',\n providers: [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => ReadonlyController),\n },\n ],\n host: {\n '[attr.readonly]': 'hasReadonlyAttribute || null',\n },\n})\nexport class ReadonlyController extends Controller {\n private readonly parentController = inject(READONLY_CONTROLLER, { optional: true, skipSelf: true });\n private readonly nodeName: string;\n private isReadonly = false;\n\n protected hasReadonlyAttribute = false;\n\n public readonly isReadonly$ = this.change$.pipe(\n map(() => this.isReadonly),\n distinctUntilChanged(),\n shareReplay({ refCount: true }),\n );\n\n @Input({ transform: booleanAttribute })\n public set readonly(value: boolean) {\n if (this.isReadonly === value) return;\n this.isReadonly = value;\n this.hasReadonlyAttribute = this.isReadonly && ELEMENTS_WITH_READONLY_ATTRIBUTE[this.nodeName];\n }\n public get readonly(): boolean {\n return this.isReadonly || !!this.parentController?.readonly;\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): ReadonlyController | null {\n return inject(READONLY_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useFactory: (hostController: ReadonlyController | null, elementRef: ElementRef | null) => hostController ?? new ReadonlyController(elementRef),\n deps: [\n [new Optional(), new Host(), ReadonlyController],\n [new Optional(), ElementRef],\n ],\n },\n {\n provide: READONLY_CONTROLLER,\n useFactory: Controller.setup,\n deps: [[new Optional(), new Host(), READONLY_INTERNAL_CONTROLLER], ChangeDetectorRef],\n },\n ];\n }\n}\n","import { booleanAttribute, Directive, EventEmitter, inject, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { deferFn, hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { debounceTime, NEVER, Observable, Subscription, switchMap, tap } from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[odxClickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n private listener?: Subscription;\n private readonly element = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly onOutsideClick$ = this.registerEventHandler('mousedown').pipe(\n switchMap((event) => {\n if (!this.odxClickOutsideActive) return NEVER;\n const hostElement = this.element.nativeElement;\n const targetElement = event.target as Element;\n const clickedOutside = hostElement.isConnected && targetElement.isConnected && !hostElement.contains(targetElement);\n return this.registerEventHandler('mouseup').pipe(\n debounceTime(0),\n tap(() => clickedOutside && this.odxClickOutside.emit(event)),\n );\n }),\n );\n\n @Input({ transform: booleanAttribute })\n public odxClickOutsideActive = true;\n\n @Output()\n public readonly odxClickOutside = new EventEmitter<Event>();\n\n public ngOnInit(): void {\n if (this.odxClickOutsideActive) {\n this.registerHandler();\n }\n }\n\n public ngOnChanges(changes: NgChanges<ClickOutsideDirective>): void {\n if (hasChanged(changes, 'odxClickOutsideActive', true)) {\n if (changes.odxClickOutsideActive?.currentValue) {\n this.registerHandler();\n } else {\n this.destroy();\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy() {\n if (this.listener) {\n this.listener.unsubscribe();\n this.listener = undefined;\n }\n }\n\n private registerHandler() {\n deferFn(() => {\n this.listener = this.onOutsideClick$.subscribe();\n });\n }\n\n private registerEventHandler<T extends Event>(eventName: string): Observable<T> {\n return new Observable<T>((subscriber) => {\n const listener = this.renderer.listen('document', eventName, (event: T) => {\n subscriber.next(event);\n });\n subscriber.add(listener);\n });\n }\n}\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n host: {\n '[attr.tabindex]': 'tabindex',\n },\n})\nexport class DelegateFocusDirective {\n protected tabindex = 0;\n\n @Output()\n public focused = new EventEmitter<void>();\n\n @HostListener('focus')\n protected handleFocus(): void {\n this.focused.next();\n }\n\n @HostListener('focusin')\n protected handleFocusIn(): void {\n this.tabindex = -1;\n }\n\n @HostListener('focusout')\n protected handleFocusOut(): void {\n this.tabindex = 0;\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { DisabledController } from '../controllers';\n\nconst ELEMENTS_WITH_DISABLED_ATTRIBUTE = {\n button: true,\n fieldset: true,\n input: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n} as Record<string, boolean>;\n\n@Directive({\n standalone: true,\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute && isDisabled || null',\n },\n})\nexport class WithDisabledState {\n protected readonly hasAriaRole: boolean;\n protected readonly hasDisabledAttribute: boolean;\n protected readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasAriaRole && this.isDisabled);\n }\n\n constructor(element: ElementRef<HTMLElement>) {\n this.hasDisabledAttribute = !!ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];\n this.hasAriaRole = element.nativeElement.hasAttribute('role');\n }\n}\n","import { Directive } from '@angular/core';\nimport { DisabledController } from '../controllers';\n\n@Directive({\n standalone: true,\n host: {\n '[attr.tabindex]': 'isDisabled ? -1 : 0',\n },\n})\nexport class WithTabIndex {\n private readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LetModule } from '@ngrx/component';\nimport { DisabledController, ReadonlyController } from './controllers';\nimport { ClickOutsideDirective } from './directives';\n\nconst controllers = [DisabledController, ReadonlyController];\nconst modules = [ClickOutsideDirective];\n\n@NgModule({\n imports: [...controllers, ...modules],\n exports: [CommonModule, LetModule, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","export type Environment = typeof Environment[keyof typeof Environment];\n\nexport const Environment = {\n DEV: 'dev',\n STAGE: 'stage',\n PROD: 'prod'\n} as const;\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable, reflectComponentType, Type } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { getLanguageCode } from '@odx/angular/utils';\nimport { debounceTime, distinctUntilChanged, EMPTY, filter, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\n private readonly title = inject(Title);\n public readonly document = inject(DOCUMENT);\n public readonly nativeWindow = this.document.defaultView ?? window;\n public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n startWith(null),\n map(() => this.isOnline()),\n distinctUntilChanged(),\n shareReplay({ refCount: true }),\n );\n public readonly pageTitle$ = (inject(Router, { optional: true })?.events ?? EMPTY).pipe(\n filter((event) => event instanceof NavigationEnd),\n startWith(null),\n debounceTime(0),\n map(() => this.title.getTitle()),\n shareReplay({ refCount: true }),\n );\n\n public get location(): Location {\n return this.nativeWindow.location;\n }\n\n public isOnline(): boolean {\n return this.nativeWindow.navigator.onLine;\n }\n\n public getLanguage(): string {\n const { language, languages, userLanguage } = this.nativeWindow.navigator as Navigator & { userLanguage?: string };\n\n return languages?.[0] ?? userLanguage ?? language;\n }\n\n public getLanguageCode(): string {\n return getLanguageCode(this.getLanguage());\n }\n\n public getOrigin(): string {\n return this.location.origin;\n }\n\n public openPage(url?: string | URL, target?: string, features?: string): WindowProxy | null {\n return this.nativeWindow.open(url, target, features);\n }\n\n public reloadPage(): void {\n return this.location.reload();\n }\n\n public queryByComponent<T>(type: Type<T>): HTMLElement | null {\n const componentType = reflectComponentType(type);\n\n return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;\n }\n\n public getCSSVariable(name: string, element: HTMLElement = this.document.body): string {\n return this.nativeWindow.getComputedStyle(element).getPropertyValue(`--${name}`).trim();\n }\n\n public getCSSColorStyles(filter: string, selector = ':root'): Record<string, string> {\n const selectorFilter = new RegExp(`^${selector}$`);\n const nameFilter = new RegExp(`^--${filter}`);\n const arr = Array.from(this.document.styleSheets)\n .filter(({ href }) => !href || href.startsWith(this.nativeWindow.location.origin))\n .map(({ cssRules }) => Array.from(cssRules)[0])\n .filter((rule) => rule instanceof CSSStyleRule && selectorFilter.test(rule.selectorText.trim()))\n .reduce((colors: Record<string, string>, rule) => {\n Object.values((rule as CSSStyleRule).style)\n .map((style) => style.toString().trim())\n .filter((name) => Boolean(name) && nameFilter.test(name))\n .forEach((name) => {\n const key = name.replace('--', '');\n colors[key] = this.getCSSVariable(key);\n });\n return colors;\n }, {});\n return arr;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type IdentityMatcher<T> = (item1: T, item2: T) => boolean;\n\nconst ODX_DEFAULT_IDENTITY_MATCHER: IdentityMatcher<unknown> = (item1, item2) => item1 === item2;\n\nexport const ODX_IDENTITY_MATCHER = new InjectionToken<IdentityMatcher<unknown>>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_IDENTITY_MATCHER,\n});\n","import { InjectionToken } from '@angular/core';\n\nexport type StringSearchHandler = (item: string, query: string) => boolean;\n\nconst ODX_DEFAULT_STRING_SEARCH_HANDLER: StringSearchHandler = (item, query) => {\n return item.toLocaleLowerCase().includes(query.toLocaleLowerCase());\n};\n\nexport const ODX_STRING_SEARCH_HANDLER = new InjectionToken<StringSearchHandler>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRING_SEARCH_HANDLER,\n});\n","import { InjectionToken } from '@angular/core';\nimport { isPresent } from '@odx/angular/utils';\n\nexport type StringifyFn<T> = (item: T) => string;\n\nconst ODX_DEFAULT_STRINGIFY: StringifyFn<unknown> = (item) => (isPresent(item) ? String(item) : '');\n\nexport const ODX_STRINGIFY = new InjectionToken<StringifyFn<unknown>>('@odx/angular::Stringify', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRINGIFY,\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/angular",
3
- "version": "5.2.0",
3
+ "version": "5.2.1",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {