@radix-ng/primitives 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/aspect-ratio/README.md +1 -1
  2. package/fesm2022/radix-ng-primitives-accordion.mjs +40 -27
  3. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  4. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +34 -34
  5. package/fesm2022/radix-ng-primitives-arrow.mjs +3 -3
  6. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +11 -35
  7. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-autocomplete.mjs +175 -125
  9. package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-avatar.mjs +92 -35
  11. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  12. package/fesm2022/radix-ng-primitives-button.mjs +11 -7
  13. package/fesm2022/radix-ng-primitives-button.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-calendar.mjs +140 -90
  15. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-checkbox.mjs +63 -46
  17. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-collapsible.mjs +37 -25
  19. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-combobox.mjs +278 -177
  21. package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-composite.mjs +50 -33
  23. package/fesm2022/radix-ng-primitives-composite.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-config.mjs +7 -5
  25. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-context-menu.mjs +48 -22
  27. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-core.mjs +44 -28
  29. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-cropper.mjs +73 -45
  31. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-date-field.mjs +70 -40
  33. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-dialog.mjs +93 -67
  35. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-direction-provider.mjs +5 -4
  37. package/fesm2022/radix-ng-primitives-direction-provider.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +20 -16
  39. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-drawer.mjs +107 -81
  41. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-editable.mjs +53 -39
  43. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-field.mjs +76 -50
  45. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-fieldset.mjs +8 -7
  47. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs +77 -40
  49. package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs.map +1 -1
  50. package/fesm2022/radix-ng-primitives-focus-guards.mjs +3 -3
  51. package/fesm2022/radix-ng-primitives-focus-scope.mjs +7 -5
  52. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  53. package/fesm2022/radix-ng-primitives-form.mjs +26 -17
  54. package/fesm2022/radix-ng-primitives-form.mjs.map +1 -1
  55. package/fesm2022/radix-ng-primitives-input.mjs +41 -22
  56. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -1
  57. package/fesm2022/radix-ng-primitives-label.mjs +11 -8
  58. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  59. package/fesm2022/radix-ng-primitives-menu.mjs +274 -154
  60. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  61. package/fesm2022/radix-ng-primitives-menubar.mjs +35 -17
  62. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  63. package/fesm2022/radix-ng-primitives-meter.mjs +41 -30
  64. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -1
  65. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +220 -183
  66. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  67. package/fesm2022/radix-ng-primitives-number-field.mjs +93 -61
  68. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  69. package/fesm2022/radix-ng-primitives-pagination.mjs +48 -38
  70. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  71. package/fesm2022/radix-ng-primitives-popover.mjs +150 -107
  72. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  73. package/fesm2022/radix-ng-primitives-popper.mjs +79 -47
  74. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  75. package/fesm2022/radix-ng-primitives-portal.mjs +20 -13
  76. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  77. package/fesm2022/radix-ng-primitives-presence.mjs +3 -3
  78. package/fesm2022/radix-ng-primitives-preview-card.mjs +119 -74
  79. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-progress.mjs +73 -46
  81. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-radio.mjs +58 -40
  83. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-scroll-area.mjs +57 -41
  85. package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-select.mjs +595 -102
  87. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-separator.mjs +11 -15
  89. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-slider.mjs +101 -64
  91. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-stepper.mjs +53 -39
  93. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-switch.mjs +25 -20
  95. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-tabs.mjs +76 -51
  97. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  98. package/fesm2022/radix-ng-primitives-time-field.mjs +72 -41
  99. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  100. package/fesm2022/radix-ng-primitives-toast.mjs +75 -56
  101. package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -1
  102. package/fesm2022/radix-ng-primitives-toggle-group.mjs +39 -23
  103. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  104. package/fesm2022/radix-ng-primitives-toggle.mjs +36 -36
  105. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  106. package/fesm2022/radix-ng-primitives-toolbar.mjs +52 -31
  107. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  108. package/fesm2022/radix-ng-primitives-tooltip.mjs +118 -63
  109. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  110. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +31 -20
  111. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  112. package/package.json +2 -2
  113. package/types/radix-ng-primitives-accordion.d.ts +1 -0
  114. package/types/radix-ng-primitives-aspect-ratio.d.ts +10 -23
  115. package/types/radix-ng-primitives-autocomplete.d.ts +3 -1
  116. package/types/radix-ng-primitives-avatar.d.ts +51 -25
  117. package/types/radix-ng-primitives-checkbox.d.ts +26 -98
  118. package/types/radix-ng-primitives-combobox.d.ts +28 -9
  119. package/types/radix-ng-primitives-context-menu.d.ts +2 -0
  120. package/types/radix-ng-primitives-dialog.d.ts +6 -3
  121. package/types/radix-ng-primitives-field.d.ts +33 -207
  122. package/types/radix-ng-primitives-floating-focus-manager.d.ts +11 -0
  123. package/types/radix-ng-primitives-form.d.ts +24 -33
  124. package/types/radix-ng-primitives-label.d.ts +3 -2
  125. package/types/radix-ng-primitives-menu.d.ts +47 -15
  126. package/types/radix-ng-primitives-menubar.d.ts +6 -1
  127. package/types/radix-ng-primitives-navigation-menu.d.ts +8 -6
  128. package/types/radix-ng-primitives-number-field.d.ts +1 -1
  129. package/types/radix-ng-primitives-popover.d.ts +12 -4
  130. package/types/radix-ng-primitives-preview-card.d.ts +18 -5
  131. package/types/radix-ng-primitives-progress.d.ts +59 -121
  132. package/types/radix-ng-primitives-radio.d.ts +0 -1
  133. package/types/radix-ng-primitives-select.d.ts +186 -391
  134. package/types/radix-ng-primitives-separator.d.ts +0 -7
  135. package/types/radix-ng-primitives-toggle-group.d.ts +7 -3
  136. package/types/radix-ng-primitives-toggle.d.ts +8 -8
  137. package/types/radix-ng-primitives-toolbar.d.ts +2 -0
  138. package/types/radix-ng-primitives-tooltip.d.ts +17 -3
@@ -1,57 +1,33 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, Renderer2, input, numberAttribute, computed, Directive } from '@angular/core';
2
+ import { input, numberAttribute, Directive } from '@angular/core';
3
3
 
4
4
  /**
5
- * Directive to maintain an aspect ratio for an element.
6
- * The element will have its `padding-bottom` dynamically calculated
7
- * based on the provided aspect ratio to maintain the desired ratio.
8
- * The content inside the element will be positioned absolutely.
5
+ * Maintains a fixed aspect ratio for its content using the native CSS `aspect-ratio` property.
6
+ * Place the content inside (e.g. an `<img class="size-full object-cover">`) and it fills the box.
7
+ *
9
8
  * @group Components
10
9
  */
11
10
  class RdxAspectRatioDirective {
12
11
  constructor() {
13
- this.element = inject(ElementRef);
14
- this.renderer = inject(Renderer2);
15
12
  /**
16
- * The desired aspect ratio (e.g., 16/9).
17
- * By default, it is set to 1 (which results in a square, 1:1).
13
+ * The desired aspect ratio (e.g. `16 / 9`). Defaults to `1` (a square, 1:1).
14
+ *
18
15
  * @group Props
19
16
  * @defaultValue 1
20
17
  */
21
18
  this.ratio = input(1, { ...(ngDevMode ? { debugName: "ratio" } : /* istanbul ignore next */ {}), transform: numberAttribute });
22
- /**
23
- * Dynamically computed `padding-bottom` style for the element.
24
- * This value is calculated based on the inverse of the aspect ratio.
25
- *
26
- * If the ratio is zero, it defaults to `0%` to avoid division by zero.
27
- *
28
- */
29
- this.paddingBottom = computed(() => {
30
- const ratioValue = this.ratio();
31
- return `${ratioValue !== 0 ? (1 / ratioValue) * 100 : 0}%`;
32
- }, ...(ngDevMode ? [{ debugName: "paddingBottom" }] : /* istanbul ignore next */ []));
33
- }
34
- ngAfterViewInit() {
35
- const content = this.element.nativeElement.firstElementChild;
36
- if (content) {
37
- // Set the content to cover the entire element with absolute positioning
38
- this.renderer.setStyle(content, 'position', 'absolute');
39
- this.renderer.setStyle(content, 'inset', '0');
40
- }
41
19
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxAspectRatioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
43
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: RdxAspectRatioDirective, isStandalone: true, selector: "[rdxAspectRatio]", inputs: { ratio: { classPropertyName: "ratio", publicName: "ratio", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.position": "'relative'", "style.width": "'100%'", "style.padding-bottom": "paddingBottom()" } }, exportAs: ["rdxAspectRatio"], ngImport: i0 }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: RdxAspectRatioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: RdxAspectRatioDirective, isStandalone: true, selector: "[rdxAspectRatio]", inputs: { ratio: { classPropertyName: "ratio", publicName: "ratio", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.aspect-ratio": "ratio() || null", "style.width": "\"100%\"" } }, exportAs: ["rdxAspectRatio"], ngImport: i0 }); }
44
22
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxAspectRatioDirective, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: RdxAspectRatioDirective, decorators: [{
46
24
  type: Directive,
47
25
  args: [{
48
26
  selector: '[rdxAspectRatio]',
49
27
  exportAs: 'rdxAspectRatio',
50
- standalone: true,
51
28
  host: {
52
- '[style.position]': `'relative'`,
53
- '[style.width]': `'100%'`,
54
- '[style.padding-bottom]': 'paddingBottom()'
29
+ '[style.aspect-ratio]': 'ratio() || null',
30
+ '[style.width]': '"100%"'
55
31
  }
56
32
  }]
57
33
  }], propDecorators: { ratio: [{ type: i0.Input, args: [{ isSignal: true, alias: "ratio", required: false }] }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-aspect-ratio.mjs","sources":["../../../packages/primitives/aspect-ratio/src/aspect-ratio.directive.ts","../../../packages/primitives/aspect-ratio/radix-ng-primitives-aspect-ratio.ts"],"sourcesContent":["import {\n AfterViewInit,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { NumberInput } from '@radix-ng/primitives/core';\n\n/**\n * Directive to maintain an aspect ratio for an element.\n * The element will have its `padding-bottom` dynamically calculated\n * based on the provided aspect ratio to maintain the desired ratio.\n * The content inside the element will be positioned absolutely.\n * @group Components\n */\n@Directive({\n selector: '[rdxAspectRatio]',\n exportAs: 'rdxAspectRatio',\n standalone: true,\n host: {\n '[style.position]': `'relative'`,\n '[style.width]': `'100%'`,\n '[style.padding-bottom]': 'paddingBottom()'\n }\n})\nexport class RdxAspectRatioDirective implements AfterViewInit {\n private readonly element = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n\n /**\n * The desired aspect ratio (e.g., 16/9).\n * By default, it is set to 1 (which results in a square, 1:1).\n * @group Props\n * @defaultValue 1\n */\n readonly ratio = input<number, NumberInput>(1, { transform: numberAttribute });\n\n /**\n * Dynamically computed `padding-bottom` style for the element.\n * This value is calculated based on the inverse of the aspect ratio.\n *\n * If the ratio is zero, it defaults to `0%` to avoid division by zero.\n *\n */\n protected readonly paddingBottom = computed(() => {\n const ratioValue = this.ratio();\n return `${ratioValue !== 0 ? (1 / ratioValue) * 100 : 0}%`;\n });\n\n ngAfterViewInit() {\n const content = this.element.nativeElement.firstElementChild;\n if (content) {\n // Set the content to cover the entire element with absolute positioning\n this.renderer.setStyle(content, 'position', 'absolute');\n this.renderer.setStyle(content, 'inset', '0');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAYA;;;;;;AAMG;MAWU,uBAAuB,CAAA;AAVpC,IAAA,WAAA,GAAA;AAWqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAE7C;;;;;AAKG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAAsB,CAAC,6EAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AAE9E;;;;;;AAMG;AACgB,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AAC7C,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;AAC/B,YAAA,OAAO,GAAG,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,GAAG,CAAC,GAAG;AAC9D,QAAA,CAAC,oFAAC;AAUL,IAAA;IARG,eAAe,GAAA;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB;QAC5D,IAAI,OAAO,EAAE;;YAET,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC;QACjD;IACJ;8GA/BS,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,CAAA,UAAA,CAAY;AAChC,wBAAA,eAAe,EAAE,CAAA,MAAA,CAAQ;AACzB,wBAAA,wBAAwB,EAAE;AAC7B;AACJ,iBAAA;;;AC5BD;;AAEG;;;;"}
1
+ {"version":3,"file":"radix-ng-primitives-aspect-ratio.mjs","sources":["../../../packages/primitives/aspect-ratio/src/aspect-ratio.directive.ts","../../../packages/primitives/aspect-ratio/radix-ng-primitives-aspect-ratio.ts"],"sourcesContent":["import { Directive, input, numberAttribute } from '@angular/core';\nimport { NumberInput } from '@radix-ng/primitives/core';\n\n/**\n * Maintains a fixed aspect ratio for its content using the native CSS `aspect-ratio` property.\n * Place the content inside (e.g. an `<img class=\"size-full object-cover\">`) and it fills the box.\n *\n * @group Components\n */\n@Directive({\n selector: '[rdxAspectRatio]',\n exportAs: 'rdxAspectRatio',\n host: {\n '[style.aspect-ratio]': 'ratio() || null',\n '[style.width]': '\"100%\"'\n }\n})\nexport class RdxAspectRatioDirective {\n /**\n * The desired aspect ratio (e.g. `16 / 9`). Defaults to `1` (a square, 1:1).\n *\n * @group Props\n * @defaultValue 1\n */\n readonly ratio = input<number, NumberInput>(1, { transform: numberAttribute });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA;;;;;AAKG;MASU,uBAAuB,CAAA;AARpC,IAAA,WAAA,GAAA;AASI;;;;;AAKG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAAsB,CAAC,6EAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACjF,IAAA;8GARY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACF,wBAAA,sBAAsB,EAAE,iBAAiB;AACzC,wBAAA,eAAe,EAAE;AACpB;AACJ,iBAAA;;;AChBD;;AAEG;;;;"}