@aquera/nile-elements 1.6.7 → 1.6.9

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 (255) hide show
  1. package/README.md +12 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +1735 -495
  5. package/dist/internal/enum.cjs.js +1 -1
  6. package/dist/internal/enum.cjs.js.map +1 -1
  7. package/dist/internal/enum.esm.js +1 -1
  8. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  9. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  10. package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
  11. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  12. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  13. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  14. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  15. package/dist/nile-calendar/nile-calendar.css.esm.js +0 -3
  16. package/dist/nile-calendar/nile-calendar.esm.js +2 -2
  17. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  18. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  19. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  20. package/dist/nile-inline-sidebar/index.cjs.js +1 -1
  21. package/dist/nile-inline-sidebar/index.esm.js +1 -1
  22. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  23. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  24. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
  25. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
  26. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +76 -19
  27. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +42 -23
  28. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js +1 -1
  29. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js.map +1 -1
  30. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.esm.js +8 -9
  31. package/dist/nile-inline-sidebar-item/index.cjs.js +1 -1
  32. package/dist/nile-inline-sidebar-item/index.esm.js +1 -1
  33. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  34. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  35. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +1 -1
  36. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -1
  37. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +16 -18
  38. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +22 -4
  39. package/dist/nile-inline-sidebar-item-body/index.cjs.js +2 -0
  40. package/dist/nile-inline-sidebar-item-body/index.cjs.js.map +1 -0
  41. package/dist/nile-inline-sidebar-item-body/index.esm.js +1 -0
  42. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.cjs.js +2 -0
  43. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.cjs.js.map +1 -0
  44. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.cjs.js +2 -0
  45. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.cjs.js.map +1 -0
  46. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.esm.js +53 -0
  47. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.esm.js +13 -0
  48. package/dist/nile-inline-sidebar-item-header/index.cjs.js +2 -0
  49. package/dist/nile-inline-sidebar-item-header/index.cjs.js.map +1 -0
  50. package/dist/nile-inline-sidebar-item-header/index.esm.js +1 -0
  51. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.cjs.js +2 -0
  52. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.cjs.js.map +1 -0
  53. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js +2 -0
  54. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js.map +1 -0
  55. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.esm.js +27 -0
  56. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.esm.js +16 -0
  57. package/dist/nile-inline-sidebar-panel/index.cjs.js +2 -0
  58. package/dist/nile-inline-sidebar-panel/index.cjs.js.map +1 -0
  59. package/dist/nile-inline-sidebar-panel/index.esm.js +1 -0
  60. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.cjs.js +2 -0
  61. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.cjs.js.map +1 -0
  62. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.cjs.js +2 -0
  63. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.cjs.js.map +1 -0
  64. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.esm.js +19 -0
  65. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.esm.js +5 -0
  66. package/dist/nile-inline-sidebar-panel-group/index.cjs.js +2 -0
  67. package/dist/nile-inline-sidebar-panel-group/index.cjs.js.map +1 -0
  68. package/dist/nile-inline-sidebar-panel-group/index.esm.js +1 -0
  69. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.cjs.js +2 -0
  70. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.cjs.js.map +1 -0
  71. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.cjs.js +2 -0
  72. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.cjs.js.map +1 -0
  73. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.esm.js +30 -0
  74. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.esm.js +12 -0
  75. package/dist/nile-nav-tab/index.cjs.js +2 -0
  76. package/dist/nile-nav-tab/index.cjs.js.map +1 -0
  77. package/dist/nile-nav-tab/index.esm.js +1 -0
  78. package/dist/nile-nav-tab/nile-nav-tab.cjs.js +2 -0
  79. package/dist/nile-nav-tab/nile-nav-tab.cjs.js.map +1 -0
  80. package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js +2 -0
  81. package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js.map +1 -0
  82. package/dist/nile-nav-tab/nile-nav-tab.css.esm.js +190 -0
  83. package/dist/nile-nav-tab/nile-nav-tab.esm.js +36 -0
  84. package/dist/nile-nav-tab-group/index.cjs.js +2 -0
  85. package/dist/nile-nav-tab-group/index.cjs.js.map +1 -0
  86. package/dist/nile-nav-tab-group/index.esm.js +1 -0
  87. package/dist/nile-nav-tab-group/nile-nav-tab-group.cjs.js +4 -0
  88. package/dist/nile-nav-tab-group/nile-nav-tab-group.cjs.js.map +1 -0
  89. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js +2 -0
  90. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js.map +1 -0
  91. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.esm.js +668 -0
  92. package/dist/nile-nav-tab-group/nile-nav-tab-group.esm.js +61 -0
  93. package/dist/nile-nav-tab-panel/index.cjs.js +2 -0
  94. package/dist/nile-nav-tab-panel/index.cjs.js.map +1 -0
  95. package/dist/nile-nav-tab-panel/index.esm.js +1 -0
  96. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.cjs.js +2 -0
  97. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.cjs.js.map +1 -0
  98. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.cjs.js +2 -0
  99. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.cjs.js.map +1 -0
  100. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.esm.js +22 -0
  101. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.esm.js +8 -0
  102. package/dist/nile-stepper-item/nile-stepper-item.cjs.js +1 -1
  103. package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -1
  104. package/dist/nile-stepper-item/nile-stepper-item.esm.js +13 -13
  105. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js +1 -1
  106. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js.map +1 -1
  107. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.esm.js +1 -1
  108. package/dist/src/index.d.ts +7 -0
  109. package/dist/src/index.js +7 -0
  110. package/dist/src/index.js.map +1 -1
  111. package/dist/src/internal/enum.d.ts +6 -0
  112. package/dist/src/internal/enum.js +7 -0
  113. package/dist/src/internal/enum.js.map +1 -1
  114. package/dist/src/nile-auto-complete/nile-auto-complete.js +1 -1
  115. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  116. package/dist/src/nile-calendar/nile-calendar.css.js +0 -3
  117. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  118. package/dist/src/nile-calendar/nile-calendar.js +2 -2
  119. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  120. package/dist/src/nile-dropdown/nile-dropdown.d.ts +2 -0
  121. package/dist/src/nile-dropdown/nile-dropdown.js +21 -5
  122. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  123. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.d.ts +1 -0
  124. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +75 -17
  125. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
  126. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.d.ts +17 -1
  127. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +147 -18
  128. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
  129. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.d.ts +1 -0
  130. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js +7 -7
  131. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js.map +1 -1
  132. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.d.ts +1 -1
  133. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +15 -17
  134. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -1
  135. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +7 -1
  136. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +63 -4
  137. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
  138. package/dist/src/nile-inline-sidebar-item-body/index.d.ts +1 -0
  139. package/dist/src/nile-inline-sidebar-item-body/index.js +2 -0
  140. package/dist/src/nile-inline-sidebar-item-body/index.js.map +1 -0
  141. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.d.ts +9 -0
  142. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.js +62 -0
  143. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.js.map +1 -0
  144. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.d.ts +45 -0
  145. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.js +110 -0
  146. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.js.map +1 -0
  147. package/dist/src/nile-inline-sidebar-item-header/index.d.ts +1 -0
  148. package/dist/src/nile-inline-sidebar-item-header/index.js +2 -0
  149. package/dist/src/nile-inline-sidebar-item-header/index.js.map +1 -0
  150. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.d.ts +9 -0
  151. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js +36 -0
  152. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js.map +1 -0
  153. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.d.ts +34 -0
  154. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.js +68 -0
  155. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.js.map +1 -0
  156. package/dist/src/nile-inline-sidebar-panel/index.d.ts +1 -0
  157. package/dist/src/nile-inline-sidebar-panel/index.js +2 -0
  158. package/dist/src/nile-inline-sidebar-panel/index.js.map +1 -0
  159. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.d.ts +9 -0
  160. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.js +28 -0
  161. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.js.map +1 -0
  162. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.d.ts +35 -0
  163. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.js +55 -0
  164. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.js.map +1 -0
  165. package/dist/src/nile-inline-sidebar-panel-group/index.d.ts +1 -0
  166. package/dist/src/nile-inline-sidebar-panel-group/index.js +2 -0
  167. package/dist/src/nile-inline-sidebar-panel-group/index.js.map +1 -0
  168. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.d.ts +9 -0
  169. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.js +39 -0
  170. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.js.map +1 -0
  171. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.d.ts +43 -0
  172. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.js +93 -0
  173. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.js.map +1 -0
  174. package/dist/src/nile-nav-tab/index.d.ts +1 -0
  175. package/dist/src/nile-nav-tab/index.js +2 -0
  176. package/dist/src/nile-nav-tab/index.js.map +1 -0
  177. package/dist/src/nile-nav-tab/nile-nav-tab.css.d.ts +9 -0
  178. package/dist/src/nile-nav-tab/nile-nav-tab.css.js +199 -0
  179. package/dist/src/nile-nav-tab/nile-nav-tab.css.js.map +1 -0
  180. package/dist/src/nile-nav-tab/nile-nav-tab.d.ts +50 -0
  181. package/dist/src/nile-nav-tab/nile-nav-tab.js +190 -0
  182. package/dist/src/nile-nav-tab/nile-nav-tab.js.map +1 -0
  183. package/dist/src/nile-nav-tab/nile-nav-tab.test.d.ts +1 -0
  184. package/dist/src/nile-nav-tab/nile-nav-tab.test.js +656 -0
  185. package/dist/src/nile-nav-tab/nile-nav-tab.test.js.map +1 -0
  186. package/dist/src/nile-nav-tab-group/index.d.ts +1 -0
  187. package/dist/src/nile-nav-tab-group/index.js +2 -0
  188. package/dist/src/nile-nav-tab-group/index.js.map +1 -0
  189. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.d.ts +12 -0
  190. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js +680 -0
  191. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js.map +1 -0
  192. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.d.ts +119 -0
  193. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.js +765 -0
  194. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.js.map +1 -0
  195. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.d.ts +3 -0
  196. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.js +838 -0
  197. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.js.map +1 -0
  198. package/dist/src/nile-nav-tab-panel/index.d.ts +1 -0
  199. package/dist/src/nile-nav-tab-panel/index.js +2 -0
  200. package/dist/src/nile-nav-tab-panel/index.js.map +1 -0
  201. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.d.ts +15 -0
  202. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.js +37 -0
  203. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.js.map +1 -0
  204. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.d.ts +37 -0
  205. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.js +75 -0
  206. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.js.map +1 -0
  207. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.d.ts +1 -0
  208. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.js +534 -0
  209. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.js.map +1 -0
  210. package/dist/src/nile-stepper-item/nile-stepper-item.js +1 -1
  211. package/dist/src/nile-stepper-item/nile-stepper-item.js.map +1 -1
  212. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js +1 -1
  213. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js.map +1 -1
  214. package/dist/src/version.js +1 -1
  215. package/dist/src/version.js.map +1 -1
  216. package/dist/tsconfig.tsbuildinfo +1 -1
  217. package/package.json +7 -2
  218. package/src/index.ts +7 -0
  219. package/src/internal/enum.ts +8 -1
  220. package/src/nile-auto-complete/nile-auto-complete.ts +1 -1
  221. package/src/nile-calendar/nile-calendar.css.ts +0 -3
  222. package/src/nile-calendar/nile-calendar.ts +2 -2
  223. package/src/nile-dropdown/nile-dropdown.ts +23 -5
  224. package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +75 -17
  225. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +148 -18
  226. package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts +7 -7
  227. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +15 -17
  228. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +74 -9
  229. package/src/nile-inline-sidebar-item-body/index.ts +1 -0
  230. package/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.ts +64 -0
  231. package/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.ts +110 -0
  232. package/src/nile-inline-sidebar-item-header/index.ts +1 -0
  233. package/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.ts +38 -0
  234. package/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.ts +69 -0
  235. package/src/nile-inline-sidebar-panel/index.ts +1 -0
  236. package/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.ts +30 -0
  237. package/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.ts +53 -0
  238. package/src/nile-inline-sidebar-panel-group/index.ts +1 -0
  239. package/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.ts +41 -0
  240. package/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.ts +101 -0
  241. package/src/nile-nav-tab/index.ts +1 -0
  242. package/src/nile-nav-tab/nile-nav-tab.css.ts +201 -0
  243. package/src/nile-nav-tab/nile-nav-tab.test.ts +768 -0
  244. package/src/nile-nav-tab/nile-nav-tab.ts +198 -0
  245. package/src/nile-nav-tab-group/index.ts +1 -0
  246. package/src/nile-nav-tab-group/nile-nav-tab-group.css.ts +682 -0
  247. package/src/nile-nav-tab-group/nile-nav-tab-group.test.ts +1009 -0
  248. package/src/nile-nav-tab-group/nile-nav-tab-group.ts +845 -0
  249. package/src/nile-nav-tab-panel/index.ts +1 -0
  250. package/src/nile-nav-tab-panel/nile-nav-tab-panel.css.ts +39 -0
  251. package/src/nile-nav-tab-panel/nile-nav-tab-panel.test.ts +797 -0
  252. package/src/nile-nav-tab-panel/nile-nav-tab-panel.ts +78 -0
  253. package/src/nile-stepper-item/nile-stepper-item.ts +1 -1
  254. package/src/nile-vertical-stepper-item/nile-vertical-stepper-item.ts +1 -1
  255. package/vscode-html-custom-data.json +273 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-nav-tab-group.js","sourceRoot":"","sources":["../../../src/nile-nav-tab-group/nile-nav-tab-group.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAInD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,sCAAsC,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,WAAW;IAAzC;;QAeG,wBAAmB,GAAyC,IAAI,CAAC;QACjE,6BAAwB,GAAyC,IAAI,CAAC;QACtE,cAAS,GAAG,KAAK,CAAC;QAClB,iBAAY,GAAG,IAAI,GAAG,EAAc,CAAC;QACrC,SAAI,GAAiB,EAAE,CAAC;QACxB,WAAM,GAAsB,EAAE,CAAC;QAEvC,yHAAyH;QACxG,qBAAgB,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;gBAAE,OAAO;YAE9B,MAAM,GAAG,GAAG,CAAC,CAAC,MAA2B,CAAC;YAC1C,MAAM,KAAK,GAAG,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YAEzC,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,mGAAmG;YACnG,CAAC,CAAC,wBAAwB,EAAE,CAAC;YAC7B,CAAC,CAAC,eAAe,EAAE,CAAC;YAEpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,qGAAqG;QAC7F,4BAAuB,GAAG,KAAK,CAAC;QAExC,2FAA2F;QACnF,uBAAkB,GAAG,CAAC,CAAC;QAQ8B,sBAAiB,GAAG,KAAK,CAAC;QAEvF,iCAAiC;QACrB,cAAS,GAAuC,KAAK,CAAC;QAElE,sCAAsC;QACyB,kBAAa,GAAW,EAAE,CAAC;QAE1F,mDAAmD;QACgB,YAAO,GAAG,KAAK,CAAC;QAGnF,iEAAiE;QACH,qBAAgB,GAAG,KAAK,CAAC;QAEvF,+DAA+D;QACnB,aAAQ,GAAG,KAAK,CAAC;QAElB,YAAO,GAA2E,WAAW,CAAC;QAE9F,uBAAkB,GAAG,EAAE,CAAC;QAEN,cAAS,GAAG,KAAK,CAAC;QAEpC,UAAK,GAAG,EAAE,CAAC;QAEO,yBAAoB,GAAG,KAAK,CAAC;QAEjF,kBAAa,GAAW,EAAE,CAAC;IAqsBtC,CAAC;IAnsBC,IAAY,wBAAwB;QAClC,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC;IAC1D,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,IAAI,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9D,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;YACvD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAc,CAAC,CAAC,EAAE,CAAC;gBAC1F,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAClF,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,CAAC;gBAC9E,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7F,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,CAAC;YAED,uGAAuG;YACvG,qBAAqB,CAAC,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;gBAC3C,CAAC;gBAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAEpB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;oBACvC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/G,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBACvE,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;oBACpD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACpC,IAAI,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAES,OAAO,CAAC,kBAAqE;QACrF,IAAI,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE1D,IAAI,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YACzF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,IAAI,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC/C,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAGD,aAAa;QACX,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEhC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAiB;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CACnC,CAAC,EAAE,EAAoB,EAAE,CACvB,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,cAAc,CAC3E,CAAC;QAEF,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO;QAEnC,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ;YAAE,OAAO;QAEzD,MAAM,eAAe,GACrB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAuB,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAE1F,IAAI,eAAe;YAAE,OAAO;QAE5B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAEO,YAAY,CAAC,OAAO,GAAG,KAAK;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,sBAAsB,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACvC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,aAAa,CAAc,oBAAoB,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,sBAAsB,CAAC,CAAC;QACtF,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC;YAAE,OAAO;QAElE,MAAM,GAAG,GAAG,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QACpB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;QAErB,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,8BAA8B,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,cAAc,IAAI,iBAAiB,IAAI,eAAe,IAAI,kBAAkB,IAAI,EAAE,CAAC;YAC3G,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,UAAU,IAAI,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,GAAG,EAAE;gBACjB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;gBAC9D,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEO,cAAc,CAAC,KAAiB;QACtC,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAEvC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CACnC,CAAC,EAAE,EAAoB,EAAE,CACvB,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,cAAc,CAC3E,CAAC;QAEF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;YAAE,OAAO;QAEjE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO;QAEnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QAC/D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAC1C,CAAC;IAEO,sBAAsB,CAAC,GAAe;QAC5C,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,sBAAsB,CAAC,CAAC;QACtF,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,aAAa,CAAc,oBAAoB,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAE9C,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC;gBAC5D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC;gBAC7D,MAAM;YAER,KAAK,OAAO,CAAC;YACb,KAAK,KAAK;gBACR,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC;gBAC9D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,SAAS,CAAC,CAAC,IAAI,CAAC;gBAC7D,MAAM;QACV,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAC1C,CAAC;IAED,MAAM;QACJ,MAAM,QAAQ,GACZ,IAAI,CAAC,OAAO,KAAK,QAAQ;YACzB,IAAI,CAAC,OAAO,KAAK,gBAAgB;YACjC,IAAI,CAAC,OAAO,KAAK,QAAQ;YACzB,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC;QAEnC,MAAM,cAAc,GAClB,IAAI,CAAC,OAAO,KAAK,QAAQ;YACzB,IAAI,CAAC,OAAO,KAAK,gBAAgB;YACjC,IAAI,CAAC,OAAO,KAAK,eAAe;YAChC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;QAEhD,OAAO,IAAI,CAAA;;;gBAGC,QAAQ,CAAC;YACf,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;YAC9C,uBAAuB,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ;YACpD,sBAAsB,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO;YAClD,oBAAoB,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;YAC9C,oBAAoB,EAAE,IAAI;YAC1B,oCAAoC,EAAE,IAAI,CAAC,wBAAwB;YACnE,aAAa,EAAE,IAAI,CAAC,OAAO;SAC5B,CAAC;gBACM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;;;YAGtE,aAAa;YACb,CAAC,CAAC,IAAI,CAAA,qEAAqE;YAC3E,CAAC,CAAC,OAAO;YACT,IAAI,CAAC,wBAAwB;YAC7B,CAAC,CAAC,IAAI,CAAA;;;;;;;;2BAQS,IAAI,CAAC,iBAAiB;;eAElC;YACH,CAAC,CAAC,OAAO;;;;gBAIL,cAAc,CAAC,CAAC,CAAC,IAAI,CAAA;;;;0BAIX,QAAQ,CAAC;YACf,0BAA0B,EAAE,CAAC,IAAI,CAAC,OAAO;SAC1C,CAAC;;eAEL,CAAC,CAAC,CAAC,OAAO;;gBAET,CAAC,IAAI,CAAC,OAAO,IAAI,cAAc,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAA;;eAEpE,CAAC,CAAC,CAAC,OAAO;;gBAET,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA,gEAAgE,CAAC,CAAC,CAAC,OAAO;;;;6BAI5E,IAAI,CAAC,cAAc;8BAClB,IAAI,CAAC,mBAAmB;8BACxB,IAAI,CAAC,iBAAiB;;;;;YAKxC,IAAI,CAAC,wBAAwB;YAC7B,CAAC,CAAC,IAAI,CAAA;;;;;;;;2BAQS,IAAI,CAAC,mBAAmB;;eAEpC;YACH,CAAC,CAAC,OAAO;;;oEAG+C,IAAI,CAAC,iBAAiB;;KAErF,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,UAAwC,EAAE,eAAe,EAAE,IAAI,EAAE;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAkB,kBAAkB,CAAE,CAAC;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAC5C,CAAC,EAAE,EAAoB,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,cAAc,CACtE,CAAC;QACF,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC;IAEO,YAAY;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAC7C,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,oBAAoB,CACnC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACzB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CACjE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,yHAAyH;IACzH,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QACtB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB;YACpB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAChD,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CACnC,CAAC,EAAE,EAAoB,EAAE,CACvB,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,cAAc,CAC3E,CAAC;QAEF,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO;QAEzC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC;QAEzD,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YACzB,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC/B,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,IACL,CAAC,YAAY;YACX,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC;YACnF,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,EACtE,CAAC;YACD,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,IACL,CAAC,YAAY;YACX,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC;YACnF,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,EACxE,CAAC;YACD,KAAK,EAAE,CAAC;QACV,CAAC;QAED,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,IAAI,YAAY,EAAE,CAAC;YACjB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,GAAe,EAAE,OAAsE;QAC1G,OAAO,GAAG;YACR,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,MAAM;YACtB,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAElC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC3B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;oBAC3B,aAAa,EAAE,WAAW,EAAE,KAAK,IAAI,IAAI;oBACzC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;oBACxC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;gBACrC,IAAI,KAAK;oBAAE,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;gBAAE,SAAS;YAEjC,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC3C,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAGO,2BAA2B,CAAC,OAAoB,EAAE,QAAqB;QAC7E,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,EAAE,GAAuB,OAAO,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7B,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC;YACnB,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC;YAClB,EAAE,GAAG,EAAE,CAAC,YAAkC,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAEO,+BAA+B,CACrC,MAAmB,EACnB,SAAsB;QAEtB,MAAM,CAAC,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAElF,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnF,MAAM,YAAY,GAChB,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAC/D,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAChE,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO;wBACL,CAAC,EAAE,GAAG,CAAC,CAAC;wBACR,CAAC,EAAE,GAAG,CAAC,CAAC;wBACR,KAAK,EAAE,MAAM,CAAC,WAAW;wBACzB,MAAM,EAAE,MAAM,CAAC,YAAY;qBAC5B,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACnC,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;YAC7B,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;YAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;YAC/B,IAAI,EAAE,GAAG,CAAC;gBAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,GAAG,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO;YACL,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,OAAsC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,sBAAsB,CAAC,CAAC;QACtF,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,aAAa,CAAc,oBAAoB,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;QACxD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3C,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,cAAc,EAAE,CAAC;gBACnB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,IAAI,CAAC,SAAS;wBAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAEtB,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;gBACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC9C,MAAM;YAER,KAAK,OAAO,CAAC;YACb,KAAK,KAAK;gBACR,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC9C,MAAM;QACV,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,qBAAqB,CAAC,GAAG,EAAE;gBACzB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,IAAI,CAAC,SAAS;wBAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;QAEhC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAErC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;gBACrC,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjD,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;;AAjxBM,sBAAM,GAAmB,MAAM,AAAzB,CAA0B;AA2Cd;IAAxB,KAAK,CAAC,gBAAgB,CAAC;iDAAuB;AAChB;IAA9B,KAAK,CAAC,sBAAsB,CAAC;6CAAuB;AACvB;IAA7B,KAAK,CAAC,qBAAqB,CAAC;4CAAkB;AACX;IAAnC,KAAK,CAAC,2BAA2B,CAAC;kDAAwB;AACjB;IAAzC,KAAK,CAAC,iCAAiC,CAAC;uDAA6B;AAET;IAA5D,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;0DAA2B;AAG3E;IAAX,QAAQ,EAAE;kDAAuD;AAGH;IAA9D,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDAA4B;AAGvB;IAAlE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;gDAAiB;AAIrB;IAA7D,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDAA0B;AAG3C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAAkB;AAElB;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAA+F;AAE9F;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2DAAyB;AAEN;IAA5D,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;kDAAmB;AAEpC;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAY;AAEO;IAA5D,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;6DAA8B;AAEjF;IAAR,KAAK,EAAE;sDAA4B;AA4HpC;IADC,KAAK,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;oDAYlD;AAtNU,eAAe;IAD3B,aAAa,CAAC,oBAAoB,CAAC;GACvB,eAAe,CAoxB3B;;AAED,eAAe,eAAe,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { scrollIntoView } from '../internal/scroll';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValueMap } from 'lit';\nimport type NileNavTab from '../nile-nav-tab/nile-nav-tab';\nimport type NileNavTabPanel from '../nile-nav-tab-panel/nile-nav-tab-panel';\nimport { styles } from './nile-nav-tab-group.css';\nimport { MouseKey } from '../internal/enum';\nimport '../nile-icon-button/nile-icon-button';\n\n/**\n * Tab group navigation component.\n *\n * @tag nile-nav-tab-group\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<nile-nav-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<nile-nav-tab>` elements.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart toggle-frame - Toggle variant: absolutely positioned ring that draws the group chrome (tabs paint above it).\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<nile-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --show-indicator-on-hover - Whether to show the indicator on hover.\n *\n * @event nile-close - Bubbled from a closable `<nile-nav-tab>`; re-emitted so parents can listen on this element.\n */\n@customElement('nile-nav-tab-group')\nexport class NileNavTabGroup extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n /**\n * Selection model (for reviewers):\n * - `activeTabName` is the internal source of truth; clicks and keyboard update it.\n * - `activeTabProp` / attribute `value` is the host-controlled API; changes in `updated()` copy into `activeTabName`.\n * - `setActiveTab()` syncs each tab’s `active` flag, each panel’s `active`, `activeTabProp` / `value`, indicator/pill geometry, and optionally emits `nile-tab-change`.\n * - `this.tabs` only includes non-disabled tabs (see `syncTabsAndPanels`); keyboard roving focus uses that list.\n */\n private activeTab?: NileNavTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private visibilityObserver: IntersectionObserver;\n private pillRepositionTimer: ReturnType<typeof setTimeout> | null = null;\n private pillTransitionClassTimer: ReturnType<typeof setTimeout> | null = null;\n private pillReady = false;\n private observedTabs = new Set<NileNavTab>();\n private tabs: NileNavTab[] = [];\n private panels: NileNavTabPanel[] = [];\n\n /** Tabs emit `nile-close` on the host; bubble is stopped so we re-emit from the group with `{ panel }` for consumers. */\n private readonly handleCloseEvent = (e: Event) => {\n if (e.target === this) return;\n\n const tab = e.target as NileNavTab | null;\n const panel = tab?.getAttribute('panel');\n\n if (!panel) return;\n\n // Other listeners on this host must not see the child event (no `detail`) after we synthesize one.\n e.stopImmediatePropagation();\n e.stopPropagation();\n\n this.syncIndicator();\n this.emit('nile-close', { panel });\n };\n\n /** Tracks visibility for snapping the indicator when a hidden parent (e.g. dropdown) is reopened. */\n private tabGroupWasIntersecting = false;\n\n /** Last measured nav width; used to detect layout resume after display:none / collapse. */\n private lastNavClientWidth = 0;\n\n @query('.nav-tab-group') tabGroup: HTMLElement;\n @query('.nav-tab-group__body') body: HTMLSlotElement;\n @query('.nav-tab-group__nav') nav: HTMLElement;\n @query('.nav-tab-group__indicator') indicator: HTMLElement;\n @query('.nav-tab-group__hover-indicator') hoverIndicator: HTMLElement;\n\n @property({ type: Boolean, reflect: true, attribute: true }) hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\n\n /** The currently active tab value. */\n @property({ reflect: true, attribute: 'value', type: String }) activeTabProp: string = '';\n\n /** Track for showing Indicators and Background. */\n @property({ type: Boolean, reflect: true, attribute: 'no-track' }) noTrack = false;\n\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: 'no-scroll-controls', type: Boolean }) noScrollControls = false;\n\n /** Controls whether tabs are centered and have equal width. */\n @property({ type: Boolean, reflect: true }) centered = false;\n\n @property({ type: String, reflect: true }) variant: 'underline' | 'filled' | 'toggle' | 'neutral-filled' | 'toggle-button' = 'underline';\n\n @property({ type: String, reflect: true }) indicatorPlacement = '';\n\n @property({ type: Boolean, reflect: true, attribute: true }) fullWidth = false;\n\n @property({ type: String, reflect: true }) width = '';\n\n @property({ type: Boolean, reflect: true, attribute: true }) showIndicatorOnHover = false;\n\n @state() activeTabName: string = '';\n\n private get showScrollControlButtons(): boolean {\n return !this.noScrollControls && this.hasScrollControls;\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.resizeObserver = new ResizeObserver(() => {\n this.setScrollControls();\n const nw = this.nav?.clientWidth ?? 0;\n const layoutResumed = this.lastNavClientWidth === 0 && nw > 0;\n this.lastNavClientWidth = nw;\n this.repositionIndicator({ skipTransition: layoutResumed });\n this.debouncedPositionPill();\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n if (mutations.some(m => !['aria-labelledby', 'aria-controls'].includes(m.attributeName!))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n if (mutations.some(m => m.attributeName === 'disabled')) {\n this.syncTabsAndPanels();\n }\n\n if (mutations.some(m => m.attributeName === 'active')) {\n const activeTab = this.getAllTabs({ includeDisabled: false }).find(t => t.active);\n if (activeTab && activeTab.panel !== this.activeTabName) {\n this.activeTabName = activeTab.panel;\n }\n }\n\n if (mutations.some(m => m.type === 'childList' || m.type === 'characterData')) {\n this.repositionIndicator();\n this.debouncedPositionPill();\n requestAnimationFrame(() => this.setScrollControls());\n }\n });\n\n this.updateComplete.then(async () => {\n this.setScrollControls();\n await Promise.all(this.getAllTabs({ includeDisabled: true }).map(tab => tab.updateComplete));\n await Promise.all(this.getAllPanels().map(panel => panel.updateComplete));\n this.syncTabsAndPanels();\n\n if (this.activeTabProp) {\n this.activeTabName = this.activeTabProp;\n } else {\n const activeTab = this.getActiveTab();\n this.activeTabName = activeTab ? activeTab.panel : '';\n }\n\n // First paint: disable indicator transition so it jumps to the correct tab without sliding from (0,0).\n requestAnimationFrame(() => {\n if (this.indicator) {\n this.indicator.style.transition = 'none';\n }\n\n this.syncIndicator();\n this.positionPill();\n\n requestAnimationFrame(() => {\n if (this.indicator) {\n this.indicator.style.transition = '';\n }\n });\n });\n\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true, characterData: true });\n this.resizeObserver.observe(this.nav);\n\n this.visibilityObserver = new IntersectionObserver((entries) => {\n const entry = entries[0];\n const nowVisible = entry.isIntersecting && entry.intersectionRatio > 0;\n if (nowVisible) {\n this.setAriaLabels();\n this.debouncedPositionPill();\n const becameVisible = !this.tabGroupWasIntersecting;\n this.tabGroupWasIntersecting = true;\n this.repositionIndicator({ skipTransition: becameVisible });\n } else {\n this.tabGroupWasIntersecting = false;\n }\n });\n this.visibilityObserver.observe(this.tabGroup);\n });\n\n this.addEventListener('nile-close', this.handleCloseEvent);\n this.addEventListener('click', this.handleNavClick);\n this.addEventListener('keydown', this.handleKeyDown);\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.resizeObserver.disconnect();\n this.observedTabs.clear();\n this.visibilityObserver?.disconnect();\n this.removeEventListener('nile-close', this.handleCloseEvent);\n this.removeEventListener('click', this.handleNavClick);\n this.removeEventListener('keydown', this.handleKeyDown);\n }\n\n protected updated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n let nameChanged = _changedProperties.has('activeTabName');\n\n if (_changedProperties.has('activeTabProp') && this.activeTabName !== this.activeTabProp) {\n this.activeTabName = this.activeTabProp;\n nameChanged = true;\n }\n\n if (nameChanged) {\n const tab = this.getActiveTab();\n if (tab) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n if (_changedProperties.has('noScrollControls')) {\n requestAnimationFrame(() => this.setScrollControls());\n }\n }\n\n @watch('placement', { waitUntilFirstUpdate: true })\n syncIndicator() {\n requestAnimationFrame(() => this.setScrollControls());\n if (!this.indicator) return;\n const tab = this.getActiveTab();\n\n if (tab && !tab.disabled) {\n this.indicator.style.display = 'block';\n this.repositionIndicator();\n } else {\n this.indicator.style.display = 'none';\n }\n }\n\n private handleNavClick(event: MouseEvent) {\n const tab = event.composedPath().find(\n (el): el is NileNavTab =>\n el instanceof HTMLElement && el.tagName.toLowerCase() === 'nile-nav-tab'\n );\n\n if (!tab) return;\n\n const tabsNow = this.getAllTabs({ includeDisabled: true });\n if (!tabsNow.includes(tab)) return;\n\n if (tab.hasAttribute('disabled') || tab.disabled) return;\n\n const isModifiedClick =\n Object.values(MouseKey).some(key => event[key as keyof MouseEvent]) || event.button !== 0;\n\n if (isModifiedClick) return;\n\n this.activeTabProp = tab.panel;\n this.activeTabName = tab.panel;\n tab.focus();\n }\n\n private positionPill(animate = false) {\n const pill = this.shadowRoot?.querySelector<HTMLElement>('.nav-tab-group__pill');\n if (!pill) return;\n\n if (this.pillTransitionClassTimer) {\n clearTimeout(this.pillTransitionClassTimer);\n this.pillTransitionClassTimer = null;\n }\n\n const tab = this.getActiveTab();\n if (!tab || tab.disabled) {\n pill.classList.add('nav-tab-group__pill--inactive');\n pill.classList.remove('nav-tab-group__pill--transitioning');\n return;\n }\n\n pill.classList.remove('nav-tab-group__pill--inactive');\n\n const target = tab.shadowRoot?.querySelector<HTMLElement>('.nav-tab-container');\n if (!target) return;\n\n const container = this.shadowRoot?.querySelector<HTMLElement>('.nav-tab-group__tabs');\n if (!container) return;\n\n if (target.offsetWidth === 0 || target.offsetHeight === 0) return;\n\n const box = this.getLayoutBoxRelativeToContainer(target, container);\n if (!box) return;\n\n const x = box.x;\n const y = box.y;\n const w = box.width;\n const h = box.height;\n\n const cw = container.clientWidth;\n const rightInset = Math.max(0, cw - x - w);\n\n if (animate) {\n const ease = 'cubic-bezier(0.4, 0, 0.2, 1)';\n pill.style.transition = `left 400ms ${ease}, right 400ms ${ease}, top 400ms ${ease}, height 400ms ${ease}`;\n if (this.variant === 'toggle') {\n pill.classList.add('nav-tab-group__pill--transitioning');\n }\n } else {\n pill.style.transition = '';\n if (this.variant === 'toggle') {\n pill.classList.remove('nav-tab-group__pill--transitioning');\n }\n }\n\n pill.style.transform = '';\n pill.style.left = `${x}px`;\n pill.style.right = `${rightInset}px`;\n pill.style.width = 'auto';\n pill.style.top = `${y}px`;\n pill.style.height = `${h}px`;\n pill.style.opacity = '1';\n\n if (!this.pillReady) {\n this.pillReady = true;\n }\n\n if (animate) {\n const onEnd = () => {\n pill.style.transition = '';\n pill.removeEventListener('transitionend', onEnd);\n };\n pill.addEventListener('transitionend', onEnd);\n if (this.variant === 'toggle') {\n this.pillTransitionClassTimer = setTimeout(() => {\n this.pillTransitionClassTimer = null;\n pill.classList.remove('nav-tab-group__pill--transitioning');\n }, 420);\n }\n }\n }\n\n private debouncedPositionPill() {\n if (this.pillRepositionTimer) {\n clearTimeout(this.pillRepositionTimer);\n }\n this.pillRepositionTimer = setTimeout(() => {\n this.pillRepositionTimer = null;\n this.positionPill();\n }, 150);\n }\n\n private handleTabHover(event: MouseEvent) {\n if (!this.showIndicatorOnHover) return;\n\n const tab = event.composedPath().find(\n (el): el is NileNavTab =>\n el instanceof HTMLElement && el.tagName.toLowerCase() === 'nile-nav-tab'\n );\n\n if (!tab || tab.disabled || tab.hasAttribute('disabled')) return;\n\n const tabsNow = this.getAllTabs({ includeDisabled: true });\n if (!tabsNow.includes(tab)) return;\n\n this.positionHoverIndicator(tab);\n }\n\n private handleTabHoverLeave() {\n if (!this.showIndicatorOnHover || !this.hoverIndicator) return;\n this.hoverIndicator.style.opacity = '0';\n }\n\n private positionHoverIndicator(tab: NileNavTab) {\n if (!this.hoverIndicator) return;\n\n const container = this.shadowRoot?.querySelector<HTMLElement>('.nav-tab-group__tabs');\n if (!container) return;\n\n const target = tab.shadowRoot?.querySelector<HTMLElement>('.nav-tab-container');\n if (!target) return;\n\n const layoutBox = this.getLayoutBoxRelativeToContainer(target, container);\n if (!layoutBox) return;\n\n this.hoverIndicator.style.transition = 'none';\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.hoverIndicator.style.width = `${target.offsetWidth}px`;\n this.hoverIndicator.style.height = 'auto';\n this.hoverIndicator.style.translate = `${layoutBox.x}px 0px`;\n break;\n\n case 'start':\n case 'end':\n this.hoverIndicator.style.height = `${target.offsetHeight}px`;\n this.hoverIndicator.style.width = 'auto';\n this.hoverIndicator.style.translate = `0px ${layoutBox.y}px`;\n break;\n }\n\n this.hoverIndicator.style.opacity = '1';\n }\n\n render() {\n const usesPill =\n this.variant === 'filled' ||\n this.variant === 'neutral-filled' ||\n this.variant === 'toggle' ||\n this.variant === 'toggle-button';\n\n const showsIndicator =\n this.variant !== 'filled' &&\n this.variant !== 'neutral-filled' &&\n this.variant !== 'toggle-button' &&\n this.variant !== 'toggle';\n\n const toggleVariant = this.variant === 'toggle';\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'nav-tab-group': true,\n 'nav-tab-group--top': this.placement === 'top',\n 'nav-tab-group--bottom': this.placement === 'bottom',\n 'nav-tab-group--start': this.placement === 'start',\n 'nav-tab-group--end': this.placement === 'end',\n 'nav-tab-group--rtl': true,\n 'nav-tab-group--has-scroll-controls': this.showScrollControlButtons,\n 'hide__track': this.noTrack,\n })}\n style=${styleMap(this.width ? { '--nav-tab-item-width': this.width } : {})}\n >\n <nav class=\"nav-tab-group__nav-container\" part=\"nav\">\n ${toggleVariant\n ? html`<div class=\"nav-tab-group__toggle-frame\" part=\"toggle-frame\"></div>`\n : nothing}\n ${this.showScrollControlButtons\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--start\"\n exportparts=\"base:scroll-button__base\"\n class=\"nav-tab-group__scroll-button nav-tab-group__scroll-button--start\"\n name='var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))'\n library=\"system\"\n label=\"scrollToStart\"\n @click=${this.handleScrollToEnd}\n ></nile-icon-button>\n `\n : nothing}\n\n <div part=\"tab-container\" class=\"nav-tab-group__nav\">\n <ul part=\"tabs\" class=\"nav-tab-group__tabs\" role=\"tablist\">\n ${showsIndicator ? html`\n <div part=\"active-tab-indicator-path\" class=\"nav-tab-group__indicator__path\"></div>\n <div\n part=\"active-tab-indicator\"\n class=${classMap({\n 'nav-tab-group__indicator': !this.noTrack,\n })}\n ></div>\n ` : nothing}\n\n ${!this.noTrack && showsIndicator && this.showIndicatorOnHover ? html`\n <div class=\"nav-tab-group__hover-indicator\" part=\"hover-tab-indicator\"></div>\n ` : nothing}\n\n ${usesPill ? html`<div class=\"nav-tab-group__pill\" part=\"active-tab-pill\"></div>` : nothing}\n\n <slot\n name=\"nav\"\n @mouseover=${this.handleTabHover}\n @mouseleave=${this.handleTabHoverLeave}\n @slotchange=${this.syncTabsAndPanels}\n ></slot>\n </ul>\n </div>\n\n ${this.showScrollControlButtons\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--end\"\n exportparts=\"base:scroll-button__base\"\n class=\"nav-tab-group__scroll-button nav-tab-group__scroll-button--end\"\n name='var(--nile-icon-arrow-left, var(--ng-icon-chevron-left))'\n library=\"system\"\n label=\"scrollToEnd\"\n @click=${this.handleScrollToStart}\n ></nile-icon-button>\n `\n : nothing}\n </nav>\n\n <slot part=\"body\" class=\"nav-tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n `;\n }\n\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot!.querySelector<HTMLSlotElement>('slot[name=\"nav\"]')!;\n const navTabs = slot.assignedElements().filter(\n (el): el is NileNavTab => el.tagName.toLowerCase() === 'nile-nav-tab'\n );\n return options.includeDisabled ? navTabs : navTabs.filter(tab => !tab.disabled);\n }\n\n private getAllPanels() {\n return [...this.body.assignedElements()].filter(\n el => el.tagName.toLowerCase() === 'nile-nav-tab-panel'\n ) as NileNavTabPanel[];\n }\n\n /**\n * Resolves the tab to treat as selected for indicator/pill wiring.\n * Prefer `activeTabName` match; if empty (before init), fall back to `.active` or first usable tab.\n */\n private getActiveTab() {\n return this.tabs.find(el =>\n this.activeTabName ? el.panel === this.activeTabName : el.active\n ) ?? this.tabs.find(el => !el.disabled) ?? this.tabs[0];\n }\n\n /** Reflects horizontal overflow into `hasScrollControls` (top/bottom only; vertical stacks do not scroll this strip). */\n setScrollControls() {\n if (!this.nav) return;\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n return;\n }\n this.hasScrollControls =\n ['top', 'bottom'].includes(this.placement) &&\n this.nav.scrollWidth > this.nav.clientWidth;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const tab = event.composedPath().find(\n (el): el is NileNavTab =>\n el instanceof HTMLElement && el.tagName.toLowerCase() === 'nile-nav-tab'\n );\n\n if (tab?.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!tab || !this.tabs.includes(tab)) {\n return;\n }\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.activeTabProp = tab.panel;\n this.activeTabName = tab.panel;\n return;\n }\n\n const navKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'];\n if (!navKeys.includes(event.key)) return;\n\n let index = this.tabs.indexOf(tab);\n const isHorizontal = ['top', 'bottom'].includes(this.placement);\n const isRtl = getComputedStyle(this).direction === 'rtl';\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = this.tabs.length - 1;\n } else if (\n (isHorizontal &&\n ((isRtl && event.key === 'ArrowRight') || (!isRtl && event.key === 'ArrowLeft'))) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowUp')\n ) {\n index--;\n } else if (\n (isHorizontal &&\n ((isRtl && event.key === 'ArrowLeft') || (!isRtl && event.key === 'ArrowRight'))) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowDown')\n ) {\n index++;\n }\n\n if (index < 0) index = this.tabs.length - 1;\n if (index > this.tabs.length - 1) index = 0;\n\n this.tabs[index].focus({ preventScroll: true });\n\n if (isHorizontal) {\n scrollIntoView(this.tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n\n private handleScrollToStart() {\n this.nav.scroll({\n left: -this.nav.scrollWidth,\n behavior: 'smooth'\n });\n }\n\n private handleScrollToEnd() {\n this.nav.scroll({\n left: this.nav.scrollWidth,\n behavior: 'smooth'\n });\n }\n\n private setActiveTab(tab: NileNavTab, options?: { emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }) {\n options = {\n emitEvents: true,\n scrollBehavior: 'auto',\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n if (this.activeTabProp !== this.activeTab.panel) {\n this.activeTabProp = this.activeTab.panel;\n }\n\n this.tabs.forEach(el => (el.active = el === this.activeTab));\n this.panels.forEach(el => (el.active = el.name === this.activeTab?.panel));\n this.syncIndicator();\n this.positionPill(this.pillReady);\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal', options.scrollBehavior);\n }\n\n if (options.emitEvents) {\n this.emit('nile-tab-change', {\n value: this.activeTab.panel,\n previousValue: previousTab?.panel ?? null,\n index: this.tabs.indexOf(this.activeTab),\n previousIndex: previousTab ? this.tabs.indexOf(previousTab) : -1,\n link: this.activeTab.link\n });\n }\n }\n }\n\n private setAriaLabels() {\n const allTabs = this.getAllTabs({ includeDisabled: true });\n for (const tab of allTabs) {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (tab.disabled) {\n tab.removeAttribute('aria-controls');\n if (panel) panel.removeAttribute('aria-labelledby');\n continue;\n }\n if (!panel) continue;\n const panelId = panel.getAttribute('id');\n const tabId = tab.getAttribute('id');\n if (!panelId || !tabId) continue;\n\n tab.setAttribute('aria-controls', panelId);\n panel.setAttribute('aria-labelledby', tabId);\n }\n }\n\n \n private getRelativeOffsetToAncestor(element: HTMLElement, ancestor: HTMLElement): { x: number; y: number } | null {\n let x = 0;\n let y = 0;\n let el: HTMLElement | null = element;\n while (el && el !== ancestor) {\n x += el.offsetLeft;\n y += el.offsetTop;\n el = el.offsetParent as HTMLElement | null;\n }\n return el === ancestor ? { x, y } : null;\n }\n\n private getLayoutBoxRelativeToContainer(\n target: HTMLElement,\n container: HTMLElement\n ): { x: number; y: number; width: number; height: number } | null {\n const c = container.getBoundingClientRect();\n const r = target.getBoundingClientRect();\n if (r.width === 0 || r.height === 0) return null;\n\n const scaleX = container.offsetWidth > 0 ? c.width / container.offsetWidth : 1;\n const scaleY = container.offsetHeight > 0 ? c.height / container.offsetHeight : 1;\n\n if (scaleX > 0 && scaleY > 0 && Number.isFinite(scaleX) && Number.isFinite(scaleY)) {\n const scaleIsUnity =\n Math.abs(scaleX - 1) < 0.001 && Math.abs(scaleY - 1) < 0.001;\n if (scaleIsUnity) {\n const off = this.getRelativeOffsetToAncestor(target, container);\n if (off) {\n return {\n x: off.x,\n y: off.y,\n width: target.offsetWidth,\n height: target.offsetHeight,\n };\n }\n }\n\n const x = (r.left - c.left) / scaleX;\n const y = (r.top - c.top) / scaleY;\n let width = r.width / scaleX;\n let height = r.height / scaleY;\n const ow = target.offsetWidth;\n const oh = target.offsetHeight;\n if (ow > 0) width = Math.min(width, ow);\n if (oh > 0) height = Math.min(height, oh);\n return { x, y, width, height };\n }\n\n const offset = this.getRelativeOffsetToAncestor(target, container);\n if (!offset) return null;\n return {\n x: offset.x,\n y: offset.y,\n width: target.offsetWidth,\n height: target.offsetHeight,\n };\n }\n\n private repositionIndicator(options?: { skipTransition?: boolean }) {\n const currentTab = this.getActiveTab();\n if (!currentTab || !this.indicator) return;\n\n const container = this.shadowRoot?.querySelector<HTMLElement>('.nav-tab-group__tabs');\n if (!container) return;\n\n const target = currentTab.shadowRoot?.querySelector<HTMLElement>('.nav-tab-container');\n if (!target) return;\n\n const skipTransition = options?.skipTransition === true;\n if (skipTransition) {\n this.indicator.style.transition = 'none';\n }\n\n const layoutBox = this.getLayoutBoxRelativeToContainer(target, container);\n if (!layoutBox) {\n if (skipTransition) {\n requestAnimationFrame(() => {\n if (this.indicator) this.indicator.style.transition = '';\n });\n }\n return;\n }\n\n const x = layoutBox.x;\n const y = layoutBox.y;\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${layoutBox.width}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${x}px 0px`;\n break;\n\n case 'start':\n case 'end':\n this.indicator.style.width = 'auto';\n this.indicator.style.height = `${layoutBox.height}px`;\n this.indicator.style.translate = `0px ${y}px`;\n break;\n }\n\n if (skipTransition) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (this.indicator) this.indicator.style.transition = '';\n });\n });\n }\n }\n\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n\n const allTabs = this.getAllTabs({ includeDisabled: true });\n const enabledTabs = this.getAllTabs({ includeDisabled: false });\n const size = enabledTabs.length;\n\n const currentTabs = new Set(allTabs);\n\n for (const tab of this.observedTabs) {\n if (!currentTabs.has(tab)) {\n this.resizeObserver.unobserve(tab);\n this.observedTabs.delete(tab);\n }\n }\n\n allTabs.forEach(tab => {\n tab.centered = this.centered;\n if (tab.disabled) {\n tab.removeAttribute('aria-posinset');\n tab.removeAttribute('aria-setsize');\n } else {\n const i = enabledTabs.indexOf(tab);\n tab.setAttribute('aria-posinset', String(i + 1));\n tab.setAttribute('aria-setsize', String(size));\n }\n\n if (!this.observedTabs.has(tab)) {\n this.resizeObserver.observe(tab);\n this.observedTabs.add(tab);\n }\n });\n\n this.setScrollControls();\n this.setAriaLabels();\n }\n}\n\nexport default NileNavTabGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-nav-tab-group': NileNavTabGroup;\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import './nile-nav-tab-group';
2
+ import '../nile-nav-tab/nile-nav-tab';
3
+ import '../nile-nav-tab-panel/nile-nav-tab-panel';