@weeehaoooz/talos-ui 0.1.0 → 0.1.2

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 (187) hide show
  1. package/README.md +2 -0
  2. package/fesm2022/{weeehaoooz-talos-ui-button-button-group.mjs → weeehaoooz-talos-ui-button.mjs} +115 -18
  3. package/fesm2022/weeehaoooz-talos-ui-button.mjs.map +1 -0
  4. package/fesm2022/weeehaoooz-talos-ui-data-display.mjs +3110 -0
  5. package/fesm2022/weeehaoooz-talos-ui-data-display.mjs.map +1 -0
  6. package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs +2414 -0
  7. package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs.map +1 -0
  8. package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs +1039 -0
  9. package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs.map +1 -0
  10. package/fesm2022/weeehaoooz-talos-ui-feedback.mjs +2885 -0
  11. package/fesm2022/weeehaoooz-talos-ui-feedback.mjs.map +1 -0
  12. package/fesm2022/weeehaoooz-talos-ui-form.mjs +10799 -0
  13. package/fesm2022/weeehaoooz-talos-ui-form.mjs.map +1 -0
  14. package/fesm2022/weeehaoooz-talos-ui-layout.mjs +1320 -11
  15. package/fesm2022/weeehaoooz-talos-ui-layout.mjs.map +1 -1
  16. package/fesm2022/weeehaoooz-talos-ui-nav.mjs +119 -72
  17. package/fesm2022/weeehaoooz-talos-ui-nav.mjs.map +1 -1
  18. package/fesm2022/weeehaoooz-talos-ui.mjs +22190 -15213
  19. package/fesm2022/weeehaoooz-talos-ui.mjs.map +1 -1
  20. package/package.json +20 -135
  21. package/styles/_breadcrumb.scss +16 -0
  22. package/styles/_button-group.scss +156 -7
  23. package/styles/_buttons.scss +156 -8
  24. package/styles/_dropdown.scss +438 -0
  25. package/styles/_form-controls.scss +13 -0
  26. package/styles/_progress-bar.scss +43 -0
  27. package/styles/_skeleton.scss +176 -0
  28. package/styles/_spinner.scss +58 -0
  29. package/styles/_variables.scss +37 -0
  30. package/styles/index.scss +6 -1
  31. package/types/weeehaoooz-talos-ui-button.d.ts +92 -0
  32. package/types/weeehaoooz-talos-ui-button.d.ts.map +1 -0
  33. package/types/weeehaoooz-talos-ui-data-display.d.ts +1018 -0
  34. package/types/weeehaoooz-talos-ui-data-display.d.ts.map +1 -0
  35. package/types/weeehaoooz-talos-ui-data-viz.d.ts +839 -0
  36. package/types/weeehaoooz-talos-ui-data-viz.d.ts.map +1 -0
  37. package/types/weeehaoooz-talos-ui-dropdown.d.ts +187 -0
  38. package/types/weeehaoooz-talos-ui-dropdown.d.ts.map +1 -0
  39. package/types/weeehaoooz-talos-ui-feedback.d.ts +1495 -0
  40. package/types/weeehaoooz-talos-ui-feedback.d.ts.map +1 -0
  41. package/types/weeehaoooz-talos-ui-form.d.ts +2639 -0
  42. package/types/weeehaoooz-talos-ui-form.d.ts.map +1 -0
  43. package/types/weeehaoooz-talos-ui-layout.d.ts +851 -3
  44. package/types/weeehaoooz-talos-ui-layout.d.ts.map +1 -1
  45. package/types/weeehaoooz-talos-ui-nav.d.ts +36 -10
  46. package/types/weeehaoooz-talos-ui-nav.d.ts.map +1 -1
  47. package/types/weeehaoooz-talos-ui.d.ts +6949 -4137
  48. package/types/weeehaoooz-talos-ui.d.ts.map +1 -1
  49. package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs.map +0 -1
  50. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs +0 -93
  51. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs.map +0 -1
  52. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs +0 -233
  53. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs.map +0 -1
  54. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs +0 -361
  55. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs.map +0 -1
  56. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs +0 -312
  57. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs.map +0 -1
  58. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs +0 -235
  59. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs.map +0 -1
  60. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs +0 -462
  61. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs.map +0 -1
  62. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs +0 -805
  63. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs.map +0 -1
  64. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs +0 -267
  65. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs.map +0 -1
  66. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs +0 -351
  67. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs.map +0 -1
  68. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs +0 -566
  69. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs.map +0 -1
  70. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs +0 -534
  71. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs.map +0 -1
  72. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs +0 -446
  73. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs.map +0 -1
  74. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs +0 -376
  75. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs.map +0 -1
  76. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs +0 -147
  77. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs.map +0 -1
  78. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs +0 -242
  79. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs.map +0 -1
  80. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs +0 -514
  81. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs.map +0 -1
  82. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs +0 -548
  83. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs.map +0 -1
  84. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs +0 -692
  85. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs.map +0 -1
  86. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs +0 -761
  87. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs.map +0 -1
  88. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs +0 -896
  89. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs.map +0 -1
  90. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs +0 -872
  91. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs.map +0 -1
  92. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs +0 -119
  93. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs.map +0 -1
  94. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs +0 -135
  95. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map +0 -1
  96. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs +0 -666
  97. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs.map +0 -1
  98. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs +0 -147
  99. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs.map +0 -1
  100. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs +0 -33
  101. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs.map +0 -1
  102. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs +0 -455
  103. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs.map +0 -1
  104. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs +0 -379
  105. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs.map +0 -1
  106. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs +0 -297
  107. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs.map +0 -1
  108. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs +0 -661
  109. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs.map +0 -1
  110. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs +0 -346
  111. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs.map +0 -1
  112. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs +0 -896
  113. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs.map +0 -1
  114. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs +0 -252
  115. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs.map +0 -1
  116. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs +0 -916
  117. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs.map +0 -1
  118. package/types/weeehaoooz-talos-ui-button-button-group.d.ts +0 -59
  119. package/types/weeehaoooz-talos-ui-button-button-group.d.ts.map +0 -1
  120. package/types/weeehaoooz-talos-ui-button-button.d.ts +0 -38
  121. package/types/weeehaoooz-talos-ui-button-button.d.ts.map +0 -1
  122. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts +0 -119
  123. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts.map +0 -1
  124. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts +0 -135
  125. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts.map +0 -1
  126. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts +0 -144
  127. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts.map +0 -1
  128. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts +0 -83
  129. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts.map +0 -1
  130. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts +0 -255
  131. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts.map +0 -1
  132. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts +0 -204
  133. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts.map +0 -1
  134. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts +0 -101
  135. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts.map +0 -1
  136. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts +0 -138
  137. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts.map +0 -1
  138. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts +0 -161
  139. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts.map +0 -1
  140. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts +0 -212
  141. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts.map +0 -1
  142. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts +0 -259
  143. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts.map +0 -1
  144. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts +0 -147
  145. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts.map +0 -1
  146. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts +0 -32
  147. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts.map +0 -1
  148. package/types/weeehaoooz-talos-ui-form-affix.d.ts +0 -88
  149. package/types/weeehaoooz-talos-ui-form-affix.d.ts.map +0 -1
  150. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts +0 -113
  151. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts.map +0 -1
  152. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts +0 -165
  153. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts.map +0 -1
  154. package/types/weeehaoooz-talos-ui-form-chips.d.ts +0 -152
  155. package/types/weeehaoooz-talos-ui-form-chips.d.ts.map +0 -1
  156. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts +0 -144
  157. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts.map +0 -1
  158. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts +0 -138
  159. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts.map +0 -1
  160. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts +0 -148
  161. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts.map +0 -1
  162. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts +0 -44
  163. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts.map +0 -1
  164. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts +0 -48
  165. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts.map +0 -1
  166. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts +0 -227
  167. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts.map +0 -1
  168. package/types/weeehaoooz-talos-ui-form-form-field.d.ts +0 -42
  169. package/types/weeehaoooz-talos-ui-form-form-field.d.ts.map +0 -1
  170. package/types/weeehaoooz-talos-ui-form-input.d.ts +0 -15
  171. package/types/weeehaoooz-talos-ui-form-input.d.ts.map +0 -1
  172. package/types/weeehaoooz-talos-ui-form-otp.d.ts +0 -111
  173. package/types/weeehaoooz-talos-ui-form-otp.d.ts.map +0 -1
  174. package/types/weeehaoooz-talos-ui-form-password-input.d.ts +0 -145
  175. package/types/weeehaoooz-talos-ui-form-password-input.d.ts.map +0 -1
  176. package/types/weeehaoooz-talos-ui-form-radio.d.ts +0 -84
  177. package/types/weeehaoooz-talos-ui-form-radio.d.ts.map +0 -1
  178. package/types/weeehaoooz-talos-ui-form-range-input.d.ts +0 -181
  179. package/types/weeehaoooz-talos-ui-form-range-input.d.ts.map +0 -1
  180. package/types/weeehaoooz-talos-ui-form-rating.d.ts +0 -110
  181. package/types/weeehaoooz-talos-ui-form-rating.d.ts.map +0 -1
  182. package/types/weeehaoooz-talos-ui-form-select-input.d.ts +0 -195
  183. package/types/weeehaoooz-talos-ui-form-select-input.d.ts.map +0 -1
  184. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts +0 -79
  185. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts.map +0 -1
  186. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts +0 -192
  187. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weeehaoooz-talos-ui-dropdown.mjs","sources":["../../../projects/talos-ui/dropdown/dropdown-trigger.directive.ts","../../../projects/talos-ui/dropdown/dropdown-item.component.ts","../../../projects/talos-ui/dropdown/dropdown-menu.component.ts","../../../projects/talos-ui/dropdown/dropdown-divider.component.ts","../../../projects/talos-ui/dropdown/dropdown-header.component.ts","../../../projects/talos-ui/dropdown/dropdown.module.ts","../../../projects/talos-ui/dropdown/weeehaoooz-talos-ui-dropdown.ts"],"sourcesContent":["import {\n ConnectedPosition,\n Overlay,\n OverlayRef,\n PositionStrategy\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n DestroyRef,\n ElementRef,\n ViewContainerRef,\n effect,\n inject,\n input,\n output,\n signal\n} from '@angular/core';\nimport { filter } from 'rxjs/operators';\nimport { TalosDropdownMenuComponent } from './dropdown-menu.component';\nimport { DropdownPlacement, DropdownTriggerMode } from './dropdown.types';\n\n@Directive({\n selector: '[talosDropdownTrigger], [talosDropdown]',\n exportAs: 'talosDropdownTrigger',\n host: {\n '[attr.aria-haspopup]': '\"menu\"',\n '[attr.aria-expanded]': 'isOpen()',\n '[class.talos-dropdown-open]': 'isOpen()',\n '(click)': 'handleClick($event)',\n '(mouseenter)': 'handleMouseEnter()',\n '(mouseleave)': 'handleMouseLeave()',\n '(keydown.arrowdown)': 'handleKeyDownArrowDown($event)',\n '(keydown.escape)': 'handleKeyDownEscape($event)'\n }\n})\nexport class TalosDropdownTriggerDirective {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly vcr = inject(ViewContainerRef);\n private readonly destroyRef = inject(DestroyRef);\n\n /** Menu component instance to trigger */\n readonly menu = input<TalosDropdownMenuComponent | null>(null, {\n alias: 'talosDropdownTrigger'\n });\n\n /** Secondary alias for menu */\n readonly menuAlt = input<TalosDropdownMenuComponent | null>(null, {\n alias: 'talosDropdown'\n });\n\n /** Trigger activation mechanism: 'click', 'hover', or 'both' */\n readonly triggerOn = input<DropdownTriggerMode>('click');\n\n /** Desired placement around the trigger */\n readonly placement = input<DropdownPlacement>('bottom-start');\n\n /** Element, ElementRef, or Component instance to which the dropdown overlay is anchored/attached */\n readonly connectedTo = input<ElementRef<HTMLElement> | HTMLElement | { elementRef?: ElementRef<HTMLElement> } | null>(null);\n\n /** Secondary alias for connectedTo */\n readonly origin = input<ElementRef<HTMLElement> | HTMLElement | { elementRef?: ElementRef<HTMLElement> } | null>(null);\n\n /** Whether the dropdown overlay should match the width of the connected element */\n readonly matchWidth = input<boolean>(false);\n\n /** Whether the dropdown trigger is disabled */\n readonly disabled = input<boolean>(false);\n\n /** Delay in milliseconds before closing on hover leave */\n readonly hoverDelay = input<number>(150);\n\n /** Vertical offset in pixels from the trigger */\n readonly offsetY = input<number>(4);\n\n /** Horizontal offset in pixels from the trigger */\n readonly offsetX = input<number>(0);\n\n /** Whether clicking any menu item automatically closes the menu */\n readonly closeOnItemClick = input<boolean>(true);\n\n /** Emitted when the dropdown opens */\n readonly opened = output<void>();\n\n /** Emitted when the dropdown closes */\n readonly closed = output<void>();\n\n /** Current open state signal */\n readonly isOpen = signal<boolean>(false);\n\n private overlayRef: OverlayRef | null = null;\n private portal: TemplatePortal | null = null;\n private hoverTimer: ReturnType<typeof setTimeout> | null = null;\n\n constructor() {\n // Listen to menu panel mouse events for hover bridging\n effect(() => {\n const activeMenu = this.activeMenu;\n if (!activeMenu) return;\n\n activeMenu.panelMouseEnter.subscribe(() => {\n if (this.triggerOn() === 'hover' || this.triggerOn() === 'both') {\n this.cancelHoverClose();\n }\n });\n\n activeMenu.panelMouseLeave.subscribe(() => {\n if (this.triggerOn() === 'hover' || this.triggerOn() === 'both') {\n this.scheduleHoverClose();\n }\n });\n\n activeMenu.itemActivated.subscribe(() => {\n if (this.closeOnItemClick()) {\n this.close();\n }\n });\n });\n\n // Listen to origin element mouse events for hover bridging when anchor differs from trigger\n effect((onCleanup) => {\n const originEl = this.targetOriginElement;\n if (originEl && originEl !== this.elementRef.nativeElement) {\n const onOriginEnter = () => {\n if (this.isOpen() && (this.triggerOn() === 'hover' || this.triggerOn() === 'both')) {\n this.cancelHoverClose();\n }\n };\n const onOriginLeave = () => {\n if (this.isOpen() && (this.triggerOn() === 'hover' || this.triggerOn() === 'both')) {\n this.scheduleHoverClose();\n }\n };\n\n originEl.addEventListener('mouseenter', onOriginEnter);\n originEl.addEventListener('mouseleave', onOriginLeave);\n\n onCleanup(() => {\n originEl.removeEventListener('mouseenter', onOriginEnter);\n originEl.removeEventListener('mouseleave', onOriginLeave);\n });\n }\n });\n\n this.destroyRef.onDestroy(() => {\n this.clearHoverTimer();\n this.disposeOverlay();\n });\n }\n\n get activeMenu(): TalosDropdownMenuComponent | null {\n return this.menu() || this.menuAlt();\n }\n\n get targetOrigin(): ElementRef<HTMLElement> | HTMLElement {\n const custom = this.connectedTo() || this.origin();\n if (!custom) {\n return this.elementRef;\n }\n if (custom instanceof ElementRef) {\n return custom;\n }\n if (typeof HTMLElement !== 'undefined' && custom instanceof HTMLElement) {\n return custom;\n }\n if (typeof custom === 'object' && custom !== null) {\n if ('elementRef' in custom && (custom as any).elementRef instanceof ElementRef) {\n return (custom as any).elementRef;\n }\n if ('nativeElement' in custom && (custom as any).nativeElement instanceof HTMLElement) {\n return (custom as any).nativeElement;\n }\n }\n return this.elementRef;\n }\n\n get targetOriginElement(): HTMLElement {\n const origin = this.targetOrigin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement;\n }\n return origin;\n }\n\n handleClick(event: MouseEvent): void {\n if (this.disabled()) return;\n\n if (this.triggerOn() === 'click' || this.triggerOn() === 'both') {\n event.preventDefault();\n this.toggle();\n }\n }\n\n handleMouseEnter(): void {\n if (this.disabled()) return;\n\n if (this.triggerOn() === 'hover' || this.triggerOn() === 'both') {\n this.cancelHoverClose();\n this.open();\n }\n }\n\n handleMouseLeave(): void {\n if (this.disabled()) return;\n\n if (this.triggerOn() === 'hover' || this.triggerOn() === 'both') {\n this.scheduleHoverClose();\n }\n }\n\n handleKeyDownArrowDown(event: Event): void {\n if (this.disabled()) return;\n event.preventDefault();\n if (!this.isOpen()) {\n this.open();\n }\n setTimeout(() => {\n this.activeMenu?.focusFirstItem();\n }, 10);\n }\n\n handleKeyDownEscape(event: Event): void {\n if (this.isOpen()) {\n event.preventDefault();\n this.close();\n this.elementRef.nativeElement.focus();\n }\n }\n\n open(): void {\n if (this.disabled() || this.isOpen() || !this.activeMenu) {\n return;\n }\n\n const overlayRef = this.getOrCreateOverlay();\n if (!this.portal) {\n this.portal = new TemplatePortal(this.activeMenu.templateRef, this.vcr);\n }\n\n if (this.matchWidth()) {\n const width = this.targetOriginElement.offsetWidth;\n if (width > 0) {\n overlayRef.updateSize({ minWidth: width });\n }\n }\n\n if (!overlayRef.hasAttached()) {\n overlayRef.attach(this.portal);\n }\n\n this.isOpen.set(true);\n this.opened.emit();\n }\n\n close(): void {\n if (!this.isOpen()) return;\n\n this.clearHoverTimer();\n if (this.overlayRef?.hasAttached()) {\n this.overlayRef.detach();\n }\n\n this.activeMenu?.resetFocus();\n this.isOpen.set(false);\n this.closed.emit();\n }\n\n toggle(): void {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n private scheduleHoverClose(): void {\n this.clearHoverTimer();\n this.hoverTimer = setTimeout(() => {\n this.close();\n }, this.hoverDelay());\n }\n\n private cancelHoverClose(): void {\n this.clearHoverTimer();\n }\n\n private clearHoverTimer(): void {\n if (this.hoverTimer) {\n clearTimeout(this.hoverTimer);\n this.hoverTimer = null;\n }\n }\n\n private getOrCreateOverlay(): OverlayRef {\n if (this.overlayRef) {\n return this.overlayRef;\n }\n\n const positionStrategy = this.createPositionStrategy();\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false,\n minWidth: this.matchWidth() ? this.targetOriginElement.offsetWidth : undefined\n });\n\n // Close when clicking outside of both the trigger element and the overlay\n this.overlayRef\n .outsidePointerEvents()\n .pipe(filter(event => !this.elementRef.nativeElement.contains(event.target as Node)))\n .subscribe(() => {\n this.close();\n });\n\n return this.overlayRef;\n }\n\n private createPositionStrategy(): PositionStrategy {\n const chosenPlacement = this.placement() || this.activeMenu?.placement() || 'bottom-start';\n const offsetY = this.offsetY();\n const offsetX = this.offsetX();\n\n const positions = this.getPositionsForPlacement(chosenPlacement, offsetX, offsetY);\n\n return this.overlay\n .position()\n .flexibleConnectedTo(this.targetOrigin)\n .withPositions(positions)\n .withPush(true)\n .withFlexibleDimensions(false);\n }\n\n private getPositionsForPlacement(\n placement: DropdownPlacement,\n offsetX: number,\n offsetY: number\n ): ConnectedPosition[] {\n const bottomStart: ConnectedPosition = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetX,\n offsetY\n };\n\n const bottomEnd: ConnectedPosition = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetX,\n offsetY\n };\n\n const bottomCenter: ConnectedPosition = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetX,\n offsetY\n };\n\n const topStart: ConnectedPosition = {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX,\n offsetY: -offsetY\n };\n\n const topEnd: ConnectedPosition = {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX,\n offsetY: -offsetY\n };\n\n const topCenter: ConnectedPosition = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetX,\n offsetY: -offsetY\n };\n\n const rightStart: ConnectedPosition = {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: offsetY,\n offsetY: offsetX\n };\n\n const leftStart: ConnectedPosition = {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -offsetY,\n offsetY: offsetX\n };\n\n switch (placement) {\n case 'bottom-end':\n return [bottomEnd, topEnd, bottomStart, topStart];\n case 'bottom':\n return [bottomCenter, topCenter, bottomStart, bottomEnd];\n case 'top-start':\n return [topStart, bottomStart, topEnd, bottomEnd];\n case 'top-end':\n return [topEnd, bottomEnd, topStart, bottomStart];\n case 'top':\n return [topCenter, bottomCenter, topStart, topEnd];\n case 'right-start':\n case 'right':\n return [rightStart, leftStart, bottomStart, topStart];\n case 'left-start':\n case 'left':\n return [leftStart, rightStart, bottomStart, topStart];\n case 'bottom-start':\n default:\n return [bottomStart, topStart, bottomEnd, topEnd];\n }\n }\n\n private disposeOverlay(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.portal = null;\n }\n }\n}\n","import {\n ConnectedPosition,\n Overlay,\n OverlayRef,\n PositionStrategy\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n DestroyRef,\n ElementRef,\n ViewContainerRef,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n Type\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LucideChevronRight, LucideCheck } from '@lucide/angular';\nimport { DropdownBadgeVariant, DropdownItemVariant } from './dropdown.types';\nimport type { TalosDropdownMenuComponent } from './dropdown-menu.component';\n\n@Component({\n selector: 'talos-dropdown-item, button[talosDropdownItem], a[talosDropdownItem]',\n imports: [CommonModule, LucideChevronRight, LucideCheck],\n template: `\n @if (href()) {\n <a\n class=\"talos-dropdown-item-link\"\n [href]=\"href()\"\n [target]=\"target()\"\n [rel]=\"target() === '_blank' ? 'noopener noreferrer' : null\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"itemBody\"></ng-container>\n </a>\n } @else {\n <button\n type=\"button\"\n class=\"talos-dropdown-item-btn\"\n [disabled]=\"disabled()\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n [attr.aria-haspopup]=\"hasSubMenu() ? 'menu' : null\"\n [attr.aria-expanded]=\"hasSubMenu() ? isSubMenuOpen() : null\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"itemBody\"></ng-container>\n </button>\n }\n\n <ng-template #itemBody>\n <!-- Checkmark for checkable items -->\n @if (checked() !== null && checked() !== undefined) {\n <span class=\"talos-dropdown-item-check\" [class.is-checked]=\"checked()\">\n @if (checked()) {\n <svg lucideCheck [size]=\"13\"></svg>\n }\n </span>\n }\n\n <!-- Custom Prefix Icon -->\n @if (icon(); as itemIcon) {\n <span class=\"talos-dropdown-item-icon\">\n <ng-container *ngComponentOutlet=\"itemIcon\" />\n </span>\n }\n\n <!-- Item Label / Content -->\n <span class=\"talos-dropdown-item-label\">\n @if (label()) {\n {{ label() }}\n } @else {\n <ng-content />\n }\n </span>\n\n <!-- Optional Status Badge -->\n @if (badge() !== null && badge() !== undefined && badge() !== '') {\n <span class=\"talos-dropdown-item-badge\" [class]=\"'badge-' + (badgeVariant() || 'primary')\">\n {{ badge() }}\n </span>\n }\n\n <!-- Keyboard Shortcut Key Hint -->\n @if (shortcut()) {\n <kbd class=\"talos-dropdown-item-shortcut\">{{ shortcut() }}</kbd>\n }\n\n <!-- Right Chevron for Sub-menus -->\n @if (hasSubMenu()) {\n <span class=\"talos-dropdown-item-submenu-arrow\">\n <svg lucideChevronRight [size]=\"13\"></svg>\n </span>\n }\n </ng-template>\n `,\n host: {\n 'class': 'talos-dropdown-item-host',\n 'role': 'none',\n '[class.is-disabled]': 'disabled()',\n '[class.is-danger]': 'danger() || variant() === \"danger\"',\n '[class.is-primary]': 'variant() === \"primary\"',\n '[class.is-success]': 'variant() === \"success\"',\n '[class.has-submenu]': 'hasSubMenu()',\n '[class.is-submenu-open]': 'isSubMenuOpen()',\n '[class.is-checked]': 'checked() === true',\n '(mouseenter)': 'handleMouseEnter()',\n '(mouseleave)': 'handleMouseLeave()'\n }\n})\nexport class TalosDropdownItemComponent {\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly vcr = inject(ViewContainerRef);\n private readonly destroyRef = inject(DestroyRef);\n\n /** Optional plain text label (if not using content projection) */\n readonly label = input<string>('');\n\n /** Optional icon component type */\n readonly icon = input<Type<unknown> | null>(null);\n\n /** Optional external link URL */\n readonly href = input<string>('');\n\n /** Target for external link (default '_blank' when href is present) */\n readonly target = input<string>('_blank');\n\n /** Visual variant: default, danger, primary, success, warning */\n readonly variant = input<DropdownItemVariant>('default');\n\n /** Quick flag for destructive danger styling */\n readonly danger = input<boolean>(false);\n\n /** Disabled state */\n readonly disabled = input<boolean>(false);\n\n /** Keyboard shortcut hint text (e.g. '⌘K', 'Ctrl+S') */\n readonly shortcut = input<string>('');\n\n /** Checkable / selectable state */\n readonly checked = input<boolean | null | undefined>(undefined);\n\n /** Optional badge text or number */\n readonly badge = input<string | number | null | undefined>(null);\n\n /** Badge visual variant */\n readonly badgeVariant = input<DropdownBadgeVariant>('primary');\n\n /** Child Sub-menu to fly out when hovering/clicking */\n readonly subMenu = input<TalosDropdownMenuComponent | null>(null);\n\n /** Emitted when the item is activated */\n readonly itemClick = output<MouseEvent>();\n\n /** Whether this item has an attached sub-menu */\n readonly hasSubMenu = computed<boolean>(() => !!this.subMenu());\n\n /** Whether the sub-menu is currently opened */\n readonly isSubMenuOpen = signal<boolean>(false);\n\n /** Internal callback set by parent menu container to notify on click */\n _onActivate?: (event: MouseEvent) => void;\n\n /** Internal callback set by parent menu container to notify on item hover */\n _onHover?: (item: TalosDropdownItemComponent) => void;\n\n private overlayRef: OverlayRef | null = null;\n private portal: TemplatePortal | null = null;\n private hoverTimer: ReturnType<typeof setTimeout> | null = null;\n\n constructor() {\n // Listen to sub-menu mouse & item activation events\n effect(() => {\n const childMenu = this.subMenu();\n if (!childMenu) return;\n\n childMenu.panelMouseEnter.subscribe(() => {\n this.cancelHoverClose();\n });\n\n childMenu.panelMouseLeave.subscribe(() => {\n this.scheduleHoverClose();\n });\n\n childMenu.itemActivated.subscribe((e) => {\n if (this._onActivate) {\n this._onActivate(e);\n }\n });\n });\n\n this.destroyRef.onDestroy(() => {\n this.clearHoverTimer();\n this.disposeOverlay();\n });\n }\n\n handleClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n if (this.hasSubMenu()) {\n event.preventDefault();\n event.stopPropagation();\n this.toggleSubMenu();\n return;\n }\n\n this.itemClick.emit(event);\n\n if (this._onActivate) {\n this._onActivate(event);\n }\n }\n\n handleMouseEnter(): void {\n if (this.disabled()) return;\n\n if (this._onHover) {\n this._onHover(this);\n }\n\n if (this.hasSubMenu()) {\n this.cancelHoverClose();\n this.hoverTimer = setTimeout(() => {\n this.openSubMenu();\n }, 60);\n }\n }\n\n handleMouseLeave(): void {\n if (this.disabled()) return;\n\n if (this.hasSubMenu()) {\n this.scheduleHoverClose();\n }\n }\n\n openSubMenu(): void {\n if (this.disabled() || this.isSubMenuOpen() || !this.subMenu()) {\n return;\n }\n\n const overlayRef = this.getOrCreateOverlay();\n if (!this.portal && this.subMenu()) {\n this.portal = new TemplatePortal(this.subMenu()!.templateRef, this.vcr);\n }\n\n if (!overlayRef.hasAttached() && this.portal) {\n overlayRef.attach(this.portal);\n }\n\n this.isSubMenuOpen.set(true);\n }\n\n closeSubMenu(): void {\n if (!this.isSubMenuOpen()) return;\n\n this.clearHoverTimer();\n if (this.overlayRef?.hasAttached()) {\n this.overlayRef.detach();\n }\n\n this.subMenu()?.resetFocus();\n this.isSubMenuOpen.set(false);\n }\n\n toggleSubMenu(): void {\n if (this.isSubMenuOpen()) {\n this.closeSubMenu();\n } else {\n this.openSubMenu();\n }\n }\n\n private scheduleHoverClose(): void {\n this.clearHoverTimer();\n this.hoverTimer = setTimeout(() => {\n this.closeSubMenu();\n }, 180);\n }\n\n private cancelHoverClose(): void {\n this.clearHoverTimer();\n }\n\n private clearHoverTimer(): void {\n if (this.hoverTimer) {\n clearTimeout(this.hoverTimer);\n this.hoverTimer = null;\n }\n }\n\n private getOrCreateOverlay(): OverlayRef {\n if (this.overlayRef) {\n return this.overlayRef;\n }\n\n const positionStrategy = this.createSubMenuPositionStrategy();\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false\n });\n\n return this.overlayRef;\n }\n\n private createSubMenuPositionStrategy(): PositionStrategy {\n const positions: ConnectedPosition[] = [\n // Standard right-start flyout (offset by 4px)\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 4,\n offsetY: -4\n },\n // Flip left-start if right edge of viewport is reached\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -4,\n offsetY: -4\n },\n // Flip bottom aligned if bottom edge is reached\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 4,\n offsetY: 4\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -4,\n offsetY: 4\n }\n ];\n\n return this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions(positions)\n .withPush(true)\n .withFlexibleDimensions(false);\n }\n\n private disposeOverlay(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.portal = null;\n }\n }\n\n focus(): void {\n const focusable = this.elementRef.nativeElement.querySelector('button, a') as HTMLElement | null;\n focusable?.focus();\n }\n}\n","import {\n Component,\n ElementRef,\n TemplateRef,\n ViewChild,\n contentChildren,\n input,\n output,\n signal,\n effect\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TalosDropdownItemComponent } from './dropdown-item.component';\nimport { DropdownPlacement } from './dropdown.types';\n\n@Component({\n selector: 'talos-dropdown-menu',\n exportAs: 'talosDropdownMenu',\n imports: [CommonModule],\n template: `\n <ng-template #templateRef>\n <div\n #panelEl\n class=\"talos-dropdown-panel\"\n [class]=\"customClass()\"\n [style.min-width]=\"minWidth()\"\n [style.max-width]=\"maxWidth()\"\n role=\"menu\"\n tabindex=\"-1\"\n (mouseenter)=\"handlePanelMouseEnter()\"\n (mouseleave)=\"handlePanelMouseLeave()\"\n (keydown)=\"handleKeyDown($event)\"\n >\n <ng-content />\n </div>\n </ng-template>\n `,\n host: {\n 'style': 'display: none;'\n }\n})\nexport class TalosDropdownMenuComponent {\n @ViewChild('templateRef', { static: true }) templateRef!: TemplateRef<unknown>;\n @ViewChild('panelEl') panelEl?: ElementRef<HTMLElement>;\n\n /** Optional custom CSS class applied to the dropdown panel */\n readonly customClass = input<string>('');\n\n /** Minimum width of the dropdown menu */\n readonly minWidth = input<string>('180px');\n\n /** Maximum width of the dropdown menu */\n readonly maxWidth = input<string>('360px');\n\n /** Preferred placement of the dropdown menu */\n readonly placement = input<DropdownPlacement>('bottom-start');\n\n /** Whether clicking an item should automatically close the dropdown */\n readonly autoClose = input<boolean>(true);\n\n /** Emitted when mouse enters the floating menu panel */\n readonly panelMouseEnter = output<void>();\n\n /** Emitted when mouse leaves the floating menu panel */\n readonly panelMouseLeave = output<void>();\n\n /** Emitted when an item inside this menu is activated */\n readonly itemActivated = output<MouseEvent>();\n\n /** Query all menu items inside */\n readonly items = contentChildren(TalosDropdownItemComponent, { descendants: true });\n\n private focusedItemIndex = signal<number>(-1);\n\n constructor() {\n // Coordinate items: activation & closing sibling submenus on hover\n effect(() => {\n const itemList = this.items();\n for (const item of itemList) {\n item._onActivate = (e: MouseEvent) => {\n this.closeAllSubMenus();\n this.itemActivated.emit(e);\n };\n\n item._onHover = (hoveredItem: TalosDropdownItemComponent) => {\n // Close submenus on all other sibling items\n for (const other of this.items()) {\n if (other !== hoveredItem && other.hasSubMenu()) {\n other.closeSubMenu();\n }\n }\n };\n }\n });\n }\n\n handlePanelMouseEnter(): void {\n this.panelMouseEnter.emit();\n }\n\n handlePanelMouseLeave(): void {\n this.panelMouseLeave.emit();\n }\n\n closeAllSubMenus(): void {\n for (const item of this.items()) {\n if (item.hasSubMenu()) {\n item.closeSubMenu();\n }\n }\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n const itemList = this.items().filter(item => !item.disabled());\n if (itemList.length === 0) return;\n\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n const nextIndex = (this.focusedItemIndex() + 1) % itemList.length;\n this.focusedItemIndex.set(nextIndex);\n itemList[nextIndex]?.focus();\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n const prevIndex = (this.focusedItemIndex() - 1 + itemList.length) % itemList.length;\n this.focusedItemIndex.set(prevIndex);\n itemList[prevIndex]?.focus();\n break;\n }\n case 'ArrowRight': {\n const currentItem = itemList[this.focusedItemIndex()];\n if (currentItem && currentItem.hasSubMenu()) {\n event.preventDefault();\n currentItem.openSubMenu();\n setTimeout(() => {\n currentItem.subMenu()?.focusFirstItem();\n }, 20);\n }\n break;\n }\n case 'Home': {\n event.preventDefault();\n this.focusedItemIndex.set(0);\n itemList[0]?.focus();\n break;\n }\n case 'End': {\n event.preventDefault();\n const lastIndex = itemList.length - 1;\n this.focusedItemIndex.set(lastIndex);\n itemList[lastIndex]?.focus();\n break;\n }\n default:\n break;\n }\n }\n\n focusFirstItem(): void {\n const availableItems = this.items().filter(item => !item.disabled());\n if (availableItems.length > 0) {\n this.focusedItemIndex.set(0);\n availableItems[0]?.focus();\n }\n }\n\n resetFocus(): void {\n this.focusedItemIndex.set(-1);\n this.closeAllSubMenus();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'talos-dropdown-divider, [talosDropdownDivider]',\n template: '',\n host: {\n 'class': 'talos-dropdown-divider',\n 'role': 'separator',\n 'aria-orientation': 'horizontal'\n }\n})\nexport class TalosDropdownDividerComponent {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'talos-dropdown-header, [talosDropdownHeader]',\n template: `\n <span class=\"talos-dropdown-header-text\">\n @if (title()) {\n {{ title() }}\n } @else {\n <ng-content />\n }\n </span>\n `,\n host: {\n 'class': 'talos-dropdown-header',\n 'role': 'presentation'\n }\n})\nexport class TalosDropdownHeaderComponent {\n /** Optional header title string */\n readonly title = input<string>('');\n}\n","import { NgModule } from '@angular/core';\nimport { TalosDropdownTriggerDirective } from './dropdown-trigger.directive';\nimport { TalosDropdownMenuComponent } from './dropdown-menu.component';\nimport { TalosDropdownItemComponent } from './dropdown-item.component';\nimport { TalosDropdownDividerComponent } from './dropdown-divider.component';\nimport { TalosDropdownHeaderComponent } from './dropdown-header.component';\n\nconst DROPDOWN_DECLARATIONS = [\n TalosDropdownTriggerDirective,\n TalosDropdownMenuComponent,\n TalosDropdownItemComponent,\n TalosDropdownDividerComponent,\n TalosDropdownHeaderComponent\n];\n\n@NgModule({\n imports: [...DROPDOWN_DECLARATIONS],\n exports: [...DROPDOWN_DECLARATIONS]\n})\nexport class TalosDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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AAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EA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"}