@fabric-msft/fabric-web 4.0.0 → 5.0.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.
Files changed (435) hide show
  1. package/CHANGELOG.json +334 -0
  2. package/CHANGELOG.md +108 -1
  3. package/dist/dts/components/accordion-menu/accordion-menu.d.ts +2 -2
  4. package/dist/dts/components/accordion-menu/accordion-menu.d.ts.map +1 -1
  5. package/dist/dts/components/accordion-menu/accordion-menu.template.d.ts +1 -1
  6. package/dist/dts/components/accordion-menu/accordion-menu.template.d.ts.map +1 -1
  7. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts +2 -2
  8. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts.map +1 -1
  9. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.template.d.ts +1 -1
  10. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.template.d.ts.map +1 -1
  11. package/dist/dts/components/button/button.d.ts +1 -1
  12. package/dist/dts/components/button/button.d.ts.map +1 -1
  13. package/dist/dts/components/card/card.template.d.ts +1 -1
  14. package/dist/dts/components/card/card.template.d.ts.map +1 -1
  15. package/dist/dts/components/card-footer/card-footer.template.d.ts +1 -1
  16. package/dist/dts/components/card-footer/card-footer.template.d.ts.map +1 -1
  17. package/dist/dts/components/card-header/card-header.template.d.ts +1 -1
  18. package/dist/dts/components/card-header/card-header.template.d.ts.map +1 -1
  19. package/dist/dts/components/card-preview/card-preview.template.d.ts +1 -1
  20. package/dist/dts/components/card-preview/card-preview.template.d.ts.map +1 -1
  21. package/dist/dts/components/carousel/carousel.template.d.ts +1 -1
  22. package/dist/dts/components/carousel/carousel.template.d.ts.map +1 -1
  23. package/dist/dts/components/component-register.d.ts +67 -0
  24. package/dist/dts/components/component-register.d.ts.map +1 -0
  25. package/dist/dts/components/compound-button/compound-button.d.ts +1 -1
  26. package/dist/dts/components/compound-button/compound-button.d.ts.map +1 -1
  27. package/dist/dts/components/compound-button/compound-button.options.d.ts +1 -1
  28. package/dist/dts/components/compound-button/compound-button.options.d.ts.map +1 -1
  29. package/dist/dts/components/counter-badge/counter-badge.definition.d.ts +1 -1
  30. package/dist/dts/components/counter-badge/counter-badge.definition.d.ts.map +1 -1
  31. package/dist/dts/components/counter-badge/counter-badge.options.d.ts +64 -0
  32. package/dist/dts/components/counter-badge/counter-badge.options.d.ts.map +1 -0
  33. package/dist/dts/components/counter-badge/index.d.ts +4 -3
  34. package/dist/dts/components/counter-badge/index.d.ts.map +1 -1
  35. package/dist/dts/components/field/field.d.ts +32 -1
  36. package/dist/dts/components/field/field.d.ts.map +1 -1
  37. package/dist/dts/components/filter-pill/filter-pill.d.ts +2 -2
  38. package/dist/dts/components/filter-pill/filter-pill.d.ts.map +1 -1
  39. package/dist/dts/components/filter-pill/filter-pill.styles.d.ts.map +1 -1
  40. package/dist/dts/components/filter-pill/filter-pill.template.d.ts +1 -1
  41. package/dist/dts/components/filter-pill/filter-pill.template.d.ts.map +1 -1
  42. package/dist/dts/components/listbox/listbox.d.ts +1 -1
  43. package/dist/dts/components/listbox/listbox.d.ts.map +1 -1
  44. package/dist/dts/components/loading-button/loading-button.template.d.ts +1 -1
  45. package/dist/dts/components/loading-button/loading-button.template.d.ts.map +1 -1
  46. package/dist/dts/components/menu/menu.d.ts +71 -83
  47. package/dist/dts/components/menu/menu.d.ts.map +1 -1
  48. package/dist/dts/components/menu/menu.positioning.d.ts +26 -67
  49. package/dist/dts/components/menu/menu.positioning.d.ts.map +1 -1
  50. package/dist/dts/components/menu/menu.styles.d.ts.map +1 -1
  51. package/dist/dts/components/menu/menu.template.d.ts +1 -1
  52. package/dist/dts/components/menu/menu.template.d.ts.map +1 -1
  53. package/dist/dts/components/menu-item/menu-item.d.ts +4 -4
  54. package/dist/dts/components/menu-item/menu-item.d.ts.map +1 -1
  55. package/dist/dts/components/menu-list/menu-list.d.ts +1 -1
  56. package/dist/dts/components/menu-list/menu-list.d.ts.map +1 -1
  57. package/dist/dts/components/multi-view/multi-view.template.d.ts +1 -1
  58. package/dist/dts/components/multi-view/multi-view.template.d.ts.map +1 -1
  59. package/dist/dts/components/multi-view-controller/multi-view-controller.styles.d.ts.map +1 -1
  60. package/dist/dts/components/multi-view-controller/multi-view-controller.template.d.ts +1 -1
  61. package/dist/dts/components/multi-view-controller/multi-view-controller.template.d.ts.map +1 -1
  62. package/dist/dts/components/multi-view-group/multi-view-group.template.d.ts +1 -1
  63. package/dist/dts/components/multi-view-group/multi-view-group.template.d.ts.map +1 -1
  64. package/dist/dts/components/option-group/option-group.d.ts +1 -1
  65. package/dist/dts/components/option-group/option-group.d.ts.map +1 -1
  66. package/dist/dts/components/option-group/option-group.template.d.ts +1 -1
  67. package/dist/dts/components/option-group/option-group.template.d.ts.map +1 -1
  68. package/dist/dts/components/popover/index.d.ts +1 -1
  69. package/dist/dts/components/popover/index.d.ts.map +1 -1
  70. package/dist/dts/components/popover/popover.d.ts +53 -74
  71. package/dist/dts/components/popover/popover.d.ts.map +1 -1
  72. package/dist/dts/components/popover/popover.definition.d.ts +1 -1
  73. package/dist/dts/components/popover/popover.definition.d.ts.map +1 -1
  74. package/dist/dts/components/popover/popover.options.d.ts +25 -10
  75. package/dist/dts/components/popover/popover.options.d.ts.map +1 -1
  76. package/dist/dts/components/popover/popover.positioning.d.ts +92 -0
  77. package/dist/dts/components/popover/popover.positioning.d.ts.map +1 -0
  78. package/dist/dts/components/popover/popover.styles.d.ts.map +1 -1
  79. package/dist/dts/components/popover/popover.template.d.ts +1 -1
  80. package/dist/dts/components/popover/popover.template.d.ts.map +1 -1
  81. package/dist/dts/components/search-box/index.d.ts +1 -1
  82. package/dist/dts/components/search-box/index.d.ts.map +1 -1
  83. package/dist/dts/components/search-box/search-box.d.ts +1 -1
  84. package/dist/dts/components/search-box/search-box.d.ts.map +1 -1
  85. package/dist/dts/components/search-box/search-box.options.d.ts.map +1 -1
  86. package/dist/dts/components/search-box/search-box.template.d.ts +1 -1
  87. package/dist/dts/components/search-box/search-box.template.d.ts.map +1 -1
  88. package/dist/dts/components/svg-icon/scripts/sprite-builder.d.ts +1 -1
  89. package/dist/dts/components/svg-icon/scripts/sprite-builder.d.ts.map +1 -1
  90. package/dist/dts/components/svg-icon/svg-icon.styles.d.ts.map +1 -1
  91. package/dist/dts/components/table/index.d.ts +6 -5
  92. package/dist/dts/components/table/index.d.ts.map +1 -1
  93. package/dist/dts/components/table/table.d.ts +2 -2
  94. package/dist/dts/components/table/table.d.ts.map +1 -1
  95. package/dist/dts/components/table/table.options.d.ts +4 -4
  96. package/dist/dts/components/table/table.options.d.ts.map +1 -1
  97. package/dist/dts/components/table/table.styles.d.ts.map +1 -1
  98. package/dist/dts/components/table/table.template.d.ts +1 -1
  99. package/dist/dts/components/table/table.template.d.ts.map +1 -1
  100. package/dist/dts/components/table-cell/index.d.ts +6 -5
  101. package/dist/dts/components/table-cell/index.d.ts.map +1 -1
  102. package/dist/dts/components/table-cell/table-cell.options.d.ts +2 -2
  103. package/dist/dts/components/table-cell/table-cell.options.d.ts.map +1 -1
  104. package/dist/dts/components/table-cell/table-cell.template.d.ts +1 -1
  105. package/dist/dts/components/table-cell/table-cell.template.d.ts.map +1 -1
  106. package/dist/dts/components/tag/tag.d.ts +1 -1
  107. package/dist/dts/components/tag/tag.d.ts.map +1 -1
  108. package/dist/dts/components/tag/tag.styles.d.ts.map +1 -1
  109. package/dist/dts/components/tag/tag.template.d.ts +1 -1
  110. package/dist/dts/components/tag/tag.template.d.ts.map +1 -1
  111. package/dist/dts/components/teaching-bubble/index.d.ts +2 -0
  112. package/dist/dts/components/teaching-bubble/index.d.ts.map +1 -1
  113. package/dist/dts/components/teaching-bubble/teaching-bubble.d.ts +1 -12
  114. package/dist/dts/components/teaching-bubble/teaching-bubble.d.ts.map +1 -1
  115. package/dist/dts/components/teaching-bubble/teaching-bubble.styles.d.ts.map +1 -1
  116. package/dist/dts/components/teaching-bubble/teaching-bubble.template.d.ts +1 -1
  117. package/dist/dts/components/teaching-bubble/teaching-bubble.template.d.ts.map +1 -1
  118. package/dist/dts/components/text/index.d.ts +4 -3
  119. package/dist/dts/components/text/index.d.ts.map +1 -1
  120. package/dist/dts/components/text/text.d.ts +3 -3
  121. package/dist/dts/components/text/text.options.d.ts +35 -0
  122. package/dist/dts/components/text/text.options.d.ts.map +1 -0
  123. package/dist/dts/components/text-input/index.d.ts +1 -1
  124. package/dist/dts/components/text-input/index.d.ts.map +1 -1
  125. package/dist/dts/components/text-input/text-input.base.d.ts +3 -3
  126. package/dist/dts/components/text-input/text-input.base.d.ts.map +1 -1
  127. package/dist/dts/components/text-input/text-input.d.ts.map +1 -1
  128. package/dist/dts/components/text-input/text-input.styles.d.ts.map +1 -1
  129. package/dist/dts/components/text-input/text-input.template.d.ts +1 -2
  130. package/dist/dts/components/text-input/text-input.template.d.ts.map +1 -1
  131. package/dist/dts/components/textarea/index.d.ts +5 -3
  132. package/dist/dts/components/textarea/index.d.ts.map +1 -1
  133. package/dist/dts/components/textarea/textarea.options.d.ts +39 -0
  134. package/dist/dts/components/textarea/textarea.options.d.ts.map +1 -0
  135. package/dist/dts/components/tooltip/tooltip.d.ts +27 -0
  136. package/dist/dts/components/tooltip/tooltip.d.ts.map +1 -1
  137. package/dist/dts/components/tooltip/tooltip.template.d.ts +13 -0
  138. package/dist/dts/components/tooltip/tooltip.template.d.ts.map +1 -0
  139. package/dist/dts/components/tree/tree.d.ts +16 -0
  140. package/dist/dts/components/tree/tree.d.ts.map +1 -1
  141. package/dist/dts/components/tree-item/index.d.ts +2 -1
  142. package/dist/dts/components/tree-item/index.d.ts.map +1 -1
  143. package/dist/dts/components/tree-item/tree-item.definition.d.ts.map +1 -1
  144. package/dist/dts/components/tree-item/tree-item.styles.d.ts +2 -0
  145. package/dist/dts/components/tree-item/tree-item.styles.d.ts.map +1 -0
  146. package/dist/dts/components/tree-item/tree-item.template.d.ts +4 -0
  147. package/dist/dts/components/tree-item/tree-item.template.d.ts.map +1 -0
  148. package/dist/dts/components/wizard/index.d.ts +1 -1
  149. package/dist/dts/components/wizard/index.d.ts.map +1 -1
  150. package/dist/dts/components/wizard/wizard.d.ts +1 -1
  151. package/dist/dts/components/wizard/wizard.d.ts.map +1 -1
  152. package/dist/dts/components/wizard/wizard.template.d.ts +1 -1
  153. package/dist/dts/components/wizard/wizard.template.d.ts.map +1 -1
  154. package/dist/dts/components/wizard-panel/wizard-panel.template.d.ts +1 -1
  155. package/dist/dts/components/wizard-panel/wizard-panel.template.d.ts.map +1 -1
  156. package/dist/dts/components/wizard-step/index.d.ts +1 -1
  157. package/dist/dts/components/wizard-step/index.d.ts.map +1 -1
  158. package/dist/dts/components/wizard-step/wizard-step.d.ts +1 -1
  159. package/dist/dts/components/wizard-step/wizard-step.d.ts.map +1 -1
  160. package/dist/dts/components/wizard-step/wizard-step.styles.d.ts.map +1 -1
  161. package/dist/dts/components/wizard-step/wizard-step.template.d.ts +1 -1
  162. package/dist/dts/components/wizard-step/wizard-step.template.d.ts.map +1 -1
  163. package/dist/dts/index.d.ts +20 -13
  164. package/dist/dts/index.d.ts.map +1 -1
  165. package/dist/dts/util/accessibility-utilities.d.ts +23 -0
  166. package/dist/dts/util/accessibility-utilities.d.ts.map +1 -0
  167. package/dist/dts/util/attribute-utilities.d.ts +9 -0
  168. package/dist/dts/util/attribute-utilities.d.ts.map +1 -0
  169. package/dist/dts/util/debounce.d.ts.map +1 -0
  170. package/dist/dts/util/debug.d.ts +32 -0
  171. package/dist/dts/util/debug.d.ts.map +1 -0
  172. package/dist/dts/util/direction.d.ts +193 -0
  173. package/dist/dts/util/direction.d.ts.map +1 -1
  174. package/dist/dts/util/dom.d.ts +2 -0
  175. package/dist/dts/util/dom.d.ts.map +1 -0
  176. package/dist/dts/util/element-internal-mocks.d.ts +67 -0
  177. package/dist/dts/util/element-internal-mocks.d.ts.map +1 -0
  178. package/dist/dts/util/focus-management.d.ts +132 -0
  179. package/dist/dts/util/focus-management.d.ts.map +1 -0
  180. package/dist/dts/util/hash-utilities.d.ts +8 -0
  181. package/dist/dts/util/hash-utilities.d.ts.map +1 -0
  182. package/dist/dts/util/index.d.ts +13 -6
  183. package/dist/dts/util/index.d.ts.map +1 -1
  184. package/dist/dts/util/positioning/flexible-position-strategy.d.ts +87 -0
  185. package/dist/dts/util/positioning/flexible-position-strategy.d.ts.map +1 -0
  186. package/dist/dts/util/positioning/index.d.ts +9 -0
  187. package/dist/dts/util/positioning/index.d.ts.map +1 -0
  188. package/dist/dts/util/positioning/position-calculator.d.ts +46 -0
  189. package/dist/dts/util/positioning/position-calculator.d.ts.map +1 -0
  190. package/dist/dts/util/positioning/types.d.ts +181 -0
  191. package/dist/dts/util/positioning/types.d.ts.map +1 -0
  192. package/dist/dts/util/template-helpers.d.ts +2 -1
  193. package/dist/dts/util/template-helpers.d.ts.map +1 -1
  194. package/dist/esm/components/accordion-menu/accordion-menu.js +1 -1
  195. package/dist/esm/components/accordion-menu/accordion-menu.js.map +1 -1
  196. package/dist/esm/components/accordion-menu/accordion-menu.styles.js +1 -1
  197. package/dist/esm/components/accordion-menu/accordion-menu.template.js.map +1 -1
  198. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.js +3 -2
  199. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.js.map +1 -1
  200. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js +3 -2
  201. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js.map +1 -1
  202. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.template.js.map +1 -1
  203. package/dist/esm/components/button/button.js.map +1 -1
  204. package/dist/esm/components/card/card.js.map +1 -1
  205. package/dist/esm/components/card/card.styles.js +1 -1
  206. package/dist/esm/components/card/card.template.js.map +1 -1
  207. package/dist/esm/components/card-footer/card-footer.styles.js +1 -1
  208. package/dist/esm/components/card-footer/card-footer.template.js.map +1 -1
  209. package/dist/esm/components/card-header/card-header.styles.js +1 -1
  210. package/dist/esm/components/card-header/card-header.template.js.map +1 -1
  211. package/dist/esm/components/card-preview/card-preview.styles.js +1 -1
  212. package/dist/esm/components/card-preview/card-preview.template.js.map +1 -1
  213. package/dist/esm/components/carousel/carousel.js +1 -1
  214. package/dist/esm/components/carousel/carousel.js.map +1 -1
  215. package/dist/esm/components/carousel/carousel.styles.js +1 -1
  216. package/dist/esm/components/carousel/carousel.template.js.map +1 -1
  217. package/dist/esm/components/component-register.js +67 -0
  218. package/dist/esm/components/component-register.js.map +1 -0
  219. package/dist/esm/components/compound-button/compound-button.js.map +1 -1
  220. package/dist/esm/components/compound-button/compound-button.options.js +1 -1
  221. package/dist/esm/components/counter-badge/counter-badge.definition.js.map +1 -1
  222. package/dist/esm/components/counter-badge/counter-badge.options.js +32 -0
  223. package/dist/esm/components/counter-badge/counter-badge.options.js.map +1 -0
  224. package/dist/esm/components/counter-badge/define.js +2 -2
  225. package/dist/esm/components/counter-badge/define.js.map +1 -1
  226. package/dist/esm/components/counter-badge/index.js +3 -3
  227. package/dist/esm/components/counter-badge/index.js.map +1 -1
  228. package/dist/esm/components/field/field.js +68 -1
  229. package/dist/esm/components/field/field.js.map +1 -1
  230. package/dist/esm/components/filter-pill/filter-pill.js +1 -1
  231. package/dist/esm/components/filter-pill/filter-pill.js.map +1 -1
  232. package/dist/esm/components/filter-pill/filter-pill.options.js +1 -1
  233. package/dist/esm/components/filter-pill/filter-pill.styles.js +5 -3
  234. package/dist/esm/components/filter-pill/filter-pill.styles.js.map +1 -1
  235. package/dist/esm/components/filter-pill/filter-pill.template.js.map +1 -1
  236. package/dist/esm/components/listbox/listbox.js +1 -1
  237. package/dist/esm/components/listbox/listbox.js.map +1 -1
  238. package/dist/esm/components/loading-button/loading-button.js.map +1 -1
  239. package/dist/esm/components/loading-button/loading-button.template.js +3 -5
  240. package/dist/esm/components/loading-button/loading-button.template.js.map +1 -1
  241. package/dist/esm/components/menu/menu.js +159 -230
  242. package/dist/esm/components/menu/menu.js.map +1 -1
  243. package/dist/esm/components/menu/menu.options.js +1 -1
  244. package/dist/esm/components/menu/menu.options.js.map +1 -1
  245. package/dist/esm/components/menu/menu.positioning.js +98 -201
  246. package/dist/esm/components/menu/menu.positioning.js.map +1 -1
  247. package/dist/esm/components/menu/menu.styles.js +2 -2
  248. package/dist/esm/components/menu/menu.styles.js.map +1 -1
  249. package/dist/esm/components/menu/menu.template.js.map +1 -1
  250. package/dist/esm/components/menu-item/menu-item.js +4 -4
  251. package/dist/esm/components/menu-item/menu-item.js.map +1 -1
  252. package/dist/esm/components/menu-item/menu-item.styles.js +4 -3
  253. package/dist/esm/components/menu-item/menu-item.styles.js.map +1 -1
  254. package/dist/esm/components/menu-item/menu-item.template.js +1 -0
  255. package/dist/esm/components/menu-item/menu-item.template.js.map +1 -1
  256. package/dist/esm/components/menu-list/menu-list.js +1 -1
  257. package/dist/esm/components/menu-list/menu-list.js.map +1 -1
  258. package/dist/esm/components/menu-list/menu-list.styles.js +1 -1
  259. package/dist/esm/components/multi-view/multi-view.styles.js +1 -1
  260. package/dist/esm/components/multi-view/multi-view.template.js +1 -0
  261. package/dist/esm/components/multi-view/multi-view.template.js.map +1 -1
  262. package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js +3 -2
  263. package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js.map +1 -1
  264. package/dist/esm/components/multi-view-controller/multi-view-controller.template.js.map +1 -1
  265. package/dist/esm/components/multi-view-group/multi-view-group.js +1 -0
  266. package/dist/esm/components/multi-view-group/multi-view-group.js.map +1 -1
  267. package/dist/esm/components/multi-view-group/multi-view-group.styles.js +1 -1
  268. package/dist/esm/components/multi-view-group/multi-view-group.template.js.map +1 -1
  269. package/dist/esm/components/option-group/option-group.js +1 -1
  270. package/dist/esm/components/option-group/option-group.js.map +1 -1
  271. package/dist/esm/components/option-group/option-group.template.js.map +1 -1
  272. package/dist/esm/components/popover/define.js +2 -2
  273. package/dist/esm/components/popover/define.js.map +1 -1
  274. package/dist/esm/components/popover/index.js +1 -1
  275. package/dist/esm/components/popover/index.js.map +1 -1
  276. package/dist/esm/components/popover/popover.definition.js.map +1 -1
  277. package/dist/esm/components/popover/popover.js +88 -127
  278. package/dist/esm/components/popover/popover.js.map +1 -1
  279. package/dist/esm/components/popover/popover.options.js +13 -10
  280. package/dist/esm/components/popover/popover.options.js.map +1 -1
  281. package/dist/esm/components/popover/popover.positioning.js +314 -0
  282. package/dist/esm/components/popover/popover.positioning.js.map +1 -0
  283. package/dist/esm/components/popover/popover.styles.js +26 -4
  284. package/dist/esm/components/popover/popover.styles.js.map +1 -1
  285. package/dist/esm/components/popover/popover.template.js +1 -2
  286. package/dist/esm/components/popover/popover.template.js.map +1 -1
  287. package/dist/esm/components/search-box/index.js +1 -1
  288. package/dist/esm/components/search-box/index.js.map +1 -1
  289. package/dist/esm/components/search-box/search-box.js +1 -1
  290. package/dist/esm/components/search-box/search-box.js.map +1 -1
  291. package/dist/esm/components/search-box/search-box.options.js +8 -2
  292. package/dist/esm/components/search-box/search-box.options.js.map +1 -1
  293. package/dist/esm/components/search-box/search-box.styles.js +3 -2
  294. package/dist/esm/components/search-box/search-box.styles.js.map +1 -1
  295. package/dist/esm/components/search-box/search-box.template.js.map +1 -1
  296. package/dist/esm/components/simple-table/simple-table.styles.js +2 -1
  297. package/dist/esm/components/svg-icon/scripts/sprite-builder.js.map +1 -1
  298. package/dist/esm/components/svg-icon/svg-icon.js.map +1 -1
  299. package/dist/esm/components/svg-icon/svg-icon.styles.js +3 -2
  300. package/dist/esm/components/svg-icon/svg-icon.styles.js.map +1 -1
  301. package/dist/esm/components/svg-icon/svg-icon.template.js +1 -0
  302. package/dist/esm/components/svg-icon/svg-icon.template.js.map +1 -1
  303. package/dist/esm/components/table/index.js +5 -5
  304. package/dist/esm/components/table/index.js.map +1 -1
  305. package/dist/esm/components/table/table.js +1 -1
  306. package/dist/esm/components/table/table.js.map +1 -1
  307. package/dist/esm/components/table/table.options.js +2 -2
  308. package/dist/esm/components/table/table.options.js.map +1 -1
  309. package/dist/esm/components/table/table.styles.js +3 -2
  310. package/dist/esm/components/table/table.styles.js.map +1 -1
  311. package/dist/esm/components/table/table.template.js +3 -3
  312. package/dist/esm/components/table/table.template.js.map +1 -1
  313. package/dist/esm/components/table-cell/index.js +5 -5
  314. package/dist/esm/components/table-cell/index.js.map +1 -1
  315. package/dist/esm/components/table-cell/table-cell.options.js +2 -2
  316. package/dist/esm/components/table-cell/table-cell.options.js.map +1 -1
  317. package/dist/esm/components/table-cell/table-cell.styles.js +2 -2
  318. package/dist/esm/components/table-cell/table-cell.styles.js.map +1 -1
  319. package/dist/esm/components/table-cell/table-cell.template.js.map +1 -1
  320. package/dist/esm/components/tag/tag.js.map +1 -1
  321. package/dist/esm/components/tag/tag.styles.js +3 -2
  322. package/dist/esm/components/tag/tag.styles.js.map +1 -1
  323. package/dist/esm/components/tag/tag.template.js.map +1 -1
  324. package/dist/esm/components/teaching-bubble/index.js +2 -0
  325. package/dist/esm/components/teaching-bubble/index.js.map +1 -1
  326. package/dist/esm/components/teaching-bubble/teaching-bubble.js +7 -22
  327. package/dist/esm/components/teaching-bubble/teaching-bubble.js.map +1 -1
  328. package/dist/esm/components/teaching-bubble/teaching-bubble.styles.js +3 -2
  329. package/dist/esm/components/teaching-bubble/teaching-bubble.styles.js.map +1 -1
  330. package/dist/esm/components/teaching-bubble/teaching-bubble.template.js +1 -0
  331. package/dist/esm/components/teaching-bubble/teaching-bubble.template.js.map +1 -1
  332. package/dist/esm/components/text/define.js +2 -2
  333. package/dist/esm/components/text/define.js.map +1 -1
  334. package/dist/esm/components/text/index.js +3 -3
  335. package/dist/esm/components/text/index.js.map +1 -1
  336. package/dist/esm/components/text/text.definition.js.map +1 -1
  337. package/dist/esm/components/text/text.js +3 -3
  338. package/dist/esm/components/text/text.options.js +16 -0
  339. package/dist/esm/components/text/text.options.js.map +1 -0
  340. package/dist/esm/components/text-input/index.js +1 -1
  341. package/dist/esm/components/text-input/index.js.map +1 -1
  342. package/dist/esm/components/text-input/text-input.base.js +3 -3
  343. package/dist/esm/components/text-input/text-input.base.js.map +1 -1
  344. package/dist/esm/components/text-input/text-input.js +1 -0
  345. package/dist/esm/components/text-input/text-input.js.map +1 -1
  346. package/dist/esm/components/text-input/text-input.styles.js +3 -2
  347. package/dist/esm/components/text-input/text-input.styles.js.map +1 -1
  348. package/dist/esm/components/text-input/text-input.template.js +2 -3
  349. package/dist/esm/components/text-input/text-input.template.js.map +1 -1
  350. package/dist/esm/components/textarea/index.js +4 -3
  351. package/dist/esm/components/textarea/index.js.map +1 -1
  352. package/dist/esm/components/textarea/textarea.options.js +22 -0
  353. package/dist/esm/components/textarea/textarea.options.js.map +1 -0
  354. package/dist/esm/components/tooltip/tooltip.js +82 -1
  355. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  356. package/dist/esm/components/tooltip/tooltip.template.js +16 -0
  357. package/dist/esm/components/tooltip/tooltip.template.js.map +1 -0
  358. package/dist/esm/components/tree/tree.js +38 -1
  359. package/dist/esm/components/tree/tree.js.map +1 -1
  360. package/dist/esm/components/tree-item/index.js +2 -1
  361. package/dist/esm/components/tree-item/index.js.map +1 -1
  362. package/dist/esm/components/tree-item/tree-item.definition.js +4 -3
  363. package/dist/esm/components/tree-item/tree-item.definition.js.map +1 -1
  364. package/dist/esm/components/tree-item/tree-item.styles.js +9 -0
  365. package/dist/esm/components/tree-item/tree-item.styles.js.map +1 -0
  366. package/dist/esm/components/tree-item/tree-item.template.js +6 -0
  367. package/dist/esm/components/tree-item/tree-item.template.js.map +1 -0
  368. package/dist/esm/components/wizard/index.js.map +1 -1
  369. package/dist/esm/components/wizard/wizard.js +5 -3
  370. package/dist/esm/components/wizard/wizard.js.map +1 -1
  371. package/dist/esm/components/wizard/wizard.styles.js +1 -1
  372. package/dist/esm/components/wizard/wizard.template.js +2 -1
  373. package/dist/esm/components/wizard/wizard.template.js.map +1 -1
  374. package/dist/esm/components/wizard-panel/wizard-panel.styles.js +1 -1
  375. package/dist/esm/components/wizard-panel/wizard-panel.template.js +1 -0
  376. package/dist/esm/components/wizard-panel/wizard-panel.template.js.map +1 -1
  377. package/dist/esm/components/wizard-step/wizard-step.js +1 -1
  378. package/dist/esm/components/wizard-step/wizard-step.js.map +1 -1
  379. package/dist/esm/components/wizard-step/wizard-step.styles.js +3 -2
  380. package/dist/esm/components/wizard-step/wizard-step.styles.js.map +1 -1
  381. package/dist/esm/components/wizard-step/wizard-step.template.js +1 -0
  382. package/dist/esm/components/wizard-step/wizard-step.template.js.map +1 -1
  383. package/dist/esm/components/wizard-step/wizard-step.unit.component.js +1 -0
  384. package/dist/esm/components/wizard-step/wizard-step.unit.component.js.map +1 -1
  385. package/dist/esm/index.js +27 -12
  386. package/dist/esm/index.js.map +1 -1
  387. package/dist/esm/util/accessibility-utilities.js +40 -0
  388. package/dist/esm/util/accessibility-utilities.js.map +1 -0
  389. package/dist/esm/util/attribute-utilities.js +12 -0
  390. package/dist/esm/util/attribute-utilities.js.map +1 -0
  391. package/dist/esm/util/debounce.js.map +1 -0
  392. package/dist/esm/util/debug.js +74 -0
  393. package/dist/esm/util/debug.js.map +1 -0
  394. package/dist/esm/util/direction.js +240 -8
  395. package/dist/esm/util/direction.js.map +1 -1
  396. package/dist/esm/util/dom.js +3 -0
  397. package/dist/esm/util/dom.js.map +1 -0
  398. package/dist/esm/util/element-internal-mocks.js +114 -0
  399. package/dist/esm/util/element-internal-mocks.js.map +1 -0
  400. package/dist/esm/util/focus-management.js +247 -0
  401. package/dist/esm/util/focus-management.js.map +1 -0
  402. package/dist/esm/util/hash-utilities.js +12 -0
  403. package/dist/esm/util/hash-utilities.js.map +1 -0
  404. package/dist/esm/util/index.js +13 -6
  405. package/dist/esm/util/index.js.map +1 -1
  406. package/dist/esm/util/positioning/flexible-position-strategy.js +232 -0
  407. package/dist/esm/util/positioning/flexible-position-strategy.js.map +1 -0
  408. package/dist/esm/util/positioning/index.js +10 -0
  409. package/dist/esm/util/positioning/index.js.map +1 -0
  410. package/dist/esm/util/positioning/position-calculator.js +196 -0
  411. package/dist/esm/util/positioning/position-calculator.js.map +1 -0
  412. package/dist/esm/util/positioning/types.js +30 -0
  413. package/dist/esm/util/positioning/types.js.map +1 -0
  414. package/dist/esm/util/template-helpers.js.map +1 -1
  415. package/dist/index.d.ts +904 -270
  416. package/dist/index.d.ts.map +1 -1
  417. package/dist/index.js +15978 -14624
  418. package/dist/index.js.map +1 -1
  419. package/dist/index.min.js +137 -112
  420. package/dist/index.min.js.map +1 -1
  421. package/package.json +9 -11
  422. package/dist/component-utilities.js +0 -43
  423. package/dist/dts/components/popover/positioning.d.ts +0 -51
  424. package/dist/dts/components/popover/positioning.d.ts.map +0 -1
  425. package/dist/dts/util/positioning.d.ts +0 -129
  426. package/dist/dts/util/positioning.d.ts.map +0 -1
  427. package/dist/dts/utils/debounce.d.ts.map +0 -1
  428. package/dist/esm/component-utilities.js +0 -13
  429. package/dist/esm/components/popover/positioning.js +0 -189
  430. package/dist/esm/components/popover/positioning.js.map +0 -1
  431. package/dist/esm/util/positioning.js +0 -130
  432. package/dist/esm/util/positioning.js.map +0 -1
  433. package/dist/esm/utils/debounce.js.map +0 -1
  434. /package/dist/dts/{utils → util}/debounce.d.ts +0 -0
  435. /package/dist/esm/{utils → util}/debounce.js +0 -0
@@ -1,11 +1,18 @@
1
+ export * from "./accessibility-utilities.js";
2
+ export * from "./apply-mixins.js";
3
+ export * from "./attribute-utilities.js";
4
+ export * from "./debounce.js";
5
+ export * from "./debug.js";
1
6
  export * from "./descendants.js";
2
7
  export * from "./direction.js";
3
- export * from "./typings.js";
4
- export * from "./template-helpers.js";
5
- export * from "./match-media-stylesheet-behaviors.js";
8
+ export * from "./dom.js";
9
+ export * from "./element-internal-mocks.js";
6
10
  export * from "./element-internals.js";
7
- export * from "./apply-mixins.js";
8
- export * from "./whitespace-filter.js";
11
+ export * from "./focus-management.js";
12
+ export * from "./hash-utilities.js";
13
+ export * from "./match-media-stylesheet-behaviors.js";
9
14
  export * from "./support.js";
10
- export * from "./positioning.js";
15
+ export * from "./template-helpers.js";
16
+ export * from "./typings.js";
17
+ export * from "./whitespace-filter.js";
11
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uCAAuC,CAAC;AACtD,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,232 @@
1
+ import { getBoundaryBounds, getViewportBounds, getEffectiveBoundary, getOriginPoint, getOverlayPoint, getOverlayFit, applyPositionStyles } from './position-calculator.js';
2
+
3
+ /**
4
+ * Flexible position strategy - main positioning engine.
5
+ * Orchestrates position calculation, fallback selection, and style application.
6
+ * Inspired by Angular CDK's FlexibleConnectedPositionStrategy.
7
+ */
8
+ /**
9
+ * Flexible position strategy implementation.
10
+ * Main entry point for positioning overlays with fallback logic.
11
+ */
12
+ class FlexiblePositionStrategy {
13
+ constructor(config) {
14
+ var _a, _b, _c, _d;
15
+ this.origin = config.origin;
16
+ this.overlay = config.overlay;
17
+ this.positions = config.positions;
18
+ this.boundaryElement = (_a = config.boundaryElement) !== null && _a !== void 0 ? _a : null;
19
+ this.offsetParent = (_b = config.offsetParent) !== null && _b !== void 0 ? _b : null;
20
+ this.viewportMargin = (_c = config.viewportMargin) !== null && _c !== void 0 ? _c : 0;
21
+ this.resize = (_d = config.resize) !== null && _d !== void 0 ? _d : false;
22
+ this.resizeMinHeight = config.resizeMinHeight;
23
+ }
24
+ /**
25
+ * Get the effective boundary (custom boundary or viewport).
26
+ */
27
+ getBoundary() {
28
+ const rawBoundary = this.boundaryElement ? getBoundaryBounds(this.boundaryElement) : getViewportBounds();
29
+ return getEffectiveBoundary(rawBoundary, this.viewportMargin);
30
+ }
31
+ /**
32
+ * Returns the configured candidate positions.
33
+ */
34
+ getCandidates() {
35
+ return [...this.positions];
36
+ }
37
+ /**
38
+ * Evaluate a single position against the current boundary.
39
+ * Returns the computed PositionResult without applying any styles.
40
+ */
41
+ evaluatePosition(position) {
42
+ const originRect = this.origin.getBoundingClientRect();
43
+ const overlayRect = this.overlay.getBoundingClientRect();
44
+ const boundary = this.getBoundary();
45
+ const originPoint = getOriginPoint(originRect, position);
46
+ const overlayPoint = getOverlayPoint(originPoint, overlayRect, position);
47
+ const fit = getOverlayFit(overlayPoint, overlayRect, boundary);
48
+ return {
49
+ position,
50
+ originPoint,
51
+ overlayPoint,
52
+ fit
53
+ };
54
+ }
55
+ /**
56
+ * Selects the best position from the candidates list.
57
+ *
58
+ * 1. First candidate that fits completely wins immediately.
59
+ * 2. If nothing fits and resize is enabled, picks the one with most
60
+ * available space (best candidate for resize).
61
+ * 3. Otherwise picks the position with the most visible area.
62
+ */
63
+ selectBestPosition() {
64
+ const candidates = this.getCandidates();
65
+ let bestResult = this.evaluatePosition(candidates[0]);
66
+ let bestArea = bestResult.fit.visibleArea;
67
+ if (bestResult.fit.isCompletelyWithinViewport) {
68
+ return bestResult;
69
+ }
70
+ for (let i = 1; i < candidates.length; i++) {
71
+ const result = this.evaluatePosition(candidates[i]);
72
+ if (result.fit.isCompletelyWithinViewport) {
73
+ return result;
74
+ }
75
+ if (result.fit.visibleArea > bestArea) {
76
+ bestResult = result;
77
+ bestArea = result.fit.visibleArea;
78
+ }
79
+ }
80
+ // Nothing fits. If resize is enabled, prefer the candidate with most room.
81
+ if (this.resize && candidates.length > 1) {
82
+ let bestSpace = this.getAvailableSpace(candidates[0]);
83
+ let bestSpaceCandidate = candidates[0];
84
+ for (let i = 1; i < candidates.length; i++) {
85
+ const space = this.getAvailableSpace(candidates[i]);
86
+ if (space > bestSpace) {
87
+ bestSpace = space;
88
+ bestSpaceCandidate = candidates[i];
89
+ }
90
+ }
91
+ if (bestSpaceCandidate !== bestResult.position) {
92
+ return this.evaluatePosition(bestSpaceCandidate);
93
+ }
94
+ }
95
+ return bestResult;
96
+ }
97
+ /**
98
+ * Apply position result to the overlay element.
99
+ */
100
+ applyPositionResult(result) {
101
+ applyPositionStyles(this.overlay, result.overlayPoint, result.position, this.offsetParent);
102
+ }
103
+ /**
104
+ * Get the available space for the overlay in a given position.
105
+ * Measures the distance from the anchor edge to the boundary edge in the
106
+ * relevant direction based on the position's connection points.
107
+ *
108
+ * @param position - The connected position to measure space for.
109
+ * @returns Available space in pixels.
110
+ */
111
+ getAvailableSpace(position) {
112
+ var _a;
113
+ const originRect = this.origin.getBoundingClientRect();
114
+ const boundary = this.getBoundary();
115
+ // Determine direction based on the connection points.
116
+ // "above" style: overlayY === bottom, originY === top → space above anchor
117
+ // "below" style: overlayY === top, originY === bottom → space below anchor
118
+ if (position.overlayY === "bottom" && position.originY === "top") {
119
+ // Overlay sits above the anchor
120
+ return Math.max(0, originRect.top - boundary.top);
121
+ }
122
+ if (position.overlayY === "top" && position.originY === "bottom") {
123
+ // Overlay sits below the anchor
124
+ return Math.max(0, boundary.bottom - originRect.bottom);
125
+ }
126
+ // Horizontal cases (start/end)
127
+ if (position.overlayX === "end" && position.originX === "start") {
128
+ return Math.max(0, originRect.left - boundary.left);
129
+ }
130
+ if (position.overlayX === "start" && position.originX === "end") {
131
+ return Math.max(0, boundary.right - originRect.right);
132
+ }
133
+ // Fallback: return full boundary height
134
+ return Math.max(0, ((_a = boundary.height) !== null && _a !== void 0 ? _a : boundary.bottom - boundary.top) || 0);
135
+ }
136
+ /**
137
+ * Applies a resize constraint to the overlay element if it
138
+ * does not fit in the available space for the given position.
139
+ *
140
+ * @param position - The connected position to measure available space for.
141
+ * @returns Whether a constraint was applied and the max-height value.
142
+ */
143
+ tryResize(position) {
144
+ if (!this.resize) {
145
+ return {
146
+ resized: false,
147
+ maxHeight: null
148
+ };
149
+ }
150
+ const overlayHeight = this.overlay.getBoundingClientRect().height;
151
+ const available = this.getAvailableSpace(position);
152
+ if (overlayHeight <= available) {
153
+ return {
154
+ resized: false,
155
+ maxHeight: null
156
+ };
157
+ }
158
+ if (this.resizeMinHeight !== undefined && available < this.resizeMinHeight) {
159
+ return {
160
+ resized: false,
161
+ maxHeight: null
162
+ };
163
+ }
164
+ this.overlay.style.maxHeight = `${available}px`;
165
+ this.overlay.style.overflow = "auto";
166
+ return {
167
+ resized: true,
168
+ maxHeight: available
169
+ };
170
+ }
171
+ /**
172
+ * High-level reposition entry point.
173
+ *
174
+ * 1. Clears any previous resize constraint so the overlay is evaluated
175
+ * at its natural size.
176
+ * 2. Selects the best position from the positions array.
177
+ * 3. Applies a resize constraint if the overlay still overflows.
178
+ * 4. Applies the final position.
179
+ *
180
+ * The component controls flip vs auto behavior by choosing which
181
+ * positions to provide:
182
+ * - Flip: `[original, opposite]`
183
+ * - Auto: `[original, ...allOtherCandidates]`
184
+ *
185
+ * @returns A {@link RepositionResult} describing what happened, or `null`
186
+ * if no positions or resize are provided.
187
+ */
188
+ reposition() {
189
+ const candidates = this.getCandidates();
190
+ if (candidates.length === 0 && !this.resize) {
191
+ return null;
192
+ }
193
+ // Clear any previous resize constraint to evaluate natural size
194
+ this.clearResize();
195
+ // Step 1: Select the best position (evaluated at natural overlay size)
196
+ let positionResult = this.selectBestPosition();
197
+ // Step 2: Apply resize constraint if enabled
198
+ let resized = false;
199
+ let maxHeight = null;
200
+ if (this.resize) {
201
+ ({
202
+ resized,
203
+ maxHeight
204
+ } = this.tryResize(positionResult.position));
205
+ if (resized) {
206
+ // Re-evaluate the overlay point now that the element has been resized.
207
+ // The post-resize dimensions are smaller, so any position that depends
208
+ // on overlay height (e.g. "above" where overlayY === "bottom") would
209
+ // produce a stale — and incorrect — overlayPoint if we skipped this.
210
+ positionResult = this.evaluatePosition(positionResult.position);
211
+ }
212
+ }
213
+ // Step 3: Apply the selected position
214
+ this.applyPositionResult(positionResult);
215
+ return {
216
+ resized,
217
+ maxHeight,
218
+ positionResult
219
+ };
220
+ }
221
+ /**
222
+ * Clear any resize constraint applied to the overlay element.
223
+ */
224
+ clearResize() {
225
+ if (this.resize) {
226
+ this.overlay.style.maxHeight = "";
227
+ this.overlay.style.overflow = "";
228
+ }
229
+ }
230
+ }
231
+
232
+ export { FlexiblePositionStrategy };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flexible-position-strategy.js","sourceRoot":"","sources":["../../../../../../../src/util/positioning/flexible-position-strategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IAUnC,YAAY,MAAsC;;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,MAAA,MAAM,CAAC,eAAe,mCAAI,IAAI,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,MAAA,MAAM,CAAC,YAAY,mCAAI,IAAI,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAChD,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe;YACtC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;YACzC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACxB,OAAO,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,QAA2B;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;QAE1C,IAAI,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;YAC9C,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAI,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,QAAQ,EAAE,CAAC;gBACtC,UAAU,GAAG,MAAM,CAAC;gBACpB,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YACpC,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,IAAI,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;oBACtB,SAAS,GAAG,KAAK,CAAC;oBAClB,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,IAAI,kBAAkB,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAsB;QAChD,mBAAmB,CACjB,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,QAA2B;;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,sDAAsD;QACtD,2EAA2E;QAC3E,2EAA2E;QAC3E,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACjE,gCAAgC;YAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjE,gCAAgC;YAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,wCAAwC;QACxC,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,EACD,CAAC,MAAA,QAAQ,CAAC,MAAM,mCAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CACzD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,QAA2B;QAI3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,IACE,IAAI,CAAC,eAAe,KAAK,SAAS;YAClC,SAAS,GAAG,IAAI,CAAC,eAAe,EAChC,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,SAAS,IAAI,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;QACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,uEAAuE;QACvE,IAAI,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE/C,6CAA6C;QAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEnE,IAAI,OAAO,EAAE,CAAC;gBACZ,uEAAuE;gBACvE,uEAAuE;gBACvE,qEAAqE;gBACrE,qEAAqE;gBACrE,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAEzC,OAAO;YACL,OAAO;YACP,SAAS;YACT,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Positioning utilities - Angular CDK-inspired positioning engine.
3
+ * @packageDocumentation
4
+ */
5
+ export { HorizontalConnectionPositions, VerticalConnectionPositions, CollisionEdges, RepositionModes, DEFAULT_ROOT_MARGIN } from "./types.js";
6
+ // Position Calculator
7
+ export { getViewportBounds, getBoundaryBounds, getEffectiveBoundary, getOriginPoint, getOverlayPoint, getOverlayFit, applyPositionStyles } from "./position-calculator.js";
8
+ // Flexible Position Strategy
9
+ export { FlexiblePositionStrategy } from "./flexible-position-strategy.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/util/positioning/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Position calculation utilities inspired by Angular CDK's FlexibleConnectedPositionStrategy.
3
+ * Provides coordinate-based positioning calculations for overlays/popovers.
4
+ */
5
+ /**
6
+ * Get the bounding rectangle for the viewport.
7
+ */
8
+ function getViewportBounds() {
9
+ return {
10
+ top: 0,
11
+ left: 0,
12
+ bottom: window.innerHeight,
13
+ right: window.innerWidth,
14
+ width: window.innerWidth,
15
+ height: window.innerHeight
16
+ };
17
+ }
18
+ /**
19
+ * Get the bounding rectangle for a custom boundary element.
20
+ */
21
+ function getBoundaryBounds(element) {
22
+ const rect = element.getBoundingClientRect();
23
+ return {
24
+ top: rect.top,
25
+ left: rect.left,
26
+ bottom: rect.bottom,
27
+ right: rect.right,
28
+ width: rect.width,
29
+ height: rect.height
30
+ };
31
+ }
32
+ /**
33
+ * Get the effective boundary, accounting for viewport margin.
34
+ */
35
+ function getEffectiveBoundary(boundary, viewportMargin = 0) {
36
+ var _a, _b, _c, _d, _e, _f, _g, _h;
37
+ if (typeof viewportMargin === "number") {
38
+ return {
39
+ top: boundary.top + viewportMargin,
40
+ left: boundary.left + viewportMargin,
41
+ bottom: boundary.bottom - viewportMargin,
42
+ right: boundary.right - viewportMargin,
43
+ width: boundary.width ? boundary.width - viewportMargin * 2 : undefined,
44
+ height: boundary.height ? boundary.height - viewportMargin * 2 : undefined
45
+ };
46
+ }
47
+ return {
48
+ top: boundary.top + ((_a = viewportMargin.top) !== null && _a !== void 0 ? _a : 0),
49
+ left: boundary.left + ((_b = viewportMargin.left) !== null && _b !== void 0 ? _b : 0),
50
+ bottom: boundary.bottom - ((_c = viewportMargin.bottom) !== null && _c !== void 0 ? _c : 0),
51
+ right: boundary.right - ((_d = viewportMargin.right) !== null && _d !== void 0 ? _d : 0),
52
+ width: boundary.width ? boundary.width - ((_e = viewportMargin.left) !== null && _e !== void 0 ? _e : 0) - ((_f = viewportMargin.right) !== null && _f !== void 0 ? _f : 0) : undefined,
53
+ height: boundary.height ? boundary.height - ((_g = viewportMargin.top) !== null && _g !== void 0 ? _g : 0) - ((_h = viewportMargin.bottom) !== null && _h !== void 0 ? _h : 0) : undefined
54
+ };
55
+ }
56
+ /**
57
+ * Calculate the origin point (x, y) on the origin element based on connection position.
58
+ * This is the point on the anchor element where the overlay will connect.
59
+ */
60
+ function getOriginPoint(originRect, position) {
61
+ let x;
62
+ let y;
63
+ // Calculate X coordinate
64
+ if (position.originX === "center") {
65
+ x = originRect.left + originRect.width / 2;
66
+ } else if (position.originX === "start") {
67
+ x = originRect.left;
68
+ } else {
69
+ // 'end'
70
+ x = originRect.right;
71
+ }
72
+ // Calculate Y coordinate
73
+ if (position.originY === "center") {
74
+ y = originRect.top + originRect.height / 2;
75
+ } else if (position.originY === "top") {
76
+ y = originRect.top;
77
+ } else {
78
+ // 'bottom'
79
+ y = originRect.bottom;
80
+ }
81
+ return {
82
+ x,
83
+ y
84
+ };
85
+ }
86
+ /**
87
+ * Calculate the overlay point (x, y) - the top-left corner of the overlay
88
+ * when positioned relative to the origin point.
89
+ */
90
+ function getOverlayPoint(originPoint, overlayRect, position) {
91
+ var _a, _b;
92
+ let overlayStartX;
93
+ let overlayStartY;
94
+ // Calculate horizontal offset from origin point to overlay's desired position
95
+ if (position.overlayX === "center") {
96
+ overlayStartX = -overlayRect.width / 2;
97
+ } else if (position.overlayX === "start") {
98
+ overlayStartX = 0;
99
+ } else {
100
+ // 'end'
101
+ overlayStartX = -overlayRect.width;
102
+ }
103
+ // Calculate vertical offset from origin point to overlay's desired position
104
+ if (position.overlayY === "center") {
105
+ overlayStartY = -overlayRect.height / 2;
106
+ } else if (position.overlayY === "top") {
107
+ overlayStartY = 0;
108
+ } else {
109
+ // 'bottom'
110
+ overlayStartY = -overlayRect.height;
111
+ }
112
+ // Add any explicit offsets
113
+ const offsetX = (_a = position.offsetX) !== null && _a !== void 0 ? _a : 0;
114
+ const offsetY = (_b = position.offsetY) !== null && _b !== void 0 ? _b : 0;
115
+ return {
116
+ x: originPoint.x + overlayStartX + offsetX,
117
+ y: originPoint.y + overlayStartY + offsetY
118
+ };
119
+ }
120
+ /**
121
+ * Calculate how well the overlay fits within the boundary when positioned at the given point.
122
+ */
123
+ function getOverlayFit(overlayPoint, overlayRect, boundary) {
124
+ const overlayRight = overlayPoint.x + overlayRect.width;
125
+ const overlayBottom = overlayPoint.y + overlayRect.height;
126
+ const fitsLeft = overlayPoint.x >= boundary.left;
127
+ const fitsRight = overlayRight <= boundary.right;
128
+ const fitsTop = overlayPoint.y >= boundary.top;
129
+ const fitsBottom = overlayBottom <= boundary.bottom;
130
+ const fitsInViewportHorizontally = fitsLeft && fitsRight;
131
+ const fitsInViewportVertically = fitsTop && fitsBottom;
132
+ const isCompletelyWithinViewport = fitsInViewportHorizontally && fitsInViewportVertically;
133
+ // Calculate visible area (useful for fallback position scoring)
134
+ let visibleWidth = overlayRect.width;
135
+ let visibleHeight = overlayRect.height;
136
+ if (!fitsLeft) {
137
+ visibleWidth = Math.max(0, overlayRight - boundary.left);
138
+ } else if (!fitsRight) {
139
+ visibleWidth = Math.max(0, boundary.right - overlayPoint.x);
140
+ }
141
+ if (!fitsTop) {
142
+ visibleHeight = Math.max(0, overlayBottom - boundary.top);
143
+ } else if (!fitsBottom) {
144
+ visibleHeight = Math.max(0, boundary.bottom - overlayPoint.y);
145
+ }
146
+ const visibleArea = visibleWidth * visibleHeight;
147
+ return {
148
+ isCompletelyWithinViewport,
149
+ fitsInViewportHorizontally,
150
+ fitsInViewportVertically,
151
+ visibleArea
152
+ };
153
+ }
154
+ /**
155
+ * Apply position styles to the overlay element.
156
+ *
157
+ * By default the overlay is pinned via `top`/`left`. When the resolved
158
+ * {@link ConnectedPosition} attaches the overlay's bottom or end edge
159
+ * (`overlayY === "bottom"` or `overlayX === "end"`), the corresponding
160
+ * CSS edge is used instead so that any subsequent height/width constraint
161
+ * causes the overlay to shrink from the *unattached* edge rather than
162
+ * detaching from the anchor.
163
+ *
164
+ * When an offsetParent is provided, viewport coordinates are converted to
165
+ * positions relative to that element (for `position: absolute` children).
166
+ */
167
+ function applyPositionStyles(overlayElement, overlayPoint, position, offsetParent) {
168
+ const pinBottom = position.overlayY === "bottom";
169
+ const pinRight = position.overlayX === "end";
170
+ const parentRect = offsetParent === null || offsetParent === void 0 ? void 0 : offsetParent.getBoundingClientRect();
171
+ const overlayRect = pinBottom || pinRight ? overlayElement.getBoundingClientRect() : null;
172
+ // Horizontal positioning
173
+ if (pinRight && overlayRect) {
174
+ const containerRight = parentRect ? parentRect.right : window.innerWidth;
175
+ const right = containerRight - (overlayPoint.x + overlayRect.width);
176
+ overlayElement.style.right = `${Math.round(right)}px`;
177
+ overlayElement.style.left = "auto";
178
+ } else {
179
+ const x = parentRect ? overlayPoint.x - parentRect.left : overlayPoint.x;
180
+ overlayElement.style.left = `${Math.round(x)}px`;
181
+ overlayElement.style.right = "auto";
182
+ }
183
+ // Vertical positioning
184
+ if (pinBottom && overlayRect) {
185
+ const containerBottom = parentRect ? parentRect.bottom : window.innerHeight;
186
+ const bottom = containerBottom - (overlayPoint.y + overlayRect.height);
187
+ overlayElement.style.bottom = `${Math.round(bottom)}px`;
188
+ overlayElement.style.top = "auto";
189
+ } else {
190
+ const y = parentRect ? overlayPoint.y - parentRect.top : overlayPoint.y;
191
+ overlayElement.style.top = `${Math.round(y)}px`;
192
+ overlayElement.style.bottom = "auto";
193
+ }
194
+ }
195
+
196
+ export { applyPositionStyles, getBoundaryBounds, getEffectiveBoundary, getOriginPoint, getOverlayFit, getOverlayPoint, getViewportBounds };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-calculator.js","sourceRoot":"","sources":["../../../../../../../src/util/positioning/position-calculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Core types for Angular CDK-inspired positioning engine.
3
+ * Based on @angular/cdk/overlay positioning strategy.
4
+ */
5
+ /**
6
+ * Horizontal connection positions.
7
+ */
8
+ /**
9
+ * Reposition modes for positioned elements.
10
+ */
11
+ const RepositionModes = {
12
+ auto: "auto",
13
+ flip: "flip",
14
+ none: "none"
15
+ };
16
+ /**
17
+ * Default root margin for positioning calculations.
18
+ */
19
+ const DEFAULT_ROOT_MARGIN = 15;
20
+ /**
21
+ * Collision edges for boundary detection.
22
+ */
23
+ const CollisionEdges = {
24
+ top: "top",
25
+ right: "right",
26
+ bottom: "bottom",
27
+ left: "left"
28
+ };
29
+
30
+ export { CollisionEdges, DEFAULT_ROOT_MARGIN, RepositionModes };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../src/util/positioning/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACF,CAAC;AAMX;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC;AA2GX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAiDtC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"template-helpers.js","sourceRoot":"","sources":["../../../../../../src/util/template-helpers.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAGL,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAiBjC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAgD;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,uBAAuB,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"template-helpers.js","sourceRoot":"","sources":["../../../../../../src/util/template-helpers.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EACL,aAAa,EACb,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAkBjC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAgD;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,uBAAuB,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}