@anglr/select 16.0.0-beta.20260409073652 → 16.0.0-beta.20260409102211

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,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## Version 16.0.0 (2026-03-24)
3
+ ## Version 16.0.0 (2026-04-10)
4
4
 
5
5
  ### Features
6
6
 
@@ -145,6 +145,9 @@
145
145
  - new `PopoverPositionerOptions` interface, that are options for popover positioner plugin
146
146
  - **properties**
147
147
  - `popoverAuto` indication whether popover property should be set to 'auto' or 'manual'
148
+ - new `CommonPositionerOptions` interface, that are options for common positioner plugin
149
+ - **properties**
150
+ - `zIndex` if set tells positioner to set z-index of positioned element to this value, if not set positioner will not change z-index of element
148
151
  - updated `SelectPluginTypes` interface
149
152
  - **new properties**
150
153
  - `Interactions` handles interactions of plugins and select
@@ -11,6 +11,7 @@ export * from './optionsHandler/optionsHandler.interface';
11
11
  export * from './optionsHandler/simpleOptionsHandler.interface';
12
12
  export * from './popup/popup.interface';
13
13
  export * from './popup/simplePopup.interface';
14
+ export * from './positioner/commonPositioner.interface';
14
15
  export * from './positioner/popoverPositioner.interface';
15
16
  export * from './positioner/positioner.interface';
16
17
  export * from './readonlyState/readonlyState.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/interfaces/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC;AAClE,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uCAAuC,CAAC","sourcesContent":["export * from './interactions/interactions.interface';\nexport * from './keyboardHandler/keyboardHandler.interface';\nexport * from './keyboardHandler/simpleKeyboardHandler.interface';\nexport * from './liveSearch/editLiveSearch.interface';\nexport * from './liveSearch/filterLiveSearch.interface';\nexport * from './liveSearch/liveSearch.interface';\nexport * from './normalState/editNormalState.interface';\nexport * from './normalState/normalState.interface';\nexport * from './normalState/simpleNormalState.interface';\nexport * from './optionsHandler/optionsHandler.interface';\nexport * from './optionsHandler/simpleOptionsHandler.interface';\nexport * from './popup/popup.interface';\nexport * from './popup/simplePopup.interface';\nexport * from './positioner/popoverPositioner.interface';\nexport * from './positioner/positioner.interface';\nexport * from './readonlyState/readonlyState.interface';\nexport * from './valueHandler/dynamicValueHandler.interface';\nexport * from './valueHandler/valueHandler.interface';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/interfaces/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC;AAClE,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uCAAuC,CAAC","sourcesContent":["export * from './interactions/interactions.interface';\nexport * from './keyboardHandler/keyboardHandler.interface';\nexport * from './keyboardHandler/simpleKeyboardHandler.interface';\nexport * from './liveSearch/editLiveSearch.interface';\nexport * from './liveSearch/filterLiveSearch.interface';\nexport * from './liveSearch/liveSearch.interface';\nexport * from './normalState/editNormalState.interface';\nexport * from './normalState/normalState.interface';\nexport * from './normalState/simpleNormalState.interface';\nexport * from './optionsHandler/optionsHandler.interface';\nexport * from './optionsHandler/simpleOptionsHandler.interface';\nexport * from './popup/popup.interface';\nexport * from './popup/simplePopup.interface';\nexport * from './positioner/commonPositioner.interface';\nexport * from './positioner/popoverPositioner.interface';\nexport * from './positioner/positioner.interface';\nexport * from './readonlyState/readonlyState.interface';\nexport * from './valueHandler/dynamicValueHandler.interface';\nexport * from './valueHandler/valueHandler.interface';\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=commonPositioner.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonPositioner.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/positioner/commonPositioner.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {PositionerOptions} from './positioner.interface';\n\n/**\n * Options for common positioner plugin\n */\nexport interface CommonPositionerOptions extends PositionerOptions\n{\n //######################### properties #########################\n\n /**\n * If set tells positioner to set z-index of positioned element to this value, if not set positioner will not change z-index of element\n */\n zIndex: number|undefined|null;\n}\n"]}
@@ -1,13 +1,16 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, effect, ElementRef, Inject, inject, Optional, Renderer2 } from '@angular/core';
3
3
  import { applyPositionResult, POSITION, PositionPlacement } from '@anglr/common';
4
+ import { isPresent } from '@jscrpt/common';
4
5
  import { deepCopyWithArrayOverride } from '@jscrpt/common/lodash';
5
6
  import { Subscription } from 'rxjs';
6
7
  import { SelectPluginInstances, SelectBus } from '../../../misc/classes';
7
8
  import { CopyOptionsAsSignal } from '../../../decorators';
8
9
  import { POSITIONER_OPTIONS } from '../../../misc/tokens';
9
10
  import * as i0 from "@angular/core";
10
- const defaultOptions = {};
11
+ const defaultOptions = {
12
+ zIndex: 0,
13
+ };
11
14
  /**
12
15
  * Component used for positioning popup using `Position` from `@anglr/common` package
13
16
  */
@@ -39,6 +42,7 @@ export class CommonPositioner {
39
42
  this.selectWidthObserver = new ResizeObserver(([firstChange]) => this.renderer.setStyle(this.selectPlugins.Popup.pluginElement.nativeElement, 'minWidth', `${firstChange.contentRect.width}px`));
40
43
  this.selectWidthObserver.observe(this.selectBus.selectElement().nativeElement);
41
44
  effect(() => this.renderer.setStyle(this.selectPlugins.Popup.pluginElement.nativeElement, 'position', 'absolute'));
45
+ effect(() => isPresent(this.options.zIndex) ? this.renderer.setStyle(this.selectPlugins.Popup.pluginElement.nativeElement, 'z-index', this.options.zIndex) : false);
42
46
  effect(() => {
43
47
  this.positionChange?.unsubscribe();
44
48
  this.positionChange = new Subscription();
@@ -1 +1 @@
1
- {"version":3,"file":"commonPositioner.component.js","sourceRoot":"","sources":["../../../../../src/plugins/positioner/commonPositioner/commonPositioner.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {ChangeDetectionStrategy, Component, effect, ElementRef, Inject, inject, OnDestroy, Optional, Renderer2} from '@angular/core';\nimport {applyPositionResult, Position, POSITION, PositionPlacement} from '@anglr/common';\nimport {RecursivePartial} from '@jscrpt/common';\nimport {deepCopyWithArrayOverride} from '@jscrpt/common/lodash';\nimport {Subscription} from 'rxjs';\n\nimport {Positioner, PositionerOptions} from '../../../interfaces';\nimport {SelectPluginInstances, SelectBus} from '../../../misc/classes';\nimport {CopyOptionsAsSignal} from '../../../decorators';\nimport {POSITIONER_OPTIONS} from '../../../misc/tokens';\n\nconst defaultOptions: PositionerOptions =\n{\n};\n\n/**\n * Component used for positioning popup using `Position` from `@anglr/common` package\n */\n@Component(\n{\n selector: 'common-positioner',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CommonPositioner<TValue = unknown> implements Positioner<TValue, PositionerOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Instance of service used for positioning\n */\n protected positioner: Position<HTMLElement> = inject(POSITION) as Position<HTMLElement>;\n\n /**\n * Instance of angular renderer\n */\n protected renderer: Renderer2 = inject(Renderer2);\n\n /**\n * Instance of resize observer\n */\n protected selectWidthObserver: ResizeObserver;\n\n /**\n * Subscription for position change\n */\n protected positionChange: Subscription|undefined|null;\n\n //######################### public properties - implementation of SelectPlugin #########################\n\n /**\n * @inheritdoc\n */\n @CopyOptionsAsSignal()\n public options: PositionerOptions;\n\n /**\n * @inheritdoc\n */\n public selectPlugins: SelectPluginInstances<TValue> = inject(SelectPluginInstances);\n\n /**\n * @inheritdoc\n */\n public pluginElement: ElementRef<HTMLElement> = inject(ElementRef);\n\n /**\n * @inheritdoc\n */\n public selectBus: SelectBus<TValue> = inject(SelectBus);\n\n //######################### constructor #########################\n constructor(@Inject(POSITIONER_OPTIONS) @Optional() options?: RecursivePartial<PositionerOptions>|null,)\n {\n this.options = deepCopyWithArrayOverride(defaultOptions as PositionerOptions,\n options);\n\n this.selectWidthObserver = new ResizeObserver(([firstChange]) => this.renderer.setStyle(this.selectPlugins.Popup.pluginElement.nativeElement, 'minWidth', `${firstChange.contentRect.width}px`));\n this.selectWidthObserver.observe(this.selectBus.selectElement().nativeElement);\n\n effect(() => this.renderer.setStyle(this.selectPlugins.Popup.pluginElement.nativeElement, 'position', 'absolute'));\n\n effect(() =>\n {\n this.positionChange?.unsubscribe();\n this.positionChange = new Subscription();\n\n this.positionChange.add(this.positioner\n .placeElement(this.selectPlugins.Popup.pluginElement.nativeElement, this.selectBus.selectElement().nativeElement, {autoUpdate: true, flip: true, placement: PositionPlacement.BottomStart})\n .subscribe(result => applyPositionResult(result)));\n });\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * @inheritdoc\n */\n public ngOnDestroy(): void\n {\n this.selectWidthObserver.disconnect();\n this.positionChange?.unsubscribe();\n this.positionChange = null;\n }\n}\n"]}
1
+ {"version":3,"file":"commonPositioner.component.js","sourceRoot":"","sources":["../../../../../src/plugins/positioner/commonPositioner/commonPositioner.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {ChangeDetectionStrategy, Component, effect, ElementRef, Inject, inject, OnDestroy, Optional, Renderer2} from '@angular/core';\nimport {applyPositionResult, Position, POSITION, PositionPlacement} from '@anglr/common';\nimport {isPresent, RecursivePartial} from '@jscrpt/common';\nimport {deepCopyWithArrayOverride} from '@jscrpt/common/lodash';\nimport {Subscription} from 'rxjs';\n\nimport {Positioner, CommonPositionerOptions} from '../../../interfaces';\nimport {SelectPluginInstances, SelectBus} from '../../../misc/classes';\nimport {CopyOptionsAsSignal} from '../../../decorators';\nimport {POSITIONER_OPTIONS} from '../../../misc/tokens';\n\nconst defaultOptions: CommonPositionerOptions =\n{\n zIndex: 0,\n};\n\n/**\n * Component used for positioning popup using `Position` from `@anglr/common` package\n */\n@Component(\n{\n selector: 'common-positioner',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CommonPositioner<TValue = unknown> implements Positioner<TValue, CommonPositionerOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Instance of service used for positioning\n */\n protected positioner: Position<HTMLElement> = inject(POSITION) as Position<HTMLElement>;\n\n /**\n * Instance of angular renderer\n */\n protected renderer: Renderer2 = inject(Renderer2);\n\n /**\n * Instance of resize observer\n */\n protected selectWidthObserver: ResizeObserver;\n\n /**\n * Subscription for position change\n */\n protected positionChange: Subscription|undefined|null;\n\n //######################### public properties - implementation of SelectPlugin #########################\n\n /**\n * @inheritdoc\n */\n @CopyOptionsAsSignal()\n public options: CommonPositionerOptions;\n\n /**\n * @inheritdoc\n */\n public selectPlugins: SelectPluginInstances<TValue> = inject(SelectPluginInstances);\n\n /**\n * @inheritdoc\n */\n public pluginElement: ElementRef<HTMLElement> = inject(ElementRef);\n\n /**\n * @inheritdoc\n */\n public selectBus: SelectBus<TValue> = inject(SelectBus);\n\n //######################### constructor #########################\n constructor(@Inject(POSITIONER_OPTIONS) @Optional() options?: RecursivePartial<CommonPositionerOptions>|null,)\n {\n this.options = deepCopyWithArrayOverride(defaultOptions as CommonPositionerOptions,\n options);\n\n this.selectWidthObserver = new ResizeObserver(([firstChange]) => this.renderer.setStyle(this.selectPlugins.Popup.pluginElement.nativeElement, 'minWidth', `${firstChange.contentRect.width}px`));\n this.selectWidthObserver.observe(this.selectBus.selectElement().nativeElement);\n\n effect(() => this.renderer.setStyle(this.selectPlugins.Popup.pluginElement.nativeElement, 'position', 'absolute'));\n effect(() => isPresent(this.options.zIndex) ? this.renderer.setStyle(this.selectPlugins.Popup.pluginElement.nativeElement, 'z-index', this.options.zIndex) : false);\n\n effect(() =>\n {\n this.positionChange?.unsubscribe();\n this.positionChange = new Subscription();\n\n this.positionChange.add(this.positioner\n .placeElement(this.selectPlugins.Popup.pluginElement.nativeElement, this.selectBus.selectElement().nativeElement, {autoUpdate: true, flip: true, placement: PositionPlacement.BottomStart})\n .subscribe(result => applyPositionResult(result)));\n });\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * @inheritdoc\n */\n public ngOnDestroy(): void\n {\n this.selectWidthObserver.disconnect();\n this.positionChange?.unsubscribe();\n this.positionChange = null;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anglr/select",
3
- "version": "16.0.0-beta.20260409073652",
3
+ "version": "16.0.0-beta.20260409102211",
4
4
  "description": "Angular component representing html select",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -11,6 +11,7 @@ export * from './optionsHandler/optionsHandler.interface';
11
11
  export * from './optionsHandler/simpleOptionsHandler.interface';
12
12
  export * from './popup/popup.interface';
13
13
  export * from './popup/simplePopup.interface';
14
+ export * from './positioner/commonPositioner.interface';
14
15
  export * from './positioner/popoverPositioner.interface';
15
16
  export * from './positioner/positioner.interface';
16
17
  export * from './readonlyState/readonlyState.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC;AAClE,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC;AAClE,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uCAAuC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { PositionerOptions } from './positioner.interface';
2
+ /**
3
+ * Options for common positioner plugin
4
+ */
5
+ export interface CommonPositionerOptions extends PositionerOptions {
6
+ /**
7
+ * If set tells positioner to set z-index of positioned element to this value, if not set positioner will not change z-index of element
8
+ */
9
+ zIndex: number | undefined | null;
10
+ }
11
+ //# sourceMappingURL=commonPositioner.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonPositioner.interface.d.ts","sourceRoot":"","sources":["commonPositioner.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAI9D;;OAEG;IACH,MAAM,EAAE,MAAM,GAAC,SAAS,GAAC,IAAI,CAAC;CACjC"}
@@ -2,13 +2,13 @@ import { ElementRef, OnDestroy, Renderer2 } from '@angular/core';
2
2
  import { Position } from '@anglr/common';
3
3
  import { RecursivePartial } from '@jscrpt/common';
4
4
  import { Subscription } from 'rxjs';
5
- import { Positioner, PositionerOptions } from '../../../interfaces';
5
+ import { Positioner, CommonPositionerOptions } from '../../../interfaces';
6
6
  import { SelectPluginInstances, SelectBus } from '../../../misc/classes';
7
7
  import * as i0 from "@angular/core";
8
8
  /**
9
9
  * Component used for positioning popup using `Position` from `@anglr/common` package
10
10
  */
11
- export declare class CommonPositioner<TValue = unknown> implements Positioner<TValue, PositionerOptions>, OnDestroy {
11
+ export declare class CommonPositioner<TValue = unknown> implements Positioner<TValue, CommonPositionerOptions>, OnDestroy {
12
12
  /**
13
13
  * Instance of service used for positioning
14
14
  */
@@ -28,7 +28,7 @@ export declare class CommonPositioner<TValue = unknown> implements Positioner<TV
28
28
  /**
29
29
  * @inheritdoc
30
30
  */
31
- options: PositionerOptions;
31
+ options: CommonPositionerOptions;
32
32
  /**
33
33
  * @inheritdoc
34
34
  */
@@ -41,7 +41,7 @@ export declare class CommonPositioner<TValue = unknown> implements Positioner<TV
41
41
  * @inheritdoc
42
42
  */
43
43
  selectBus: SelectBus<TValue>;
44
- constructor(options?: RecursivePartial<PositionerOptions> | null);
44
+ constructor(options?: RecursivePartial<CommonPositionerOptions> | null);
45
45
  /**
46
46
  * @inheritdoc
47
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"commonPositioner.component.d.ts","sourceRoot":"","sources":["commonPositioner.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,UAAU,EAAkB,SAAS,EAAY,SAAS,EAAC,MAAM,eAAe,CAAC;AACrI,OAAO,EAAsB,QAAQ,EAA8B,MAAM,eAAe,CAAC;AACzF,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAC,qBAAqB,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;;AAQvE;;GAEG;AACH,qBAMa,gBAAgB,CAAC,MAAM,GAAG,OAAO,CAAE,YAAW,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,SAAS;IAIvG;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAA6C;IAExF;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAqB;IAElD;;OAEG;IACH,SAAS,CAAC,mBAAmB,EAAE,cAAc,CAAC;IAE9C;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,YAAY,GAAC,SAAS,GAAC,IAAI,CAAC;IAItD;;OAEG;IAEI,OAAO,EAAE,iBAAiB,CAAC;IAElC;;OAEG;IACI,aAAa,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAiC;IAEpF;;OAEG;IACI,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,CAAsB;IAEnE;;OAEG;IACI,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAqB;gBAGJ,OAAO,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,GAAC,IAAI;IAuBtG;;OAEG;IACI,WAAW,IAAI,IAAI;yCA1EjB,gBAAgB;2CAAhB,gBAAgB;CAgF5B"}
1
+ {"version":3,"file":"commonPositioner.component.d.ts","sourceRoot":"","sources":["commonPositioner.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,UAAU,EAAkB,SAAS,EAAY,SAAS,EAAC,MAAM,eAAe,CAAC;AACrI,OAAO,EAAsB,QAAQ,EAA8B,MAAM,eAAe,CAAC;AACzF,OAAO,EAAY,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAC,qBAAqB,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;;AASvE;;GAEG;AACH,qBAMa,gBAAgB,CAAC,MAAM,GAAG,OAAO,CAAE,YAAW,UAAU,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAAE,SAAS;IAI7G;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAA6C;IAExF;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAqB;IAElD;;OAEG;IACH,SAAS,CAAC,mBAAmB,EAAE,cAAc,CAAC;IAE9C;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,YAAY,GAAC,SAAS,GAAC,IAAI,CAAC;IAItD;;OAEG;IAEI,OAAO,EAAE,uBAAuB,CAAC;IAExC;;OAEG;IACI,aAAa,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAiC;IAEpF;;OAEG;IACI,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,CAAsB;IAEnE;;OAEG;IACI,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAqB;gBAGJ,OAAO,CAAC,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,GAAC,IAAI;IAwB5G;;OAEG;IACI,WAAW,IAAI,IAAI;yCA3EjB,gBAAgB;2CAAhB,gBAAgB;CAiF5B"}
package/version.bak CHANGED
@@ -1 +1 @@
1
- 16.0.0-beta.20260409073652
1
+ 16.0.0-beta.20260409102211