@aquera/nile-elements 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/README.md +4 -0
  2. package/demo/variables.css +4 -2
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +167 -88
  6. package/dist/nile-grid/index.cjs.js +1 -1
  7. package/dist/nile-grid/index.esm.js +1 -1
  8. package/dist/nile-grid/nile-grid-body/index.cjs.js +2 -0
  9. package/dist/{nile-grid-body → nile-grid/nile-grid-body}/index.esm.js +1 -1
  10. package/dist/{nile-grid-cell-item/nile-grid-cell-item.cjs.js → nile-grid/nile-grid-body/nile-grid-body.cjs.js} +2 -2
  11. package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
  12. package/dist/{nile-grid-body → nile-grid/nile-grid-body}/nile-grid-body.css.cjs.js +1 -1
  13. package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
  14. package/dist/{nile-grid-body → nile-grid/nile-grid-body}/nile-grid-body.css.esm.js +0 -4
  15. package/dist/nile-grid/nile-grid-body/nile-grid-body.esm.js +5 -0
  16. package/dist/nile-grid/nile-grid-cell-item/index.cjs.js +2 -0
  17. package/dist/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/index.esm.js +1 -1
  18. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
  19. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
  20. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
  21. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
  22. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +67 -0
  23. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
  24. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
  25. package/dist/nile-grid/nile-grid-head/index.cjs.js +2 -0
  26. package/dist/{nile-grid-head → nile-grid/nile-grid-head}/index.esm.js +1 -1
  27. package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js +2 -0
  28. package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
  29. package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
  30. package/dist/nile-grid/nile-grid-head/nile-grid-head.esm.js +5 -0
  31. package/dist/nile-grid/nile-grid-head-item/index.cjs.js +2 -0
  32. package/dist/{nile-grid-head-item → nile-grid/nile-grid-head-item}/index.esm.js +1 -1
  33. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
  34. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
  35. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
  36. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
  37. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +59 -0
  38. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +13 -0
  39. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
  40. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
  41. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
  42. package/dist/nile-grid/nile-grid-row/index.cjs.js +2 -0
  43. package/dist/{nile-grid-row → nile-grid/nile-grid-row}/index.esm.js +1 -1
  44. package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js +2 -0
  45. package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
  46. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
  47. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
  48. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.esm.js +36 -0
  49. package/dist/nile-grid/nile-grid-row/nile-grid-row.esm.js +8 -0
  50. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  51. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  52. package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
  53. package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
  54. package/dist/nile-grid/nile-grid.css.esm.js +9 -6
  55. package/dist/nile-grid/nile-grid.esm.js +6 -6
  56. package/dist/nile-grid/nile-grid.layout.cjs.js +2 -0
  57. package/dist/nile-grid/nile-grid.layout.cjs.js.map +1 -0
  58. package/dist/nile-grid/nile-grid.layout.esm.js +1 -0
  59. package/dist/nile-grid/nile-grid.resize.cjs.js +2 -0
  60. package/dist/nile-grid/nile-grid.resize.cjs.js.map +1 -0
  61. package/dist/nile-grid/nile-grid.resize.esm.js +1 -0
  62. package/dist/nile-grid/nile-grid.types.cjs.js +2 -0
  63. package/dist/nile-grid/nile-grid.types.cjs.js.map +1 -0
  64. package/dist/nile-grid/nile-grid.types.esm.js +1 -0
  65. package/dist/nile-grid/nile-grid.utils.cjs.js +1 -1
  66. package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -1
  67. package/dist/nile-grid/nile-grid.utils.esm.js +1 -1
  68. package/dist/nile-grid/nile-grid.width.cjs.js +2 -0
  69. package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -0
  70. package/dist/nile-grid/nile-grid.width.esm.js +1 -0
  71. package/dist/src/index.d.ts +5 -5
  72. package/dist/src/index.js +5 -5
  73. package/dist/src/index.js.map +1 -1
  74. package/dist/src/nile-grid/nile-grid-body/index.js.map +1 -0
  75. package/dist/src/{nile-grid-body → nile-grid/nile-grid-body}/nile-grid-body.css.js +0 -4
  76. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js.map +1 -0
  77. package/dist/src/{nile-grid-body → nile-grid/nile-grid-body}/nile-grid-body.d.ts +1 -1
  78. package/dist/src/{nile-grid-body → nile-grid/nile-grid-body}/nile-grid-body.js +2 -2
  79. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.js.map +1 -0
  80. package/dist/src/nile-grid/nile-grid-cell-item/index.js.map +1 -0
  81. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +79 -0
  82. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
  83. package/dist/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.d.ts +1 -4
  84. package/dist/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.js +2 -12
  85. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
  86. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
  87. package/dist/src/nile-grid/nile-grid-head/index.js.map +1 -0
  88. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js.map +1 -0
  89. package/dist/src/{nile-grid-head → nile-grid/nile-grid-head}/nile-grid-head.d.ts +2 -1
  90. package/dist/src/{nile-grid-head → nile-grid/nile-grid-head}/nile-grid-head.js +11 -3
  91. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.js.map +1 -0
  92. package/dist/src/nile-grid/nile-grid-head-item/index.js.map +1 -0
  93. package/dist/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/nile-grid-head-item.css.js +30 -5
  94. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
  95. package/dist/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/nile-grid-head-item.d.ts +3 -4
  96. package/dist/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/nile-grid-head-item.js +12 -15
  97. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
  98. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.d.ts +34 -0
  99. package/dist/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/nile-grid-head-item.utils.js +27 -4
  100. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
  101. package/dist/src/nile-grid/nile-grid-row/index.js.map +1 -0
  102. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js +48 -0
  103. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js.map +1 -0
  104. package/dist/src/{nile-grid-row → nile-grid/nile-grid-row}/nile-grid-row.d.ts +5 -2
  105. package/dist/src/{nile-grid-row → nile-grid/nile-grid-row}/nile-grid-row.js +23 -6
  106. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.js.map +1 -0
  107. package/dist/src/nile-grid/nile-grid.css.js +7 -4
  108. package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
  109. package/dist/src/nile-grid/nile-grid.d.ts +19 -4
  110. package/dist/src/nile-grid/nile-grid.js +76 -23
  111. package/dist/src/nile-grid/nile-grid.js.map +1 -1
  112. package/dist/src/nile-grid/nile-grid.layout.d.ts +28 -0
  113. package/dist/src/nile-grid/nile-grid.layout.js +346 -0
  114. package/dist/src/nile-grid/nile-grid.layout.js.map +1 -0
  115. package/dist/src/nile-grid/nile-grid.resize.d.ts +58 -0
  116. package/dist/src/nile-grid/nile-grid.resize.js +100 -0
  117. package/dist/src/nile-grid/nile-grid.resize.js.map +1 -0
  118. package/dist/src/nile-grid/nile-grid.types.d.ts +3 -0
  119. package/dist/src/nile-grid/nile-grid.types.js +2 -0
  120. package/dist/src/nile-grid/nile-grid.types.js.map +1 -0
  121. package/dist/src/nile-grid/nile-grid.utils.d.ts +22 -4
  122. package/dist/src/nile-grid/nile-grid.utils.js +24 -141
  123. package/dist/src/nile-grid/nile-grid.utils.js.map +1 -1
  124. package/dist/src/nile-grid/nile-grid.width.d.ts +25 -0
  125. package/dist/src/nile-grid/nile-grid.width.js +301 -0
  126. package/dist/src/nile-grid/nile-grid.width.js.map +1 -0
  127. package/dist/src/version.js +2 -2
  128. package/dist/src/version.js.map +1 -1
  129. package/dist/tsconfig.tsbuildinfo +1 -1
  130. package/package.json +1 -1
  131. package/src/index.ts +5 -5
  132. package/src/{nile-grid-body → nile-grid/nile-grid-body}/nile-grid-body.css.ts +0 -4
  133. package/src/{nile-grid-body → nile-grid/nile-grid-body}/nile-grid-body.ts +3 -3
  134. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +81 -0
  135. package/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.ts +5 -15
  136. package/src/{nile-grid-head → nile-grid/nile-grid-head}/nile-grid-head.ts +6 -4
  137. package/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/nile-grid-head-item.css.ts +30 -5
  138. package/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/nile-grid-head-item.ts +10 -25
  139. package/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/nile-grid-head-item.utils.ts +30 -4
  140. package/src/nile-grid/nile-grid-row/nile-grid-row.css.ts +50 -0
  141. package/src/{nile-grid-row → nile-grid/nile-grid-row}/nile-grid-row.ts +13 -8
  142. package/src/nile-grid/nile-grid.css.ts +7 -4
  143. package/src/nile-grid/nile-grid.layout.ts +514 -0
  144. package/src/nile-grid/nile-grid.resize.ts +143 -0
  145. package/src/nile-grid/nile-grid.ts +79 -53
  146. package/src/nile-grid/nile-grid.types.ts +1 -0
  147. package/src/nile-grid/nile-grid.utils.ts +27 -203
  148. package/src/nile-grid/nile-grid.width.ts +397 -0
  149. package/vscode-html-custom-data.json +48 -65
  150. package/dist/nile-grid-body/index.cjs.js +0 -2
  151. package/dist/nile-grid-body/nile-grid-body.cjs.js +0 -2
  152. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
  153. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
  154. package/dist/nile-grid-body/nile-grid-body.esm.js +0 -5
  155. package/dist/nile-grid-cell-item/index.cjs.js +0 -2
  156. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
  157. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
  158. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
  159. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -35
  160. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
  161. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
  162. package/dist/nile-grid-head/index.cjs.js +0 -2
  163. package/dist/nile-grid-head/nile-grid-head.cjs.js +0 -2
  164. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
  165. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
  166. package/dist/nile-grid-head/nile-grid-head.esm.js +0 -5
  167. package/dist/nile-grid-head-item/index.cjs.js +0 -2
  168. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
  169. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
  170. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
  171. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
  172. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -34
  173. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +0 -12
  174. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
  175. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
  176. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
  177. package/dist/nile-grid-row/index.cjs.js +0 -2
  178. package/dist/nile-grid-row/nile-grid-row.cjs.js +0 -2
  179. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
  180. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
  181. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
  182. package/dist/nile-grid-row/nile-grid-row.css.esm.js +0 -15
  183. package/dist/nile-grid-row/nile-grid-row.esm.js +0 -7
  184. package/dist/src/nile-grid-body/index.js.map +0 -1
  185. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +0 -1
  186. package/dist/src/nile-grid-body/nile-grid-body.js.map +0 -1
  187. package/dist/src/nile-grid-cell-item/index.js.map +0 -1
  188. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -47
  189. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
  190. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
  191. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
  192. package/dist/src/nile-grid-head/index.js.map +0 -1
  193. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +0 -1
  194. package/dist/src/nile-grid-head/nile-grid-head.js.map +0 -1
  195. package/dist/src/nile-grid-head-item/index.js.map +0 -1
  196. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
  197. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
  198. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -10
  199. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
  200. package/dist/src/nile-grid-row/index.js.map +0 -1
  201. package/dist/src/nile-grid-row/nile-grid-row.css.js +0 -27
  202. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +0 -1
  203. package/dist/src/nile-grid-row/nile-grid-row.js.map +0 -1
  204. package/src/nile-grid-cell-item/nile-grid-cell-item.css.ts +0 -49
  205. package/src/nile-grid-row/nile-grid-row.css.ts +0 -29
  206. /package/dist/{nile-grid-body → nile-grid/nile-grid-body}/index.cjs.js.map +0 -0
  207. /package/dist/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/index.cjs.js.map +0 -0
  208. /package/dist/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.utils.cjs.js +0 -0
  209. /package/dist/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.utils.esm.js +0 -0
  210. /package/dist/{nile-grid-head → nile-grid/nile-grid-head}/index.cjs.js.map +0 -0
  211. /package/dist/{nile-grid-head → nile-grid/nile-grid-head}/nile-grid-head.css.cjs.js +0 -0
  212. /package/dist/{nile-grid-head → nile-grid/nile-grid-head}/nile-grid-head.css.esm.js +0 -0
  213. /package/dist/{nile-grid-head-item → nile-grid/nile-grid-head-item}/index.cjs.js.map +0 -0
  214. /package/dist/{nile-grid-row → nile-grid/nile-grid-row}/index.cjs.js.map +0 -0
  215. /package/dist/src/{nile-grid-body → nile-grid/nile-grid-body}/index.d.ts +0 -0
  216. /package/dist/src/{nile-grid-body → nile-grid/nile-grid-body}/index.js +0 -0
  217. /package/dist/src/{nile-grid-body → nile-grid/nile-grid-body}/nile-grid-body.css.d.ts +0 -0
  218. /package/dist/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/index.d.ts +0 -0
  219. /package/dist/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/index.js +0 -0
  220. /package/dist/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.css.d.ts +0 -0
  221. /package/dist/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.utils.d.ts +0 -0
  222. /package/dist/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.utils.js +0 -0
  223. /package/dist/src/{nile-grid-head → nile-grid/nile-grid-head}/index.d.ts +0 -0
  224. /package/dist/src/{nile-grid-head → nile-grid/nile-grid-head}/index.js +0 -0
  225. /package/dist/src/{nile-grid-head → nile-grid/nile-grid-head}/nile-grid-head.css.d.ts +0 -0
  226. /package/dist/src/{nile-grid-head → nile-grid/nile-grid-head}/nile-grid-head.css.js +0 -0
  227. /package/dist/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/index.d.ts +0 -0
  228. /package/dist/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/index.js +0 -0
  229. /package/dist/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/nile-grid-head-item.css.d.ts +0 -0
  230. /package/dist/src/{nile-grid-row → nile-grid/nile-grid-row}/index.d.ts +0 -0
  231. /package/dist/src/{nile-grid-row → nile-grid/nile-grid-row}/index.js +0 -0
  232. /package/dist/src/{nile-grid-row → nile-grid/nile-grid-row}/nile-grid-row.css.d.ts +0 -0
  233. /package/src/{nile-grid-body → nile-grid/nile-grid-body}/index.ts +0 -0
  234. /package/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/index.ts +0 -0
  235. /package/src/{nile-grid-cell-item → nile-grid/nile-grid-cell-item}/nile-grid-cell-item.utils.ts +0 -0
  236. /package/src/{nile-grid-head → nile-grid/nile-grid-head}/index.ts +0 -0
  237. /package/src/{nile-grid-head → nile-grid/nile-grid-head}/nile-grid-head.css.ts +0 -0
  238. /package/src/{nile-grid-head-item → nile-grid/nile-grid-head-item}/index.ts +0 -0
  239. /package/src/{nile-grid-row → nile-grid/nile-grid-row}/index.ts +0 -0
package/dist/index.js CHANGED
@@ -4650,7 +4650,7 @@ class mi{constructor(e){this._element=null;const t=e??window;this._node=t,e&&(th
4650
4650
  * @license
4651
4651
  * Copyright 2021 Google LLC
4652
4652
  * SPDX-License-Identifier: BSD-3-Clause
4653
- */(this._hostElement,e),this._scrollerController=new wi(this,this._clippingAncestors[0]),this._schedule(this._updateLayout),this._observeAndListen(),this._connected=!0}_observeAndListen(){this._mutationObserver.observe(this._hostElement,{childList:!0}),this._hostElementRO.observe(this._hostElement),this._scrollEventListeners.push(window),window.addEventListener("scroll",this,this._scrollEventListenerOptions),this._clippingAncestors.forEach((e=>{e.addEventListener("scroll",this,this._scrollEventListenerOptions),this._scrollEventListeners.push(e),this._hostElementRO.observe(e)})),this._hostElementRO.observe(this._scrollerController.element),this._children.forEach((e=>this._childrenRO.observe(e))),this._scrollEventListeners.forEach((e=>e.addEventListener("scroll",this,this._scrollEventListenerOptions)))}disconnected(){this._scrollEventListeners.forEach((e=>e.removeEventListener("scroll",this,this._scrollEventListenerOptions))),this._scrollEventListeners=[],this._clippingAncestors=[],this._scrollerController?.detach(this),this._scrollerController=null,this._mutationObserver?.disconnect(),this._mutationObserver=null,this._hostElementRO?.disconnect(),this._hostElementRO=null,this._childrenRO?.disconnect(),this._childrenRO=null,this._rejectLayoutCompletePromise("disconnected"),this._connected=!1}_applyVirtualizerStyles(){const e=this._hostElement.style;e.display=e.display||"block",e.position=e.position||"relative",e.contain=e.contain||"size layout",this._isScroller&&(e.overflow=e.overflow||"auto",e.minHeight=e.minHeight||"150px")}_getSizer(){const e=this._hostElement;if(!this._sizer){let t=e.querySelector(`[${bi}]`);t||(t=document.createElement("div"),t.setAttribute(bi,""),e.appendChild(t)),Object.assign(t.style,{position:"absolute",margin:"-2px 0 0 0",padding:0,visibility:"hidden",fontSize:"2px"}),t.textContent="&nbsp;",t.setAttribute(bi,""),this._sizer=t}return this._sizer}async updateLayoutConfig(e){await this._layoutInitialized;const t=e.type||Ui;if("function"==typeof t&&this._layout instanceof t){const t={...e};return delete t.type,this._layout.config=t,!0}return!1}async _initLayout(e){let t,M;if("function"==typeof e.type){M=e.type;const i={...e};delete i.type,t=i}else t=e;void 0===M&&(Ui=M=(await Promise.resolve().then((function(){return JS}))).FlowLayout),this._layout=new M((e=>this._handleLayoutMessage(e)),t),this._layout.measureChildren&&"function"==typeof this._layout.updateItemSizes&&("function"==typeof this._layout.measureChildren&&(this._measureChildOverride=this._layout.measureChildren),this._measureCallback=this._layout.updateItemSizes.bind(this._layout)),this._layout.listenForChildLoadEvents&&this._hostElement.addEventListener("load",this._loadListener,!0),this._schedule(this._updateLayout)}startBenchmarking(){null===this._benchmarkStart&&(this._benchmarkStart=window.performance.now())}stopBenchmarking(){if(null!==this._benchmarkStart){const e=window.performance.now(),t=e-this._benchmarkStart,M=performance.getEntriesByName("uv-virtualizing","measure").filter((t=>t.startTime>=this._benchmarkStart&&t.startTime<e)).reduce(((e,t)=>e+t.duration),0);return this._benchmarkStart=null,{timeElapsed:t,virtualizationTime:M}}return null}_measureChildren(){const e={},t=this._children,M=this._measureChildOverride||this._measureChild;for(let i=0;i<t.length;i++){const n=t[i],o=this._first+i;(this._itemsChanged||this._toBeMeasured.has(n))&&(e[o]=M.call(this,n,this._items[o]))}this._childMeasurements=e,this._schedule(this._updateLayout),this._toBeMeasured.clear()}_measureChild(e){const{width:t,height:M}=e.getBoundingClientRect();return Object.assign({width:t,height:M},function(e){const t=window.getComputedStyle(e);return{marginTop:vi(t.marginTop),marginRight:vi(t.marginRight),marginBottom:vi(t.marginBottom),marginLeft:vi(t.marginLeft)}}(e))}async _schedule(e){this._scheduled.has(e)||(this._scheduled.add(e),await Promise.resolve(),this._scheduled.delete(e),e.call(this))}async _updateDOM(e){this._scrollSize=e.scrollSize,this._adjustRange(e.range),this._childrenPos=e.childPositions,this._scrollError=e.scrollError||null;const{_rangeChanged:t,_itemsChanged:M}=this;this._visibilityChanged&&(this._notifyVisibility(),this._visibilityChanged=!1),(t||M)&&(this._notifyRange(),this._rangeChanged=!1),this._finishDOMUpdate()}_finishDOMUpdate(){this._connected&&(this._children.forEach((e=>this._childrenRO.observe(e))),this._checkScrollIntoViewTarget(this._childrenPos),this._positionChildren(this._childrenPos),this._sizeHostElement(this._scrollSize),this._correctScrollError(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_updateLayout(){this._layout&&this._connected&&(this._layout.items=this._items,this._updateView(),null!==this._childMeasurements&&(this._measureCallback&&this._measureCallback(this._childMeasurements),this._childMeasurements=null),this._layout.reflowIfNeeded(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_handleScrollEvent(){if(this._benchmarkStart&&"mark"in window.performance){try{window.performance.measure("uv-virtualizing","uv-start","uv-end")}catch(e){console.warn("Error measuring performance data: ",e)}window.performance.mark("uv-start")}!1===this._scrollerController.correctingScrollError&&this._layout?.unpin(),this._schedule(this._updateLayout)}handleEvent(e){if("scroll"===e.type)(e.currentTarget===window||this._clippingAncestors.includes(e.currentTarget))&&this._handleScrollEvent();else console.warn("event not handled",e)}_handleLayoutMessage(e){"stateChanged"===e.type?this._updateDOM(e):"visibilityChanged"===e.type?(this._firstVisible=e.firstVisible,this._lastVisible=e.lastVisible,this._notifyVisibility()):"unpinned"===e.type&&this._hostElement.dispatchEvent(new Qi)}get _children(){const e=[];let t=this._hostElement.firstElementChild;for(;t;)t.hasAttribute(bi)||e.push(t),t=t.nextElementSibling;return e}_updateView(){const e=this._hostElement,t=this._scrollerController?.element,M=this._layout;if(e&&t&&M){let i,n,o,r;const s=e.getBoundingClientRect();i=0,n=0,o=window.innerHeight,r=window.innerWidth;const a=this._clippingAncestors.map((e=>e.getBoundingClientRect()));a.unshift(s);for(const e of a)i=Math.max(i,e.top),n=Math.max(n,e.left),o=Math.min(o,e.bottom),r=Math.min(r,e.right);const N=t.getBoundingClientRect(),l={left:s.left-N.left,top:s.top-N.top},g={width:t.scrollWidth,height:t.scrollHeight},D=i-s.top+e.scrollTop,u=n-s.left+e.scrollLeft,c=Math.max(0,o-i),j=Math.max(0,r-n);M.viewportSize={width:j,height:c},M.viewportScroll={top:D,left:u},M.totalScrollSize=g,M.offsetWithinScroller=l}}_sizeHostElement(e){const t=82e5,M=e&&null!==e.width?Math.min(t,e.width):0,i=e&&null!==e.height?Math.min(t,e.height):0;if(this._isScroller)this._getSizer().style.transform=`translate(${M}px, ${i}px)`;else{const e=this._hostElement.style;e.minWidth=M?`${M}px`:"100%",e.minHeight=i?`${i}px`:"100%"}}_positionChildren(e){e&&e.forEach((({top:e,left:t,width:M,height:i,xOffset:n,yOffset:o},r)=>{const s=this._children[r-this._first];s&&(s.style.position="absolute",s.style.boxSizing="border-box",s.style.transform=`translate(${t}px, ${e}px)`,void 0!==M&&(s.style.width=M+"px"),void 0!==i&&(s.style.height=i+"px"),s.style.left=void 0===n?null:n+"px",s.style.top=void 0===o?null:o+"px")}))}async _adjustRange(e){const{_first:t,_last:M,_firstVisible:i,_lastVisible:n}=this;this._first=e.first,this._last=e.last,this._firstVisible=e.firstVisible,this._lastVisible=e.lastVisible,this._rangeChanged=this._rangeChanged||this._first!==t||this._last!==M,this._visibilityChanged=this._visibilityChanged||this._firstVisible!==i||this._lastVisible!==n}_correctScrollError(){if(this._scrollError){const{scrollTop:e,scrollLeft:t}=this._scrollerController,{top:M,left:i}=this._scrollError;this._scrollError=null,this._scrollerController.correctScrollError({top:e-M,left:t-i})}}element(e){return e===1/0&&(e=this._items.length-1),void 0===this._items?.[e]?void 0:{scrollIntoView:(t={})=>this._scrollElementIntoView({...t,index:e})}}_scrollElementIntoView(e){if(e.index>=this._first&&e.index<=this._last)this._children[e.index-this._first].scrollIntoView(e);else if(e.index=Math.min(e.index,this._items.length-1),"smooth"===e.behavior){const t=this._layout.getScrollIntoViewCoordinates(e),{behavior:M}=e;this._updateScrollIntoViewCoordinates=this._scrollerController.managedScrollTo(Object.assign(t,{behavior:M}),(()=>this._layout.getScrollIntoViewCoordinates(e)),(()=>this._scrollIntoViewTarget=null)),this._scrollIntoViewTarget=e}else this._layout.pin=e}_checkScrollIntoViewTarget(e){const{index:t}=this._scrollIntoViewTarget||{};t&&e?.has(t)&&this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget))}_notifyRange(){this._hostElement.dispatchEvent(new Si({first:this._first,last:this._last}))}_notifyVisibility(){this._hostElement.dispatchEvent(new Ei({first:this._firstVisible,last:this._lastVisible}))}get layoutComplete(){return this._layoutCompletePromise||(this._layoutCompletePromise=new Promise(((e,t)=>{this._layoutCompleteResolver=e,this._layoutCompleteRejecter=t}))),this._layoutCompletePromise}_rejectLayoutCompletePromise(e){null!==this._layoutCompleteRejecter&&this._layoutCompleteRejecter(e),this._resetLayoutCompleteState()}_scheduleLayoutComplete(){this._layoutCompletePromise&&null===this._pendingLayoutComplete&&(this._pendingLayoutComplete=requestAnimationFrame((()=>requestAnimationFrame((()=>this._resolveLayoutCompletePromise())))))}_resolveLayoutCompletePromise(){null!==this._layoutCompleteResolver&&this._layoutCompleteResolver(),this._resetLayoutCompleteState()}_resetLayoutCompleteState(){this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null}_hostElementSizeChanged(){this._schedule(this._updateLayout)}_childLoaded(){}_childrenSizeChanged(e){if(this._layout?.measureChildren){for(const t of e)this._toBeMeasured.set(t.target,t.contentRect);this._measureChildren()}this._scheduleLayoutComplete(),this._itemsChanged=!1,this._rangeChanged=!1}}function vi(e){const t=e?parseFloat(e):NaN;return Number.isNaN(t)?0:t}function Yi(e){if(null!==e.assignedSlot)return e.assignedSlot;if(null!==e.parentElement)return e.parentElement;const t=e.parentNode;return t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host||null}const Zi=Ae(class extends Li{constructor(e){if(super(e),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(e,t)=>((e,t)=>R`${t}: ${JSON.stringify(e,null,2)}`)(e,t+this._first),this._keyFunction=(e,t)=>(e=>e)(e,this._first),this._items=[],e.type!==Te)throw new Error("The virtualize directive can only be used in child expressions")}render(e){e&&this._setFunctions(e);const t=[];if(this._first>=0&&this._last>=this._first)for(let e=this._first;e<=this._last;e++)t.push(this._items[e]);return pi(t,this._keyFunction,this._renderItem)}update(e,[t]){this._setFunctions(t);const M=this._items!==t.items;return this._items=t.items||[],this._virtualizer?this._updateVirtualizerConfig(e,t):this._initialize(e,t),M?G:this.render()}async _updateVirtualizerConfig(e,t){if(!await this._virtualizer.updateLayoutConfig(t.layout||{})){const M=e.parentNode;this._makeVirtualizer(M,t)}this._virtualizer.items=this._items}_setFunctions(e){const{renderItem:t,keyFunction:M}=e;t&&(this._renderItem=(e,M)=>t(e,M+this._first)),M&&(this._keyFunction=(e,t)=>M(e,t+this._first))}_makeVirtualizer(e,t){this._virtualizer&&this._virtualizer.disconnected();const{layout:M,scroller:i,items:n}=t;this._virtualizer=new fi({hostElement:e,layout:M,scroller:i}),this._virtualizer.items=n,this._virtualizer.connected()}_initialize(e,t){const M=e.parentNode;M&&1===M.nodeType&&(M.addEventListener("rangeChanged",(e=>{this._first=e.first,this._last=e.last,this.setValue(this.render())})),this._makeVirtualizer(M,t))}disconnected(){this._virtualizer?.disconnected()}reconnected(){this._virtualizer?.connected()}});class Vi{static getVirtualizedContent(e,t,M,i,n,o,r,s,a,N,l){return R`
4653
+ */(this._hostElement,e),this._scrollerController=new wi(this,this._clippingAncestors[0]),this._schedule(this._updateLayout),this._observeAndListen(),this._connected=!0}_observeAndListen(){this._mutationObserver.observe(this._hostElement,{childList:!0}),this._hostElementRO.observe(this._hostElement),this._scrollEventListeners.push(window),window.addEventListener("scroll",this,this._scrollEventListenerOptions),this._clippingAncestors.forEach((e=>{e.addEventListener("scroll",this,this._scrollEventListenerOptions),this._scrollEventListeners.push(e),this._hostElementRO.observe(e)})),this._hostElementRO.observe(this._scrollerController.element),this._children.forEach((e=>this._childrenRO.observe(e))),this._scrollEventListeners.forEach((e=>e.addEventListener("scroll",this,this._scrollEventListenerOptions)))}disconnected(){this._scrollEventListeners.forEach((e=>e.removeEventListener("scroll",this,this._scrollEventListenerOptions))),this._scrollEventListeners=[],this._clippingAncestors=[],this._scrollerController?.detach(this),this._scrollerController=null,this._mutationObserver?.disconnect(),this._mutationObserver=null,this._hostElementRO?.disconnect(),this._hostElementRO=null,this._childrenRO?.disconnect(),this._childrenRO=null,this._rejectLayoutCompletePromise("disconnected"),this._connected=!1}_applyVirtualizerStyles(){const e=this._hostElement.style;e.display=e.display||"block",e.position=e.position||"relative",e.contain=e.contain||"size layout",this._isScroller&&(e.overflow=e.overflow||"auto",e.minHeight=e.minHeight||"150px")}_getSizer(){const e=this._hostElement;if(!this._sizer){let t=e.querySelector(`[${bi}]`);t||(t=document.createElement("div"),t.setAttribute(bi,""),e.appendChild(t)),Object.assign(t.style,{position:"absolute",margin:"-2px 0 0 0",padding:0,visibility:"hidden",fontSize:"2px"}),t.textContent="&nbsp;",t.setAttribute(bi,""),this._sizer=t}return this._sizer}async updateLayoutConfig(e){await this._layoutInitialized;const t=e.type||Ui;if("function"==typeof t&&this._layout instanceof t){const t={...e};return delete t.type,this._layout.config=t,!0}return!1}async _initLayout(e){let t,M;if("function"==typeof e.type){M=e.type;const i={...e};delete i.type,t=i}else t=e;void 0===M&&(Ui=M=(await Promise.resolve().then((function(){return rE}))).FlowLayout),this._layout=new M((e=>this._handleLayoutMessage(e)),t),this._layout.measureChildren&&"function"==typeof this._layout.updateItemSizes&&("function"==typeof this._layout.measureChildren&&(this._measureChildOverride=this._layout.measureChildren),this._measureCallback=this._layout.updateItemSizes.bind(this._layout)),this._layout.listenForChildLoadEvents&&this._hostElement.addEventListener("load",this._loadListener,!0),this._schedule(this._updateLayout)}startBenchmarking(){null===this._benchmarkStart&&(this._benchmarkStart=window.performance.now())}stopBenchmarking(){if(null!==this._benchmarkStart){const e=window.performance.now(),t=e-this._benchmarkStart,M=performance.getEntriesByName("uv-virtualizing","measure").filter((t=>t.startTime>=this._benchmarkStart&&t.startTime<e)).reduce(((e,t)=>e+t.duration),0);return this._benchmarkStart=null,{timeElapsed:t,virtualizationTime:M}}return null}_measureChildren(){const e={},t=this._children,M=this._measureChildOverride||this._measureChild;for(let i=0;i<t.length;i++){const n=t[i],o=this._first+i;(this._itemsChanged||this._toBeMeasured.has(n))&&(e[o]=M.call(this,n,this._items[o]))}this._childMeasurements=e,this._schedule(this._updateLayout),this._toBeMeasured.clear()}_measureChild(e){const{width:t,height:M}=e.getBoundingClientRect();return Object.assign({width:t,height:M},function(e){const t=window.getComputedStyle(e);return{marginTop:vi(t.marginTop),marginRight:vi(t.marginRight),marginBottom:vi(t.marginBottom),marginLeft:vi(t.marginLeft)}}(e))}async _schedule(e){this._scheduled.has(e)||(this._scheduled.add(e),await Promise.resolve(),this._scheduled.delete(e),e.call(this))}async _updateDOM(e){this._scrollSize=e.scrollSize,this._adjustRange(e.range),this._childrenPos=e.childPositions,this._scrollError=e.scrollError||null;const{_rangeChanged:t,_itemsChanged:M}=this;this._visibilityChanged&&(this._notifyVisibility(),this._visibilityChanged=!1),(t||M)&&(this._notifyRange(),this._rangeChanged=!1),this._finishDOMUpdate()}_finishDOMUpdate(){this._connected&&(this._children.forEach((e=>this._childrenRO.observe(e))),this._checkScrollIntoViewTarget(this._childrenPos),this._positionChildren(this._childrenPos),this._sizeHostElement(this._scrollSize),this._correctScrollError(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_updateLayout(){this._layout&&this._connected&&(this._layout.items=this._items,this._updateView(),null!==this._childMeasurements&&(this._measureCallback&&this._measureCallback(this._childMeasurements),this._childMeasurements=null),this._layout.reflowIfNeeded(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_handleScrollEvent(){if(this._benchmarkStart&&"mark"in window.performance){try{window.performance.measure("uv-virtualizing","uv-start","uv-end")}catch(e){console.warn("Error measuring performance data: ",e)}window.performance.mark("uv-start")}!1===this._scrollerController.correctingScrollError&&this._layout?.unpin(),this._schedule(this._updateLayout)}handleEvent(e){if("scroll"===e.type)(e.currentTarget===window||this._clippingAncestors.includes(e.currentTarget))&&this._handleScrollEvent();else console.warn("event not handled",e)}_handleLayoutMessage(e){"stateChanged"===e.type?this._updateDOM(e):"visibilityChanged"===e.type?(this._firstVisible=e.firstVisible,this._lastVisible=e.lastVisible,this._notifyVisibility()):"unpinned"===e.type&&this._hostElement.dispatchEvent(new Qi)}get _children(){const e=[];let t=this._hostElement.firstElementChild;for(;t;)t.hasAttribute(bi)||e.push(t),t=t.nextElementSibling;return e}_updateView(){const e=this._hostElement,t=this._scrollerController?.element,M=this._layout;if(e&&t&&M){let i,n,o,r;const s=e.getBoundingClientRect();i=0,n=0,o=window.innerHeight,r=window.innerWidth;const a=this._clippingAncestors.map((e=>e.getBoundingClientRect()));a.unshift(s);for(const e of a)i=Math.max(i,e.top),n=Math.max(n,e.left),o=Math.min(o,e.bottom),r=Math.min(r,e.right);const N=t.getBoundingClientRect(),l={left:s.left-N.left,top:s.top-N.top},g={width:t.scrollWidth,height:t.scrollHeight},D=i-s.top+e.scrollTop,u=n-s.left+e.scrollLeft,c=Math.max(0,o-i),j=Math.max(0,r-n);M.viewportSize={width:j,height:c},M.viewportScroll={top:D,left:u},M.totalScrollSize=g,M.offsetWithinScroller=l}}_sizeHostElement(e){const t=82e5,M=e&&null!==e.width?Math.min(t,e.width):0,i=e&&null!==e.height?Math.min(t,e.height):0;if(this._isScroller)this._getSizer().style.transform=`translate(${M}px, ${i}px)`;else{const e=this._hostElement.style;e.minWidth=M?`${M}px`:"100%",e.minHeight=i?`${i}px`:"100%"}}_positionChildren(e){e&&e.forEach((({top:e,left:t,width:M,height:i,xOffset:n,yOffset:o},r)=>{const s=this._children[r-this._first];s&&(s.style.position="absolute",s.style.boxSizing="border-box",s.style.transform=`translate(${t}px, ${e}px)`,void 0!==M&&(s.style.width=M+"px"),void 0!==i&&(s.style.height=i+"px"),s.style.left=void 0===n?null:n+"px",s.style.top=void 0===o?null:o+"px")}))}async _adjustRange(e){const{_first:t,_last:M,_firstVisible:i,_lastVisible:n}=this;this._first=e.first,this._last=e.last,this._firstVisible=e.firstVisible,this._lastVisible=e.lastVisible,this._rangeChanged=this._rangeChanged||this._first!==t||this._last!==M,this._visibilityChanged=this._visibilityChanged||this._firstVisible!==i||this._lastVisible!==n}_correctScrollError(){if(this._scrollError){const{scrollTop:e,scrollLeft:t}=this._scrollerController,{top:M,left:i}=this._scrollError;this._scrollError=null,this._scrollerController.correctScrollError({top:e-M,left:t-i})}}element(e){return e===1/0&&(e=this._items.length-1),void 0===this._items?.[e]?void 0:{scrollIntoView:(t={})=>this._scrollElementIntoView({...t,index:e})}}_scrollElementIntoView(e){if(e.index>=this._first&&e.index<=this._last)this._children[e.index-this._first].scrollIntoView(e);else if(e.index=Math.min(e.index,this._items.length-1),"smooth"===e.behavior){const t=this._layout.getScrollIntoViewCoordinates(e),{behavior:M}=e;this._updateScrollIntoViewCoordinates=this._scrollerController.managedScrollTo(Object.assign(t,{behavior:M}),(()=>this._layout.getScrollIntoViewCoordinates(e)),(()=>this._scrollIntoViewTarget=null)),this._scrollIntoViewTarget=e}else this._layout.pin=e}_checkScrollIntoViewTarget(e){const{index:t}=this._scrollIntoViewTarget||{};t&&e?.has(t)&&this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget))}_notifyRange(){this._hostElement.dispatchEvent(new Si({first:this._first,last:this._last}))}_notifyVisibility(){this._hostElement.dispatchEvent(new Ei({first:this._firstVisible,last:this._lastVisible}))}get layoutComplete(){return this._layoutCompletePromise||(this._layoutCompletePromise=new Promise(((e,t)=>{this._layoutCompleteResolver=e,this._layoutCompleteRejecter=t}))),this._layoutCompletePromise}_rejectLayoutCompletePromise(e){null!==this._layoutCompleteRejecter&&this._layoutCompleteRejecter(e),this._resetLayoutCompleteState()}_scheduleLayoutComplete(){this._layoutCompletePromise&&null===this._pendingLayoutComplete&&(this._pendingLayoutComplete=requestAnimationFrame((()=>requestAnimationFrame((()=>this._resolveLayoutCompletePromise())))))}_resolveLayoutCompletePromise(){null!==this._layoutCompleteResolver&&this._layoutCompleteResolver(),this._resetLayoutCompleteState()}_resetLayoutCompleteState(){this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null}_hostElementSizeChanged(){this._schedule(this._updateLayout)}_childLoaded(){}_childrenSizeChanged(e){if(this._layout?.measureChildren){for(const t of e)this._toBeMeasured.set(t.target,t.contentRect);this._measureChildren()}this._scheduleLayoutComplete(),this._itemsChanged=!1,this._rangeChanged=!1}}function vi(e){const t=e?parseFloat(e):NaN;return Number.isNaN(t)?0:t}function Yi(e){if(null!==e.assignedSlot)return e.assignedSlot;if(null!==e.parentElement)return e.parentElement;const t=e.parentNode;return t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host||null}const Zi=Ae(class extends Li{constructor(e){if(super(e),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(e,t)=>((e,t)=>R`${t}: ${JSON.stringify(e,null,2)}`)(e,t+this._first),this._keyFunction=(e,t)=>(e=>e)(e,this._first),this._items=[],e.type!==Te)throw new Error("The virtualize directive can only be used in child expressions")}render(e){e&&this._setFunctions(e);const t=[];if(this._first>=0&&this._last>=this._first)for(let e=this._first;e<=this._last;e++)t.push(this._items[e]);return pi(t,this._keyFunction,this._renderItem)}update(e,[t]){this._setFunctions(t);const M=this._items!==t.items;return this._items=t.items||[],this._virtualizer?this._updateVirtualizerConfig(e,t):this._initialize(e,t),M?G:this.render()}async _updateVirtualizerConfig(e,t){if(!await this._virtualizer.updateLayoutConfig(t.layout||{})){const M=e.parentNode;this._makeVirtualizer(M,t)}this._virtualizer.items=this._items}_setFunctions(e){const{renderItem:t,keyFunction:M}=e;t&&(this._renderItem=(e,M)=>t(e,M+this._first)),M&&(this._keyFunction=(e,t)=>M(e,t+this._first))}_makeVirtualizer(e,t){this._virtualizer&&this._virtualizer.disconnected();const{layout:M,scroller:i,items:n}=t;this._virtualizer=new fi({hostElement:e,layout:M,scroller:i}),this._virtualizer.items=n,this._virtualizer.connected()}_initialize(e,t){const M=e.parentNode;M&&1===M.nodeType&&(M.addEventListener("rangeChanged",(e=>{this._first=e.first,this._last=e.last,this.setValue(this.render())})),this._makeVirtualizer(M,t))}disconnected(){this._virtualizer?.disconnected()}reconnected(){this._virtualizer?.connected()}});class Vi{static getVirtualizedContent(e,t,M,i,n,o,r,s,a,N,l){return R`
4654
4654
  <div part="select-options" class="select__options ${t?"select__options__search-enabled":""} ${N?"loading":""}">
4655
4655
  ${s&&!N?R`
4656
4656
  <div part="select-no-results" class="select__no-results">
@@ -13565,28 +13565,31 @@ nile-badge::part(content) {
13565
13565
  </div>
13566
13566
  `}};e([ue({type:String,reflect:!0,attribute:!0})],Tp.prototype,"name",void 0),e([ue({type:Object,reflect:!0,attribute:!0})],Tp.prototype,"data",void 0),Tp=e([le("nile-option-group")],Tp);const yp=r`
13567
13567
  :host {
13568
+ --min-width: 180px;
13568
13569
  display: grid;
13569
13570
  grid-template-rows: auto;
13570
13571
  overflow: auto;
13571
13572
  inline-size: 100%;
13572
13573
  position: relative;
13573
- contain: content;
13574
13574
  box-sizing: border-box;
13575
13575
  border: 1px solid var(--nile-colors-neutral-400);
13576
13576
  border-radius: var(--nile-radius-radius-xl);
13577
+ background-color: var(--nile-colors-white-base);
13577
13578
  max-height: 100%;
13579
+ width: 100%;
13580
+ min-width: var(--min-width);
13581
+ box-shadow: var(--nile-box-shadow-3);
13578
13582
  }
13579
13583
 
13580
13584
  ::slotted(nile-grid-head),
13581
13585
  ::slotted(nile-grid-body) {
13582
13586
  inline-size: 100%;
13583
- display: grid;
13584
13587
  }
13585
13588
 
13586
13589
  .nile-resize-start,
13587
13590
  .nile-resize-end {
13588
- position: fixed;
13589
- z-index: 2;
13591
+ position: absolute;
13592
+ z-index: 4;
13590
13593
  background-color: var(--nile-colors-neutral-400);
13591
13594
  width: 2px;
13592
13595
  height: 100%;
@@ -13594,59 +13597,87 @@ nile-badge::part(content) {
13594
13597
  display: none;
13595
13598
  bottom: 0;
13596
13599
  }
13597
- `,hp=e=>(e?.assignedElements()??[]).find((e=>"nile-grid-head"===e.tagName.toLowerCase()))||null,Ap=e=>(e?.assignedElements()??[]).find((e=>"nile-grid-body"===e.tagName.toLowerCase()))||null,Op=(e,t)=>{const M=[];for(let i=0;i<e;i++){const n=t[i];i===e-1?M.push(`minmax(${n}px, auto)`):M.push(`${n}px`)}return M.join(" ")},Lp=(e,t,M)=>{e&&(e.style.gridTemplateColumns=M),t&&(t.style.gridTemplateColumns=M,t.style.overflowX="auto")};const xp=(e,t,M,i,n,o)=>{const r=hp(t),s=Ap(t);if(!s)return;const a=r?Array.from(r.querySelectorAll("nile-grid-row")):[],N=Array.from(s.querySelectorAll("nile-grid-row"));let l=0;l=function(e,t,M){return e.forEach(((e,i)=>{let n=1;const o=Array.from(e.querySelectorAll("nile-grid-head-item, nile-grid-cell")),r=i+1;o.forEach((e=>{for(;t[n-1]>0;)n++;const i=Math.max(1,Number(e.getAttribute("colspan"))||1),o=Math.max(1,Number(e.getAttribute("rowspan"))||1),s=n,a=n+i,N=r+o;e.style.gridColumn=`${s} / ${a}`,e.style.gridRow=`${r} / ${N}`,e.dataset.cStart=String(s);for(let e=0;e<i;e++){const M=n-1+e;t[M]=Math.max(t[M]||0,o)}n=a,M=Math.max(M,a-1)}));for(let e=0;e<t.length;e++)t[e]>0&&t[e]--})),M}(a,[],l),l=function(e,t,M){return e.forEach(((e,i)=>{let n=1;const o=Array.from(e.querySelectorAll("nile-grid-cell, nile-grid-header")),r=i+1;let s=1;const a=e.shadowRoot?.querySelector("[data-row-bg]");if(a&&(a.style.gridColumn="1 / -1"),o.forEach((e=>{for(;t[n-1]>0;)n++;const i=Math.max(1,Number(e.getAttribute("colspan"))||1),o=Math.max(1,Number(e.getAttribute("rowspan"))||1),a=n,N=n+i,l=r+o;e.style.gridColumn=`${a} / ${N}`,e.style.gridRow=`${r} / ${l}`,e.dataset.cStart=String(a);for(let e=0;e<i;e++){const M=n-1+e;t[M]=Math.max(t[M]||0,o)}s=Math.max(s,o),n=N,M=Math.max(M,N-1)})),a){const e=r+s;a.style.gridRow=`${r} / ${e}`}for(let e=0;e<t.length;e++)t[e]>0&&t[e]--})),M}(N,[],l),function(e,t,M){for(let i=0;i<t;i++){const n=(e.getBoundingClientRect().width||1)-2;M[i]=e.customWidths[i]||n/Math.max(t,1)}}(e,l,o),M(l),s.style.gridAutoRows="auto",s.style.overflowY="auto",e.colTemplate=i(l,o),n(r,s,e.colTemplate,e.colTemplate)};let pp=class extends Re{constructor(){super(...arguments),this.customWidths=[],this.colTemplate="",this.columnWidths=[...this.customWidths],this.raf=0,this.onResize=e=>{const{col:t,widthPx:M}=e.detail;let i;i=e.target.getAttribute("colspan")&&parseInt(e.target.getAttribute("colspan"))>1?Math.max(60,Math.round(M-this.columnWidths[t-1])):Math.max(60,Math.round(M)),this.columnWidths[t]=i,((e,t,M,i,n,o,r)=>{if(e.style.display="block",t.style.display="block",e.style.height=n+"px",t.style.height=n+"px",0===M)e.style.left=Math.max(60,i)-6+"px",t.style.left=Math.max(60,i)-2+"px";else{let n=0;if(r.target.getAttribute("colspan")&&parseInt(r.target.getAttribute("colspan"))>1){i-=o[M-1];for(let e=0;e<M;e++)n+=o[e]}else for(let e=0;e<M;e++)n+=o[e];e.style.left=n+Math.max(60,i)-6+"px",t.style.left=n+Math.max(60,i)-2+"px"}})(this.resizeStart,this.resizeEnd,t,M,this.scrollHeight,this.columnWidths,e),this.colTemplate=Op(this.columnWidths.length,this.columnWidths),Lp(hp(this.slotEl),Ap(this.slotEl),this.colTemplate)}}static get styles(){return[yp]}scheduleLayout(){this.raf&&cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame((()=>{this.raf=0,xp(this,this.slotEl,this.ensureWidths.bind(this),Op,Lp,this.columnWidths)}))}ensureWidths(e){this.columnWidths.length!==e&&(this.columnWidths=Array(e).fill(""))}firstUpdated(){var e,t,M,i;this.setAttribute("role","table"),e=this,t=this.onResize,M=this.slotEl,i=this._attachObserverAndLayout.bind(this),e.addEventListener("nile-resize",t),e.addEventListener("nile-resize-start",(()=>{e.resizeStart.style.display="block"})),e.addEventListener("nile-resize-end",(()=>{e.resizeStart.style.display="none",e.resizeEnd.style.display="none"})),M.addEventListener("slotchange",(()=>i()))}_attachObserverAndLayout(){this.mo?.disconnect(),this.mo=new MutationObserver((()=>{this.scheduleLayout()}));const e=hp(this.slotEl),t=Ap(this.slotEl);if(!e&&!t)return;const M=t??this;this.mo.observe(M,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["colspan","rowspan"]}),xp(this,this.slotEl,this.ensureWidths.bind(this),Op,Lp,this.columnWidths)}render(){return R`
13598
- <div>
13599
- <slot></slot>
13600
- <div class="nile-resize-start"></div>
13601
- <div class="nile-resize-end"></div>
13600
+ `,hp=e=>(e?.assignedElements()??[]).find((e=>"nile-grid-head"===e.tagName.toLowerCase()))||null,Ap=e=>(e?.assignedElements()??[]).find((e=>"nile-grid-body"===e.tagName.toLowerCase()))||null;function Op(e,t,M,i){const n=e.minColumnWidth,o=function(e){return Math.max(0,(e.getBoundingClientRect().width||0)-4)}(e),r=function(e,t,M,i,n){const o=Array(t).fill(null),r=hp(e);r&&function(e,t,M,i){const n=[...e.children].filter((e=>"nile-grid-row"===e.tagName.toLowerCase()));for(const e of n)Lp(e,t,M,i)}(r,o,t,M);n?.length===t&&function(e,t,M){for(let i=0;i<t.length;i++)null==e[i]&&Number.isFinite(t[i])&&(e[i]=Math.max(M.minColumnWidth,Math.round(t[i])))}(o,n,i);return o}(i,t,o,e,M),s=function(e,t,M){const i=Array(e.length).fill(!1);for(let n=0;n<e.length;n++){const o=e[n]??null;t[n]=null==o||Number.isNaN(o)?0:Math.max(M,Number(o)),i[n]=null!=o&&!Number.isNaN(o)}return i}(r,M,n);!function(e,t,M,i){const n=e.reduce(((e,t)=>e+t),0),o=M-n,r=Array.from({length:e.length},((e,t)=>t)).filter((e=>!t[e]));if(0===r.length)return;const s=o/r.length;for(const t of r)e[t]=Math.max(i,s)}(M,s,o,n),function(e,t,M){let i=(n=e,n.reduce(((e,t)=>e+t),0));var n;i<t?function(e,t,M){if(!e.length)return;const i=t-M,n=M||1;for(let t=0;t<e.length;t++)e[t]+=i*(e[t]/n)}(e,t,i):i>t&&function(e,t,M,i){let n=M-t;for(let t=0;t<8&&n>.5;t++){const{candidates:t,weightSum:M}=xp(e,i);if(!t.length||M<=0)break;const o=pp(e,t,M,n,i);if(n-=o,o<.5)break}}(e,t,i,M)}(M,o,n),function(e,t){for(let M=0;M<e.length;M++)e[M]=Math.max(t,Math.round(e[M]))}(M,n),fp(e,M)}function Lp(e,t,M,i){const n=[...e.children].filter((e=>"nile-grid-head-item"===e.tagName.toLowerCase())).map((e=>function(e,t){const M=Number(e.dataset?.cStart)||1,i=Math.max(1,Number(e.getAttribute("colspan"))||1),n=e.width??e.getAttribute("width")??null,o=function(e,t){if(null==e)return null;if("number"==typeof e&&Number.isFinite(e))return e;const M=String(e).trim().toLowerCase();if(!M)return null;if(M.endsWith("px")){const e=parseFloat(M);return Number.isFinite(e)?e:null}if(M.endsWith("%")){const e=parseFloat(M);return Number.isFinite(e)?e/100*t:null}const i=parseFloat(M);return Number.isFinite(i)?i:null}(n,t);return{cStart:M,colspan:i,cw:o}}(e,i))).filter((e=>null!=e.cw));n.sort(((e,t)=>e.colspan-t.colspan)),n.forEach((({cStart:e,colspan:i,cw:n})=>{!function(e,t,M,i,n){const o=Math.round(i/M);for(let i=0;i<M;i++){const M=t-1+i;M>=0&&M<n&&null==e[M]&&(e[M]=o)}}(t,e,i,n,M)}))}function xp(e,t){const M=[];let i=0;for(let n=0;n<e.length;n++){Math.max(0,e[n]-t)>0&&(M.push(n),i+=e[n])}return{candidates:M,weightSum:i}}function pp(e,t,M,i,n){let o=0;for(const r of t){const t=Math.max(0,e[r]-n),s=e[r]/M,a=Math.min(t,i*s);e[r]-=a,o+=a}return o}function Sp(e){const{grid:t,col:M,prevW:i,newW:n,floor:o}=e;let r=n-i;if(r>0){const e=function(e,t,M){let i=0;for(let n=t;n<e.length;n++)i+=Math.max(0,e[n]-M);return i}(t.columnWidths,M+1,o);if(e<=0)return;r=Math.min(r,e),t.columnWidths[M]=i+r,r>0&&function(e,t,M,i){let n=M;for(let M=t;M<e.length&&n>0;M++){const t=Math.max(0,e[M]-i),o=Math.min(t,n);o>0&&(e[M]-=o,n-=o)}}(t.columnWidths,M+1,r,o)}else{if(M===t.columnWidths.length-1)return;const e=-r,n=Math.max(o,i-e),s=i-n;t.columnWidths[M]=n;(function(e,t,M){let i=M;return t<e.length&&i>0&&(e[t]+=i,i=0),i})(t.columnWidths,M+1,s)>0&&(t.columnWidths[M]=i)}}function Ep(e,t){((e,t,M,i,n,o)=>{t.style.display="block",M.style.display="block",t.style.height=n+"px",M.style.height=n+"px";const r=e,s=e=>Math.max(0,Math.round(e||0)),a=s(o.reduce(((e,t)=>e+(t||0)),0)),N=(l=i,s(o.slice(0,Math.max(0,l)).reduce(((e,t)=>e+(t||0)),0)));var l;let g=N+s(Math.max(r,o[i]??r));const D=N+r,u=a;g=Math.min(Math.max(g,D),u),g=Math.max(g,20),t.style.left=g-6+"px",M.style.left=g-2+"px"})(e.minColumnWidth,e.resizeStart,e.resizeEnd,t,e.scrollHeight,e.columnWidths),e.colTemplate=bp(e.columnWidths.length,e.columnWidths),kp(e),fp(e,e.columnWidths)}const Qp=(e,t,M,i,n,o)=>{const r=hp(t),s=Ap(t);if(!s)return;const a=r?Array.from(r.querySelectorAll("nile-grid-row")):[],N=Array.from(s.querySelectorAll("nile-grid-row"));let l=0;l=function(e,t,M,i,n,o,r){return mp(e,t,M,i,n,o,r,{itemSelector:"nile-grid-head-item",useStickyAttr:!0,handleRowBg:!1})}(e,a,[],l,n,o,e.columnWidths),l?Up(e,N,[],l,n,o,e.columnWidths):l=Up(e,N,[],l,n,o,e.columnWidths),setTimeout((()=>{Op(e,l,e.columnWidths,t)})),M(l),e.colTemplate=i(l,e.columnWidths)};function mp(e,t,M,i,n,o,r,s){return t.forEach(((t,a)=>{e.hoverable&&t.setAttribute("hover","true"),i=function(e,t,M,i,n,o,r,s,a){let N=1;const l=M+1,g=[...t.querySelectorAll(a.itemSelector)];for(const t of g){for(;(i[N-1]||0)>0;)N++;({c:N,colCount:n}=wp(e,t,N,l,i,n,o,r,s,a))}return function(e){for(let t=0;t<e.length;t++)e[t]>0&&e[t]--}(i),n}(e,t,a,M,i,n,o,r,s)})),i}function wp(e,t,M,i,n,o,r,s,a,N){const l=Math.max(1,+t.getAttribute("colspan")||1),g=Math.max(1,+t.getAttribute("rowspan")||1);!function(e,t,M){if(M<=1)return;e.cellHeight||(e.cellHeight=t.getBoundingClientRect().height),t.style.position="absolute",t.style.height=e.cellHeight*M+"px",t.style.zIndex="2"}(e,t,g);const D=M,u=M+l;!function(e,t,M,i,n){const o=i+n;e.style.gridColumn=`${t} / ${M}`,e.style.gridRow=`${i} / ${o}`,e.dataset.cStart=String(t)}(t,D,u,i,g),function(e,t,M,i,n,o){M.useStickyAttr&&"left"===e.getAttribute("sticky")&&!i.includes(t-1)&&i.push(t-1);M.useStickyAttr&&"right"===e.getAttribute("sticky")&&!n.includes(t-1)&&n.push(t-1);!function(e,t,M,i,n){const o=M.includes(t),r=i.includes(t);if(!o&&!r)return;(function(e){e.style.position="sticky",e.style.zIndex="2",e.style.left="",e.style.right="",e.removeAttribute("data-sticky")})(e),o&&!r?function(e,t,M,i){e.setAttribute("data-sticky","left");const n=[...M].sort(((e,t)=>e-t)),o=n.indexOf(t),r=vp(n,o,i);e.style.left=`${Math.max(0,Math.round(r))}px`}(e,t,M,n):function(e,t,M,i){e.setAttribute("data-sticky","right");const n=[...M].sort(((e,t)=>t-e)),o=n.indexOf(t),r=function(e){const t=e.closest("nile-grid");return t?t.offsetWidth-t.clientWidth:0}(e),s=vp(n,o,i,r);e.style.right=`${Math.max(0,Math.round(s-2))}px`}(e,t,i,n)}(e,t-1,i,n,o)}(t,D,N,r,s,a);for(let e=0;e<l;e++)n[M-1+e]=Math.max(n[M-1+e]||0,g);return{c:u,colCount:Math.max(o,u-1)}}function kp(e){const{showRightOnLeftStickies:t,showLeftOnRightStickies:M}=function(e){const t=Math.max(0,e.scrollWidth-e.clientWidth);return{showRightOnLeftStickies:e.scrollLeft>0,showLeftOnRightStickies:e.scrollLeft<t}}(e),{head:i,body:n}=function(e){if(!e.shadowRoot)return{head:void 0,body:void 0};const t=e.slotEl.assignedElements(),M=e=>t.find((t=>t.tagName.toLowerCase()===e));return{head:M("nile-grid-head"),body:M("nile-grid-body")}}(e);Cp(i,"nile-grid-head-item","left","shadow-right",t),Cp(n,"nile-grid-cell-item","left","shadow-right",t),Cp(i,"nile-grid-head-item","right","shadow-left",M),Cp(n,"nile-grid-cell-item","right","shadow-left",M)}function Cp(e,t,M,i,n){if(!e)return;const o=`${t}[data-sticky="${M}"]`;e.querySelectorAll(o).forEach((e=>e.classList.toggle(i,n)))}const bp=(e,t)=>{const M=[];for(let i=0;i<e;i++){const n=t[i];i===e-1?M.push(`minmax(${n}px, auto)`):M.push(`${n}px`)}return M.join(" ")};function Up(e,t,M,i,n,o,r){return mp(e,t,M,i,n,o,r,{itemSelector:"nile-grid-cell-item",useStickyAttr:!1,handleRowBg:!0})}function fp(e,t){const M=t.map(((e,M)=>M===t.length-1?`minmax(${Math.round(e)}px, auto)`:`${Math.max(0,Math.round(e))}px`)).join(" ");e.style.setProperty("--nile-grid-columns",M)}function vp(e,t,M,i=0){let n=i;for(let i=0;i<t;i++)n+=M[e[i]]??0;return n}let Yp=class extends Re{constructor(){super(...arguments),this.colTemplate="",this.columnWidths=[],this.enableResizeScroll=!1,this.hoverable=!1,this.raf=0,this.minColumnWidth=40,this.stickyLeftIndexes=[],this.stickyRightIndexes=[],this.cellHeight=null,this.widthsInitialized=!1,this.onResize=e=>{e.stopPropagation(),this.emit("nile-resize",{columnNumber:e.detail.col,columnWidth:e.detail.widthPx});const{col:t,widthPx:M}=e.detail,{prevW:i,newW:n,delta0:o}=function(e){const{target:t,col:M,widthPx:i,floor:n,columnWidths:o}=e,r=!!t.getAttribute("colspan")&&parseInt(t.getAttribute("colspan"),10)>1,s=o[M]??n,a=r?i-(o[M-1]??0):i,N=Math.max(n,Math.round(Number.isFinite(a)?a:s));return{prevW:s,newW:N,delta0:N-s}}({target:e.target,col:t,widthPx:M,floor:this.minColumnWidth,columnWidths:this.columnWidths});0!==o?(this.enableResizeScroll?function(e){const{grid:t,col:M,newW:i}=e;t.columnWidths[M]=i}({grid:this,col:t,newW:n}):Sp({grid:this,col:t,prevW:i,newW:n,floor:this.minColumnWidth}),Ep(this,t)):Ep(this,t)}}static get styles(){return[yp]}scheduleLayout(){this.raf&&cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame((()=>{this.raf=0,Qp(this,this.slotEl,this.ensureWidths.bind(this),bp,this.stickyLeftIndexes,this.stickyRightIndexes),kp(this)}))}ensureWidths(e){this.columnWidths.length!==e&&(this.columnWidths=Array(e).fill(""))}firstUpdated(){var e,t,M,i;this.setAttribute("role","table"),e=this,t=this.onResize,M=this.slotEl,i=this._attachObserverAndLayout.bind(this),e.addEventListener("nile-column-resize",t),e.addEventListener("nile-resize-start",(()=>{e.resizeStart.style.display="block"})),e.addEventListener("nile-resize-end",(()=>{e.resizeStart.style.display="none",e.resizeEnd.style.display="none"})),M.addEventListener("slotchange",(()=>i())),this.addEventListener("scroll",(()=>kp(this))),this.resizeObserverStickyShadows=new ResizeObserver((()=>kp(this))),this.resizeObserverStickyShadows.observe(this),kp(this)}_attachObserverAndLayout(){this.mo?.disconnect(),this.mo=new MutationObserver((()=>{this.scheduleLayout()})),this.resizeObserver?.disconnect(),this.resizeObserver=new ResizeObserver((()=>{Qp(this,this.slotEl,this.ensureWidths.bind(this),bp,this.stickyLeftIndexes,this.stickyRightIndexes)}));const e=hp(this.slotEl),t=Ap(this.slotEl);if(!e&&!t)return;const M=t??this;this.mo.observe(M,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["colspan","rowspan"]}),this.resizeObserver?.observe(this)}render(){return R`
13601
+ <div part="grid-base" class="nile-grid-base">
13602
+ <slot part="grid-slot"></slot>
13603
+ <div part="resize-start" class="nile-resize-start"></div>
13604
+ <div part="resize-end" class="nile-resize-end"></div>
13602
13605
  </div>
13603
- `}disconnectedCallback(){var e,t,M,i;super.disconnectedCallback?.(),this.mo?.disconnect(),this.raf&&cancelAnimationFrame(this.raf),e=this,t=this.onResize,M=this.slotEl,i=this._attachObserverAndLayout.bind(this),e.removeEventListener("nile-resize",t),e.removeEventListener("nile-resize-start",(()=>{e.resizeStart.style.display="block"})),e.removeEventListener("nile-resize-end",(()=>{e.resizeStart.style.display="none",e.resizeEnd.style.display="none"})),M.removeEventListener("slotchange",(()=>i()))}};e([ue({type:Array,attribute:!0})],pp.prototype,"customWidths",void 0),e([ce()],pp.prototype,"colTemplate",void 0),e([ce()],pp.prototype,"columnWidths",void 0),e([Ie("slot")],pp.prototype,"slotEl",void 0),e([Ie(".nile-resize-start")],pp.prototype,"resizeStart",void 0),e([Ie(".nile-resize-end")],pp.prototype,"resizeEnd",void 0),pp=e([le("nile-grid")],pp);const Sp=r`
13606
+ `}disconnectedCallback(){var e,t,M,i;super.disconnectedCallback?.(),this.mo?.disconnect(),this.resizeObserver?.disconnect(),this.resizeObserverStickyShadows?.disconnect(),this.raf&&cancelAnimationFrame(this.raf),e=this,t=this.onResize,M=this.slotEl,i=this._attachObserverAndLayout.bind(this),e.removeEventListener("nile-column-resize",t),e.removeEventListener("nile-resize-start",(()=>{e.resizeStart.style.display="block"})),e.removeEventListener("nile-resize-end",(()=>{e.resizeStart.style.display="none",e.resizeEnd.style.display="none"})),M.removeEventListener("slotchange",(()=>i()))}};e([ce()],Yp.prototype,"colTemplate",void 0),e([ce()],Yp.prototype,"columnWidths",void 0),e([Ie("slot")],Yp.prototype,"slotEl",void 0),e([Ie(".nile-resize-start")],Yp.prototype,"resizeStart",void 0),e([Ie(".nile-resize-end")],Yp.prototype,"resizeEnd",void 0),e([ue({type:Boolean,attribute:!0,reflect:!0})],Yp.prototype,"enableResizeScroll",void 0),e([ue({type:Boolean,attribute:!0,reflect:!0})],Yp.prototype,"hoverable",void 0),e([ue({type:Number,reflect:!0,attribute:!0})],Yp.prototype,"minColumnWidth",void 0),e([ce()],Yp.prototype,"stickyLeftIndexes",void 0),e([ce()],Yp.prototype,"stickyRightIndexes",void 0),e([ce()],Yp.prototype,"cellHeight",void 0),e([ce()],Yp.prototype,"widthsInitialized",void 0),Yp=e([le("nile-grid")],Yp);const Zp=r`
13604
13607
  :host {
13605
- display: grid;
13606
- overflow-y: auto;
13607
- overflow-x: visible;
13608
13608
  box-sizing: border-box;
13609
13609
  background-color: var(--nile-colors-white-base);
13610
- height: 100%;
13611
13610
  }
13612
- `;let Ep=class extends Re{static get styles(){return[Sp]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","rowgroup")}render(){return R`
13613
- <div style="display: contents;">
13611
+ `;let Vp=class extends Re{static get styles(){return[Zp]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","rowgroup")}render(){return R`
13612
+ <div part="grid-body-base">
13614
13613
  <slot></slot>
13615
13614
  </div>
13616
- `}};Ep=e([le("nile-grid-body")],Ep);const Qp=r`
13617
- :host {
13615
+ `}};Vp=e([le("nile-grid-body")],Vp);const Wp=r`
13616
+ .row-base {
13617
+ display: grid;
13618
+ grid-template-columns: var(--nile-grid-columns);
13619
+ border-bottom: 1px solid var(--nile-colors-neutral-400);
13620
+ background-color: var(--nile-colors-white-base);
13621
+ position: relative;
13622
+ }
13623
+
13624
+ .row-bg {
13625
+ grid-column: 1 / -1;
13626
+ pointer-events: none;
13627
+ z-index: 0;
13628
+ display: none;
13629
+ }
13630
+
13631
+ .row-slot {
13632
+ grid-column: 1 / -1;
13618
13633
  display: contents;
13634
+ z-index: 1;
13619
13635
  }
13620
13636
 
13621
- ::slotted(nile-grid-header) {
13622
- background-color: var(--nile-colors-neutral-100);
13637
+ :host([disabled]) {
13638
+ background: var(--nile-colors-white-base);
13639
+ border-bottom: 1px solid var(--nile-colors-neutral-400);
13640
+ opacity: 0.3;
13623
13641
  }
13624
13642
 
13625
- .row-layer {
13626
- background-color: var(--row-bg, transparent);
13627
- z-index: 0;
13628
- pointer-events: auto;
13643
+ :host([selected]) {
13644
+ background: var(--nile-colors-primary-100);
13629
13645
  }
13630
- `;let mp=class extends Re{static get styles(){return[Qp]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","row")}render(){return R`
13631
- <div part="row-layer" class="row-layer" data-row-bg></div>
13632
13646
 
13633
- <div style="display: contents;">
13634
- <slot></slot>
13647
+ :host-context(nile-grid-body):host(:last-child) {
13648
+ border-bottom: none;
13649
+ }
13650
+ `;let Pp=class extends Re{constructor(){super(...arguments),this.disabled=!1,this.hover=!1,this.selected=!1}static get styles(){return[Wp]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","row")}render(){return R`
13651
+ <div part="grid-row-base" class="row-base">
13652
+ <div part="row-slot" class="row-slot">
13653
+ <slot></slot>
13654
+ </div>
13655
+ <div part="row-bg" class="row-bg"></div>
13635
13656
  </div>
13636
- `}};mp=e([le("nile-grid-row")],mp);const wp=r`
13657
+ `}};e([ue({type:Boolean,reflect:!0,attribute:!0})],Pp.prototype,"disabled",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],Pp.prototype,"hover",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],Pp.prototype,"selected",void 0),Pp=e([le("nile-grid-row")],Pp);const Rp=r`
13637
13658
  :host {
13638
- --padding: var(--nile-spacing-xl) var(--nile-spacing-3xl);
13659
+ --padding: var(--nile-spacing-lg) var(--nile-spacing-10px);
13660
+ --height: 50px;
13639
13661
  position: relative;
13640
13662
  box-sizing: border-box;
13641
- user-select: none;
13642
13663
  white-space: nowrap;
13643
13664
  width: 100%;
13644
13665
  overflow: hidden;
13645
13666
  text-overflow: ellipsis;
13646
13667
  padding: var(--padding);
13647
13668
  background-color: var(--nile-colors-neutral-100);
13648
- border-bottom: 1px solid var(--nile-colors-neutral-400);
13649
- border-right: 1px solid var(--nile-colors-neutral-400);
13669
+ font-size: var(--nile-font-size-small);
13670
+ font-weight: var(--nile-font-weight-medium);
13671
+ font-family: var(--nile-font-family-sans-serif);
13672
+ min-height: var(--height);
13673
+ display: flex;
13674
+ align-items: center;
13675
+ }
13676
+
13677
+ .head-item-base {
13678
+ width: 100%;
13679
+ overflow: hidden;
13680
+ text-overflow: ellipsis;
13650
13681
  }
13651
13682
 
13652
13683
  ::slotted(*) {
@@ -13655,31 +13686,47 @@ nile-badge::part(content) {
13655
13686
  white-space: nowrap;
13656
13687
  }
13657
13688
 
13689
+ :host(:last-child) .resize-handle {
13690
+ border-right: none;
13691
+ display: none;
13692
+ }
13693
+
13658
13694
  .resize-handle {
13659
13695
  position: absolute;
13660
13696
  top: 0;
13661
13697
  right: 0;
13662
13698
  height: 100%;
13663
- cursor: col-resize;
13699
+ cursor: ew-resize;
13664
13700
  touch-action: none;
13665
13701
  z-index: 1;
13666
13702
  width: 2px;
13667
13703
  border-right: 1px solid var(--nile-colors-neutral-400);
13668
13704
  }
13669
- `;let kp=class extends Re{constructor(){super(...arguments),this.colspan=1,this.rowspan=1,this.scope="col",this.resizable=!1,this.sticky=!1,this.onHandlePointerDown=e=>{const t=this,M={value:0},i={value:0},n=function(e,t,M,i){t.preventDefault(),t.stopPropagation();const n=Number(e.dataset.cStart);if(!n)return null;const o=Number(e.getAttribute("colspan"))||1,r=Math.max(0,n+o-1-1);M.value=t.clientX,i.value=e.getBoundingClientRect().width;const s=t.currentTarget;return s.setPointerCapture(t.pointerId),e.dispatchEvent(new CustomEvent("nile-resize",{detail:{col:r,widthPx:i.value},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("nile-resize-start",{bubbles:!0,composed:!0})),{target:s,col:r}}(t,e,M,i);if(!n)return;const{target:o,col:r}=n,s=e=>function(e,t,M,i,n){const o=Math.max(40,Math.round(M+(n.clientX-i)));e.dispatchEvent(new CustomEvent("nile-resize",{detail:{col:t,widthPx:o},bubbles:!0,composed:!0}))}(t,r,i.value,M.value,e),a=()=>function(e,t,M,i){M.releasePointerCapture(t.pointerId),M.removeEventListener("pointermove",i),e.dispatchEvent(new CustomEvent("nile-resize-end",{bubbles:!0,composed:!0}))}(t,e,o,s);o.addEventListener("pointermove",s),o.addEventListener("pointerup",a,{once:!0}),o.addEventListener("pointercancel",a,{once:!0})}}static get styles(){return[wp]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","row"===this.scope?"rowheader":"columnheader")}updated(e){e.has("scope")&&this.setAttribute("role","row"===this.scope?"rowheader":"columnheader")}disconnectedCallback(){super.disconnectedCallback(),this.removeAttribute("role")}render(){return R`
13670
- <div style="display: contents;">
13705
+
13706
+ :host(.shadow-right) {
13707
+ box-shadow: var(--nile-box-shadow-13);
13708
+ background-color: var(--nile-colors-neutral-100);
13709
+ }
13710
+
13711
+ :host(.shadow-left) {
13712
+ box-shadow: var(--nile-box-shadow-13);
13713
+ background-color: var(--nile-colors-neutral-100);
13714
+ }
13715
+ `;let Gp=class extends Re{constructor(){super(...arguments),this.colspan=1,this.rowspan=1,this.resizable=!1,this.width=null,this.sticky=null,this.onHandlePointerDown=e=>{const t=this,M=this.closest("nile-grid"),i={value:0},n={value:0},o=function(e,t,M,i){t.preventDefault(),t.stopPropagation();const n=Number(e.dataset.cStart);if(!n)return null;const o=Number(e.getAttribute("colspan"))||1,r=Math.max(0,n+o-1-1);M.value=t.clientX,i.value=e.getBoundingClientRect().width;const s=t.currentTarget;return s.setPointerCapture(t.pointerId),e.dispatchEvent(new CustomEvent("nile-column-resize",{detail:{col:r,widthPx:i.value},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("nile-resize-start",{bubbles:!0,composed:!0})),{target:s,col:r}}(t,e,i,n);if(!o)return;const{target:r,col:s}=o,a=e=>function(e,t,M,i,n,o){const r=Math.max(o.minColumnWidth,Math.round(M+(n.clientX-i)));e.dispatchEvent(new CustomEvent("nile-column-resize",{detail:{col:t,widthPx:r},bubbles:!0,composed:!0}))}(t,s,n.value,i.value,e,M),N=()=>function(e,t,M,i){M.releasePointerCapture(t.pointerId),M.removeEventListener("pointermove",i),e.dispatchEvent(new CustomEvent("nile-resize-end",{bubbles:!0,composed:!0}))}(t,e,r,a);r.addEventListener("pointermove",a),r.addEventListener("pointerup",N,{once:!0}),r.addEventListener("pointercancel",N,{once:!0})}}static get styles(){return[Rp]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","row")}disconnectedCallback(){super.disconnectedCallback(),this.removeAttribute("role")}render(){return R`
13716
+ <div part="grid-head-item-base" class="head-item-base">
13671
13717
  <slot></slot>
13672
13718
  ${this.resizable?R`
13673
13719
  <div
13674
13720
  aria-hidden="false"
13675
13721
  class="resize-handle"
13722
+ part="resize-handle"
13676
13723
  @pointerdown=${this.onHandlePointerDown}
13677
13724
  ></div>
13678
13725
  `:null}
13679
13726
  </div>
13680
- `}};e([ue({type:Number,reflect:!0,attribute:!0})],kp.prototype,"colspan",void 0),e([ue({type:Number,reflect:!0,attribute:!0})],kp.prototype,"rowspan",void 0),e([ue({type:String,reflect:!0,attribute:!0})],kp.prototype,"scope",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],kp.prototype,"resizable",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],kp.prototype,"sticky",void 0),kp=e([le("nile-grid-head-item")],kp);const Cp=r`
13727
+ `}};e([ue({type:Number,reflect:!0,attribute:!0})],Gp.prototype,"colspan",void 0),e([ue({type:Number,reflect:!0,attribute:!0})],Gp.prototype,"rowspan",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],Gp.prototype,"resizable",void 0),e([ue({type:String,reflect:!0,attribute:!0})],Gp.prototype,"width",void 0),e([ue({type:String,reflect:!0,attribute:!0})],Gp.prototype,"sticky",void 0),Gp=e([le("nile-grid-head-item")],Gp);const Bp=r`
13681
13728
  :host {
13682
- --padding: var(--nile-spacing-xl) var(--nile-spacing-3xl);
13729
+ --padding: var(--nile-spacing-xl) var(--nile-spacing-10px);
13683
13730
  box-sizing: border-box;
13684
13731
  min-width: 0;
13685
13732
  white-space: nowrap;
@@ -13688,16 +13735,27 @@ nile-badge::part(content) {
13688
13735
  text-overflow: ellipsis;
13689
13736
  padding: var(--padding);
13690
13737
  height: auto;
13691
- border-bottom: 1px solid var(--nile-colors-neutral-400);
13692
- border-right: 1px solid var(--nile-colors-neutral-400);
13693
- position: relative;
13738
+ font-size: 14px;
13739
+ font-weight: 400;
13740
+ font-family: var(--nile-font-weight-regular);
13741
+ min-height: 44px;
13742
+ }
13743
+
13744
+ .cell-item-base {
13745
+ width: 100%;
13746
+ overflow: hidden;
13747
+ text-overflow: ellipsis;
13694
13748
  }
13695
13749
 
13696
13750
  ::slotted(*) {
13697
13751
  overflow: hidden;
13698
13752
  text-overflow: ellipsis;
13699
13753
  white-space: nowrap;
13700
- width: min-content;
13754
+ }
13755
+
13756
+ :host(:last-child) .resize-handle {
13757
+ border-right: none;
13758
+ display: none;
13701
13759
  }
13702
13760
 
13703
13761
  .resize-handle {
@@ -13710,9 +13768,30 @@ nile-badge::part(content) {
13710
13768
  z-index: 1;
13711
13769
  width: 2px;
13712
13770
  border-right: 1px solid var(--nile-colors-neutral-400);
13771
+ display: none;
13772
+ }
13773
+
13774
+ :host(.shadow-right) {
13775
+ box-shadow: var(--nile-box-shadow-14);
13776
+ background-color: #fff;
13777
+ }
13778
+
13779
+ :host(.shadow-left) {
13780
+ box-shadow: var(--nile-box-shadow-14);
13781
+ background-color: #fff;
13782
+ }
13783
+
13784
+ :host-context(nile-grid-row[hover]:hover),
13785
+ :host-context(nile-grid-row[hover]:hover):host([data-sticky]) {
13786
+ background-color: var(--nile-colors-neutral-100);
13787
+ }
13788
+
13789
+ :host-context(nile-grid-row[selected]),
13790
+ :host-context(nile-grid-row[selected]):host([data-sticky]) {
13791
+ background-color: var(--nile-colors-primary-100) !important;
13713
13792
  }
13714
- `;let bp=class extends Re{constructor(){super(...arguments),this.colspan=1,this.rowspan=1,this.resizable=!1,this.textOverflowType="ellipsis",this.onHandlePointerDown=e=>{const t=this,M={value:0},i={value:0},n=function(e,t,M,i){t.preventDefault(),t.stopPropagation();const n=Number(e.dataset.cStart);if(!n)return null;const o=Number(e.getAttribute("colspan"))||1,r=Math.max(0,n+o-1-1);M.value=t.clientX,i.value=e.getBoundingClientRect().width;const s=t.currentTarget;return s.setPointerCapture(t.pointerId),e.dispatchEvent(new CustomEvent("nile-resize",{detail:{col:r,widthPx:i.value},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("nile-resize-start",{bubbles:!0,composed:!0})),{target:s,col:r}}(t,e,M,i);if(!n)return;const{target:o,col:r}=n,s=e=>function(e,t,M,i,n){const o=Math.max(40,Math.round(M+(n.clientX-i)));e.dispatchEvent(new CustomEvent("nile-resize",{detail:{col:t,widthPx:o},bubbles:!0,composed:!0}))}(t,r,i.value,M.value,e),a=()=>function(e,t,M,i){M.releasePointerCapture(t.pointerId),M.removeEventListener("pointermove",i),e.dispatchEvent(new CustomEvent("nile-resize-end",{bubbles:!0,composed:!0}))}(t,e,o,s);o.addEventListener("pointermove",s),o.addEventListener("pointerup",a,{once:!0}),o.addEventListener("pointercancel",a,{once:!0})}}static get styles(){return[Cp]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","cell")}render(){return R`
13715
- <div style="display: contents;">
13793
+ `;let _p=class extends Re{constructor(){super(...arguments),this.colspan=1,this.rowspan=1,this.resizable=!1,this.onHandlePointerDown=e=>{const t=this,M={value:0},i={value:0},n=function(e,t,M,i){t.preventDefault(),t.stopPropagation();const n=Number(e.dataset.cStart);if(!n)return null;const o=Number(e.getAttribute("colspan"))||1,r=Math.max(0,n+o-1-1);M.value=t.clientX,i.value=e.getBoundingClientRect().width;const s=t.currentTarget;return s.setPointerCapture(t.pointerId),e.dispatchEvent(new CustomEvent("nile-resize",{detail:{col:r,widthPx:i.value},bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("nile-resize-start",{bubbles:!0,composed:!0})),{target:s,col:r}}(t,e,M,i);if(!n)return;const{target:o,col:r}=n,s=e=>function(e,t,M,i,n){const o=Math.max(40,Math.round(M+(n.clientX-i)));e.dispatchEvent(new CustomEvent("nile-resize",{detail:{col:t,widthPx:o},bubbles:!0,composed:!0}))}(t,r,i.value,M.value,e),a=()=>function(e,t,M,i){M.releasePointerCapture(t.pointerId),M.removeEventListener("pointermove",i),e.dispatchEvent(new CustomEvent("nile-resize-end",{bubbles:!0,composed:!0}))}(t,e,o,s);o.addEventListener("pointermove",s),o.addEventListener("pointerup",a,{once:!0}),o.addEventListener("pointercancel",a,{once:!0})}}static get styles(){return[Bp]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","cell")}render(){return R`
13794
+ <div class="cell-item-base" part="grid-cell-item-base">
13716
13795
  <slot></slot>
13717
13796
  ${this.resizable?R`
13718
13797
  <div
@@ -13722,17 +13801,17 @@ nile-badge::part(content) {
13722
13801
  ></div>
13723
13802
  `:null}
13724
13803
  </div>
13725
- `}};e([ue({type:Number,reflect:!0,attribute:!0})],bp.prototype,"colspan",void 0),e([ue({type:Number,reflect:!0,attribute:!0})],bp.prototype,"rowspan",void 0),e([ue({type:String,reflect:!0,attribute:!0})],bp.prototype,"align",void 0),e([ue({type:String,reflect:!0,attribute:!0})],bp.prototype,"valign",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],bp.prototype,"resizable",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],bp.prototype,"textOverflowType",void 0),bp=e([le("nile-grid-cell-item")],bp);const Up=r`
13804
+ `}};e([ue({type:Number,reflect:!0,attribute:!0})],_p.prototype,"colspan",void 0),e([ue({type:Number,reflect:!0,attribute:!0})],_p.prototype,"rowspan",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],_p.prototype,"resizable",void 0),_p=e([le("nile-grid-cell-item")],_p);const Fp=r`
13726
13805
  :host([sticky]) {
13727
13806
  position: sticky;
13728
13807
  z-index: 2;
13729
13808
  top: 0;
13730
13809
  }
13731
- `;let fp=class extends Re{static get styles(){return[Up]}render(){return R`
13732
- <div style="display: contents;">
13810
+ `;let Jp=class extends Re{constructor(){super(...arguments),this.sticky=!1}static get styles(){return[Fp]}render(){return R`
13811
+ <div part="grid-head-base">
13733
13812
  <slot></slot>
13734
13813
  </div>
13735
- `}};fp=e([le("nile-grid-head")],fp);let vp=class extends ae{createRenderRoot(){return this}shouldUpdate(){return!1}};vp=e([le("nile-rte-toolbar")],vp);let Yp=class extends ae{constructor(){super(...arguments),this.name="",this.label=""}createRenderRoot(){return this}shouldUpdate(){return!1}};e([ue({type:String,attribute:!0,reflect:!0})],Yp.prototype,"name",void 0),e([ue({type:String,attribute:!0,reflect:!0})],Yp.prototype,"label",void 0),Yp=e([le("nile-rte-toolbar-item")],Yp);const Zp=new Set(["p","h1","h2","h3","h4","h5","h6"]);function Vp(e){return Zp.has(e)}let Wp=class extends ae{constructor(){super(...arguments),this.type="",this.options="[]",this.label="",this.selectedValue=""}createRenderRoot(){return this}mapAlignIcon(e){return{left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify"}[e]||"format_align_left"}get parsedOptions(){const e=this.optionsObj??this.options;let t=(()=>{if(Array.isArray(e))return e;try{return JSON.parse(String(e))}catch{return[]}})();"align"===this.type&&0===t.length&&(t=[{value:"left",label:"Align Left"},{value:"center",label:"Align Center"},{value:"right",label:"Align Right"},{value:"justify",label:"Justify"}]);let M=t.map((e=>{const t=e?.value??e;return{value:t,label:e?.label??e?.value??e,icon:e?.icon??("align"===this.type?this.mapAlignIcon(String(t)):void 0)}}));if("heading"===this.type){M.length;M=M.filter((e=>Vp(e.value))),M.length,this.selectedValue&&!Vp(this.selectedValue)&&(this.selectedValue="")}return M}ensureDefault(){if(!this.selectedValue){const e=this.parsedOptions[0];e&&(this.selectedValue=e.value)}}onSelect(e){"heading"!==this.type||Vp(e)?(this.selectedValue=e,this.dispatchEvent(new CustomEvent("change",{detail:e,bubbles:!0,composed:!0}))):console.warn(`[nile-rte-select] Ignoring invalid heading value: ${e}`)}connectedCallback(){super.connectedCallback(),this.injectLocalStyles()}injectLocalStyles(){if(this.querySelector("style[data-rte-select-style]"))return;const e=document.createElement("style");e.setAttribute("data-rte-select-style","true"),e.textContent="\n nile-menu.rte-align-menu::part(menu__items-wrapper) {\n display: flex;\n }\n nile-menu.rte-align-menu,\n nile-menu.rte-default-menu {\n margin-top: 0px;\n }\n nile-button.rte-align-trigger::part(base),\n nile-button.rte-default-trigger::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n nile-button.rte-align-trigger::part(base) {\n\n border: none;\n}\n\n \n ",this.insertBefore(e,this.firstChild)}render(){const e=this.parsedOptions;this.ensureDefault();const t=e.find((e=>e.value===this.selectedValue));if("align"===this.type){const M=t?.icon?R`<nile-icon name="${t.icon}"></nile-icon>`:this.label||"Align";return R`
13814
+ `}};e([ue({type:Boolean,reflect:!0,attribute:!0})],Jp.prototype,"sticky",void 0),Jp=e([le("nile-grid-head")],Jp);let Hp=class extends ae{createRenderRoot(){return this}shouldUpdate(){return!1}};Hp=e([le("nile-rte-toolbar")],Hp);let $p=class extends ae{constructor(){super(...arguments),this.name="",this.label=""}createRenderRoot(){return this}shouldUpdate(){return!1}};e([ue({type:String,attribute:!0,reflect:!0})],$p.prototype,"name",void 0),e([ue({type:String,attribute:!0,reflect:!0})],$p.prototype,"label",void 0),$p=e([le("nile-rte-toolbar-item")],$p);const Xp=new Set(["p","h1","h2","h3","h4","h5","h6"]);function qp(e){return Xp.has(e)}let Kp=class extends ae{constructor(){super(...arguments),this.type="",this.options="[]",this.label="",this.selectedValue=""}createRenderRoot(){return this}mapAlignIcon(e){return{left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify"}[e]||"format_align_left"}get parsedOptions(){const e=this.optionsObj??this.options;let t=(()=>{if(Array.isArray(e))return e;try{return JSON.parse(String(e))}catch{return[]}})();"align"===this.type&&0===t.length&&(t=[{value:"left",label:"Align Left"},{value:"center",label:"Align Center"},{value:"right",label:"Align Right"},{value:"justify",label:"Justify"}]);let M=t.map((e=>{const t=e?.value??e;return{value:t,label:e?.label??e?.value??e,icon:e?.icon??("align"===this.type?this.mapAlignIcon(String(t)):void 0)}}));if("heading"===this.type){M.length;M=M.filter((e=>qp(e.value))),M.length,this.selectedValue&&!qp(this.selectedValue)&&(this.selectedValue="")}return M}ensureDefault(){if(!this.selectedValue){const e=this.parsedOptions[0];e&&(this.selectedValue=e.value)}}onSelect(e){"heading"!==this.type||qp(e)?(this.selectedValue=e,this.dispatchEvent(new CustomEvent("change",{detail:e,bubbles:!0,composed:!0}))):console.warn(`[nile-rte-select] Ignoring invalid heading value: ${e}`)}connectedCallback(){super.connectedCallback(),this.injectLocalStyles()}injectLocalStyles(){if(this.querySelector("style[data-rte-select-style]"))return;const e=document.createElement("style");e.setAttribute("data-rte-select-style","true"),e.textContent="\n nile-menu.rte-align-menu::part(menu__items-wrapper) {\n display: flex;\n }\n nile-menu.rte-align-menu,\n nile-menu.rte-default-menu {\n margin-top: 0px;\n }\n nile-button.rte-align-trigger::part(base),\n nile-button.rte-default-trigger::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n nile-button.rte-align-trigger::part(base) {\n\n border: none;\n}\n\n \n ",this.insertBefore(e,this.firstChild)}render(){const e=this.parsedOptions;this.ensureDefault();const t=e.find((e=>e.value===this.selectedValue));if("align"===this.type){const M=t?.icon?R`<nile-icon name="${t.icon}"></nile-icon>`:this.label||"Align";return R`
13736
13815
  <nile-dropdown class="rte-align-dd">
13737
13816
  <nile-button
13738
13817
  slot="trigger"
@@ -13797,7 +13876,7 @@ nile-badge::part(content) {
13797
13876
  `))}
13798
13877
  </nile-menu>
13799
13878
  </nile-dropdown>
13800
- `}};e([ue({type:String,attribute:!0,reflect:!0})],Wp.prototype,"type",void 0),e([ue({type:String,attribute:!0,reflect:!0})],Wp.prototype,"options",void 0),e([ue({attribute:!1})],Wp.prototype,"optionsObj",void 0),e([ue({type:String,attribute:!0,reflect:!0})],Wp.prototype,"label",void 0),e([ce()],Wp.prototype,"selectedValue",void 0),Wp=e([le("nile-rte-select")],Wp);let Pp=class extends ae{constructor(){super(...arguments),this.mode="foreColor",this.label="Text Color",this.value="#000000",this.palette=["#000000","#444444","#666666","#999999","#cccccc","#eeeeee","#ffffff","#d32f2f","#f44336","#ff9800","#ffeb3b","#4caf50","#2196f3","#3f51b5","#9c27b0","#03a9f4","#00bcd4","#009688","#8bc34a","#cddc39","#ffc107","#ff5722"],this.recentColors=[],this.pickCustom=()=>this.inputEl.click()}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.injectCss("\n nile-button.rte-color-trigger::part(base){\n width:32px; height:32px; padding:0px 6px;\n }\n\n .glyph-stack { display:grid; align-items:center; justify-items:center; line-height:1; }\n .glyph { font-size:14px; margin-bottom:2px; }\n .underline { width:18px; height:3px; border-radius:2px; }\n .swatch-box { width:18px; height:16px; border-radius:4px; border:1px solid rgba(0,0,0,0.35); }\n\n nile-popover::part(popover) {\n min-width: 225px;\n height: 250px;\n padding: 0px;\n gap: 0px;\n }\n\n .swatch-dropdown {\n height: 245px;\n width: 275px;\n padding: 12px;\n background: #fff;\n border-radius: 8px;\n box-sizing: border-box;\n overflow-y: auto;\n }\n\n .section { margin-bottom: 12px; }\n .title { font-size: 13px; font-weight: 600; margin-bottom: 8px; color:#111; }\n\n .swatches {\n display: grid;\n grid-template-columns: repeat(auto-fill, 24px);\n gap: 8px;\n }\n\n .swatch {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n border: 1px solid rgba(0,0,0,0.25);\n cursor: pointer;\n position: relative;\n background-clip: content-box;\n }\n\n .swatch.add {\n display:flex;\n align-items:center;\n justify-content:center;\n font-weight:bold;\n font-size:16px;\n background:#fff;\n }\n\n .checkmark {\n position: absolute;\n top: 50%; left: 50%;\n transform: translate(-50%,-50%);\n font-size: 13px;\n color: white;\n text-shadow: 0 0 2px rgba(0,0,0,0.6);\n }\n "),this.inputEl=document.createElement("input"),this.inputEl.type="color",this.inputEl.style.position="absolute",this.inputEl.style.opacity="0",this.inputEl.style.pointerEvents="none",this.inputEl.value=this.value,this.appendChild(this.inputEl),this.inputEl.addEventListener("input",(()=>this.setColor(this.inputEl.value)))}injectCss(e){if(this.querySelector("style[data-rte-color-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-color-style","true"),t.textContent=e,this.insertBefore(t,this.firstChild)}setColor(e){this.value=e,this.recentColors=[e,...this.recentColors.filter((t=>t!==e))].slice(0,8),this.dispatchEvent(new CustomEvent("change",{detail:{mode:this.mode,value:e},bubbles:!0,composed:!0}))}render(){return R`
13879
+ `}};e([ue({type:String,attribute:!0,reflect:!0})],Kp.prototype,"type",void 0),e([ue({type:String,attribute:!0,reflect:!0})],Kp.prototype,"options",void 0),e([ue({attribute:!1})],Kp.prototype,"optionsObj",void 0),e([ue({type:String,attribute:!0,reflect:!0})],Kp.prototype,"label",void 0),e([ce()],Kp.prototype,"selectedValue",void 0),Kp=e([le("nile-rte-select")],Kp);let eS=class extends ae{constructor(){super(...arguments),this.mode="foreColor",this.label="Text Color",this.value="#000000",this.palette=["#000000","#444444","#666666","#999999","#cccccc","#eeeeee","#ffffff","#d32f2f","#f44336","#ff9800","#ffeb3b","#4caf50","#2196f3","#3f51b5","#9c27b0","#03a9f4","#00bcd4","#009688","#8bc34a","#cddc39","#ffc107","#ff5722"],this.recentColors=[],this.pickCustom=()=>this.inputEl.click()}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.injectCss("\n nile-button.rte-color-trigger::part(base){\n width:32px; height:32px; padding:0px 6px;\n }\n\n .glyph-stack { display:grid; align-items:center; justify-items:center; line-height:1; }\n .glyph { font-size:14px; margin-bottom:2px; }\n .underline { width:18px; height:3px; border-radius:2px; }\n .swatch-box { width:18px; height:16px; border-radius:4px; border:1px solid rgba(0,0,0,0.35); }\n\n nile-popover::part(popover) {\n min-width: 225px;\n height: 250px;\n padding: 0px;\n gap: 0px;\n }\n\n .swatch-dropdown {\n height: 245px;\n width: 275px;\n padding: 12px;\n background: #fff;\n border-radius: 8px;\n box-sizing: border-box;\n overflow-y: auto;\n }\n\n .section { margin-bottom: 12px; }\n .title { font-size: 13px; font-weight: 600; margin-bottom: 8px; color:#111; }\n\n .swatches {\n display: grid;\n grid-template-columns: repeat(auto-fill, 24px);\n gap: 8px;\n }\n\n .swatch {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n border: 1px solid rgba(0,0,0,0.25);\n cursor: pointer;\n position: relative;\n background-clip: content-box;\n }\n\n .swatch.add {\n display:flex;\n align-items:center;\n justify-content:center;\n font-weight:bold;\n font-size:16px;\n background:#fff;\n }\n\n .checkmark {\n position: absolute;\n top: 50%; left: 50%;\n transform: translate(-50%,-50%);\n font-size: 13px;\n color: white;\n text-shadow: 0 0 2px rgba(0,0,0,0.6);\n }\n "),this.inputEl=document.createElement("input"),this.inputEl.type="color",this.inputEl.style.position="absolute",this.inputEl.style.opacity="0",this.inputEl.style.pointerEvents="none",this.inputEl.value=this.value,this.appendChild(this.inputEl),this.inputEl.addEventListener("input",(()=>this.setColor(this.inputEl.value)))}injectCss(e){if(this.querySelector("style[data-rte-color-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-color-style","true"),t.textContent=e,this.insertBefore(t,this.firstChild)}setColor(e){this.value=e,this.recentColors=[e,...this.recentColors.filter((t=>t!==e))].slice(0,8),this.dispatchEvent(new CustomEvent("change",{detail:{mode:this.mode,value:e},bubbles:!0,composed:!0}))}render(){return R`
13801
13880
  <nile-popover placement="bottom-start" distance="6" .arrow=${!1}>
13802
13881
  <nile-button
13803
13882
  slot="anchor"
@@ -13849,7 +13928,7 @@ nile-badge::part(content) {
13849
13928
  </div>
13850
13929
  </div>
13851
13930
  </nile-popover>
13852
- `}};e([ue({type:String,attribute:!0,reflect:!0})],Pp.prototype,"mode",void 0),e([ue({type:String,attribute:!0,reflect:!0})],Pp.prototype,"label",void 0),e([ue({type:String,attribute:!0,reflect:!0})],Pp.prototype,"value",void 0),e([ue({type:Array,attribute:!0,reflect:!0})],Pp.prototype,"palette",void 0),e([ce()],Pp.prototype,"recentColors",void 0),Pp=e([le("nile-rte-color")],Pp);let Rp=class extends ae{createRenderRoot(){return this}shouldUpdate(){return!1}};Rp=e([le("nile-rte-divider")],Rp);let Gp=class extends ae{createRenderRoot(){return this}shouldUpdate(){return!1}};Gp=e([le("nile-rte-preview")],Gp);let Bp=class extends ae{constructor(){super(...arguments),this.displayFormat=!1,this.mentions={},this.mentionFormat={},this.itemsFormats={},this.mentionColors={},this.externalConfig={},this.itemsConfig={},this.mentionActiveIndex=-1,this.itemsColors={},this.editorEl=null,this.hostEl=null,this.dropdownEl=null,this.menuEl=null,this.lastRange=null,this.mentionOpen=!1,this.mentionTrigger=null,this.mentionQuery="",this.mentionSuggestions=[],this.mentionFiltered=[],this.mentionX=0,this.mentionY=0,this.triggerBtn=null,this.mo=null,this.onSelectionChange=()=>{if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);this.editorEl.contains(t.commonAncestorContainer)&&(this.lastRange=t.cloneRange())},this.saveSelection=()=>{const e=window.getSelection();e&&e.rangeCount&&(this.lastRange=e.getRangeAt(0).cloneRange())},this.onEditorInput=()=>{if(this.mentionOpen)return void this.handleMention();const e=window.getSelection();if(!e||!e.anchorNode)return;let t=e.anchorNode;if(t.nodeType!==Node.TEXT_NODE&&t.firstChild?.nodeType===Node.TEXT_NODE&&(t=t.firstChild),!t||t.nodeType!==Node.TEXT_NODE)return;const M=t.textContent||"",i=this.config;for(const t of Object.keys(i)){const i=M.lastIndexOf(t);if(-1!==i){const M=e.focusOffset;if(M>=i+t.length&&M<=i+t.length+1)return void this.openMention(t)}}},this.onEditorKeyUp=e=>{this.saveSelection();const t=e.key,M=this.config;if(t&&M[t])return this.mentionOpen&&this.mentionTrigger!==t&&this.closeMention(),void this.openMention(t);this.mentionOpen&&this.handleMention()},this.onEditorKeyDown=e=>{if(!this.mentionOpen)return;const t=e.key;if("ArrowDown"===t||"ArrowUp"===t){if(e.preventDefault(),!this.mentionFiltered.length)return;this.mentionActiveIndex="ArrowDown"===t?(this.mentionActiveIndex+1)%this.mentionFiltered.length:(this.mentionActiveIndex-1+this.mentionFiltered.length)%this.mentionFiltered.length,this.renderMentionList()}else"Enter"===t?this.mentionActiveIndex>=0&&this.mentionFiltered[this.mentionActiveIndex]&&(e.preventDefault(),this.selectMention(this.mentionFiltered[this.mentionActiveIndex])):"Escape"===t&&(e.preventDefault(),this.closeMention())},this.repositionMention=()=>{if(!this.mentionOpen||!this.hostEl||!this.triggerBtn)return;const e=this.getCaretClientRect();if(!e)return;const t=this.hostEl.getBoundingClientRect();this.mentionX=e.left-t.left,this.mentionY=e.bottom-t.top,this.triggerBtn.style.left=`${this.mentionX}px`,this.triggerBtn.style.top=`${this.mentionY}px`}}createRenderRoot(){return this}getTriggerFormat(e){const t=this.itemsFormats[e]||{},M=this.mentionFormat[e]||{};return{prefix:t.prefix??M.prefix??"",suffix:t.suffix??M.suffix??""}}formatLabel(e,t){const{prefix:M,suffix:i}=this.getTriggerFormat(e);return`${M??""}${t}${i??""}`}get config(){return{...this.externalConfig,...this.mentions,...this.itemsConfig}}attach(e,t){this.editorEl=e,this.hostEl=t,this.injectStyles(),this.ensureMentionDropdown(),this.rebuildConfigFromChildren(),this.mo=new MutationObserver((()=>this.rebuildConfigFromChildren())),this.mo.observe(this,{childList:!0,subtree:!0,attributes:!0}),this.editorEl.addEventListener("input",this.onEditorInput),this.editorEl.addEventListener("mouseup",this.saveSelection),this.editorEl.addEventListener("keyup",this.onEditorKeyUp),this.editorEl.addEventListener("keydown",this.onEditorKeyDown),this.editorEl.addEventListener("scroll",this.repositionMention),document.addEventListener("selectionchange",this.onSelectionChange,!0)}detach(){this.mo&&(this.mo.disconnect(),this.mo=null),this.editorEl&&(this.editorEl.removeEventListener("input",this.onEditorInput),this.editorEl.removeEventListener("mouseup",this.saveSelection),this.editorEl.removeEventListener("keyup",this.onEditorKeyUp),this.editorEl.removeEventListener("keydown",this.onEditorKeyDown),this.editorEl.removeEventListener("scroll",this.repositionMention)),document.removeEventListener("selectionchange",this.onSelectionChange,!0)}setExternalConfig(e){this.externalConfig=e||{}}disconnectedCallback(){this.detach(),super.disconnectedCallback()}rebuildConfigFromChildren(){const e={},t={},M={},i=Array.from(this.querySelectorAll("nile-rte-mentions-item"));for(const n of i){const i=n.mentionsCharacter??n.getAttribute("mentionscharacter")??"";if(!i||"string"!=typeof i)continue;let o=n.mentionsData??(()=>{const e=n.getAttribute("mentionsdata");if(!e)return null;try{const t=JSON.parse(e);return Array.isArray(t)?t.filter((e=>e&&"string"==typeof e.key&&"string"==typeof e.label)):[]}catch{return[]}})();const r=n.mentionsColor??n.getAttribute("mentionscolor")??"",s=n.mentionsPrefix??n.getAttribute("mentionsprefix")??"",a=n.mentionsSuffix??n.getAttribute("mentionssuffix")??"";Array.isArray(o)||(o=[]),e[i]=o,r&&(t[i]=String(r)),(s||a)&&(M[i]={prefix:s,suffix:a})}this.itemsConfig=e,this.itemsColors=t,this.itemsFormats=M}injectStyles(){if(this.querySelector("style[data-mentions-style]"))return;const e=document.createElement("style");e.setAttribute("data-mentions-style","true"),e.textContent="\n .mention-dropdown {\n position: absolute; z-index: 1000; list-style: none; margin: 0; padding: 4px;\n border: 1px solid #e5e7eb; border-radius: 6px; background: #fff;\n box-shadow: 0 4px 10px rgba(0,0,0,.08); max-height: 180px; overflow: auto; font-size: 14px;\n }\n .mention-dropdown li { padding: 6px 8px; cursor: pointer; border-radius: 4px; }\n .mention-dropdown li:hover { background: #f1f5f9; }\n .mention { background: #eef2ff; padding: 0 3px; border-radius: 3px; }\n nile-menu.mentions-menu::part(menu__items-wrapper){\n max-height: 260px;\n overflow-y: auto;\n }\n .mentions-menu nile-menu-item.active {\n background: #dbeafe; /* highlight */\n outline: none;\n}\n\n\n ",this.insertBefore(e,this.firstChild)}getTriggerColor(e){return this.itemsColors[e]??this.mentionColors[e]}ensureMentionDropdown(){if(this.dropdownEl||!this.hostEl)return;const e=document.createElement("nile-dropdown");e.style.zIndex="1000";const t=document.createElement("nile-button");t.setAttribute("slot","trigger"),t.style.position="absolute",t.style.width="1px",t.style.height="1px",t.style.border="0",t.style.padding="0",t.style.opacity="0",t.style.pointerEvents="none",e.appendChild(t),this.triggerBtn=t;const M=document.createElement("nile-menu");M.classList.add("mentions-menu"),e.appendChild(M),this.hostEl.appendChild(e),this.dropdownEl=e,this.menuEl=M}restoreSelection(){if(!this.lastRange)return;const e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(this.lastRange))}getCaretClientRect(){const e=document.getSelection();if(!e||0===e.rangeCount)return null;const t=e.getRangeAt(0).cloneRange();t.collapse(!1);const M=t.getClientRects();if(M&&M.length>0)return M[0];const i=document.createElement("span");i.setAttribute("data-caret-marker","1"),i.textContent="​",t.insertNode(i);const n=i.getBoundingClientRect(),o=document.createRange();return o.setStartAfter(i),o.collapse(!0),e.removeAllRanges(),e.addRange(o),i.remove(),n||null}openMention(e){if(this.saveSelection(),!this.editorEl||!this.dropdownEl||!this.hostEl)return;const t=this.getCaretClientRect();if(!t)return;const M=this.hostEl.getBoundingClientRect();this.mentionX=t.left-M.left,this.mentionY=t.bottom-M.top,this.mentionTrigger=e,this.mentionSuggestions=this.config[e]||[],this.mentionQuery="",this.updateMentionFiltered(),this.mentionActiveIndex=this.mentionFiltered.length?0:-1,this.mentionOpen=!0,this.renderMentionList(),this.dispatchEvent(new CustomEvent("nile-mention-opened",{detail:{trigger:e,suggestions:this.mentionSuggestions},bubbles:!0,composed:!0}))}closeMention(){this.mentionOpen=!1,this.mentionTrigger=null,this.mentionQuery="",this.mentionFiltered=[],this.dropdownEl?.removeAttribute("open")}handleMention(){if(!this.mentionOpen||!this.mentionTrigger)return;const e=window.getSelection();if(!e||!e.anchorNode)return;let t=e.anchorNode;if(t.nodeType!==Node.TEXT_NODE){const M=t.childNodes?.[e.anchorOffset]||t.firstChild;M?.nodeType===Node.TEXT_NODE&&(t=M)}const M=t&&t.nodeType===Node.TEXT_NODE&&t.textContent||"",i=M.lastIndexOf(this.mentionTrigger);i>=0?(this.mentionQuery=M.substring(i+1),this.updateMentionFiltered(),this.renderMentionList()):this.closeMention()}updateMentionFiltered(){const e=this.mentionQuery.toLowerCase();this.mentionFiltered=(this.mentionSuggestions||[]).filter((t=>t.label.toLowerCase().startsWith(e)))}renderMentionList(){this.dropdownEl&&this.menuEl&&this.triggerBtn&&(this.triggerBtn.style.left=`${this.mentionX}px`,this.triggerBtn.style.top=`${this.mentionY}px`,this.menuEl.innerHTML="",this.mentionOpen&&this.mentionFiltered.length?(this.mentionFiltered.forEach(((e,t)=>{const M=document.createElement("nile-menu-item");M.textContent=e.label,M.setAttribute("role","option"),t===this.mentionActiveIndex?(M.classList.add("active"),M.setAttribute("aria-selected","true")):(M.classList.remove("active"),M.removeAttribute("aria-selected")),M.addEventListener("mouseenter",(()=>{this.mentionActiveIndex=t,this.renderMentionList()})),M.addEventListener("mousedown",(t=>{t.preventDefault(),this.selectMention(e)})),this.menuEl?.appendChild(M)})),this.dropdownEl.setAttribute("open","")):this.dropdownEl.removeAttribute("open"))}selectMention(e){if(this.restoreSelection(),!this.lastRange||!this.mentionTrigger||!this.editorEl)return;const t=this.mentionTrigger;let M=this.lastRange.startContainer,i=this.lastRange.startOffset;if(M.nodeType!==Node.TEXT_NODE){const e=M.childNodes[i];if(e?.nodeType!==Node.TEXT_NODE)return;M=e,i=0}const n=M,o=(n.textContent||"").lastIndexOf(this.mentionTrigger,i);if(o<0)return;const r=o+1+this.mentionQuery.length,s=document.createRange();s.setStart(n,o),s.setEnd(n,r),s.deleteContents();const a=document.createElement("span");a.classList.add("mention");const N=this.getTriggerFormat(this.mentionTrigger);this.displayFormat?a.textContent=`${N.prefix??""}${e.label}${N.suffix??""}`:(a.textContent=`${this.mentionTrigger}${e.label}`,N.prefix&&a.setAttribute("data-mention-prefix",N.prefix),N.suffix&&a.setAttribute("data-mention-suffix",N.suffix)),a.setAttribute("data-mention-key",e.key),a.setAttribute("data-mention-label",e.label),a.setAttribute("data-mention-trigger",this.mentionTrigger);const l=this.getTriggerColor(this.mentionTrigger);l&&(a.style.backgroundColor=l),s.insertNode(a);const g=document.createTextNode(" ");a.after(g);const D=window.getSelection(),u=document.createRange();u.setStartAfter(g),u.collapse(!0),D?.removeAllRanges(),D?.addRange(u),this.lastRange=u.cloneRange(),this.closeMention(),this.dispatchEvent(new CustomEvent("nile-mention-selected",{detail:{trigger:t,key:e.key,label:e.label,prefix:N.prefix??"",suffix:N.suffix??""},bubbles:!0,composed:!0})),this.editorEl.dispatchEvent(new InputEvent("input",{bubbles:!0}))}};e([ue({type:Boolean,attribute:"displayformat",reflect:!0})],Bp.prototype,"displayFormat",void 0),e([ue({attribute:"mentions",converter:{fromAttribute:e=>{try{const t=JSON.parse(e),M={};for(const e of Object.keys(t)){const i=t[e];Array.isArray(i)&&(M[e]=i.filter((e=>e&&"string"==typeof e.key&&"string"==typeof e.label)).map((e=>({key:e.key,label:e.label}))))}return M}catch{return{}}},toAttribute:e=>JSON.stringify(e)}})],Bp.prototype,"mentions",void 0),e([ue({attribute:"mentionformat",converter:{fromAttribute:e=>{try{const t=JSON.parse(e);return t&&"object"==typeof t?t:{}}catch{return{}}},toAttribute:e=>JSON.stringify(e??{})}})],Bp.prototype,"mentionFormat",void 0),e([ce()],Bp.prototype,"itemsFormats",void 0),e([ue({attribute:"mentioncolors",converter:{fromAttribute:e=>{try{const t=JSON.parse(e);return t&&"object"==typeof t?t:{}}catch{return{}}},toAttribute:e=>JSON.stringify(e??{})}})],Bp.prototype,"mentionColors",void 0),e([ce()],Bp.prototype,"externalConfig",void 0),e([ce()],Bp.prototype,"itemsConfig",void 0),e([ce()],Bp.prototype,"mentionActiveIndex",void 0),e([ce()],Bp.prototype,"itemsColors",void 0),Bp=e([le("nile-rte-mentions")],Bp);let _p=class extends ae{constructor(){super(...arguments),this.placeholder="https://",this.linkValue="",this.selectionRange=null}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.injectCss("\n nile-rte-link nile-button.rte-link-trigger::part(base) {\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 6px;\n }\n .link-popup {\n display: flex;\n gap: 6px;\n padding: 6px 8px;\n align-items: center;\n background: white;\n }\n .link-input {\n flex: 1;\n padding: 6px 8px;\n font-size: 14px;\n border: 1px solid #ccc;\n border-radius: 4px;\n }\n nile-popover.rte-link-popover::part(popover) {\n min-width: 250px;\n height: 44px;\n padding: 0px;\n gap: 0px;\n }\n ")}injectCss(e){if(this.querySelector("style[data-rte-link-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-link-style","true"),t.textContent=e,this.insertBefore(t,this.firstChild)}onOpen(){if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;this.selectionRange=e.getRangeAt(0).cloneRange();let t=e.anchorNode,M=null;for(;t&&t!==this.editorEl;){if(t instanceof HTMLAnchorElement){M=t;break}t=t.parentNode}this.linkValue=M?.href||"",setTimeout((()=>{this.querySelector(".link-input")?.focus()}),0)}onApply(){if(!this.editorEl||!this.selectionRange)return;const e=this.linkValue.trim();if(!e)return;const t=document.getSelection();if(!t)return;t.removeAllRanges(),t.addRange(this.selectionRange);let M=this.selectionRange.startContainer,i=null;for(;M&&M!==this.editorEl;){if(M instanceof HTMLAnchorElement){i=M;break}M=M.parentNode}if(i)i.href=e;else{const t=document.createElement("a");if(t.href=e,this.selectionRange.collapsed)t.textContent=e,this.selectionRange.insertNode(t);else try{this.selectionRange.surroundContents(t)}catch{const e=this.selectionRange.extractContents();t.appendChild(e),this.selectionRange.insertNode(t)}}this.emit(e);const n=this.querySelector("nile-popover");n&&(n.isShow=!1)}emit(e){this.dispatchEvent(new CustomEvent("link-changed",{detail:{href:e},bubbles:!0,composed:!0}))}render(){return R`
13931
+ `}};e([ue({type:String,attribute:!0,reflect:!0})],eS.prototype,"mode",void 0),e([ue({type:String,attribute:!0,reflect:!0})],eS.prototype,"label",void 0),e([ue({type:String,attribute:!0,reflect:!0})],eS.prototype,"value",void 0),e([ue({type:Array,attribute:!0,reflect:!0})],eS.prototype,"palette",void 0),e([ce()],eS.prototype,"recentColors",void 0),eS=e([le("nile-rte-color")],eS);let tS=class extends ae{createRenderRoot(){return this}shouldUpdate(){return!1}};tS=e([le("nile-rte-divider")],tS);let MS=class extends ae{createRenderRoot(){return this}shouldUpdate(){return!1}};MS=e([le("nile-rte-preview")],MS);let iS=class extends ae{constructor(){super(...arguments),this.displayFormat=!1,this.mentions={},this.mentionFormat={},this.itemsFormats={},this.mentionColors={},this.externalConfig={},this.itemsConfig={},this.mentionActiveIndex=-1,this.itemsColors={},this.editorEl=null,this.hostEl=null,this.dropdownEl=null,this.menuEl=null,this.lastRange=null,this.mentionOpen=!1,this.mentionTrigger=null,this.mentionQuery="",this.mentionSuggestions=[],this.mentionFiltered=[],this.mentionX=0,this.mentionY=0,this.triggerBtn=null,this.mo=null,this.onSelectionChange=()=>{if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);this.editorEl.contains(t.commonAncestorContainer)&&(this.lastRange=t.cloneRange())},this.saveSelection=()=>{const e=window.getSelection();e&&e.rangeCount&&(this.lastRange=e.getRangeAt(0).cloneRange())},this.onEditorInput=()=>{if(this.mentionOpen)return void this.handleMention();const e=window.getSelection();if(!e||!e.anchorNode)return;let t=e.anchorNode;if(t.nodeType!==Node.TEXT_NODE&&t.firstChild?.nodeType===Node.TEXT_NODE&&(t=t.firstChild),!t||t.nodeType!==Node.TEXT_NODE)return;const M=t.textContent||"",i=this.config;for(const t of Object.keys(i)){const i=M.lastIndexOf(t);if(-1!==i){const M=e.focusOffset;if(M>=i+t.length&&M<=i+t.length+1)return void this.openMention(t)}}},this.onEditorKeyUp=e=>{this.saveSelection();const t=e.key,M=this.config;if(t&&M[t])return this.mentionOpen&&this.mentionTrigger!==t&&this.closeMention(),void this.openMention(t);this.mentionOpen&&this.handleMention()},this.onEditorKeyDown=e=>{if(!this.mentionOpen)return;const t=e.key;if("ArrowDown"===t||"ArrowUp"===t){if(e.preventDefault(),!this.mentionFiltered.length)return;this.mentionActiveIndex="ArrowDown"===t?(this.mentionActiveIndex+1)%this.mentionFiltered.length:(this.mentionActiveIndex-1+this.mentionFiltered.length)%this.mentionFiltered.length,this.renderMentionList()}else"Enter"===t?this.mentionActiveIndex>=0&&this.mentionFiltered[this.mentionActiveIndex]&&(e.preventDefault(),this.selectMention(this.mentionFiltered[this.mentionActiveIndex])):"Escape"===t&&(e.preventDefault(),this.closeMention())},this.repositionMention=()=>{if(!this.mentionOpen||!this.hostEl||!this.triggerBtn)return;const e=this.getCaretClientRect();if(!e)return;const t=this.hostEl.getBoundingClientRect();this.mentionX=e.left-t.left,this.mentionY=e.bottom-t.top,this.triggerBtn.style.left=`${this.mentionX}px`,this.triggerBtn.style.top=`${this.mentionY}px`}}createRenderRoot(){return this}getTriggerFormat(e){const t=this.itemsFormats[e]||{},M=this.mentionFormat[e]||{};return{prefix:t.prefix??M.prefix??"",suffix:t.suffix??M.suffix??""}}formatLabel(e,t){const{prefix:M,suffix:i}=this.getTriggerFormat(e);return`${M??""}${t}${i??""}`}get config(){return{...this.externalConfig,...this.mentions,...this.itemsConfig}}attach(e,t){this.editorEl=e,this.hostEl=t,this.injectStyles(),this.ensureMentionDropdown(),this.rebuildConfigFromChildren(),this.mo=new MutationObserver((()=>this.rebuildConfigFromChildren())),this.mo.observe(this,{childList:!0,subtree:!0,attributes:!0}),this.editorEl.addEventListener("input",this.onEditorInput),this.editorEl.addEventListener("mouseup",this.saveSelection),this.editorEl.addEventListener("keyup",this.onEditorKeyUp),this.editorEl.addEventListener("keydown",this.onEditorKeyDown),this.editorEl.addEventListener("scroll",this.repositionMention),document.addEventListener("selectionchange",this.onSelectionChange,!0)}detach(){this.mo&&(this.mo.disconnect(),this.mo=null),this.editorEl&&(this.editorEl.removeEventListener("input",this.onEditorInput),this.editorEl.removeEventListener("mouseup",this.saveSelection),this.editorEl.removeEventListener("keyup",this.onEditorKeyUp),this.editorEl.removeEventListener("keydown",this.onEditorKeyDown),this.editorEl.removeEventListener("scroll",this.repositionMention)),document.removeEventListener("selectionchange",this.onSelectionChange,!0)}setExternalConfig(e){this.externalConfig=e||{}}disconnectedCallback(){this.detach(),super.disconnectedCallback()}rebuildConfigFromChildren(){const e={},t={},M={},i=Array.from(this.querySelectorAll("nile-rte-mentions-item"));for(const n of i){const i=n.mentionsCharacter??n.getAttribute("mentionscharacter")??"";if(!i||"string"!=typeof i)continue;let o=n.mentionsData??(()=>{const e=n.getAttribute("mentionsdata");if(!e)return null;try{const t=JSON.parse(e);return Array.isArray(t)?t.filter((e=>e&&"string"==typeof e.key&&"string"==typeof e.label)):[]}catch{return[]}})();const r=n.mentionsColor??n.getAttribute("mentionscolor")??"",s=n.mentionsPrefix??n.getAttribute("mentionsprefix")??"",a=n.mentionsSuffix??n.getAttribute("mentionssuffix")??"";Array.isArray(o)||(o=[]),e[i]=o,r&&(t[i]=String(r)),(s||a)&&(M[i]={prefix:s,suffix:a})}this.itemsConfig=e,this.itemsColors=t,this.itemsFormats=M}injectStyles(){if(this.querySelector("style[data-mentions-style]"))return;const e=document.createElement("style");e.setAttribute("data-mentions-style","true"),e.textContent="\n .mention-dropdown {\n position: absolute; z-index: 1000; list-style: none; margin: 0; padding: 4px;\n border: 1px solid #e5e7eb; border-radius: 6px; background: #fff;\n box-shadow: 0 4px 10px rgba(0,0,0,.08); max-height: 180px; overflow: auto; font-size: 14px;\n }\n .mention-dropdown li { padding: 6px 8px; cursor: pointer; border-radius: 4px; }\n .mention-dropdown li:hover { background: #f1f5f9; }\n .mention { background: #eef2ff; padding: 0 3px; border-radius: 3px; }\n nile-menu.mentions-menu::part(menu__items-wrapper){\n max-height: 260px;\n overflow-y: auto;\n }\n .mentions-menu nile-menu-item.active {\n background: #dbeafe; /* highlight */\n outline: none;\n}\n\n\n ",this.insertBefore(e,this.firstChild)}getTriggerColor(e){return this.itemsColors[e]??this.mentionColors[e]}ensureMentionDropdown(){if(this.dropdownEl||!this.hostEl)return;const e=document.createElement("nile-dropdown");e.style.zIndex="1000";const t=document.createElement("nile-button");t.setAttribute("slot","trigger"),t.style.position="absolute",t.style.width="1px",t.style.height="1px",t.style.border="0",t.style.padding="0",t.style.opacity="0",t.style.pointerEvents="none",e.appendChild(t),this.triggerBtn=t;const M=document.createElement("nile-menu");M.classList.add("mentions-menu"),e.appendChild(M),this.hostEl.appendChild(e),this.dropdownEl=e,this.menuEl=M}restoreSelection(){if(!this.lastRange)return;const e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(this.lastRange))}getCaretClientRect(){const e=document.getSelection();if(!e||0===e.rangeCount)return null;const t=e.getRangeAt(0).cloneRange();t.collapse(!1);const M=t.getClientRects();if(M&&M.length>0)return M[0];const i=document.createElement("span");i.setAttribute("data-caret-marker","1"),i.textContent="​",t.insertNode(i);const n=i.getBoundingClientRect(),o=document.createRange();return o.setStartAfter(i),o.collapse(!0),e.removeAllRanges(),e.addRange(o),i.remove(),n||null}openMention(e){if(this.saveSelection(),!this.editorEl||!this.dropdownEl||!this.hostEl)return;const t=this.getCaretClientRect();if(!t)return;const M=this.hostEl.getBoundingClientRect();this.mentionX=t.left-M.left,this.mentionY=t.bottom-M.top,this.mentionTrigger=e,this.mentionSuggestions=this.config[e]||[],this.mentionQuery="",this.updateMentionFiltered(),this.mentionActiveIndex=this.mentionFiltered.length?0:-1,this.mentionOpen=!0,this.renderMentionList(),this.dispatchEvent(new CustomEvent("nile-mention-opened",{detail:{trigger:e,suggestions:this.mentionSuggestions},bubbles:!0,composed:!0}))}closeMention(){this.mentionOpen=!1,this.mentionTrigger=null,this.mentionQuery="",this.mentionFiltered=[],this.dropdownEl?.removeAttribute("open")}handleMention(){if(!this.mentionOpen||!this.mentionTrigger)return;const e=window.getSelection();if(!e||!e.anchorNode)return;let t=e.anchorNode;if(t.nodeType!==Node.TEXT_NODE){const M=t.childNodes?.[e.anchorOffset]||t.firstChild;M?.nodeType===Node.TEXT_NODE&&(t=M)}const M=t&&t.nodeType===Node.TEXT_NODE&&t.textContent||"",i=M.lastIndexOf(this.mentionTrigger);i>=0?(this.mentionQuery=M.substring(i+1),this.updateMentionFiltered(),this.renderMentionList()):this.closeMention()}updateMentionFiltered(){const e=this.mentionQuery.toLowerCase();this.mentionFiltered=(this.mentionSuggestions||[]).filter((t=>t.label.toLowerCase().startsWith(e)))}renderMentionList(){this.dropdownEl&&this.menuEl&&this.triggerBtn&&(this.triggerBtn.style.left=`${this.mentionX}px`,this.triggerBtn.style.top=`${this.mentionY}px`,this.menuEl.innerHTML="",this.mentionOpen&&this.mentionFiltered.length?(this.mentionFiltered.forEach(((e,t)=>{const M=document.createElement("nile-menu-item");M.textContent=e.label,M.setAttribute("role","option"),t===this.mentionActiveIndex?(M.classList.add("active"),M.setAttribute("aria-selected","true")):(M.classList.remove("active"),M.removeAttribute("aria-selected")),M.addEventListener("mouseenter",(()=>{this.mentionActiveIndex=t,this.renderMentionList()})),M.addEventListener("mousedown",(t=>{t.preventDefault(),this.selectMention(e)})),this.menuEl?.appendChild(M)})),this.dropdownEl.setAttribute("open","")):this.dropdownEl.removeAttribute("open"))}selectMention(e){if(this.restoreSelection(),!this.lastRange||!this.mentionTrigger||!this.editorEl)return;const t=this.mentionTrigger;let M=this.lastRange.startContainer,i=this.lastRange.startOffset;if(M.nodeType!==Node.TEXT_NODE){const e=M.childNodes[i];if(e?.nodeType!==Node.TEXT_NODE)return;M=e,i=0}const n=M,o=(n.textContent||"").lastIndexOf(this.mentionTrigger,i);if(o<0)return;const r=o+1+this.mentionQuery.length,s=document.createRange();s.setStart(n,o),s.setEnd(n,r),s.deleteContents();const a=document.createElement("span");a.classList.add("mention");const N=this.getTriggerFormat(this.mentionTrigger);this.displayFormat?a.textContent=`${N.prefix??""}${e.label}${N.suffix??""}`:(a.textContent=`${this.mentionTrigger}${e.label}`,N.prefix&&a.setAttribute("data-mention-prefix",N.prefix),N.suffix&&a.setAttribute("data-mention-suffix",N.suffix)),a.setAttribute("data-mention-key",e.key),a.setAttribute("data-mention-label",e.label),a.setAttribute("data-mention-trigger",this.mentionTrigger);const l=this.getTriggerColor(this.mentionTrigger);l&&(a.style.backgroundColor=l),s.insertNode(a);const g=document.createTextNode(" ");a.after(g);const D=window.getSelection(),u=document.createRange();u.setStartAfter(g),u.collapse(!0),D?.removeAllRanges(),D?.addRange(u),this.lastRange=u.cloneRange(),this.closeMention(),this.dispatchEvent(new CustomEvent("nile-mention-selected",{detail:{trigger:t,key:e.key,label:e.label,prefix:N.prefix??"",suffix:N.suffix??""},bubbles:!0,composed:!0})),this.editorEl.dispatchEvent(new InputEvent("input",{bubbles:!0}))}};e([ue({type:Boolean,attribute:"displayformat",reflect:!0})],iS.prototype,"displayFormat",void 0),e([ue({attribute:"mentions",converter:{fromAttribute:e=>{try{const t=JSON.parse(e),M={};for(const e of Object.keys(t)){const i=t[e];Array.isArray(i)&&(M[e]=i.filter((e=>e&&"string"==typeof e.key&&"string"==typeof e.label)).map((e=>({key:e.key,label:e.label}))))}return M}catch{return{}}},toAttribute:e=>JSON.stringify(e)}})],iS.prototype,"mentions",void 0),e([ue({attribute:"mentionformat",converter:{fromAttribute:e=>{try{const t=JSON.parse(e);return t&&"object"==typeof t?t:{}}catch{return{}}},toAttribute:e=>JSON.stringify(e??{})}})],iS.prototype,"mentionFormat",void 0),e([ce()],iS.prototype,"itemsFormats",void 0),e([ue({attribute:"mentioncolors",converter:{fromAttribute:e=>{try{const t=JSON.parse(e);return t&&"object"==typeof t?t:{}}catch{return{}}},toAttribute:e=>JSON.stringify(e??{})}})],iS.prototype,"mentionColors",void 0),e([ce()],iS.prototype,"externalConfig",void 0),e([ce()],iS.prototype,"itemsConfig",void 0),e([ce()],iS.prototype,"mentionActiveIndex",void 0),e([ce()],iS.prototype,"itemsColors",void 0),iS=e([le("nile-rte-mentions")],iS);let nS=class extends ae{constructor(){super(...arguments),this.placeholder="https://",this.linkValue="",this.selectionRange=null}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.injectCss("\n nile-rte-link nile-button.rte-link-trigger::part(base) {\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 6px;\n }\n .link-popup {\n display: flex;\n gap: 6px;\n padding: 6px 8px;\n align-items: center;\n background: white;\n }\n .link-input {\n flex: 1;\n padding: 6px 8px;\n font-size: 14px;\n border: 1px solid #ccc;\n border-radius: 4px;\n }\n nile-popover.rte-link-popover::part(popover) {\n min-width: 250px;\n height: 44px;\n padding: 0px;\n gap: 0px;\n }\n ")}injectCss(e){if(this.querySelector("style[data-rte-link-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-link-style","true"),t.textContent=e,this.insertBefore(t,this.firstChild)}onOpen(){if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;this.selectionRange=e.getRangeAt(0).cloneRange();let t=e.anchorNode,M=null;for(;t&&t!==this.editorEl;){if(t instanceof HTMLAnchorElement){M=t;break}t=t.parentNode}this.linkValue=M?.href||"",setTimeout((()=>{this.querySelector(".link-input")?.focus()}),0)}onApply(){if(!this.editorEl||!this.selectionRange)return;const e=this.linkValue.trim();if(!e)return;const t=document.getSelection();if(!t)return;t.removeAllRanges(),t.addRange(this.selectionRange);let M=this.selectionRange.startContainer,i=null;for(;M&&M!==this.editorEl;){if(M instanceof HTMLAnchorElement){i=M;break}M=M.parentNode}if(i)i.href=e;else{const t=document.createElement("a");if(t.href=e,this.selectionRange.collapsed)t.textContent=e,this.selectionRange.insertNode(t);else try{this.selectionRange.surroundContents(t)}catch{const e=this.selectionRange.extractContents();t.appendChild(e),this.selectionRange.insertNode(t)}}this.emit(e);const n=this.querySelector("nile-popover");n&&(n.isShow=!1)}emit(e){this.dispatchEvent(new CustomEvent("link-changed",{detail:{href:e},bubbles:!0,composed:!0}))}render(){return R`
13853
13932
  <nile-popover placement="bottom-start" class="rte-link-popover" distance="10" .arrow=${!1}>
13854
13933
  <nile-button class="rte-link-trigger" slot="anchor" variant="tertiary" size="small" @click=${()=>this.onOpen()}>
13855
13934
  <nile-icon name="link_2" aria-label="Insert/Edit Link"></nile-icon>
@@ -13867,7 +13946,7 @@ nile-badge::part(content) {
13867
13946
  <nile-button @click=${()=>this.onApply()}>Apply</nile-button>
13868
13947
  </div>
13869
13948
  </nile-popover>
13870
- `}};function Fp(e,t){for(;e&&e!==t;){if(e instanceof HTMLElement){const t=getComputedStyle(e).display;if(e.tagName.match(/^(P|DIV|H1|H2|H3|H4|H5|H6|LI)$/)||"block"===t||"list-item"===t)return e}e=e?.parentNode||null}return t}function Jp(e,t){const M=window.getSelection();if(!M||0===M.rangeCount)return;const i=M.getRangeAt(0),n=i.commonAncestorContainer,o=[],r=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t=e;return i.intersectsNode(t)&&/^(P|DIV|LI|H[1-6])$/.test(t.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});let s=r.nextNode();for(;s;)o.push(s),s=r.nextNode();if(0===o.length){const t=Fp(M.focusNode,e);t&&o.push(t)}o.forEach((e=>{e.style.textAlign=t}))}function Hp(e,t,M){const i=window.getSelection();if(!i||0===i.rangeCount)return;const n=i.getRangeAt(0),o={strong:["strong","b"],em:["em","i"],u:["u"],span:["span"]}[t]??[t],r=e=>o.includes(e.tagName.toLowerCase());function s(e){const t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}}function a(e){e.querySelectorAll(o.join(",")).forEach((e=>{if(!e.textContent?.trim())return void e.remove();Array.from(e.querySelectorAll(o.join(","))).forEach((t=>{if(t!==e){for(;t.firstChild;)e.insertBefore(t.firstChild,t);t.remove()}}))}))}function N(e){Array.from(e.querySelectorAll(o.join(","))).forEach((e=>{const t=e.nextSibling;if(t instanceof HTMLElement&&r(t)){for(;t.firstChild;)e.appendChild(t.firstChild);t.remove()}}))}if(n.collapsed){let o=!1,l=n.startContainer;for(;l&&l!==e;){if(l instanceof HTMLElement&&r(l)){o=!0;break}l=l.parentNode}if(o&&l instanceof HTMLElement)s(l);else{const e=document.createElement(t);M&&Object.entries(M).forEach((([t,M])=>e.setAttribute(t,M))),e.appendChild(document.createTextNode("​")),n.insertNode(e),n.setStart(e.firstChild,1),n.collapse(!0),i.removeAllRanges(),i.addRange(n)}return a(e),void N(e)}n.startContainer.nodeType===Node.TEXT_NODE&&n.startContainer.splitText(n.startOffset),n.endContainer.nodeType===Node.TEXT_NODE&&n.endContainer.splitText(n.endOffset);const l=document.createTreeWalker(n.commonAncestorContainer,NodeFilter.SHOW_TEXT,{acceptNode:e=>{if(!e.nodeValue?.trim())return NodeFilter.FILTER_REJECT;const t=document.createRange();t.selectNodeContents(e);return n.compareBoundaryPoints(Range.END_TO_START,t)<0&&n.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),g=[];let D;for(;D=l.nextNode();)g.push(D);const u=g.length>0&&g.every((t=>{let M=t;for(;M&&M!==e;){if(M instanceof HTMLElement&&r(M))return!0;M=M.parentNode}return!1}));if(u){const M=g[0],i=g[g.length-1],n=M.parentElement?.closest(t);if(n&&n.contains(i)){const e=n.parentNode;if(e){const o=document.createRange();o.setStartBefore(n),o.setEndBefore(M);const r=o.cloneContents(),s=document.createRange();s.setStartAfter(i),s.setEndAfter(n);const a=s.cloneContents(),N=document.createRange();N.setStartBefore(M),N.setEndAfter(i);const l=N.extractContents(),g=document.createDocumentFragment();if(r.childNodes.length){const e=document.createElement(t);for(;r.firstChild;)e.appendChild(r.firstChild);g.appendChild(e)}for(;l.firstChild;)g.appendChild(l.firstChild);if(a.childNodes.length){const e=document.createElement(t);for(;a.firstChild;)e.appendChild(a.firstChild);g.appendChild(e)}e.insertBefore(g,n),e.removeChild(n)}}else g.forEach((t=>{let M=t;for(;M&&M!==e;){if(M instanceof HTMLElement&&r(M)){s(M);break}M=M.parentNode}}))}else g.forEach((e=>{const i=e.parentElement?.closest("a, .mention, nile-mention");if(i)return;const n=document.createElement(t);M&&Object.entries(M).forEach((([e,t])=>n.setAttribute(e,t))),e.parentNode?.insertBefore(n,e),n.appendChild(e)}));a(e),N(e),i.removeAllRanges(),i.addRange(n)}function $p(e){const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if(!t)return"#000000";return`#${Number(t[1]).toString(16).padStart(2,"0")}${Number(t[2]).toString(16).padStart(2,"0")}${Number(t[3]).toString(16).padStart(2,"0")}`}function Xp(e,t){const M=document.getSelection();if(!M||0===M.rangeCount)return;const i=M.getRangeAt(0);if(i.collapsed){const e=document.createElement("span");e.style.fontFamily=t,e.appendChild(document.createTextNode("​")),i.insertNode(e);const n=document.createRange();return n.setStart(e.firstChild,1),n.collapse(!0),M.removeAllRanges(),void M.addRange(n)}!function(e,t,M){const i=document.createElement(t);M&&Object.entries(M).forEach((([e,t])=>i.setAttribute(e,t)));try{e.surroundContents(i)}catch{const t=e.extractContents();i.appendChild(t),e.insertNode(i)}}(i,"span",{style:`font-family:${t}`})}function qp(e,t,M){for(;t&&t!==e;){if(t instanceof HTMLSpanElement&&t.hasAttribute(M))return t;t=t.parentNode}return null}function Kp(e,t,M,i){const n=window.getSelection();if(!n||0===n.rangeCount)return;const o=n.getRangeAt(0);if(!e.contains(o.commonAncestorContainer))return;const r=o.cloneRange();if(r.collapsed){const o=qp(e,r.startContainer,i);if(o)return o.style[t]=M,void eS(e,i,t);const s=document.createElement("span");s.setAttribute(i,"1"),s.style[t]=M,s.appendChild(document.createTextNode("​")),r.insertNode(s);const a=document.createRange();return a.setStart(s.firstChild,1),a.collapse(!0),n.removeAllRanges(),n.addRange(a),void eS(e,i,t)}const s=qp(e,r.startContainer,i),a=qp(e,r.endContainer,i);if(s&&s===a){if(function(e,t){const M=document.createRange();return M.selectNodeContents(t),e.compareBoundaryPoints(Range.START_TO_START,M)<=0&&e.compareBoundaryPoints(Range.END_TO_END,M)>=0}(r,s))s.style[t]=M;else{const e=function(e,t,M,i,n){const o=e.style[i],r=document.createRange();r.setStart(e,0),r.setEnd(t.startContainer,t.startOffset);const s=document.createRange();s.setStart(t.endContainer,t.endOffset),s.setEnd(e,e.childNodes.length);const a=document.createDocumentFragment(),N=e=>{const t=document.createElement("span");return t.setAttribute(M,"1"),t.style[i]=e,t};if(tS(r)){const e=N(o);e.appendChild(r.cloneContents()),a.appendChild(e)}const l=N(n);if(l.appendChild(t.cloneContents()),a.appendChild(l),tS(s)){const e=N(o);e.appendChild(s.cloneContents()),a.appendChild(e)}return e.replaceWith(a),l}(s,r,i,t,M),n=window.getSelection(),o=document.createRange();o.selectNodeContents(e),n?.removeAllRanges(),n?.addRange(o)}return void eS(e,i,t)}const N=(()=>{let e=r.commonAncestorContainer;for(;e&&!(e instanceof HTMLElement);)e=e.parentNode;return e})(),l=document.createTreeWalker(N||e,NodeFilter.SHOW_TEXT,{acceptNode:e=>{if(!e.nodeValue||!e.nodeValue.trim())return NodeFilter.FILTER_REJECT;const t=document.createRange();t.selectNodeContents(e);return r.compareBoundaryPoints(Range.END_TO_START,t)<0&&r.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),g=[];let D;for(;D=l.nextNode();)g.push(D);g.forEach((n=>{let o=0,s=n.length;n===r.startContainer&&(o=r.startOffset),n===r.endContainer&&(s=r.endOffset),o>0&&(n=n.splitText(o)),s<n.length&&n.splitText(s);const a=qp(e,n,i);if(a)return void(a.style[t]=M);const N=document.createElement("span");N.setAttribute(i,"1"),N.style[t]=M;n.parentElement.replaceChild(N,n),N.appendChild(n)})),eS(e,i,t),n.removeAllRanges(),n.addRange(r)}function eS(e,t,M){const i=Array.from(e.querySelectorAll(`span[${t}]`)),n=e=>e.style[M];i.forEach((e=>{Array.from(e.querySelectorAll(`span[${t}]`)).forEach((t=>{if(n(t)===n(e)){for(;t.firstChild;)e.insertBefore(t.firstChild,t);t.remove()}}));const M=e.previousSibling;if(M instanceof HTMLSpanElement&&M.hasAttribute(t)&&n(M)===n(e)){for(;e.firstChild;)M.appendChild(e.firstChild);return void e.remove()}const i=e.nextSibling;if(i instanceof HTMLSpanElement&&i.hasAttribute(t)&&n(i)===n(e)){for(;i.firstChild;)e.appendChild(i.firstChild);i.remove()}}))}function tS(e){if(e.collapsed)return!1;return(e.cloneContents().textContent||"").length>0}function MS(e,t){const M=document.getSelection();if(!M||0===M.rangeCount)return;const i=M.getRangeAt(0);function n(e){e.style.paddingInlineStart="0",e.style.margin="0"}function o(e){const t=document.getSelection();if(!t)return;const M=document.createRange();M.selectNodeContents(e),M.collapse(!0),t.removeAllRanges(),t.addRange(M)}function r(t){for(;t&&t!==e;){if(t instanceof HTMLElement){const e=getComputedStyle(t).display;if(t.tagName.match(/^(P|DIV|H[1-6]|LI)$/)||"block"===e||"list-item"===e)return t}t=t.parentNode}return null}function s(e,t){const M=document.createElement(t);for(n(M);e.firstChild;)M.appendChild(e.firstChild);e.replaceWith(M)}if(i.collapsed){const M=r(i.startContainer),N=M?.closest("ul,ol");if(N&&N.tagName.toLowerCase()===t)return void function(e){const t=e.closest("li");if(!t)return;const M=t.parentElement,i=document.createElement("p");for(t.style.textAlign&&(i.style.textAlign=t.style.textAlign);t.firstChild;)i.appendChild(t.firstChild);M.parentNode?.insertBefore(i,M.nextSibling),t.remove(),0===M.childNodes.length&&M.remove(),o(i)}(M);if(N&&N.tagName.toLowerCase()!==t)return void s(N,t);if(!M||M===e||0===M.childNodes.length||(a=M,!a.textContent?.trim()&&!a.querySelector("img,br"))){const e=document.createElement(t),M=document.createElement("li");return M.appendChild(document.createElement("br")),e.appendChild(M),n(e),i.insertNode(e),void o(M)}const l=document.createElement(t);n(l);const g=document.createElement("li");for(M.style.textAlign&&(g.style.textAlign=M.style.textAlign);M.firstChild;)g.appendChild(M.firstChild);return l.appendChild(g),M.replaceWith(l),void o(g)}var a;const N=[],l=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{if(!(e instanceof HTMLElement))return NodeFilter.FILTER_SKIP;if(!/^(P|DIV|LI|H[1-6])$/.test(e.tagName))return NodeFilter.FILTER_SKIP;const t=document.createRange();t.selectNodeContents(e);return i.compareBoundaryPoints(Range.END_TO_START,t)<0&&i.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}});let g;for(;g=l.nextNode();)N.push(g);if(0===N.length){const e=r(i.startContainer);e&&N.push(e)}const D=N[0].closest("li");if(D){const e=D.closest("ul,ol");if(!e)return;return void(e.tagName.toLowerCase()===t?function(e){const t=document.createDocumentFragment();Array.from(e.querySelectorAll("li")).forEach((e=>{const M=document.createElement("p");for(e.style.textAlign&&(M.style.textAlign=e.style.textAlign);e.firstChild;)M.appendChild(e.firstChild);t.appendChild(M)})),e.replaceWith(t)}(e):s(e,t))}const u=document.createElement(t);n(u);for(const e of N){const t=document.createElement("li");for(e.style.textAlign&&(t.style.textAlign=e.style.textAlign);e.firstChild;)t.appendChild(e.firstChild);u.appendChild(t)}N[0].replaceWith(u);for(let e=1;e<N.length;e++)N[e].remove()}e([ue({attribute:!1})],_p.prototype,"editorEl",void 0),e([ue({type:String})],_p.prototype,"placeholder",void 0),e([ce()],_p.prototype,"linkValue",void 0),_p=e([le("nile-rte-link")],_p);const iS=r`
13949
+ `}};function oS(e,t){for(;e&&e!==t;){if(e instanceof HTMLElement){const t=getComputedStyle(e).display;if(e.tagName.match(/^(P|DIV|H1|H2|H3|H4|H5|H6|LI)$/)||"block"===t||"list-item"===t)return e}e=e?.parentNode||null}return t}function rS(e,t){const M=window.getSelection();if(!M||0===M.rangeCount)return;const i=M.getRangeAt(0),n=i.commonAncestorContainer,o=[],r=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t=e;return i.intersectsNode(t)&&/^(P|DIV|LI|H[1-6])$/.test(t.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});let s=r.nextNode();for(;s;)o.push(s),s=r.nextNode();if(0===o.length){const t=oS(M.focusNode,e);t&&o.push(t)}o.forEach((e=>{e.style.textAlign=t}))}function sS(e,t,M){const i=window.getSelection();if(!i||0===i.rangeCount)return;const n=i.getRangeAt(0),o={strong:["strong","b"],em:["em","i"],u:["u"],span:["span"]}[t]??[t],r=e=>o.includes(e.tagName.toLowerCase());function s(e){const t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}}function a(e){e.querySelectorAll(o.join(",")).forEach((e=>{if(!e.textContent?.trim())return void e.remove();Array.from(e.querySelectorAll(o.join(","))).forEach((t=>{if(t!==e){for(;t.firstChild;)e.insertBefore(t.firstChild,t);t.remove()}}))}))}function N(e){Array.from(e.querySelectorAll(o.join(","))).forEach((e=>{const t=e.nextSibling;if(t instanceof HTMLElement&&r(t)){for(;t.firstChild;)e.appendChild(t.firstChild);t.remove()}}))}if(n.collapsed){let o=!1,l=n.startContainer;for(;l&&l!==e;){if(l instanceof HTMLElement&&r(l)){o=!0;break}l=l.parentNode}if(o&&l instanceof HTMLElement)s(l);else{const e=document.createElement(t);M&&Object.entries(M).forEach((([t,M])=>e.setAttribute(t,M))),e.appendChild(document.createTextNode("​")),n.insertNode(e),n.setStart(e.firstChild,1),n.collapse(!0),i.removeAllRanges(),i.addRange(n)}return a(e),void N(e)}n.startContainer.nodeType===Node.TEXT_NODE&&n.startContainer.splitText(n.startOffset),n.endContainer.nodeType===Node.TEXT_NODE&&n.endContainer.splitText(n.endOffset);const l=document.createTreeWalker(n.commonAncestorContainer,NodeFilter.SHOW_TEXT,{acceptNode:e=>{if(!e.nodeValue?.trim())return NodeFilter.FILTER_REJECT;const t=document.createRange();t.selectNodeContents(e);return n.compareBoundaryPoints(Range.END_TO_START,t)<0&&n.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),g=[];let D;for(;D=l.nextNode();)g.push(D);const u=g.length>0&&g.every((t=>{let M=t;for(;M&&M!==e;){if(M instanceof HTMLElement&&r(M))return!0;M=M.parentNode}return!1}));if(u){const M=g[0],i=g[g.length-1],n=M.parentElement?.closest(t);if(n&&n.contains(i)){const e=n.parentNode;if(e){const o=document.createRange();o.setStartBefore(n),o.setEndBefore(M);const r=o.cloneContents(),s=document.createRange();s.setStartAfter(i),s.setEndAfter(n);const a=s.cloneContents(),N=document.createRange();N.setStartBefore(M),N.setEndAfter(i);const l=N.extractContents(),g=document.createDocumentFragment();if(r.childNodes.length){const e=document.createElement(t);for(;r.firstChild;)e.appendChild(r.firstChild);g.appendChild(e)}for(;l.firstChild;)g.appendChild(l.firstChild);if(a.childNodes.length){const e=document.createElement(t);for(;a.firstChild;)e.appendChild(a.firstChild);g.appendChild(e)}e.insertBefore(g,n),e.removeChild(n)}}else g.forEach((t=>{let M=t;for(;M&&M!==e;){if(M instanceof HTMLElement&&r(M)){s(M);break}M=M.parentNode}}))}else g.forEach((e=>{const i=e.parentElement?.closest("a, .mention, nile-mention");if(i)return;const n=document.createElement(t);M&&Object.entries(M).forEach((([e,t])=>n.setAttribute(e,t))),e.parentNode?.insertBefore(n,e),n.appendChild(e)}));a(e),N(e),i.removeAllRanges(),i.addRange(n)}function aS(e){const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if(!t)return"#000000";return`#${Number(t[1]).toString(16).padStart(2,"0")}${Number(t[2]).toString(16).padStart(2,"0")}${Number(t[3]).toString(16).padStart(2,"0")}`}function NS(e,t){const M=document.getSelection();if(!M||0===M.rangeCount)return;const i=M.getRangeAt(0);if(i.collapsed){const e=document.createElement("span");e.style.fontFamily=t,e.appendChild(document.createTextNode("​")),i.insertNode(e);const n=document.createRange();return n.setStart(e.firstChild,1),n.collapse(!0),M.removeAllRanges(),void M.addRange(n)}!function(e,t,M){const i=document.createElement(t);M&&Object.entries(M).forEach((([e,t])=>i.setAttribute(e,t)));try{e.surroundContents(i)}catch{const t=e.extractContents();i.appendChild(t),e.insertNode(i)}}(i,"span",{style:`font-family:${t}`})}function lS(e,t,M){for(;t&&t!==e;){if(t instanceof HTMLSpanElement&&t.hasAttribute(M))return t;t=t.parentNode}return null}function gS(e,t,M,i){const n=window.getSelection();if(!n||0===n.rangeCount)return;const o=n.getRangeAt(0);if(!e.contains(o.commonAncestorContainer))return;const r=o.cloneRange();if(r.collapsed){const o=lS(e,r.startContainer,i);if(o)return o.style[t]=M,void DS(e,i,t);const s=document.createElement("span");s.setAttribute(i,"1"),s.style[t]=M,s.appendChild(document.createTextNode("​")),r.insertNode(s);const a=document.createRange();return a.setStart(s.firstChild,1),a.collapse(!0),n.removeAllRanges(),n.addRange(a),void DS(e,i,t)}const s=lS(e,r.startContainer,i),a=lS(e,r.endContainer,i);if(s&&s===a){if(function(e,t){const M=document.createRange();return M.selectNodeContents(t),e.compareBoundaryPoints(Range.START_TO_START,M)<=0&&e.compareBoundaryPoints(Range.END_TO_END,M)>=0}(r,s))s.style[t]=M;else{const e=function(e,t,M,i,n){const o=e.style[i],r=document.createRange();r.setStart(e,0),r.setEnd(t.startContainer,t.startOffset);const s=document.createRange();s.setStart(t.endContainer,t.endOffset),s.setEnd(e,e.childNodes.length);const a=document.createDocumentFragment(),N=e=>{const t=document.createElement("span");return t.setAttribute(M,"1"),t.style[i]=e,t};if(uS(r)){const e=N(o);e.appendChild(r.cloneContents()),a.appendChild(e)}const l=N(n);if(l.appendChild(t.cloneContents()),a.appendChild(l),uS(s)){const e=N(o);e.appendChild(s.cloneContents()),a.appendChild(e)}return e.replaceWith(a),l}(s,r,i,t,M),n=window.getSelection(),o=document.createRange();o.selectNodeContents(e),n?.removeAllRanges(),n?.addRange(o)}return void DS(e,i,t)}const N=(()=>{let e=r.commonAncestorContainer;for(;e&&!(e instanceof HTMLElement);)e=e.parentNode;return e})(),l=document.createTreeWalker(N||e,NodeFilter.SHOW_TEXT,{acceptNode:e=>{if(!e.nodeValue||!e.nodeValue.trim())return NodeFilter.FILTER_REJECT;const t=document.createRange();t.selectNodeContents(e);return r.compareBoundaryPoints(Range.END_TO_START,t)<0&&r.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),g=[];let D;for(;D=l.nextNode();)g.push(D);g.forEach((n=>{let o=0,s=n.length;n===r.startContainer&&(o=r.startOffset),n===r.endContainer&&(s=r.endOffset),o>0&&(n=n.splitText(o)),s<n.length&&n.splitText(s);const a=lS(e,n,i);if(a)return void(a.style[t]=M);const N=document.createElement("span");N.setAttribute(i,"1"),N.style[t]=M;n.parentElement.replaceChild(N,n),N.appendChild(n)})),DS(e,i,t),n.removeAllRanges(),n.addRange(r)}function DS(e,t,M){const i=Array.from(e.querySelectorAll(`span[${t}]`)),n=e=>e.style[M];i.forEach((e=>{Array.from(e.querySelectorAll(`span[${t}]`)).forEach((t=>{if(n(t)===n(e)){for(;t.firstChild;)e.insertBefore(t.firstChild,t);t.remove()}}));const M=e.previousSibling;if(M instanceof HTMLSpanElement&&M.hasAttribute(t)&&n(M)===n(e)){for(;e.firstChild;)M.appendChild(e.firstChild);return void e.remove()}const i=e.nextSibling;if(i instanceof HTMLSpanElement&&i.hasAttribute(t)&&n(i)===n(e)){for(;i.firstChild;)e.appendChild(i.firstChild);i.remove()}}))}function uS(e){if(e.collapsed)return!1;return(e.cloneContents().textContent||"").length>0}function cS(e,t){const M=document.getSelection();if(!M||0===M.rangeCount)return;const i=M.getRangeAt(0);function n(e){e.style.paddingInlineStart="0",e.style.margin="0"}function o(e){const t=document.getSelection();if(!t)return;const M=document.createRange();M.selectNodeContents(e),M.collapse(!0),t.removeAllRanges(),t.addRange(M)}function r(t){for(;t&&t!==e;){if(t instanceof HTMLElement){const e=getComputedStyle(t).display;if(t.tagName.match(/^(P|DIV|H[1-6]|LI)$/)||"block"===e||"list-item"===e)return t}t=t.parentNode}return null}function s(e,t){const M=document.createElement(t);for(n(M);e.firstChild;)M.appendChild(e.firstChild);e.replaceWith(M)}if(i.collapsed){const M=r(i.startContainer),N=M?.closest("ul,ol");if(N&&N.tagName.toLowerCase()===t)return void function(e){const t=e.closest("li");if(!t)return;const M=t.parentElement,i=document.createElement("p");for(t.style.textAlign&&(i.style.textAlign=t.style.textAlign);t.firstChild;)i.appendChild(t.firstChild);M.parentNode?.insertBefore(i,M.nextSibling),t.remove(),0===M.childNodes.length&&M.remove(),o(i)}(M);if(N&&N.tagName.toLowerCase()!==t)return void s(N,t);if(!M||M===e||0===M.childNodes.length||(a=M,!a.textContent?.trim()&&!a.querySelector("img,br"))){const e=document.createElement(t),M=document.createElement("li");return M.appendChild(document.createElement("br")),e.appendChild(M),n(e),i.insertNode(e),void o(M)}const l=document.createElement(t);n(l);const g=document.createElement("li");for(M.style.textAlign&&(g.style.textAlign=M.style.textAlign);M.firstChild;)g.appendChild(M.firstChild);return l.appendChild(g),M.replaceWith(l),void o(g)}var a;const N=[],l=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{if(!(e instanceof HTMLElement))return NodeFilter.FILTER_SKIP;if(!/^(P|DIV|LI|H[1-6])$/.test(e.tagName))return NodeFilter.FILTER_SKIP;const t=document.createRange();t.selectNodeContents(e);return i.compareBoundaryPoints(Range.END_TO_START,t)<0&&i.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}});let g;for(;g=l.nextNode();)N.push(g);if(0===N.length){const e=r(i.startContainer);e&&N.push(e)}const D=N[0].closest("li");if(D){const e=D.closest("ul,ol");if(!e)return;return void(e.tagName.toLowerCase()===t?function(e){const t=document.createDocumentFragment();Array.from(e.querySelectorAll("li")).forEach((e=>{const M=document.createElement("p");for(e.style.textAlign&&(M.style.textAlign=e.style.textAlign);e.firstChild;)M.appendChild(e.firstChild);t.appendChild(M)})),e.replaceWith(t)}(e):s(e,t))}const u=document.createElement(t);n(u);for(const e of N){const t=document.createElement("li");for(e.style.textAlign&&(t.style.textAlign=e.style.textAlign);e.firstChild;)t.appendChild(e.firstChild);u.appendChild(t)}N[0].replaceWith(u);for(let e=1;e<N.length;e++)N[e].remove()}e([ue({attribute:!1})],nS.prototype,"editorEl",void 0),e([ue({type:String})],nS.prototype,"placeholder",void 0),e([ce()],nS.prototype,"linkValue",void 0),nS=e([le("nile-rte-link")],nS);const jS=r`
13871
13950
  .editor { all: revert; }
13872
13951
 
13873
13952
  nile-rich-text-editor {
@@ -14015,7 +14094,7 @@ nile-rte-toolbar-item nile-button[data-active]::part(base):hover {
14015
14094
 
14016
14095
 
14017
14096
 
14018
- `,nS={bold:"format_bold",italic:"format_italic",underline:"format_underline",link:"link_2",left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify",ul:"format_list_bulleted",ol:"format_list_numbered",clear:"format_clear"};let oS=class extends ae{constructor(){super(...arguments),this.value="",this.noStyles=!1,this.singleLineEditor=!1,this.mentions={},this.content="",this.previewEl=null,this.toolbarEl=null,this.lastRange=null,this.buttonMap=new Map,this.headingSelect=null,this.fontSelect=null,this.colorInput=null,this.bgColorInput=null,this.colorSwatchEl=null,this.bgSwatchEl=null,this.containerEl=null,this.mentionsEl=null,this.onEditorKeydown=e=>{if(this.singleLineEditor&&"Enter"===e.key&&e.shiftKey)return void e.preventDefault();if(e.ctrlKey&&"i"===e.key.toLowerCase()&&(e.preventDefault(),Hp(this.editorEl,"em"),this.updateContent(),this.updateToolbarState()),this.singleLineEditor&&"Enter"===e.key)return void e.preventDefault();if("Tab"!==e.key)return;e.preventDefault(),this.focusAndRestore();const t=window.getSelection();if(!t||0===t.rangeCount)return;const M=t.getRangeAt(0);if(e.shiftKey){if(M.collapsed&&M.startContainer.nodeType===Node.TEXT_NODE){const e=M.startContainer,i=M.startOffset,n=e.data.slice(0,i),o=n.replace(/(\t|[ \u00a0]{2})$/,"");if(o.length!==n.length){e.data=o+e.data.slice(i);const M=document.createRange();M.setStart(e,o.length),M.collapse(!0),t.removeAllRanges(),t.addRange(M),this.updateContent(),this.updateToolbarState()}}return}M.deleteContents();const i=document.createTextNode("\t");M.insertNode(i);const n=document.createRange();n.setStartAfter(i),n.collapse(!0),t.removeAllRanges(),t.addRange(n),this.updateContent(),this.updateToolbarState()},this.onSelectionChange=()=>{if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);this.editorEl.contains(t.commonAncestorContainer)&&(this.lastRange=t.cloneRange(),this.updateToolbarState())}}createRenderRoot(){return this}injectCss(e){if(this.querySelector("style[data-rte-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-style","true"),t.textContent=e,this.insertBefore(t,this.firstChild)}connectedCallback(){super.connectedCallback(),this.injectCss(iS.cssText),this.ensureStructure(),this.value&&!this.editorEl.innerHTML.trim()&&(this.editorEl.innerHTML=this.value),this.content=this.editorEl.innerHTML,this.toolbarEl&&this.wireAuthoredToolbar(this.toolbarEl),this.mentionsEl=this.querySelector("nile-rte-mentions"),this.mentionsEl&&(this.mentionsEl.attach?.(this.editorEl,this),this.mentionsEl.setExternalConfig?.(this.mentions)),this.wireEditor(),document.addEventListener("selectionchange",this.onSelectionChange,{passive:!0}),this.updateToolbarState(),this.syncPreview()}ensureStructure(){this.toolbarEl=this.querySelector("nile-rte-toolbar"),this.previewEl=this.querySelector("nile-rte-preview"),this.containerEl=this.querySelector(".rte-container"),this.containerEl||(this.containerEl=document.createElement("div"),this.containerEl.className="rte-container",this.appendChild(this.containerEl)),this.ensureEditor(),this.toolbarEl&&this.toolbarEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.toolbarEl),this.editorEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.editorEl),this.previewEl&&(this.previewEl.parentElement!==this&&this.appendChild(this.previewEl),this.previewEl.previousElementSibling!==this.containerEl&&this.insertBefore(this.previewEl,this.containerEl.nextSibling))}updateContentWithMention(e){this.updateContent(),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content,mention:e},bubbles:!0,composed:!0}))}disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),super.disconnectedCallback()}updated(e){e.has("value")&&this.editorEl&&this.value!==this.editorEl.innerHTML&&(this.editorEl.innerHTML=this.value||"<p><br></p>",this.content=this.editorEl.innerHTML,this.syncPreview()),e.has("singleLineEditor")&&(this.editorEl&&this.editorEl.classList.toggle("single-line",this.singleLineEditor),this.previewEl&&this.previewEl.classList.toggle("single-line",this.singleLineEditor))}ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){const e=document.createElement("article");e.className="editor",e.setAttribute("contenteditable","true"),this.editorEl=e}this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>")}unwrapMention(e,t=!0){const M=e.parentNode;if(!M)return;const i=t?(e.textContent??"").replace(/\u200B/g,""):"",n=document.createTextNode(i);M.insertBefore(n,e),M.removeChild(e);const o=document.createRange();o.setStartAfter(n),o.collapse(!0);const r=window.getSelection();r?.removeAllRanges(),r?.addRange(o)}scrubBrokenMentions(){if(!this.editorEl)return;this.editorEl.querySelectorAll("span.mention").forEach((e=>{const t=e,M=t.getAttribute("data-mention-key"),i=t.getAttribute("data-mention-label"),n=t.getAttribute("data-mention-trigger")||"",o=(t.textContent??"").replace(/\u200B/g,"").trim(),r=!!M&&!!i&&o.length>0&&o.startsWith(n)&&o.includes(i);o&&r||this.unwrapMention(t,!0)}))}wireEditor(){this.editorEl.addEventListener("input",(()=>{this.ensureAtLeastOneParagraph(),this.scrubBrokenMentions(),this.updateContent(),this.updateToolbarState()})),this.editorEl.addEventListener("mouseup",(()=>{this.saveSelection(),this.updateToolbarState()})),this.editorEl.addEventListener("keyup",(e=>{this.saveSelection(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)&&this.updateToolbarState()})),this.editorEl.addEventListener("keydown",this.onEditorKeydown)}wireAuthoredToolbar(e){this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(e.children).forEach((e=>{const t=e.tagName.toLowerCase();if("nile-rte-select"!==t||"align"!==e.getAttribute("type")){if("nile-rte-link"===t)return e.editorEl=this.editorEl,void e.addEventListener("link-changed",(()=>{this.updateContent(),this.updateToolbarState()}));if("nile-rte-toolbar-item"===t){let t=e.querySelector(":scope > nile-button");const M=e.getAttribute("name")||"",i=e.getAttribute("label")||M,n=e.getAttribute("icon"),o=e.innerHTML.trim().length>0;if(t||(t=document.createElement("nile-button"),t.variant="tertiary",t.size="small"),n)t.innerHTML=`<nile-icon name="${n}" aria-label="${i}"></nile-icon>`,e.innerHTML="";else if(o)t.innerHTML=e.innerHTML,e.innerHTML="";else{const n=nS[M];n?t.innerHTML=`<nile-icon name="${n}" size="20" color="black" aria-label="${i}"></nile-icon>`:t.textContent=i||M,e.innerHTML=""}if(!t.isConnected){const M=document.createElement("nile-tooltip");M.setAttribute("content",i),M.appendChild(t),e.appendChild(M)}t.setAttribute("aria-label",i),t.addEventListener("mousedown",(e=>e.preventDefault())),t.addEventListener("click",(()=>this.onToolbarCommand(M)));const r=this.buttonMap.get(M)??[];return r.push(t),void this.buttonMap.set(M,r)}if("nile-rte-select"!==t)"nile-rte-color"!==t||e.addEventListener("change",(e=>{this.focusAndRestore();const{mode:t,value:M}=e.detail;"backColor"===t?Kp(this.editorEl,"backgroundColor",M,"data-rte-bg"):function(e,t){Kp(e,"color",t,"data-rte-color")}(this.editorEl,M),this.updateContent(),this.updateToolbarState()}));else{const t=e.getAttribute("type")||"";e.addEventListener("change",(e=>{this.focusAndRestore();const M=e.detail;"heading"===t?function(e,t){const M=document.getSelection();if(!M||0===M.rangeCount)return;const i=Fp(M.getRangeAt(0).startContainer,e);if(!i)return;if(i.tagName.toLowerCase()===t)return;const n=document.createElement(t);for(;i.firstChild;)n.appendChild(i.firstChild);i.replaceWith(n);const o=document.createRange();o.selectNodeContents(n),o.collapse(!0),M.removeAllRanges(),M.addRange(o)}(this.editorEl,M):"font"===t&&Xp(this.editorEl,M),this.updateContent(),this.updateToolbarState()}))}}else e.addEventListener("change",(e=>{this.focusAndRestore();const t=e.detail;Jp(this.editorEl,t),this.updateContent(),this.updateToolbarState()}))}))}saveSelection(){const e=window.getSelection();e&&e.rangeCount&&(this.lastRange=e.getRangeAt(0).cloneRange())}restoreSelection(){if(!this.lastRange)return;const e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(this.lastRange))}focusAndRestore(){this.editorEl?.focus(),this.restoreSelection()}getCleanContent(){const e=this.editorEl.cloneNode(!0);return e.querySelectorAll("*").forEach((e=>{e.removeAttribute("style")})),e.innerHTML}insertList(e){if(this.restoreSelection(),!this.lastRange)return;const t=document.createElement(e),M=this.lastRange.extractContents(),i=document.createElement("div");i.appendChild(M),Array.from(i.childNodes).forEach((e=>{if(e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim())return;const M=document.createElement("li");M.appendChild(e),t.appendChild(M)})),this.lastRange.insertNode(t),this.afterListEdit(t)}afterListEdit(e){const t=document.createRange();t.setStartAfter(e),t.collapse(!0);const M=window.getSelection();M?.removeAllRanges(),M?.addRange(t),this.saveSelection(),this.updateContent(),this.updateToolbarState()}ensureAtLeastOneParagraph(){const e=this.editorEl;if(!e)return;const t=""===(e.textContent??"").replace(/\u200B/g,"").trim();if(0===e.childNodes.length||t)return void(e.innerHTML="<p><br></p>");if(!e.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){const t=document.createElement("p");for(;e.firstChild;)t.appendChild(e.firstChild);return t.hasChildNodes()||t.appendChild(document.createElement("br")),void e.appendChild(t)}e.querySelectorAll("p").forEach((e=>{""===(e.textContent??"").replace(/\u200B/g,"")&&(e.innerHTML.toLowerCase().includes("<br")||(e.innerHTML="<br>"))}))}onToolbarCommand(e){switch(this.focusAndRestore(),e){case"bold":Hp(this.editorEl,"strong");break;case"italic":Hp(this.editorEl,"em");break;case"underline":Hp(this.editorEl,"u");break;case"left":Jp(this.editorEl,"left");break;case"center":Jp(this.editorEl,"center");break;case"right":Jp(this.editorEl,"right");break;case"justify":Jp(this.editorEl,"justify");break;case"ul":MS(this.editorEl,"ul"),this.updateContent(),this.updateToolbarState();break;case"ol":MS(this.editorEl,"ol"),this.updateContent(),this.updateToolbarState();break;case"link":break;case"clear":const e=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),t=[];for(;e.nextNode();){const M=e.currentNode;M.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(M.tagName)&&t.push(M)}for(const e of t){for(;e.firstChild;)e.parentNode?.insertBefore(e.firstChild,e);e.remove()}this.ensureAtLeastOneParagraph()}this.updateContent(),this.updateToolbarState()}setBtnActive(e,t){const M=this.buttonMap.get(e);if(M)for(const e of M)e.toggleAttribute("data-active",!!t)}updateToolbarState(){if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);if(!this.editorEl.contains(t.commonAncestorContainer))return;const M=function(e){for(;e&&!(e instanceof HTMLElement);)e=e.parentNode;return e}(t.startContainer)||this.editorEl,i=getComputedStyle(M),n=Fp(t.startContainer,this.editorEl)||this.editorEl,o=(()=>{let e=M;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=e.tagName.toLowerCase();if("strong"===t||"b"===t)return!0;const M=getComputedStyle(e).fontWeight;if(parseInt(M,10)>=600)return!0}e=e.parentNode}return!1})(),r=(()=>{let e=M;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=e.tagName.toLowerCase();if("em"===t||"i"===t)return!0;if("italic"===getComputedStyle(e).fontStyle)return!0}e=e.parentNode}return!1})(),s=(()=>{let e=M;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=getComputedStyle(e).textDecorationLine;if(t&&t.includes("underline"))return!0;if("u"===e.tagName.toLowerCase())return!0}e=e.parentNode}return!1})(),a=!!M.closest("a"),N=n.style.textAlign||getComputedStyle(n).textAlign||"start",l="start"===N?"left":N,g=!!M.closest("li")&&M.closest("ul,ol")?.tagName.toLowerCase()||"";if(this.setBtnActive("bold",o),this.setBtnActive("italic",r),this.setBtnActive("underline",s),this.setBtnActive("link",a),this.setBtnActive("left","left"===l&&!["center","right","justify"].includes(l)),this.setBtnActive("center","center"===l),this.setBtnActive("right","right"===l),this.setBtnActive("justify","justify"===l),this.setBtnActive("ul","ul"===g),this.setBtnActive("ol","ol"===g),this.headingSelect){const e=n.tagName.toLowerCase(),t=["h1","h2","h3"].includes(e)?e:"p";this.headingSelect.value!==t&&(this.headingSelect.value=t)}if(this.fontSelect){const e=(i.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(e)for(const t of Array.from(this.fontSelect.options))if(t.value.toLowerCase()===e){this.fontSelect.value=t.value;break}}if(this.colorInput){const e=$p(i.color);e&&this.colorInput.value.toLowerCase()!==e.toLowerCase()&&(this.colorInput.value=e),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value)}if(this.bgColorInput){const e=getComputedStyle(M).backgroundColor;if(e&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(e)){const t=$p(e);t&&this.bgColorInput.value.toLowerCase()!==t.toLowerCase()&&(this.bgColorInput.value=t)}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value)}}syncPreview(){this.updateContent()}updateContent(){if(!this.editorEl)return;this.ensureAtLeastOneParagraph();const e=this.editorEl.cloneNode(!0);if(this.noStyles)e.querySelectorAll("[style]").forEach((e=>e.removeAttribute("style")));else{const t=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),M=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT),i=["font-weight","font-style","text-decoration","color","background-color","font-size","font-family","text-align","line-height","letter-spacing","white-space","vertical-align","list-style-position","padding-inline-start"];for(;t.nextNode()&&M.nextNode();){const e=t.currentNode,n=M.currentNode,o=window.getComputedStyle(e),r=i.map((e=>`${e}:${o.getPropertyValue(e)}`)).join(";");r.trim()&&n.setAttribute("style",r)}}this.content=e.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content},bubbles:!0,composed:!0}))}};e([ue({type:String,attribute:!0,reflect:!0})],oS.prototype,"value",void 0),e([ue({type:Boolean,attribute:!0,reflect:!0})],oS.prototype,"noStyles",void 0),e([ue({type:Boolean,attribute:"singlelineeditor",reflect:!0})],oS.prototype,"singleLineEditor",void 0),e([ue({attribute:"mentions",reflect:!0,converter:{fromAttribute:e=>{try{const t=JSON.parse(e),M={};for(const e of Object.keys(t)){const i=t[e];Array.isArray(i)&&(M[e]=i.filter((e=>e&&"string"==typeof e.key&&"string"==typeof e.label)).map((e=>({key:e.key,label:e.label}))))}return M}catch{return{}}},toAttribute:e=>JSON.stringify(e)}})],oS.prototype,"mentions",void 0),e([ce()],oS.prototype,"content",void 0),oS=e([le("nile-rich-text-editor")],oS);"undefined"!=typeof window&&(window.nileElementsVersion='"1.2.1"',window.nileVersion="__NILE_VERSION__");const rS=r`
14097
+ `,IS={bold:"format_bold",italic:"format_italic",underline:"format_underline",link:"link_2",left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify",ul:"format_list_bulleted",ol:"format_list_numbered",clear:"format_clear"};let zS=class extends ae{constructor(){super(...arguments),this.value="",this.noStyles=!1,this.singleLineEditor=!1,this.mentions={},this.content="",this.previewEl=null,this.toolbarEl=null,this.lastRange=null,this.buttonMap=new Map,this.headingSelect=null,this.fontSelect=null,this.colorInput=null,this.bgColorInput=null,this.colorSwatchEl=null,this.bgSwatchEl=null,this.containerEl=null,this.mentionsEl=null,this.onEditorKeydown=e=>{if(this.singleLineEditor&&"Enter"===e.key&&e.shiftKey)return void e.preventDefault();if(e.ctrlKey&&"i"===e.key.toLowerCase()&&(e.preventDefault(),sS(this.editorEl,"em"),this.updateContent(),this.updateToolbarState()),this.singleLineEditor&&"Enter"===e.key)return void e.preventDefault();if("Tab"!==e.key)return;e.preventDefault(),this.focusAndRestore();const t=window.getSelection();if(!t||0===t.rangeCount)return;const M=t.getRangeAt(0);if(e.shiftKey){if(M.collapsed&&M.startContainer.nodeType===Node.TEXT_NODE){const e=M.startContainer,i=M.startOffset,n=e.data.slice(0,i),o=n.replace(/(\t|[ \u00a0]{2})$/,"");if(o.length!==n.length){e.data=o+e.data.slice(i);const M=document.createRange();M.setStart(e,o.length),M.collapse(!0),t.removeAllRanges(),t.addRange(M),this.updateContent(),this.updateToolbarState()}}return}M.deleteContents();const i=document.createTextNode("\t");M.insertNode(i);const n=document.createRange();n.setStartAfter(i),n.collapse(!0),t.removeAllRanges(),t.addRange(n),this.updateContent(),this.updateToolbarState()},this.onSelectionChange=()=>{if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);this.editorEl.contains(t.commonAncestorContainer)&&(this.lastRange=t.cloneRange(),this.updateToolbarState())}}createRenderRoot(){return this}injectCss(e){if(this.querySelector("style[data-rte-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-style","true"),t.textContent=e,this.insertBefore(t,this.firstChild)}connectedCallback(){super.connectedCallback(),this.injectCss(jS.cssText),this.ensureStructure(),this.value&&!this.editorEl.innerHTML.trim()&&(this.editorEl.innerHTML=this.value),this.content=this.editorEl.innerHTML,this.toolbarEl&&this.wireAuthoredToolbar(this.toolbarEl),this.mentionsEl=this.querySelector("nile-rte-mentions"),this.mentionsEl&&(this.mentionsEl.attach?.(this.editorEl,this),this.mentionsEl.setExternalConfig?.(this.mentions)),this.wireEditor(),document.addEventListener("selectionchange",this.onSelectionChange,{passive:!0}),this.updateToolbarState(),this.syncPreview()}ensureStructure(){this.toolbarEl=this.querySelector("nile-rte-toolbar"),this.previewEl=this.querySelector("nile-rte-preview"),this.containerEl=this.querySelector(".rte-container"),this.containerEl||(this.containerEl=document.createElement("div"),this.containerEl.className="rte-container",this.appendChild(this.containerEl)),this.ensureEditor(),this.toolbarEl&&this.toolbarEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.toolbarEl),this.editorEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.editorEl),this.previewEl&&(this.previewEl.parentElement!==this&&this.appendChild(this.previewEl),this.previewEl.previousElementSibling!==this.containerEl&&this.insertBefore(this.previewEl,this.containerEl.nextSibling))}updateContentWithMention(e){this.updateContent(),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content,mention:e},bubbles:!0,composed:!0}))}disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),super.disconnectedCallback()}updated(e){e.has("value")&&this.editorEl&&this.value!==this.editorEl.innerHTML&&(this.editorEl.innerHTML=this.value||"<p><br></p>",this.content=this.editorEl.innerHTML,this.syncPreview()),e.has("singleLineEditor")&&(this.editorEl&&this.editorEl.classList.toggle("single-line",this.singleLineEditor),this.previewEl&&this.previewEl.classList.toggle("single-line",this.singleLineEditor))}ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){const e=document.createElement("article");e.className="editor",e.setAttribute("contenteditable","true"),this.editorEl=e}this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>")}unwrapMention(e,t=!0){const M=e.parentNode;if(!M)return;const i=t?(e.textContent??"").replace(/\u200B/g,""):"",n=document.createTextNode(i);M.insertBefore(n,e),M.removeChild(e);const o=document.createRange();o.setStartAfter(n),o.collapse(!0);const r=window.getSelection();r?.removeAllRanges(),r?.addRange(o)}scrubBrokenMentions(){if(!this.editorEl)return;this.editorEl.querySelectorAll("span.mention").forEach((e=>{const t=e,M=t.getAttribute("data-mention-key"),i=t.getAttribute("data-mention-label"),n=t.getAttribute("data-mention-trigger")||"",o=(t.textContent??"").replace(/\u200B/g,"").trim(),r=!!M&&!!i&&o.length>0&&o.startsWith(n)&&o.includes(i);o&&r||this.unwrapMention(t,!0)}))}wireEditor(){this.editorEl.addEventListener("input",(()=>{this.ensureAtLeastOneParagraph(),this.scrubBrokenMentions(),this.updateContent(),this.updateToolbarState()})),this.editorEl.addEventListener("mouseup",(()=>{this.saveSelection(),this.updateToolbarState()})),this.editorEl.addEventListener("keyup",(e=>{this.saveSelection(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)&&this.updateToolbarState()})),this.editorEl.addEventListener("keydown",this.onEditorKeydown)}wireAuthoredToolbar(e){this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(e.children).forEach((e=>{const t=e.tagName.toLowerCase();if("nile-rte-select"!==t||"align"!==e.getAttribute("type")){if("nile-rte-link"===t)return e.editorEl=this.editorEl,void e.addEventListener("link-changed",(()=>{this.updateContent(),this.updateToolbarState()}));if("nile-rte-toolbar-item"===t){let t=e.querySelector(":scope > nile-button");const M=e.getAttribute("name")||"",i=e.getAttribute("label")||M,n=e.getAttribute("icon"),o=e.innerHTML.trim().length>0;if(t||(t=document.createElement("nile-button"),t.variant="tertiary",t.size="small"),n)t.innerHTML=`<nile-icon name="${n}" aria-label="${i}"></nile-icon>`,e.innerHTML="";else if(o)t.innerHTML=e.innerHTML,e.innerHTML="";else{const n=IS[M];n?t.innerHTML=`<nile-icon name="${n}" size="20" color="black" aria-label="${i}"></nile-icon>`:t.textContent=i||M,e.innerHTML=""}if(!t.isConnected){const M=document.createElement("nile-tooltip");M.setAttribute("content",i),M.appendChild(t),e.appendChild(M)}t.setAttribute("aria-label",i),t.addEventListener("mousedown",(e=>e.preventDefault())),t.addEventListener("click",(()=>this.onToolbarCommand(M)));const r=this.buttonMap.get(M)??[];return r.push(t),void this.buttonMap.set(M,r)}if("nile-rte-select"!==t)"nile-rte-color"!==t||e.addEventListener("change",(e=>{this.focusAndRestore();const{mode:t,value:M}=e.detail;"backColor"===t?gS(this.editorEl,"backgroundColor",M,"data-rte-bg"):function(e,t){gS(e,"color",t,"data-rte-color")}(this.editorEl,M),this.updateContent(),this.updateToolbarState()}));else{const t=e.getAttribute("type")||"";e.addEventListener("change",(e=>{this.focusAndRestore();const M=e.detail;"heading"===t?function(e,t){const M=document.getSelection();if(!M||0===M.rangeCount)return;const i=oS(M.getRangeAt(0).startContainer,e);if(!i)return;if(i.tagName.toLowerCase()===t)return;const n=document.createElement(t);for(;i.firstChild;)n.appendChild(i.firstChild);i.replaceWith(n);const o=document.createRange();o.selectNodeContents(n),o.collapse(!0),M.removeAllRanges(),M.addRange(o)}(this.editorEl,M):"font"===t&&NS(this.editorEl,M),this.updateContent(),this.updateToolbarState()}))}}else e.addEventListener("change",(e=>{this.focusAndRestore();const t=e.detail;rS(this.editorEl,t),this.updateContent(),this.updateToolbarState()}))}))}saveSelection(){const e=window.getSelection();e&&e.rangeCount&&(this.lastRange=e.getRangeAt(0).cloneRange())}restoreSelection(){if(!this.lastRange)return;const e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(this.lastRange))}focusAndRestore(){this.editorEl?.focus(),this.restoreSelection()}getCleanContent(){const e=this.editorEl.cloneNode(!0);return e.querySelectorAll("*").forEach((e=>{e.removeAttribute("style")})),e.innerHTML}insertList(e){if(this.restoreSelection(),!this.lastRange)return;const t=document.createElement(e),M=this.lastRange.extractContents(),i=document.createElement("div");i.appendChild(M),Array.from(i.childNodes).forEach((e=>{if(e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim())return;const M=document.createElement("li");M.appendChild(e),t.appendChild(M)})),this.lastRange.insertNode(t),this.afterListEdit(t)}afterListEdit(e){const t=document.createRange();t.setStartAfter(e),t.collapse(!0);const M=window.getSelection();M?.removeAllRanges(),M?.addRange(t),this.saveSelection(),this.updateContent(),this.updateToolbarState()}ensureAtLeastOneParagraph(){const e=this.editorEl;if(!e)return;const t=""===(e.textContent??"").replace(/\u200B/g,"").trim();if(0===e.childNodes.length||t)return void(e.innerHTML="<p><br></p>");if(!e.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){const t=document.createElement("p");for(;e.firstChild;)t.appendChild(e.firstChild);return t.hasChildNodes()||t.appendChild(document.createElement("br")),void e.appendChild(t)}e.querySelectorAll("p").forEach((e=>{""===(e.textContent??"").replace(/\u200B/g,"")&&(e.innerHTML.toLowerCase().includes("<br")||(e.innerHTML="<br>"))}))}onToolbarCommand(e){switch(this.focusAndRestore(),e){case"bold":sS(this.editorEl,"strong");break;case"italic":sS(this.editorEl,"em");break;case"underline":sS(this.editorEl,"u");break;case"left":rS(this.editorEl,"left");break;case"center":rS(this.editorEl,"center");break;case"right":rS(this.editorEl,"right");break;case"justify":rS(this.editorEl,"justify");break;case"ul":cS(this.editorEl,"ul"),this.updateContent(),this.updateToolbarState();break;case"ol":cS(this.editorEl,"ol"),this.updateContent(),this.updateToolbarState();break;case"link":break;case"clear":const e=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),t=[];for(;e.nextNode();){const M=e.currentNode;M.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(M.tagName)&&t.push(M)}for(const e of t){for(;e.firstChild;)e.parentNode?.insertBefore(e.firstChild,e);e.remove()}this.ensureAtLeastOneParagraph()}this.updateContent(),this.updateToolbarState()}setBtnActive(e,t){const M=this.buttonMap.get(e);if(M)for(const e of M)e.toggleAttribute("data-active",!!t)}updateToolbarState(){if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);if(!this.editorEl.contains(t.commonAncestorContainer))return;const M=function(e){for(;e&&!(e instanceof HTMLElement);)e=e.parentNode;return e}(t.startContainer)||this.editorEl,i=getComputedStyle(M),n=oS(t.startContainer,this.editorEl)||this.editorEl,o=(()=>{let e=M;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=e.tagName.toLowerCase();if("strong"===t||"b"===t)return!0;const M=getComputedStyle(e).fontWeight;if(parseInt(M,10)>=600)return!0}e=e.parentNode}return!1})(),r=(()=>{let e=M;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=e.tagName.toLowerCase();if("em"===t||"i"===t)return!0;if("italic"===getComputedStyle(e).fontStyle)return!0}e=e.parentNode}return!1})(),s=(()=>{let e=M;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=getComputedStyle(e).textDecorationLine;if(t&&t.includes("underline"))return!0;if("u"===e.tagName.toLowerCase())return!0}e=e.parentNode}return!1})(),a=!!M.closest("a"),N=n.style.textAlign||getComputedStyle(n).textAlign||"start",l="start"===N?"left":N,g=!!M.closest("li")&&M.closest("ul,ol")?.tagName.toLowerCase()||"";if(this.setBtnActive("bold",o),this.setBtnActive("italic",r),this.setBtnActive("underline",s),this.setBtnActive("link",a),this.setBtnActive("left","left"===l&&!["center","right","justify"].includes(l)),this.setBtnActive("center","center"===l),this.setBtnActive("right","right"===l),this.setBtnActive("justify","justify"===l),this.setBtnActive("ul","ul"===g),this.setBtnActive("ol","ol"===g),this.headingSelect){const e=n.tagName.toLowerCase(),t=["h1","h2","h3"].includes(e)?e:"p";this.headingSelect.value!==t&&(this.headingSelect.value=t)}if(this.fontSelect){const e=(i.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(e)for(const t of Array.from(this.fontSelect.options))if(t.value.toLowerCase()===e){this.fontSelect.value=t.value;break}}if(this.colorInput){const e=aS(i.color);e&&this.colorInput.value.toLowerCase()!==e.toLowerCase()&&(this.colorInput.value=e),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value)}if(this.bgColorInput){const e=getComputedStyle(M).backgroundColor;if(e&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(e)){const t=aS(e);t&&this.bgColorInput.value.toLowerCase()!==t.toLowerCase()&&(this.bgColorInput.value=t)}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value)}}syncPreview(){this.updateContent()}updateContent(){if(!this.editorEl)return;this.ensureAtLeastOneParagraph();const e=this.editorEl.cloneNode(!0);if(this.noStyles)e.querySelectorAll("[style]").forEach((e=>e.removeAttribute("style")));else{const t=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),M=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT),i=["font-weight","font-style","text-decoration","color","background-color","font-size","font-family","text-align","line-height","letter-spacing","white-space","vertical-align","list-style-position","padding-inline-start"];for(;t.nextNode()&&M.nextNode();){const e=t.currentNode,n=M.currentNode,o=window.getComputedStyle(e),r=i.map((e=>`${e}:${o.getPropertyValue(e)}`)).join(";");r.trim()&&n.setAttribute("style",r)}}this.content=e.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content},bubbles:!0,composed:!0}))}};e([ue({type:String,attribute:!0,reflect:!0})],zS.prototype,"value",void 0),e([ue({type:Boolean,attribute:!0,reflect:!0})],zS.prototype,"noStyles",void 0),e([ue({type:Boolean,attribute:"singlelineeditor",reflect:!0})],zS.prototype,"singleLineEditor",void 0),e([ue({attribute:"mentions",reflect:!0,converter:{fromAttribute:e=>{try{const t=JSON.parse(e),M={};for(const e of Object.keys(t)){const i=t[e];Array.isArray(i)&&(M[e]=i.filter((e=>e&&"string"==typeof e.key&&"string"==typeof e.label)).map((e=>({key:e.key,label:e.label}))))}return M}catch{return{}}},toAttribute:e=>JSON.stringify(e)}})],zS.prototype,"mentions",void 0),e([ce()],zS.prototype,"content",void 0),zS=e([le("nile-rich-text-editor")],zS);"undefined"!=typeof window&&(window.nileElementsVersion='"1.2.2"',window.nileVersion="__NILE_VERSION__");const dS=r`
14019
14098
  :host {
14020
14099
  --sidebar-width: 240px;
14021
14100
  --sidebar-collapsed-width: 70px;
@@ -14102,7 +14181,7 @@ nile-rte-toolbar-item nile-button[data-active]::part(base):hover {
14102
14181
 
14103
14182
 
14104
14183
 
14105
- `;let sS=class extends Re{constructor(){super(...arguments),this.position="left",this.collapsed=!1,this.fullHeight=!1,this.width=null,this.collapsedWidth=null}static get styles(){return[rS]}updated(e){super.updated(e),e.has("collapsed")&&this.querySelectorAll("nile-side-bar-footer-item, nile-side-bar-group-item, nile-side-bar-group").forEach((e=>e.toggleAttribute("collapsed",this.collapsed))),e.has("width")&&null!==this.width&&this.style.setProperty("--sidebar-width",`${this.width}px`),e.has("collapsedWidth")&&null!==this.collapsedWidth&&this.style.setProperty("--sidebar-collapsed-width",`${this.collapsedWidth}px`)}render(){return R`<slot></slot>`}};e([ue({type:String,reflect:!0,attribute:!0})],sS.prototype,"position",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],sS.prototype,"collapsed",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],sS.prototype,"fullHeight",void 0),e([ue({type:Number,attribute:!0})],sS.prototype,"width",void 0),e([ue({type:Number,attribute:!0})],sS.prototype,"collapsedWidth",void 0),sS=e([le("nile-side-bar")],sS);const aS=r`
14184
+ `;let TS=class extends Re{constructor(){super(...arguments),this.position="left",this.collapsed=!1,this.fullHeight=!1,this.width=null,this.collapsedWidth=null}static get styles(){return[dS]}updated(e){super.updated(e),e.has("collapsed")&&this.querySelectorAll("nile-side-bar-footer-item, nile-side-bar-group-item, nile-side-bar-group").forEach((e=>e.toggleAttribute("collapsed",this.collapsed))),e.has("width")&&null!==this.width&&this.style.setProperty("--sidebar-width",`${this.width}px`),e.has("collapsedWidth")&&null!==this.collapsedWidth&&this.style.setProperty("--sidebar-collapsed-width",`${this.collapsedWidth}px`)}render(){return R`<slot></slot>`}};e([ue({type:String,reflect:!0,attribute:!0})],TS.prototype,"position",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],TS.prototype,"collapsed",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],TS.prototype,"fullHeight",void 0),e([ue({type:Number,attribute:!0})],TS.prototype,"width",void 0),e([ue({type:Number,attribute:!0})],TS.prototype,"collapsedWidth",void 0),TS=e([le("nile-side-bar")],TS);const yS=r`
14106
14185
  :host {
14107
14186
  display: flex;
14108
14187
  align-items: center;
@@ -14148,12 +14227,12 @@ nile-rte-toolbar-item nile-button[data-active]::part(base):hover {
14148
14227
  gap: var(--nile-spacing-md);
14149
14228
  }
14150
14229
 
14151
- `;let NS=class extends Re{static get styles(){return[aS]}render(){return R`
14230
+ `;let hS=class extends Re{static get styles(){return[yS]}render(){return R`
14152
14231
  <div class="header-content">
14153
14232
  <slot name="logo"></slot>
14154
14233
  <slot name="expand"></slot>
14155
14234
  </div>
14156
- `}};NS=e([le("nile-side-bar-header")],NS);const lS=r`
14235
+ `}};hS=e([le("nile-side-bar-header")],hS);const AS=r`
14157
14236
  :host {
14158
14237
  justify-content: center;
14159
14238
  height: 100%;
@@ -14184,10 +14263,10 @@ nile-rte-toolbar-item nile-button[data-active]::part(base):hover {
14184
14263
  display: block;
14185
14264
  }
14186
14265
 
14187
- `;let gS=class extends Re{constructor(){super(...arguments),this.src="https://assets.aquera.io/img/aquera-logo-blue.svg",this.collapsedSrc="https://assets.aqueralabs.com/img/aquera-logo-mini.png"}static get styles(){return[lS]}render(){return R`
14266
+ `;let OS=class extends Re{constructor(){super(...arguments),this.src="https://assets.aquera.io/img/aquera-logo-blue.svg",this.collapsedSrc="https://assets.aqueralabs.com/img/aquera-logo-mini.png"}static get styles(){return[AS]}render(){return R`
14188
14267
  <img class="logo expanded" src="${this.src}" alt="Logo" part="logo-expanded" />
14189
14268
  <img class="logo collapsed" src="${this.collapsedSrc}" alt="Logo icon" part="logo-collapsed" />
14190
- `}};e([ue({type:String,attribute:!0,reflect:!0})],gS.prototype,"src",void 0),e([ue({type:String,attribute:"collapsed-src"})],gS.prototype,"collapsedSrc",void 0),gS=e([le("nile-side-bar-logo")],gS);const DS=r`
14269
+ `}};e([ue({type:String,attribute:!0,reflect:!0})],OS.prototype,"src",void 0),e([ue({type:String,attribute:"collapsed-src"})],OS.prototype,"collapsedSrc",void 0),OS=e([le("nile-side-bar-logo")],OS);const LS=r`
14191
14270
  :host {
14192
14271
  display: inline-flex;
14193
14272
  }
@@ -14219,7 +14298,7 @@ nile-tooltip::part(body) {
14219
14298
 
14220
14299
 
14221
14300
 
14222
- `;let uS=class extends Re{constructor(){super(...arguments),this.collapsed=!1}static get styles(){return[DS]}connectedCallback(){super.connectedCallback();const e=this.closest("nile-side-bar");e&&(this.collapsed=e.hasAttribute("collapsed"))}toggleSidebar(){const e=this.closest("nile-side-bar");if(!e)return;e.hasAttribute("collapsed")?(e.removeAttribute("collapsed"),this.collapsed=!1):(e.setAttribute("collapsed",""),this.collapsed=!0)}render(){return R`
14301
+ `;let xS=class extends Re{constructor(){super(...arguments),this.collapsed=!1}static get styles(){return[LS]}connectedCallback(){super.connectedCallback();const e=this.closest("nile-side-bar");e&&(this.collapsed=e.hasAttribute("collapsed"))}toggleSidebar(){const e=this.closest("nile-side-bar");if(!e)return;e.hasAttribute("collapsed")?(e.removeAttribute("collapsed"),this.collapsed=!1):(e.setAttribute("collapsed",""),this.collapsed=!0)}render(){return R`
14223
14302
  <button class="expand-btn" @click=${this.toggleSidebar}>
14224
14303
  ${this.collapsed?R`
14225
14304
  <nile-tooltip placement="right" hoist content="Expand Sidebar">
@@ -14231,7 +14310,7 @@ nile-tooltip::part(body) {
14231
14310
  </nile-tooltip>
14232
14311
  `}
14233
14312
  </button>
14234
- `}};e([ue({type:Boolean,reflect:!0})],uS.prototype,"collapsed",void 0),uS=e([le("nile-side-bar-expand")],uS);const cS=r`
14313
+ `}};e([ue({type:Boolean,reflect:!0})],xS.prototype,"collapsed",void 0),xS=e([le("nile-side-bar-expand")],xS);const pS=r`
14235
14314
  :host {
14236
14315
  display: flex;
14237
14316
  flex-direction: column;
@@ -14279,7 +14358,7 @@ nile-tooltip::part(body) {
14279
14358
  align-items: center;
14280
14359
  justify-content: center;
14281
14360
  }
14282
- `;let jS=class extends Re{constructor(){super(...arguments),this.label="",this.footer=!1,this.divider=!1}static get styles(){return[cS]}render(){return R`
14361
+ `;let SS=class extends Re{constructor(){super(...arguments),this.label="",this.footer=!1,this.divider=!1}static get styles(){return[pS]}render(){return R`
14283
14362
  <section
14284
14363
  part="base"
14285
14364
  class="side-bar-group"
@@ -14290,7 +14369,7 @@ justify-content: center;
14290
14369
  ${this.label?R`<div part="label" class="group-label">${this.label}</div>`:null}
14291
14370
  <slot></slot>
14292
14371
  </section>
14293
- `}};e([ue({type:String})],jS.prototype,"label",void 0),e([ue({type:Boolean,reflect:!0})],jS.prototype,"footer",void 0),e([ue({type:Boolean,reflect:!0})],jS.prototype,"divider",void 0),jS=e([le("nile-side-bar-group")],jS);const IS=r`
14372
+ `}};e([ue({type:String})],SS.prototype,"label",void 0),e([ue({type:Boolean,reflect:!0})],SS.prototype,"footer",void 0),e([ue({type:Boolean,reflect:!0})],SS.prototype,"divider",void 0),SS=e([le("nile-side-bar-group")],SS);const ES=r`
14294
14373
  :host {
14295
14374
  display: block;
14296
14375
  }
@@ -14345,7 +14424,7 @@ width: 38px;
14345
14424
  }
14346
14425
 
14347
14426
 
14348
- `;let zS=class extends Re{constructor(){super(...arguments),this.href=null,this.active=!1,this.type="default",this.expanded=!1,this.disabled=!1}static get styles(){return[IS]}toggleExpand(){"dropdown"!==this.type&&"popover"!==this.type||this.disabled||(this.expanded=!this.expanded)}connectedCallback(){super.connectedCallback(),this.href&&window.location.pathname===this.href&&(this.active=!0)}handleSelect(e){if(this.disabled)return e.preventDefault(),void e.stopImmediatePropagation();this.href||e.preventDefault();const t=this.closest("nile-side-bar");t&&t.querySelectorAll("nile-side-bar-group-item[active]").forEach((e=>{e!==this&&(e.active=!1,e.expanded=!1)})),this.active=!0,"dropdown"!==this.type&&"popover"!==this.type||this.disabled||(this.expanded=!0),this.dispatchEvent(new CustomEvent("nile-click",{bubbles:!0,composed:!0,detail:{href:this.href,text:this.textContent?.trim()||"",type:this.type}}))}render(){const e="dropdown"===this.type||"popover"===this.type;return R`
14427
+ `;let QS=class extends Re{constructor(){super(...arguments),this.href=null,this.active=!1,this.type="default",this.expanded=!1,this.disabled=!1}static get styles(){return[ES]}toggleExpand(){"dropdown"!==this.type&&"popover"!==this.type||this.disabled||(this.expanded=!this.expanded)}connectedCallback(){super.connectedCallback(),this.href&&window.location.pathname===this.href&&(this.active=!0)}handleSelect(e){if(this.disabled)return e.preventDefault(),void e.stopImmediatePropagation();this.href||e.preventDefault();const t=this.closest("nile-side-bar");t&&t.querySelectorAll("nile-side-bar-group-item[active]").forEach((e=>{e!==this&&(e.active=!1,e.expanded=!1)})),this.active=!0,"dropdown"!==this.type&&"popover"!==this.type||this.disabled||(this.expanded=!0),this.dispatchEvent(new CustomEvent("nile-click",{bubbles:!0,composed:!0,detail:{href:this.href,text:this.textContent?.trim()||"",type:this.type}}))}render(){const e="dropdown"===this.type||"popover"===this.type;return R`
14349
14428
  <div
14350
14429
  part="base"
14351
14430
  class="group-item ${this.disabled?"disabled":""}"
@@ -14389,7 +14468,7 @@ width: 38px;
14389
14468
  <slot name="content"></slot>
14390
14469
  </div>
14391
14470
  `:null}
14392
- `}};e([ue({type:String})],zS.prototype,"href",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],zS.prototype,"active",void 0),e([ue({type:String,reflect:!0})],zS.prototype,"type",void 0),e([ue({type:Boolean,reflect:!0})],zS.prototype,"expanded",void 0),e([ue({type:Boolean,reflect:!0})],zS.prototype,"disabled",void 0),zS=e([le("nile-side-bar-group-item")],zS);const dS=r`
14471
+ `}};e([ue({type:String})],QS.prototype,"href",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],QS.prototype,"active",void 0),e([ue({type:String,reflect:!0})],QS.prototype,"type",void 0),e([ue({type:Boolean,reflect:!0})],QS.prototype,"expanded",void 0),e([ue({type:Boolean,reflect:!0})],QS.prototype,"disabled",void 0),QS=e([le("nile-side-bar-group-item")],QS);const mS=r`
14393
14472
  :host {
14394
14473
  display: inline-flex;
14395
14474
  align-items: center;
@@ -14419,7 +14498,7 @@ width: 38px;
14419
14498
  padding: var(--nile-spacing-sm);
14420
14499
  overflow-x: hidden;
14421
14500
  }
14422
- `;let TS=class extends Re{constructor(){super(...arguments),this.icon="",this.tooltip="",this.sidebar=null}static get styles(){return[dS]}connectedCallback(){if(this.hasAttribute("slot")||this.setAttribute("slot","icon"),super.connectedCallback(),this.sidebar=this.closest("nile-side-bar"),this.sidebar){const e=new MutationObserver((()=>this.requestUpdate()));e.observe(this.sidebar,{attributes:!0,attributeFilter:["collapsed"]}),this._observer=e}}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}getSiblingText(){const e=this.parentElement,t=e?.querySelector("nile-side-bar-group-item-text");return t?.textContent?.trim()??""}render(){const e=!!this.sidebar?.collapsed,t=this.tooltip||this.getSiblingText();return e&&t?R`
14501
+ `;let wS=class extends Re{constructor(){super(...arguments),this.icon="",this.tooltip="",this.sidebar=null}static get styles(){return[mS]}connectedCallback(){if(this.hasAttribute("slot")||this.setAttribute("slot","icon"),super.connectedCallback(),this.sidebar=this.closest("nile-side-bar"),this.sidebar){const e=new MutationObserver((()=>this.requestUpdate()));e.observe(this.sidebar,{attributes:!0,attributeFilter:["collapsed"]}),this._observer=e}}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}getSiblingText(){const e=this.parentElement,t=e?.querySelector("nile-side-bar-group-item-text");return t?.textContent?.trim()??""}render(){const e=!!this.sidebar?.collapsed,t=this.tooltip||this.getSiblingText();return e&&t?R`
14423
14502
  <nile-tooltip distance="18" content=${t} placement="right" hoist>
14424
14503
  <slot>
14425
14504
  ${this.icon?R`<nile-icon size="14" color="var(--nile-colors-dark-900)" name=${this.icon}></nile-icon>`:null}
@@ -14429,7 +14508,7 @@ width: 38px;
14429
14508
  <slot>
14430
14509
  ${this.icon?R`<nile-icon color="var(--nile-colors-dark-900)" size="14" name=${this.icon}></nile-icon>`:null}
14431
14510
  </slot>
14432
- `}};e([ue({type:String,reflect:!0})],TS.prototype,"icon",void 0),e([ue({type:String})],TS.prototype,"tooltip",void 0),TS=e([le("nile-side-bar-group-item-icon")],TS);const yS=r`
14511
+ `}};e([ue({type:String,reflect:!0})],wS.prototype,"icon",void 0),e([ue({type:String})],wS.prototype,"tooltip",void 0),wS=e([le("nile-side-bar-group-item-icon")],wS);const kS=r`
14433
14512
  :host {
14434
14513
  display: block;
14435
14514
  flex: 1 1 auto;
@@ -14450,7 +14529,7 @@ width: 38px;
14450
14529
  :host-context(nile-side-bar[collapsed]) {
14451
14530
  display: none;
14452
14531
  }
14453
- `;let hS=class extends Re{static get styles(){return[yS]}connectedCallback(){super.connectedCallback(),this.hasAttribute("slot")||this.setAttribute("slot","text")}render(){return R` <slot></slot> `}};hS=e([le("nile-side-bar-group-item-text")],hS);const AS=r`
14532
+ `;let CS=class extends Re{static get styles(){return[kS]}connectedCallback(){super.connectedCallback(),this.hasAttribute("slot")||this.setAttribute("slot","text")}render(){return R` <slot></slot> `}};CS=e([le("nile-side-bar-group-item-text")],CS);const bS=r`
14454
14533
  :host {
14455
14534
  display: block;
14456
14535
  position: sticky;
@@ -14487,11 +14566,11 @@ width: 38px;
14487
14566
 
14488
14567
 
14489
14568
 
14490
- `;let OS=class extends Re{static get styles(){return[AS]}render(){return R`
14569
+ `;let US=class extends Re{static get styles(){return[bS]}render(){return R`
14491
14570
  <div part="base" class="footer">
14492
14571
  <slot> </slot>
14493
14572
  </div>
14494
- `}};OS=e([le("nile-side-bar-footer")],OS);const LS=r`
14573
+ `}};US=e([le("nile-side-bar-footer")],US);const fS=r`
14495
14574
  :host {
14496
14575
  display: block;
14497
14576
  width: 100%;
@@ -14562,13 +14641,13 @@ width: 38px;
14562
14641
  width: 38px;
14563
14642
  }
14564
14643
 
14565
- `;let xS=class extends Re{constructor(){super(...arguments),this.type=null}static get styles(){return[LS]}render(){return R`
14644
+ `;let vS=class extends Re{constructor(){super(...arguments),this.type=null}static get styles(){return[fS]}render(){return R`
14566
14645
  <div part="base" class="footer-item">
14567
14646
  <slot name="icon" part="icon"></slot>
14568
14647
  <slot name="text" part="text"></slot>
14569
14648
  <slot name="action" part="action"></slot>
14570
14649
  </div>
14571
- `}};e([ue({type:String,reflect:!0})],xS.prototype,"type",void 0),xS=e([le("nile-side-bar-footer-item")],xS);const pS=r`
14650
+ `}};e([ue({type:String,reflect:!0})],vS.prototype,"type",void 0),vS=e([le("nile-side-bar-footer-item")],vS);const YS=r`
14572
14651
  :host {
14573
14652
  display: inline-block;
14574
14653
  -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
@@ -14618,7 +14697,7 @@ width: 38px;
14618
14697
  max-width: var(--auto-size-available-width) !important;
14619
14698
  max-height: var(--auto-size-available-height) !important;
14620
14699
  }
14621
- `;let SS=class extends Re{constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.disabled=!1,this.stayOpenOnSelect=!1,this.distance=0,this.skidding=0,this.hoist=!1,this.triggerDropdown="click"}connectedCallback(){super.connectedCallback(),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleTriggerMouseEnter=this.handleTriggerMouseEnter.bind(this),this.handleTriggerMouseLeave=this.handleTriggerMouseLeave.bind(this),this.containingElement||(this.containingElement=this),this.emit("nile-init")}firstUpdated(){if(this.panel.hidden=!this.open,"hover"===this.triggerDropdown){const e=this.trigger;e&&(e.addEventListener("mouseenter",this.handleTriggerMouseEnter),e.addEventListener("mouseleave",this.handleTriggerMouseLeave)),this.panel&&(this.panel.addEventListener("mouseenter",this.handleTriggerMouseEnter),this.panel.addEventListener("mouseleave",this.handleTriggerMouseLeave))}this.open&&(this.addOpenListeners(),this.popup.active=!0)}handleTriggerMouseEnter(){clearTimeout(this.hoverTimeout),this.show()}handleTriggerMouseLeave(){clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>this.hide()),200)}disconnectedCallback(){super.disconnectedCallback(),this.removeOpenListeners(),this.hide(),this.emit("nile-destroy")}focusOnTrigger(){const e=this.trigger.assignedElements({flatten:!0})[0];"function"==typeof e?.focus&&e.focus()}getMenu(){return this.panel.assignedElements({flatten:!0}).find((e=>"nile-menu"===e.tagName.toLowerCase()))}handleKeyDown(e){this.open&&"Escape"===e.key&&(e.stopPropagation(),this.hide(),this.focusOnTrigger())}handleDocumentKeyDown(e){if("Escape"===e.key&&this.open)return e.stopPropagation(),this.focusOnTrigger(),void this.hide();"Tab"===e.key&&setTimeout((()=>{const e=this.containingElement?.getRootNode()instanceof ShadowRoot?document.activeElement?.shadowRoot?.activeElement:document.activeElement;this.containingElement&&e?.closest(this.containingElement.tagName.toLowerCase())===this.containingElement||this.hide()}))}handleDocumentMouseDown(e){const t=e.composedPath();this.containingElement&&!t.includes(this.containingElement)&&this.hide()}handlePanelSelect(e){const t=e.target;this.stayOpenOnSelect||"nile-menu"!==t.tagName.toLowerCase()||(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():(this.show(),this.focusOnTrigger())}handleTriggerKeyDown(e){const t=this.getMenu();if(t){const M=t.getAllItems(),i=M[0],n=M[M.length-1];["ArrowDown","ArrowUp","Home","End"].includes(e.key)&&(e.preventDefault(),this.open||this.show(),M.length>0&&this.updateComplete.then((()=>{"ArrowDown"!==e.key&&"Home"!==e.key||(t.setCurrentItem(i),i.focus()),"ArrowUp"!==e.key&&"End"!==e.key||(t.setCurrentItem(n),n.focus())})))}}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.assignedElements({flatten:!0}).find((e=>Qt(e).start));let t;if(e){switch(e.tagName.toLowerCase()){case"nile-button":case"nile-icon-button":t=e.button;break;default:t=e}t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded",this.open?"true":"false")}}async show(){if(!this.open)return this.open=!0,St(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,St(this,"nile-after-hide")}reposition(){this.popup.reposition()}addOpenListeners(){this.panel.addEventListener("nile-select",this.handlePanelSelect),this.panel.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){this.panel&&(this.panel.removeEventListener("nile-select",this.handlePanelSelect),this.panel.removeEventListener("keydown",this.handleKeyDown)),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}async handleOpenChange(){if(this.disabled)this.open=!1;else if(this.updateAccessibleTrigger(),this.open){this.emit("nile-show"),this.addOpenListeners(),await jt(this),this.panel.hidden=!1,this.popup.active=!0;const{keyframes:e,options:t}=ht(this,"dropdown.show",{dir:""});await Dt(this.popup.popup,e,t),this.emit("nile-after-show")}else{this.emit("nile-hide"),this.removeOpenListeners(),await jt(this);const{keyframes:e,options:t}=ht(this,"dropdown.hide",{dir:""});await Dt(this.popup.popup,e,t),this.panel.hidden=!0,this.popup.active=!1,this.emit("nile-after-hide")}}render(){return R`
14700
+ `;let ZS=class extends Re{constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.disabled=!1,this.stayOpenOnSelect=!1,this.distance=0,this.skidding=0,this.hoist=!1,this.triggerDropdown="click"}connectedCallback(){super.connectedCallback(),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleTriggerMouseEnter=this.handleTriggerMouseEnter.bind(this),this.handleTriggerMouseLeave=this.handleTriggerMouseLeave.bind(this),this.containingElement||(this.containingElement=this),this.emit("nile-init")}firstUpdated(){if(this.panel.hidden=!this.open,"hover"===this.triggerDropdown){const e=this.trigger;e&&(e.addEventListener("mouseenter",this.handleTriggerMouseEnter),e.addEventListener("mouseleave",this.handleTriggerMouseLeave)),this.panel&&(this.panel.addEventListener("mouseenter",this.handleTriggerMouseEnter),this.panel.addEventListener("mouseleave",this.handleTriggerMouseLeave))}this.open&&(this.addOpenListeners(),this.popup.active=!0)}handleTriggerMouseEnter(){clearTimeout(this.hoverTimeout),this.show()}handleTriggerMouseLeave(){clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>this.hide()),200)}disconnectedCallback(){super.disconnectedCallback(),this.removeOpenListeners(),this.hide(),this.emit("nile-destroy")}focusOnTrigger(){const e=this.trigger.assignedElements({flatten:!0})[0];"function"==typeof e?.focus&&e.focus()}getMenu(){return this.panel.assignedElements({flatten:!0}).find((e=>"nile-menu"===e.tagName.toLowerCase()))}handleKeyDown(e){this.open&&"Escape"===e.key&&(e.stopPropagation(),this.hide(),this.focusOnTrigger())}handleDocumentKeyDown(e){if("Escape"===e.key&&this.open)return e.stopPropagation(),this.focusOnTrigger(),void this.hide();"Tab"===e.key&&setTimeout((()=>{const e=this.containingElement?.getRootNode()instanceof ShadowRoot?document.activeElement?.shadowRoot?.activeElement:document.activeElement;this.containingElement&&e?.closest(this.containingElement.tagName.toLowerCase())===this.containingElement||this.hide()}))}handleDocumentMouseDown(e){const t=e.composedPath();this.containingElement&&!t.includes(this.containingElement)&&this.hide()}handlePanelSelect(e){const t=e.target;this.stayOpenOnSelect||"nile-menu"!==t.tagName.toLowerCase()||(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():(this.show(),this.focusOnTrigger())}handleTriggerKeyDown(e){const t=this.getMenu();if(t){const M=t.getAllItems(),i=M[0],n=M[M.length-1];["ArrowDown","ArrowUp","Home","End"].includes(e.key)&&(e.preventDefault(),this.open||this.show(),M.length>0&&this.updateComplete.then((()=>{"ArrowDown"!==e.key&&"Home"!==e.key||(t.setCurrentItem(i),i.focus()),"ArrowUp"!==e.key&&"End"!==e.key||(t.setCurrentItem(n),n.focus())})))}}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.assignedElements({flatten:!0}).find((e=>Qt(e).start));let t;if(e){switch(e.tagName.toLowerCase()){case"nile-button":case"nile-icon-button":t=e.button;break;default:t=e}t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded",this.open?"true":"false")}}async show(){if(!this.open)return this.open=!0,St(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,St(this,"nile-after-hide")}reposition(){this.popup.reposition()}addOpenListeners(){this.panel.addEventListener("nile-select",this.handlePanelSelect),this.panel.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){this.panel&&(this.panel.removeEventListener("nile-select",this.handlePanelSelect),this.panel.removeEventListener("keydown",this.handleKeyDown)),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}async handleOpenChange(){if(this.disabled)this.open=!1;else if(this.updateAccessibleTrigger(),this.open){this.emit("nile-show"),this.addOpenListeners(),await jt(this),this.panel.hidden=!1,this.popup.active=!0;const{keyframes:e,options:t}=ht(this,"dropdown.show",{dir:""});await Dt(this.popup.popup,e,t),this.emit("nile-after-show")}else{this.emit("nile-hide"),this.removeOpenListeners(),await jt(this);const{keyframes:e,options:t}=ht(this,"dropdown.hide",{dir:""});await Dt(this.popup.popup,e,t),this.panel.hidden=!0,this.popup.active=!1,this.emit("nile-after-hide")}}render(){return R`
14622
14701
  <nile-popup
14623
14702
  part="base"
14624
14703
  id="sidebar-action-dropdown"
@@ -14651,7 +14730,7 @@ width: 38px;
14651
14730
  aria-labelledby="sidebar-action-dropdown"
14652
14731
  ></slot>
14653
14732
  </nile-popup>
14654
- `}};SS.styles=[pS],e([Ie(".dropdown")],SS.prototype,"popup",void 0),e([Ie(".dropdown__trigger")],SS.prototype,"trigger",void 0),e([Ie(".dropdown__panel")],SS.prototype,"panel",void 0),e([ue({type:Boolean,reflect:!0})],SS.prototype,"open",void 0),e([ue({reflect:!0})],SS.prototype,"placement",void 0),e([ue({type:Boolean,reflect:!0})],SS.prototype,"disabled",void 0),e([ue({attribute:"stay-open-on-select",type:Boolean,reflect:!0})],SS.prototype,"stayOpenOnSelect",void 0),e([ue({attribute:!1})],SS.prototype,"containingElement",void 0),e([ue({type:Number})],SS.prototype,"distance",void 0),e([ue({type:Number})],SS.prototype,"skidding",void 0),e([ue()],SS.prototype,"sync",void 0),e([ue({type:Boolean})],SS.prototype,"hoist",void 0),e([ue({reflect:!0})],SS.prototype,"triggerDropdown",void 0),e([We("open",{waitUntilFirstUpdate:!0})],SS.prototype,"handleOpenChange",null),SS=e([le("nile-side-bar-action")],SS),yt("dropdown.show",{keyframes:[{opacity:0,scale:.9},{opacity:1,scale:1}],options:{duration:100,easing:"ease"}}),yt("dropdown.hide",{keyframes:[{opacity:1,scale:1},{opacity:0,scale:.9}],options:{duration:100,easing:"ease"}});const ES=r`
14733
+ `}};ZS.styles=[YS],e([Ie(".dropdown")],ZS.prototype,"popup",void 0),e([Ie(".dropdown__trigger")],ZS.prototype,"trigger",void 0),e([Ie(".dropdown__panel")],ZS.prototype,"panel",void 0),e([ue({type:Boolean,reflect:!0})],ZS.prototype,"open",void 0),e([ue({reflect:!0})],ZS.prototype,"placement",void 0),e([ue({type:Boolean,reflect:!0})],ZS.prototype,"disabled",void 0),e([ue({attribute:"stay-open-on-select",type:Boolean,reflect:!0})],ZS.prototype,"stayOpenOnSelect",void 0),e([ue({attribute:!1})],ZS.prototype,"containingElement",void 0),e([ue({type:Number})],ZS.prototype,"distance",void 0),e([ue({type:Number})],ZS.prototype,"skidding",void 0),e([ue()],ZS.prototype,"sync",void 0),e([ue({type:Boolean})],ZS.prototype,"hoist",void 0),e([ue({reflect:!0})],ZS.prototype,"triggerDropdown",void 0),e([We("open",{waitUntilFirstUpdate:!0})],ZS.prototype,"handleOpenChange",null),ZS=e([le("nile-side-bar-action")],ZS),yt("dropdown.show",{keyframes:[{opacity:0,scale:.9},{opacity:1,scale:1}],options:{duration:100,easing:"ease"}}),yt("dropdown.hide",{keyframes:[{opacity:1,scale:1},{opacity:0,scale:.9}],options:{duration:100,easing:"ease"}});const VS=r`
14655
14734
  :host {
14656
14735
  display: block;
14657
14736
  line-height: 1.2;
@@ -14679,12 +14758,12 @@ width: 38px;
14679
14758
  overflow: hidden;
14680
14759
  text-overflow: ellipsis;
14681
14760
  }
14682
- `;let QS=class extends Re{constructor(){super(...arguments),this.text="",this.subtext=""}static get styles(){return[ES]}render(){return R`
14761
+ `;let WS=class extends Re{constructor(){super(...arguments),this.text="",this.subtext=""}static get styles(){return[VS]}render(){return R`
14683
14762
  <div class="footer-text">
14684
14763
  <div class="main">${this.text}</div>
14685
14764
  ${this.subtext?R`<div class="sub">${this.subtext}</div>`:null}
14686
14765
  </div>
14687
- `}};e([ue({type:String})],QS.prototype,"text",void 0),e([ue({type:String})],QS.prototype,"subtext",void 0),QS=e([le("nile-side-bar-footer-text")],QS);const mS=r`
14766
+ `}};e([ue({type:String})],WS.prototype,"text",void 0),e([ue({type:String})],WS.prototype,"subtext",void 0),WS=e([le("nile-side-bar-footer-text")],WS);const PS=r`
14688
14767
  :host {
14689
14768
  box-sizing: border-box;
14690
14769
  -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
@@ -14811,7 +14890,7 @@ width: 38px;
14811
14890
  }
14812
14891
 
14813
14892
  }
14814
- `;let wS=class extends Re{constructor(){super(...arguments),this.type="normal",this.checked=!1,this.value="",this.disabled=!1,this.hasSubMenu=!1}connectedCallback(){super.connectedCallback(),this.handleHostClick=this.handleHostClick.bind(this),this.addEventListener("click",this.handleHostClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleHostClick)}handleDefaultSlotChange(){const e=this.getTextLabel();void 0!==this.cachedTextLabel?e!==this.cachedTextLabel&&(this.cachedTextLabel=e,this.emit("slotchange")):this.cachedTextLabel=e}handleHostClick(e){this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}handleCheckedChange(){if(this.checked&&"checkbox"!==this.type)return this.checked=!1,void console.error('The checked attribute can only be used on menu items with type="checkbox"',this);"checkbox"===this.type?this.setAttribute("aria-checked",this.checked?"true":"false"):this.removeAttribute("aria-checked")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleTypeChange(){"checkbox"===this.type?(this.setAttribute("role","menuitemcheckbox"),this.setAttribute("aria-checked",this.checked?"true":"false")):(this.setAttribute("role","menuitem"),this.removeAttribute("aria-checked"))}getTextLabel(){return Ze(this.defaultSlot)}render(){return R`
14893
+ `;let RS=class extends Re{constructor(){super(...arguments),this.type="normal",this.checked=!1,this.value="",this.disabled=!1,this.hasSubMenu=!1}connectedCallback(){super.connectedCallback(),this.handleHostClick=this.handleHostClick.bind(this),this.addEventListener("click",this.handleHostClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleHostClick)}handleDefaultSlotChange(){const e=this.getTextLabel();void 0!==this.cachedTextLabel?e!==this.cachedTextLabel&&(this.cachedTextLabel=e,this.emit("slotchange")):this.cachedTextLabel=e}handleHostClick(e){this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}handleCheckedChange(){if(this.checked&&"checkbox"!==this.type)return this.checked=!1,void console.error('The checked attribute can only be used on menu items with type="checkbox"',this);"checkbox"===this.type?this.setAttribute("aria-checked",this.checked?"true":"false"):this.removeAttribute("aria-checked")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleTypeChange(){"checkbox"===this.type?(this.setAttribute("role","menuitemcheckbox"),this.setAttribute("aria-checked",this.checked?"true":"false")):(this.setAttribute("role","menuitem"),this.removeAttribute("aria-checked"))}getTextLabel(){return Ze(this.defaultSlot)}render(){return R`
14815
14894
  <div
14816
14895
  part="base"
14817
14896
  class=${Le({"menu-item":!0,"menu-item--checked":this.checked,"menu-item--disabled":this.disabled,"menu-item--has-submenu":this.hasSubMenu})}
@@ -14847,7 +14926,7 @@ width: 38px;
14847
14926
  ></nile-icon>
14848
14927
  </span>`:""}
14849
14928
  </div>
14850
- `}};wS.styles=mS,e([Ie("slot:not([name])")],wS.prototype,"defaultSlot",void 0),e([Ie(".menu-item")],wS.prototype,"menuItem",void 0),e([ue()],wS.prototype,"type",void 0),e([ue({type:Boolean,reflect:!0})],wS.prototype,"checked",void 0),e([ue()],wS.prototype,"value",void 0),e([ue({type:Boolean,reflect:!0})],wS.prototype,"disabled",void 0),e([ue({type:Boolean,reflect:!0})],wS.prototype,"hasSubMenu",void 0),e([We("checked")],wS.prototype,"handleCheckedChange",null),e([We("disabled")],wS.prototype,"handleDisabledChange",null),e([We("type")],wS.prototype,"handleTypeChange",null),wS=e([le("nile-side-bar-action-menu-item")],wS);const kS=r`
14929
+ `}};RS.styles=PS,e([Ie("slot:not([name])")],RS.prototype,"defaultSlot",void 0),e([Ie(".menu-item")],RS.prototype,"menuItem",void 0),e([ue()],RS.prototype,"type",void 0),e([ue({type:Boolean,reflect:!0})],RS.prototype,"checked",void 0),e([ue()],RS.prototype,"value",void 0),e([ue({type:Boolean,reflect:!0})],RS.prototype,"disabled",void 0),e([ue({type:Boolean,reflect:!0})],RS.prototype,"hasSubMenu",void 0),e([We("checked")],RS.prototype,"handleCheckedChange",null),e([We("disabled")],RS.prototype,"handleDisabledChange",null),e([We("type")],RS.prototype,"handleTypeChange",null),RS=e([le("nile-side-bar-action-menu-item")],RS);const GS=r`
14851
14930
  :host {
14852
14931
  display: block;
14853
14932
  position: relative;
@@ -14907,7 +14986,7 @@ width: 38px;
14907
14986
  .menu__footer:hover {
14908
14987
  background-color:var(--nile-menu-item-background-color, var(--ng-colors-bg-secondary));
14909
14988
  }
14910
- `;let CS=class extends Re{constructor(){super(...arguments),this.searchValue="",this.searchWidth=0,this.searchEnabled=!1,this.customSearch=!1,this.showNoResults=!1,this.allowSpaceKey=!1,this.noResultsMessage="No results found",this.hasSlotController=new Ye(this,"menu__footer","menu__header")}connectedCallback(){super.connectedCallback(),this.setAttribute("role","menu")}handleClick(e){const t=e.target.closest("nile-menu-item");t?.hasSubMenu||t&&!t.disabled&&("checkbox"===t.type&&(t.checked=!t.checked),this.emit("nile-select",{value:t.value}))}handleKeyDown(e){if("Enter"===e.key){const t=this.getCurrentItem();e.preventDefault(),t?.click()}if(this.allowSpaceKey||" "!==e.key||e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getAllItems(),M=this.getCurrentItem();let i=M?t.indexOf(M):0;t.length>0&&(e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=t.length-1),i>t.length-1&&(i=0),this.setCurrentItem(t[i]),t[i].focus())}}handleMouseDown(e){const t=e.target;this.isMenuItem(t)&&this.setCurrentItem(t)}handleSlotChange(){const e=this.getAllItems();e.length>0&&this.setCurrentItem(e[0])}isMenuItem(e){return"nile-menu-item"===e.tagName.toLowerCase()||["menuitem","menuitemcheckbox","menuitemradio"].includes(e.getAttribute("role")??"")}getAllItems(){return[...this.defaultSlot.assignedElements({flatten:!0})].filter((e=>!!this.isMenuItem(e)))}getCurrentItem(){return this.getAllItems().find((e=>"0"===e.getAttribute("tabindex")))}setCurrentItem(e){this.getAllItems().forEach((t=>{t.setAttribute("tabindex",t===e?"0":"-1")}))}handleSearchChange(e){let t=this.getAllItems(),M=e.target.value;if(this.customSearch)return void this.emit("nile-search-value",{value:M});let i=0;t.map((t=>{this.searchWidth=Math.max(this.searchWidth,t.offsetWidth),t.innerText.toLowerCase().includes(e.target.value.toLowerCase())?(t.style.display="block",i++):t.style.display="none"})),this.showNoResults=0===i}render(){return R`
14989
+ `;let BS=class extends Re{constructor(){super(...arguments),this.searchValue="",this.searchWidth=0,this.searchEnabled=!1,this.customSearch=!1,this.showNoResults=!1,this.allowSpaceKey=!1,this.noResultsMessage="No results found",this.hasSlotController=new Ye(this,"menu__footer","menu__header")}connectedCallback(){super.connectedCallback(),this.setAttribute("role","menu")}handleClick(e){const t=e.target.closest("nile-menu-item");t?.hasSubMenu||t&&!t.disabled&&("checkbox"===t.type&&(t.checked=!t.checked),this.emit("nile-select",{value:t.value}))}handleKeyDown(e){if("Enter"===e.key){const t=this.getCurrentItem();e.preventDefault(),t?.click()}if(this.allowSpaceKey||" "!==e.key||e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getAllItems(),M=this.getCurrentItem();let i=M?t.indexOf(M):0;t.length>0&&(e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=t.length-1),i>t.length-1&&(i=0),this.setCurrentItem(t[i]),t[i].focus())}}handleMouseDown(e){const t=e.target;this.isMenuItem(t)&&this.setCurrentItem(t)}handleSlotChange(){const e=this.getAllItems();e.length>0&&this.setCurrentItem(e[0])}isMenuItem(e){return"nile-menu-item"===e.tagName.toLowerCase()||["menuitem","menuitemcheckbox","menuitemradio"].includes(e.getAttribute("role")??"")}getAllItems(){return[...this.defaultSlot.assignedElements({flatten:!0})].filter((e=>!!this.isMenuItem(e)))}getCurrentItem(){return this.getAllItems().find((e=>"0"===e.getAttribute("tabindex")))}setCurrentItem(e){this.getAllItems().forEach((t=>{t.setAttribute("tabindex",t===e?"0":"-1")}))}handleSearchChange(e){let t=this.getAllItems(),M=e.target.value;if(this.customSearch)return void this.emit("nile-search-value",{value:M});let i=0;t.map((t=>{this.searchWidth=Math.max(this.searchWidth,t.offsetWidth),t.innerText.toLowerCase().includes(e.target.value.toLowerCase())?(t.style.display="block",i++):t.style.display="none"})),this.showNoResults=0===i}render(){return R`
14911
14990
  <slot name="menu__pre-header" part="menu__pre-header" @click=${e=>{e.stopPropagation()}}></slot>
14912
14991
  ${this.searchEnabled?R`<div class="search__wrapper" part="search__wrapper">
14913
14992
  <nile-input
@@ -14946,7 +15025,7 @@ width: 38px;
14946
15025
  class="menu__footer"
14947
15026
  ></slot>`:null}
14948
15027
  </div>
14949
- `}};CS.styles=kS,e([ce()],CS.prototype,"searchValue",void 0),e([ce()],CS.prototype,"searchWidth",void 0),e([ue({type:Boolean,reflect:!0})],CS.prototype,"searchEnabled",void 0),e([ue({type:Boolean,reflect:!0})],CS.prototype,"customSearch",void 0),e([ue({type:Boolean})],CS.prototype,"showNoResults",void 0),e([ue({type:Boolean})],CS.prototype,"allowSpaceKey",void 0),e([ue({type:String})],CS.prototype,"noResultsMessage",void 0),e([Ie("slot:not([name])")],CS.prototype,"defaultSlot",void 0),CS=e([le("nile-side-bar-action-menu")],CS);const bS=r`
15028
+ `}};BS.styles=GS,e([ce()],BS.prototype,"searchValue",void 0),e([ce()],BS.prototype,"searchWidth",void 0),e([ue({type:Boolean,reflect:!0})],BS.prototype,"searchEnabled",void 0),e([ue({type:Boolean,reflect:!0})],BS.prototype,"customSearch",void 0),e([ue({type:Boolean})],BS.prototype,"showNoResults",void 0),e([ue({type:Boolean})],BS.prototype,"allowSpaceKey",void 0),e([ue({type:String})],BS.prototype,"noResultsMessage",void 0),e([Ie("slot:not([name])")],BS.prototype,"defaultSlot",void 0),BS=e([le("nile-side-bar-action-menu")],BS);const _S=r`
14950
15029
  :host {
14951
15030
  display: block;
14952
15031
  }
@@ -14978,7 +15057,7 @@ width: 38px;
14978
15057
  flex-direction: column;
14979
15058
  gap: var(--nile-spacing-xs);
14980
15059
  }
14981
- `;let US=class extends Re{constructor(){super(...arguments),this.label="",this.divider=!1}static get styles(){return[bS]}render(){return R`
15060
+ `;let FS=class extends Re{constructor(){super(...arguments),this.label="",this.divider=!1}static get styles(){return[_S]}render(){return R`
14982
15061
  <div class="group">
14983
15062
  ${this.label||this.hasLabelSlot()?R`
14984
15063
  <div class="group-label">
@@ -14989,7 +15068,7 @@ width: 38px;
14989
15068
  <slot></slot>
14990
15069
  </div>
14991
15070
  </div>
14992
- `}hasLabelSlot(){const e=this.shadowRoot?.querySelector('slot[name="label"]');return!!e}};e([ue({type:String})],US.prototype,"label",void 0),e([ue({type:Boolean,reflect:!0})],US.prototype,"divider",void 0),US=e([le("nile-inline-sidebar-group")],US);const fS=r`
15071
+ `}hasLabelSlot(){const e=this.shadowRoot?.querySelector('slot[name="label"]');return!!e}};e([ue({type:String})],FS.prototype,"label",void 0),e([ue({type:Boolean,reflect:!0})],FS.prototype,"divider",void 0),FS=e([le("nile-inline-sidebar-group")],FS);const JS=r`
14993
15072
  :host {
14994
15073
  display: block;
14995
15074
  height: 100%;
@@ -15079,7 +15158,7 @@ width: 38px;
15079
15158
  pointer-events: auto;
15080
15159
  transition-delay: 0ms;
15081
15160
  }
15082
- `;let vS=class extends Re{constructor(){super(...arguments),this.collapsed=!1,this.fixed=!1,this.showTooltip=!1,this.activeIndex=-1,this.handleItemSelect=e=>{const t=e.detail.item,M=this.sidebarItems.indexOf(t);this.sidebarItems.forEach(((e,t)=>e.active=t===M)),this.activeIndex=M,this.dispatchEvent(new CustomEvent("nile-change",{detail:{selectedItem:t,index:M},bubbles:!0,composed:!0})),this.requestUpdate()}}static get styles(){return[fS]}get sidebarItems(){if(!this.defaultSlot)return[];return this.defaultSlot.assignedElements({flatten:!0}).flatMap((e=>"nile-inline-sidebar-item"===e.tagName.toLowerCase()?[e]:Array.from(e.querySelectorAll("nile-inline-sidebar-item"))))}connectedCallback(){super.connectedCallback(),this.addEventListener("nile-click",this.handleItemSelect),this.mutationObserver=new MutationObserver((()=>this.syncActiveFromItems()))}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect(),this.removeEventListener("nile-click",this.handleItemSelect)}firstUpdated(){this.observeSidebarItems(),this.syncActiveFromItems(),this.fixed&&(this.collapsed=!1)}observeSidebarItems(){this.sidebarItems?.length&&this.mutationObserver&&this.sidebarItems.forEach((e=>this.mutationObserver.observe(e,{attributes:!0,attributeFilter:["active"]})))}syncActiveFromItems(){if(!this.sidebarItems?.length)return;const e=this.sidebarItems.findIndex((e=>e.hasAttribute("active")));-1!==e&&e!==this.activeIndex&&(this.activeIndex=e,this.requestUpdate())}toggleCollapse(){this.fixed||(this.collapsed=!this.collapsed,console.log("[Sidebar] Toggled collapse →",this.collapsed),this.dispatchEvent(new CustomEvent("nile-toggle",{detail:{collapsed:this.collapsed},bubbles:!0,composed:!0})))}handleMenuItemClick(e){const t=this.sidebarItems[e];if(!t||t.hasAttribute("disabled"))return;this.sidebarItems.forEach(((t,M)=>t.active=M===e)),this.activeIndex=e;const M=t.textContent?.trim()||"",i=t.href;this.dispatchEvent(new CustomEvent("nile-click",{detail:{item:t,href:i,text:M},bubbles:!0,composed:!0})),i&&(window.location.href=i),this.requestUpdate()}get menuItemsTemplate(){return this.sidebarItems?.length?this.sidebarItems.map(((e,t)=>{const M=R`
15161
+ `;let HS=class extends Re{constructor(){super(...arguments),this.collapsed=!1,this.fixed=!1,this.showTooltip=!1,this.activeIndex=-1,this.handleItemSelect=e=>{const t=e.detail.item,M=this.sidebarItems.indexOf(t);this.sidebarItems.forEach(((e,t)=>e.active=t===M)),this.activeIndex=M,this.dispatchEvent(new CustomEvent("nile-change",{detail:{selectedItem:t,index:M},bubbles:!0,composed:!0})),this.requestUpdate()}}static get styles(){return[JS]}get sidebarItems(){if(!this.defaultSlot)return[];return this.defaultSlot.assignedElements({flatten:!0}).flatMap((e=>"nile-inline-sidebar-item"===e.tagName.toLowerCase()?[e]:Array.from(e.querySelectorAll("nile-inline-sidebar-item"))))}connectedCallback(){super.connectedCallback(),this.addEventListener("nile-click",this.handleItemSelect),this.mutationObserver=new MutationObserver((()=>this.syncActiveFromItems()))}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect(),this.removeEventListener("nile-click",this.handleItemSelect)}firstUpdated(){this.observeSidebarItems(),this.syncActiveFromItems(),this.fixed&&(this.collapsed=!1)}observeSidebarItems(){this.sidebarItems?.length&&this.mutationObserver&&this.sidebarItems.forEach((e=>this.mutationObserver.observe(e,{attributes:!0,attributeFilter:["active"]})))}syncActiveFromItems(){if(!this.sidebarItems?.length)return;const e=this.sidebarItems.findIndex((e=>e.hasAttribute("active")));-1!==e&&e!==this.activeIndex&&(this.activeIndex=e,this.requestUpdate())}toggleCollapse(){this.fixed||(this.collapsed=!this.collapsed,console.log("[Sidebar] Toggled collapse →",this.collapsed),this.dispatchEvent(new CustomEvent("nile-toggle",{detail:{collapsed:this.collapsed},bubbles:!0,composed:!0})))}handleMenuItemClick(e){const t=this.sidebarItems[e];if(!t||t.hasAttribute("disabled"))return;this.sidebarItems.forEach(((t,M)=>t.active=M===e)),this.activeIndex=e;const M=t.textContent?.trim()||"",i=t.href;this.dispatchEvent(new CustomEvent("nile-click",{detail:{item:t,href:i,text:M},bubbles:!0,composed:!0})),i&&(window.location.href=i),this.requestUpdate()}get menuItemsTemplate(){return this.sidebarItems?.length?this.sidebarItems.map(((e,t)=>{const M=R`
15083
15162
  <nile-side-bar-action-menu-item
15084
15163
  ?disabled=${e.hasAttribute("disabled")}
15085
15164
  ?active=${this.activeIndex===t}
@@ -15135,7 +15214,7 @@ width: 38px;
15135
15214
  ></slot>
15136
15215
  </nav>
15137
15216
  </div>
15138
- `}};e([ue({type:Boolean,reflect:!0})],vS.prototype,"collapsed",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],vS.prototype,"fixed",void 0),e([ue({type:Boolean,reflect:!0})],vS.prototype,"showTooltip",void 0),e([ce()],vS.prototype,"activeIndex",void 0),e([Ie("slot")],vS.prototype,"defaultSlot",void 0),vS=e([le("nile-inline-sidebar")],vS);const YS=r`
15217
+ `}};e([ue({type:Boolean,reflect:!0})],HS.prototype,"collapsed",void 0),e([ue({type:Boolean,reflect:!0,attribute:!0})],HS.prototype,"fixed",void 0),e([ue({type:Boolean,reflect:!0})],HS.prototype,"showTooltip",void 0),e([ce()],HS.prototype,"activeIndex",void 0),e([Ie("slot")],HS.prototype,"defaultSlot",void 0),HS=e([le("nile-inline-sidebar")],HS);const $S=r`
15139
15218
  :host {
15140
15219
  display: block;
15141
15220
  font-family: var(--nile-font-family-sans-serif);
@@ -15187,24 +15266,24 @@ a {
15187
15266
  text-decoration: none;
15188
15267
  }
15189
15268
 
15190
- `;let ZS=class extends Re{constructor(){super(...arguments),this.active=!1,this.disabled=!1}static get styles(){return[YS]}handleClick(e){if(this.disabled)return e.preventDefault(),void e.stopPropagation();const t=this.closest("nile-inline-sidebar");if(t){t.querySelectorAll("nile-inline-sidebar-item").forEach((e=>e.active=e===this))}const M=this.textContent?.trim()||"";this.dispatchEvent(new CustomEvent("nile-click",{detail:{item:this,href:this.href,text:M},bubbles:!0,composed:!0})),this.href&&(window.location.href=this.href)}render(){return R`
15269
+ `;let XS=class extends Re{constructor(){super(...arguments),this.active=!1,this.disabled=!1}static get styles(){return[$S]}handleClick(e){if(this.disabled)return e.preventDefault(),void e.stopPropagation();const t=this.closest("nile-inline-sidebar");if(t){t.querySelectorAll("nile-inline-sidebar-item").forEach((e=>e.active=e===this))}const M=this.textContent?.trim()||"";this.dispatchEvent(new CustomEvent("nile-click",{detail:{item:this,href:this.href,text:M},bubbles:!0,composed:!0})),this.href&&(window.location.href=this.href)}render(){return R`
15191
15270
  <div class="item" @click=${this.handleClick} role="button" tabindex="0">
15192
15271
  ${this.href?R`<a href=${this.href} @click=${e=>e.preventDefault()}><slot></slot></a>`:R`<slot></slot>`}
15193
15272
  </div>
15194
- `}};e([ue({type:Boolean,reflect:!0})],ZS.prototype,"active",void 0),e([ue({type:Boolean,reflect:!0})],ZS.prototype,"disabled",void 0),e([ue({type:String})],ZS.prototype,"href",void 0),ZS=e([le("nile-inline-sidebar-item")],ZS);
15273
+ `}};e([ue({type:Boolean,reflect:!0})],XS.prototype,"active",void 0),e([ue({type:Boolean,reflect:!0})],XS.prototype,"disabled",void 0),e([ue({type:String})],XS.prototype,"href",void 0),XS=e([le("nile-inline-sidebar-item")],XS);
15195
15274
  /**
15196
15275
  * @license
15197
15276
  * Copyright 2021 Google LLC
15198
15277
  * SPDX-License-Identifier: BSD-3-Clause
15199
15278
  */
15200
- class VS{constructor(e){this._map=new Map,this._roundAverageSize=!1,this.totalSize=0,!0===e?.roundAverageSize&&(this._roundAverageSize=!0)}set(e,t){const M=this._map.get(e)||0;this._map.set(e,t),this.totalSize+=t-M}get averageSize(){if(this._map.size>0){const e=this.totalSize/this._map.size;return this._roundAverageSize?Math.round(e):e}return 0}getSize(e){return this._map.get(e)}clear(){this._map.clear(),this.totalSize=0}}
15279
+ class qS{constructor(e){this._map=new Map,this._roundAverageSize=!1,this.totalSize=0,!0===e?.roundAverageSize&&(this._roundAverageSize=!0)}set(e,t){const M=this._map.get(e)||0;this._map.set(e,t),this.totalSize+=t-M}get averageSize(){if(this._map.size>0){const e=this.totalSize/this._map.size;return this._roundAverageSize?Math.round(e):e}return 0}getSize(e){return this._map.get(e)}clear(){this._map.clear(),this.totalSize=0}}
15201
15280
  /**
15202
15281
  * @license
15203
15282
  * Copyright 2021 Google LLC
15204
15283
  * SPDX-License-Identifier: BSD-3-Clause
15205
- */function WS(e){return"horizontal"===e?"width":"height"}class PS{_getDefaultConfig(){return{direction:"vertical"}}constructor(e,t){this._latestCoords={left:0,top:0},this._direction=null,this._viewportSize={width:0,height:0},this.totalScrollSize={width:0,height:0},this.offsetWithinScroller={left:0,top:0},this._pendingReflow=!1,this._pendingLayoutUpdate=!1,this._pin=null,this._firstVisible=0,this._lastVisible=0,this._physicalMin=0,this._physicalMax=0,this._first=-1,this._last=-1,this._sizeDim="height",this._secondarySizeDim="width",this._positionDim="top",this._secondaryPositionDim="left",this._scrollPosition=0,this._scrollError=0,this._items=[],this._scrollSize=1,this._overhang=1e3,this._hostSink=e,Promise.resolve().then((()=>this.config=t||this._getDefaultConfig()))}set config(e){Object.assign(this,Object.assign({},this._getDefaultConfig(),e))}get config(){return{direction:this.direction}}get items(){return this._items}set items(e){this._setItems(e)}_setItems(e){e!==this._items&&(this._items=e,this._scheduleReflow())}get direction(){return this._direction}set direction(e){(e="horizontal"===e?e:"vertical")!==this._direction&&(this._direction=e,this._sizeDim="horizontal"===e?"width":"height",this._secondarySizeDim="horizontal"===e?"height":"width",this._positionDim="horizontal"===e?"left":"top",this._secondaryPositionDim="horizontal"===e?"top":"left",this._triggerReflow())}get viewportSize(){return this._viewportSize}set viewportSize(e){const{_viewDim1:t,_viewDim2:M}=this;Object.assign(this._viewportSize,e),M!==this._viewDim2?this._scheduleLayoutUpdate():t!==this._viewDim1&&this._checkThresholds()}get viewportScroll(){return this._latestCoords}set viewportScroll(e){Object.assign(this._latestCoords,e);const t=this._scrollPosition;this._scrollPosition=this._latestCoords[this._positionDim];Math.abs(t-this._scrollPosition)>=1&&this._checkThresholds()}reflowIfNeeded(e=!1){(e||this._pendingReflow)&&(this._pendingReflow=!1,this._reflow())}set pin(e){this._pin=e,this._triggerReflow()}get pin(){if(null!==this._pin){const{index:e,block:t}=this._pin;return{index:Math.max(0,Math.min(e,this.items.length-1)),block:t}}return null}_clampScrollPosition(e){return Math.max(-this.offsetWithinScroller[this._positionDim],Math.min(e,this.totalScrollSize[WS(this.direction)]-this._viewDim1))}unpin(){null!==this._pin&&(this._sendUnpinnedMessage(),this._pin=null)}_updateLayout(){}get _viewDim1(){return this._viewportSize[this._sizeDim]}get _viewDim2(){return this._viewportSize[this._secondarySizeDim]}_scheduleReflow(){this._pendingReflow=!0}_scheduleLayoutUpdate(){this._pendingLayoutUpdate=!0,this._scheduleReflow()}_triggerReflow(){this._scheduleLayoutUpdate(),Promise.resolve().then((()=>this.reflowIfNeeded()))}_reflow(){this._pendingLayoutUpdate&&(this._updateLayout(),this._pendingLayoutUpdate=!1),this._updateScrollSize(),this._setPositionFromPin(),this._getActiveItems(),this._updateVisibleIndices(),this._sendStateChangedMessage()}_setPositionFromPin(){if(null!==this.pin){const e=this._scrollPosition,{index:t,block:M}=this.pin;this._scrollPosition=this._calculateScrollIntoViewPosition({index:t,block:M||"start"})-this.offsetWithinScroller[this._positionDim],this._scrollError=e-this._scrollPosition}}_calculateScrollIntoViewPosition(e){const{block:t}=e,M=Math.min(this.items.length,Math.max(0,e.index)),i=this._getItemPosition(M)[this._positionDim];let n=i;if("start"!==t){const e=this._getItemSize(M)[this._sizeDim];if("center"===t)n=i-.5*this._viewDim1+.5*e;else{const M=i-this._viewDim1+e;if("end"===t)n=M;else{const e=this._scrollPosition;n=Math.abs(e-i)<Math.abs(e-M)?i:M}}}return n+=this.offsetWithinScroller[this._positionDim],this._clampScrollPosition(n)}getScrollIntoViewCoordinates(e){return{[this._positionDim]:this._calculateScrollIntoViewPosition(e)}}_sendUnpinnedMessage(){this._hostSink({type:"unpinned"})}_sendVisibilityChangedMessage(){this._hostSink({type:"visibilityChanged",firstVisible:this._firstVisible,lastVisible:this._lastVisible})}_sendStateChangedMessage(){const e=new Map;if(-1!==this._first&&-1!==this._last)for(let t=this._first;t<=this._last;t++)e.set(t,this._getItemPosition(t));const t={type:"stateChanged",scrollSize:{[this._sizeDim]:this._scrollSize,[this._secondarySizeDim]:null},range:{first:this._first,last:this._last,firstVisible:this._firstVisible,lastVisible:this._lastVisible},childPositions:e};this._scrollError&&(t.scrollError={[this._positionDim]:this._scrollError,[this._secondaryPositionDim]:0},this._scrollError=0),this._hostSink(t)}get _num(){return-1===this._first||-1===this._last?0:this._last-this._first+1}_checkThresholds(){if(0===this._viewDim1&&this._num>0||null!==this._pin)this._scheduleReflow();else{const e=Math.max(0,this._scrollPosition-this._overhang),t=Math.min(this._scrollSize,this._scrollPosition+this._viewDim1+this._overhang);this._physicalMin>e||this._physicalMax<t?this._scheduleReflow():this._updateVisibleIndices({emit:!0})}}_updateVisibleIndices(e){if(-1===this._first||-1===this._last)return;let t=this._first;for(;t<this._last&&Math.round(this._getItemPosition(t)[this._positionDim]+this._getItemSize(t)[this._sizeDim])<=Math.round(this._scrollPosition);)t++;let M=this._last;for(;M>this._first&&Math.round(this._getItemPosition(M)[this._positionDim])>=Math.round(this._scrollPosition+this._viewDim1);)M--;t===this._firstVisible&&M===this._lastVisible||(this._firstVisible=t,this._lastVisible=M,e&&e.emit&&this._sendVisibilityChangedMessage())}}
15284
+ */function KS(e){return"horizontal"===e?"width":"height"}class eE{_getDefaultConfig(){return{direction:"vertical"}}constructor(e,t){this._latestCoords={left:0,top:0},this._direction=null,this._viewportSize={width:0,height:0},this.totalScrollSize={width:0,height:0},this.offsetWithinScroller={left:0,top:0},this._pendingReflow=!1,this._pendingLayoutUpdate=!1,this._pin=null,this._firstVisible=0,this._lastVisible=0,this._physicalMin=0,this._physicalMax=0,this._first=-1,this._last=-1,this._sizeDim="height",this._secondarySizeDim="width",this._positionDim="top",this._secondaryPositionDim="left",this._scrollPosition=0,this._scrollError=0,this._items=[],this._scrollSize=1,this._overhang=1e3,this._hostSink=e,Promise.resolve().then((()=>this.config=t||this._getDefaultConfig()))}set config(e){Object.assign(this,Object.assign({},this._getDefaultConfig(),e))}get config(){return{direction:this.direction}}get items(){return this._items}set items(e){this._setItems(e)}_setItems(e){e!==this._items&&(this._items=e,this._scheduleReflow())}get direction(){return this._direction}set direction(e){(e="horizontal"===e?e:"vertical")!==this._direction&&(this._direction=e,this._sizeDim="horizontal"===e?"width":"height",this._secondarySizeDim="horizontal"===e?"height":"width",this._positionDim="horizontal"===e?"left":"top",this._secondaryPositionDim="horizontal"===e?"top":"left",this._triggerReflow())}get viewportSize(){return this._viewportSize}set viewportSize(e){const{_viewDim1:t,_viewDim2:M}=this;Object.assign(this._viewportSize,e),M!==this._viewDim2?this._scheduleLayoutUpdate():t!==this._viewDim1&&this._checkThresholds()}get viewportScroll(){return this._latestCoords}set viewportScroll(e){Object.assign(this._latestCoords,e);const t=this._scrollPosition;this._scrollPosition=this._latestCoords[this._positionDim];Math.abs(t-this._scrollPosition)>=1&&this._checkThresholds()}reflowIfNeeded(e=!1){(e||this._pendingReflow)&&(this._pendingReflow=!1,this._reflow())}set pin(e){this._pin=e,this._triggerReflow()}get pin(){if(null!==this._pin){const{index:e,block:t}=this._pin;return{index:Math.max(0,Math.min(e,this.items.length-1)),block:t}}return null}_clampScrollPosition(e){return Math.max(-this.offsetWithinScroller[this._positionDim],Math.min(e,this.totalScrollSize[KS(this.direction)]-this._viewDim1))}unpin(){null!==this._pin&&(this._sendUnpinnedMessage(),this._pin=null)}_updateLayout(){}get _viewDim1(){return this._viewportSize[this._sizeDim]}get _viewDim2(){return this._viewportSize[this._secondarySizeDim]}_scheduleReflow(){this._pendingReflow=!0}_scheduleLayoutUpdate(){this._pendingLayoutUpdate=!0,this._scheduleReflow()}_triggerReflow(){this._scheduleLayoutUpdate(),Promise.resolve().then((()=>this.reflowIfNeeded()))}_reflow(){this._pendingLayoutUpdate&&(this._updateLayout(),this._pendingLayoutUpdate=!1),this._updateScrollSize(),this._setPositionFromPin(),this._getActiveItems(),this._updateVisibleIndices(),this._sendStateChangedMessage()}_setPositionFromPin(){if(null!==this.pin){const e=this._scrollPosition,{index:t,block:M}=this.pin;this._scrollPosition=this._calculateScrollIntoViewPosition({index:t,block:M||"start"})-this.offsetWithinScroller[this._positionDim],this._scrollError=e-this._scrollPosition}}_calculateScrollIntoViewPosition(e){const{block:t}=e,M=Math.min(this.items.length,Math.max(0,e.index)),i=this._getItemPosition(M)[this._positionDim];let n=i;if("start"!==t){const e=this._getItemSize(M)[this._sizeDim];if("center"===t)n=i-.5*this._viewDim1+.5*e;else{const M=i-this._viewDim1+e;if("end"===t)n=M;else{const e=this._scrollPosition;n=Math.abs(e-i)<Math.abs(e-M)?i:M}}}return n+=this.offsetWithinScroller[this._positionDim],this._clampScrollPosition(n)}getScrollIntoViewCoordinates(e){return{[this._positionDim]:this._calculateScrollIntoViewPosition(e)}}_sendUnpinnedMessage(){this._hostSink({type:"unpinned"})}_sendVisibilityChangedMessage(){this._hostSink({type:"visibilityChanged",firstVisible:this._firstVisible,lastVisible:this._lastVisible})}_sendStateChangedMessage(){const e=new Map;if(-1!==this._first&&-1!==this._last)for(let t=this._first;t<=this._last;t++)e.set(t,this._getItemPosition(t));const t={type:"stateChanged",scrollSize:{[this._sizeDim]:this._scrollSize,[this._secondarySizeDim]:null},range:{first:this._first,last:this._last,firstVisible:this._firstVisible,lastVisible:this._lastVisible},childPositions:e};this._scrollError&&(t.scrollError={[this._positionDim]:this._scrollError,[this._secondaryPositionDim]:0},this._scrollError=0),this._hostSink(t)}get _num(){return-1===this._first||-1===this._last?0:this._last-this._first+1}_checkThresholds(){if(0===this._viewDim1&&this._num>0||null!==this._pin)this._scheduleReflow();else{const e=Math.max(0,this._scrollPosition-this._overhang),t=Math.min(this._scrollSize,this._scrollPosition+this._viewDim1+this._overhang);this._physicalMin>e||this._physicalMax<t?this._scheduleReflow():this._updateVisibleIndices({emit:!0})}}_updateVisibleIndices(e){if(-1===this._first||-1===this._last)return;let t=this._first;for(;t<this._last&&Math.round(this._getItemPosition(t)[this._positionDim]+this._getItemSize(t)[this._sizeDim])<=Math.round(this._scrollPosition);)t++;let M=this._last;for(;M>this._first&&Math.round(this._getItemPosition(M)[this._positionDim])>=Math.round(this._scrollPosition+this._viewDim1);)M--;t===this._firstVisible&&M===this._lastVisible||(this._firstVisible=t,this._lastVisible=M,e&&e.emit&&this._sendVisibilityChangedMessage())}}
15206
15285
  /**
15207
15286
  * @license
15208
15287
  * Copyright 2021 Google LLC
15209
15288
  * SPDX-License-Identifier: BSD-3-Clause
15210
- */function RS(e){return"horizontal"===e?"marginLeft":"marginTop"}function GS(e){return"horizontal"===e?"marginRight":"marginBottom"}function BS(e){return"horizontal"===e?"xOffset":"yOffset"}function _S(e,t){const M=[e,t].sort();return M[1]<=0?Math.min(...M):M[0]>=0?Math.max(...M):M[0]+M[1]}class FS{constructor(){this._childSizeCache=new VS,this._marginSizeCache=new VS,this._metricsCache=new Map}update(e,t){const M=new Set;Object.keys(e).forEach((i=>{const n=Number(i);this._metricsCache.set(n,e[n]),this._childSizeCache.set(n,e[n][WS(t)]),M.add(n),M.add(n+1)}));for(const e of M){const M=this._metricsCache.get(e)?.[RS(t)]||0,i=this._metricsCache.get(e-1)?.[GS(t)]||0;this._marginSizeCache.set(e,_S(M,i))}}get averageChildSize(){return this._childSizeCache.averageSize}get totalChildSize(){return this._childSizeCache.totalSize}get averageMarginSize(){return this._marginSizeCache.averageSize}get totalMarginSize(){return this._marginSizeCache.totalSize}getLeadingMarginValue(e,t){return this._metricsCache.get(e)?.[RS(t)]||0}getChildSize(e){return this._childSizeCache.getSize(e)}getMarginSize(e){return this._marginSizeCache.getSize(e)}clear(){this._childSizeCache.clear(),this._marginSizeCache.clear(),this._metricsCache.clear()}}var JS=Object.freeze({__proto__:null,FlowLayout:class extends PS{constructor(){super(...arguments),this._itemSize={width:100,height:100},this._physicalItems=new Map,this._newPhysicalItems=new Map,this._metricsCache=new FS,this._anchorIdx=null,this._anchorPos=null,this._stable=!0,this._measureChildren=!0,this._estimate=!0}get measureChildren(){return this._measureChildren}updateItemSizes(e){this._metricsCache.update(e,this.direction),this._scheduleReflow()}_getPhysicalItem(e){return this._newPhysicalItems.get(e)??this._physicalItems.get(e)}_getSize(e){return this._getPhysicalItem(e)&&this._metricsCache.getChildSize(e)}_getAverageSize(){return this._metricsCache.averageChildSize||this._itemSize[this._sizeDim]}_estimatePosition(e){const t=this._metricsCache;if(-1===this._first||-1===this._last)return t.averageMarginSize+e*(t.averageMarginSize+this._getAverageSize());if(e<this._first){const M=this._first-e;return this._getPhysicalItem(this._first).pos-(t.getMarginSize(this._first-1)||t.averageMarginSize)-(M*t.averageChildSize+(M-1)*t.averageMarginSize)}{const M=e-this._last;return this._getPhysicalItem(this._last).pos+(t.getChildSize(this._last)||t.averageChildSize)+(t.getMarginSize(this._last)||t.averageMarginSize)+M*(t.averageChildSize+t.averageMarginSize)}}_getPosition(e){const t=this._getPhysicalItem(e),{averageMarginSize:M}=this._metricsCache;return 0===e?this._metricsCache.getMarginSize(0)??M:t?t.pos:this._estimatePosition(e)}_calculateAnchor(e,t){return e<=0?0:t>this._scrollSize-this._viewDim1?this.items.length-1:Math.max(0,Math.min(this.items.length-1,Math.floor((e+t)/2/this._delta)))}_getAnchor(e,t){if(0===this._physicalItems.size)return this._calculateAnchor(e,t);if(this._first<0)return this._calculateAnchor(e,t);if(this._last<0)return this._calculateAnchor(e,t);const M=this._getPhysicalItem(this._first),i=this._getPhysicalItem(this._last),n=M.pos;if(i.pos+this._metricsCache.getChildSize(this._last)<e)return this._calculateAnchor(e,t);if(n>t)return this._calculateAnchor(e,t);let o=this._firstVisible-1,r=-1/0;for(;r<e;){r=this._getPhysicalItem(++o).pos+this._metricsCache.getChildSize(o)}return o}_getActiveItems(){0===this._viewDim1||0===this.items.length?this._clearItems():this._getItems()}_clearItems(){this._first=-1,this._last=-1,this._physicalMin=0,this._physicalMax=0;const e=this._newPhysicalItems;this._newPhysicalItems=this._physicalItems,this._newPhysicalItems.clear(),this._physicalItems=e,this._stable=!0}_getItems(){const e=this._newPhysicalItems;let t,M;if(this._stable=!0,null!==this.pin){const{index:e}=this.pin;this._anchorIdx=e,this._anchorPos=this._getPosition(e)}if(t=this._scrollPosition-this._overhang,M=this._scrollPosition+this._viewDim1+this._overhang,M<0||t>this._scrollSize)return void this._clearItems();null!==this._anchorIdx&&null!==this._anchorPos||(this._anchorIdx=this._getAnchor(t,M),this._anchorPos=this._getPosition(this._anchorIdx));let i=this._getSize(this._anchorIdx);void 0===i&&(this._stable=!1,i=this._getAverageSize());const n=this._metricsCache.getMarginSize(this._anchorIdx)??this._metricsCache.averageMarginSize,o=this._metricsCache.getMarginSize(this._anchorIdx+1)??this._metricsCache.averageMarginSize;0===this._anchorIdx&&(this._anchorPos=n),this._anchorIdx===this.items.length-1&&(this._anchorPos=this._scrollSize-o-i);let r=0;for(this._anchorPos+i+o<t&&(r=t-(this._anchorPos+i+o)),this._anchorPos-n>M&&(r=M-(this._anchorPos-n)),r&&(this._scrollPosition-=r,t-=r,M-=r,this._scrollError+=r),e.set(this._anchorIdx,{pos:this._anchorPos,size:i}),this._first=this._last=this._anchorIdx,this._physicalMin=this._anchorPos-n,this._physicalMax=this._anchorPos+i+o;this._physicalMin>t&&this._first>0;){let t=this._getSize(--this._first);void 0===t&&(this._stable=!1,t=this._getAverageSize());let M=this._metricsCache.getMarginSize(this._first);void 0===M&&(this._stable=!1,M=this._metricsCache.averageMarginSize),this._physicalMin-=t;const i=this._physicalMin;if(e.set(this._first,{pos:i,size:t}),this._physicalMin-=M,!1===this._stable&&!1===this._estimate)break}for(;this._physicalMax<M&&this._last<this.items.length-1;){let t=this._getSize(++this._last);void 0===t&&(this._stable=!1,t=this._getAverageSize());let M=this._metricsCache.getMarginSize(this._last);void 0===M&&(this._stable=!1,M=this._metricsCache.averageMarginSize);const i=this._physicalMax;if(e.set(this._last,{pos:i,size:t}),this._physicalMax+=t+M,!this._stable&&!this._estimate)break}const s=this._calculateError();s&&(this._physicalMin-=s,this._physicalMax-=s,this._anchorPos-=s,this._scrollPosition-=s,e.forEach((e=>e.pos-=s)),this._scrollError+=s),this._stable&&(this._newPhysicalItems=this._physicalItems,this._newPhysicalItems.clear(),this._physicalItems=e)}_calculateError(){return 0===this._first?this._physicalMin:this._physicalMin<=0?this._physicalMin-this._first*this._delta:this._last===this.items.length-1?this._physicalMax-this._scrollSize:this._physicalMax>=this._scrollSize?this._physicalMax-this._scrollSize+(this.items.length-1-this._last)*this._delta:0}_reflow(){const{_first:e,_last:t}=this;super._reflow(),(-1===this._first&&-1==this._last||this._first===e&&this._last===t)&&this._resetReflowState()}_resetReflowState(){this._anchorIdx=null,this._anchorPos=null,this._stable=!0}_updateScrollSize(){const{averageMarginSize:e}=this._metricsCache;this._scrollSize=Math.max(1,this.items.length*(e+this._getAverageSize())+e)}get _delta(){const{averageMarginSize:e}=this._metricsCache;return this._getAverageSize()+e}_getItemPosition(e){return{[this._positionDim]:this._getPosition(e),[this._secondaryPositionDim]:0,[BS(this.direction)]:-(this._metricsCache.getLeadingMarginValue(e,this.direction)??this._metricsCache.averageMarginSize)}}_getItemSize(e){return{[this._sizeDim]:this._getSize(e)||this._getAverageSize(),[this._secondarySizeDim]:this._itemSize[this._secondarySizeDim]}}_viewDim2Changed(){this._metricsCache.clear(),this._scheduleReflow()}}});export{ax as NileAccordion,nn as NileAutoComplete,QL as NileAvatar,gt as NileBadge,tL as NileBreadcrumb,iL as NileBreadcrumbItem,_e as NileButton,gL as NileButtonFilter,Ln as NileButtonToggle,pn as NileButtonToggleGroup,dn as NileCalendar,sL as NileCard,Ut as NileCheckbox,rn as NileChip,uL as NileCircularProgressbar,HO as NileCodeEditor,Un as NileContentEditor,ln as NileDatePicker,vn as NileDialog,lx as NileDivider,Ct as NileDrawer,tn as NileDropdown,CL as NileEmptyState,Dn as NileErrorMessage,Zn as NileErrorNotification,zp as NileFilePreview,qx as NileFileUpload,Ox as NileFilterChip,cn as NileFormErrorMessage,oL as NileFormGroup,In as NileFormHelpText,BL as NileFormatDate,pp as NileGrid,Ep as NileGridBody,bp as NileGridCellItem,fp as NileGridHead,kp as NileGridHeadItem,mp as NileGridRow,Fe as NileHeading,UL as NileHero,WL as NileHeroHeader,we as NileIcon,lt as NileIconButton,dx as NileInlineEdit,vS as NileInlineSidebar,US as NileInlineSidebarGroup,ZS as NileInlineSidebarItem,ot as NileInput,hn as NileLink,rx as NileList,nx as NileListItem,oi as NileLoader,st as NileMenu,Ki as NileMenuItem,Xi as NileOption,Tp as NileOptionGroup,wL as NilePageHeader,px as NilePagination,NL as NilePopover,KM as NilePopup,si as NileProgressBar,vt as NileRadio,Zt as NileRadioGroup,oS as NileRichTextEditor,cx as NileSectionMessage,Hi as NileSelect,sS as NileSideBar,SS as NileSideBarAction,CS as NileSideBarActionMenu,wS as NileSideBarActionMenuItem,uS as NileSideBarExpand,OS as NileSideBarFooter,xS as NileSideBarFooterItem,QS as NileSideBarFooterText,jS as NileSideBarGroup,zS as NileSideBarGroupItem,TS as NileSideBarGroupItemIcon,hS as NileSideBarGroupItemText,NS as NileSideBarHeader,gS as NileSideBarLogo,ii as NileSlideToggle,Cx as NileSlider,Ni as NileSpinner,JL as NileSplitPanel,ZL as NileStepper,vL as NileStepperItem,kn as NileSwitcher,Gn as NileTab,Wn as NileTabGroup,Fn as NileTabPanel,yx as NileTable,xL as NileTableBody,hL as NileTableCellItem,SL as NileTableHeaderItem,OL as NileTableRow,Di as NileTag,an as NileTextarea,Dx as NileTitle,KO as NileToast,Ix as NileToolbar,ti as NileTooltip,Mx as NileTree,KL as NileTreeItem,RL as NileVerticalStepperItem,_i as NileVirtualSelect};
15289
+ */function tE(e){return"horizontal"===e?"marginLeft":"marginTop"}function ME(e){return"horizontal"===e?"marginRight":"marginBottom"}function iE(e){return"horizontal"===e?"xOffset":"yOffset"}function nE(e,t){const M=[e,t].sort();return M[1]<=0?Math.min(...M):M[0]>=0?Math.max(...M):M[0]+M[1]}class oE{constructor(){this._childSizeCache=new qS,this._marginSizeCache=new qS,this._metricsCache=new Map}update(e,t){const M=new Set;Object.keys(e).forEach((i=>{const n=Number(i);this._metricsCache.set(n,e[n]),this._childSizeCache.set(n,e[n][KS(t)]),M.add(n),M.add(n+1)}));for(const e of M){const M=this._metricsCache.get(e)?.[tE(t)]||0,i=this._metricsCache.get(e-1)?.[ME(t)]||0;this._marginSizeCache.set(e,nE(M,i))}}get averageChildSize(){return this._childSizeCache.averageSize}get totalChildSize(){return this._childSizeCache.totalSize}get averageMarginSize(){return this._marginSizeCache.averageSize}get totalMarginSize(){return this._marginSizeCache.totalSize}getLeadingMarginValue(e,t){return this._metricsCache.get(e)?.[tE(t)]||0}getChildSize(e){return this._childSizeCache.getSize(e)}getMarginSize(e){return this._marginSizeCache.getSize(e)}clear(){this._childSizeCache.clear(),this._marginSizeCache.clear(),this._metricsCache.clear()}}var rE=Object.freeze({__proto__:null,FlowLayout:class extends eE{constructor(){super(...arguments),this._itemSize={width:100,height:100},this._physicalItems=new Map,this._newPhysicalItems=new Map,this._metricsCache=new oE,this._anchorIdx=null,this._anchorPos=null,this._stable=!0,this._measureChildren=!0,this._estimate=!0}get measureChildren(){return this._measureChildren}updateItemSizes(e){this._metricsCache.update(e,this.direction),this._scheduleReflow()}_getPhysicalItem(e){return this._newPhysicalItems.get(e)??this._physicalItems.get(e)}_getSize(e){return this._getPhysicalItem(e)&&this._metricsCache.getChildSize(e)}_getAverageSize(){return this._metricsCache.averageChildSize||this._itemSize[this._sizeDim]}_estimatePosition(e){const t=this._metricsCache;if(-1===this._first||-1===this._last)return t.averageMarginSize+e*(t.averageMarginSize+this._getAverageSize());if(e<this._first){const M=this._first-e;return this._getPhysicalItem(this._first).pos-(t.getMarginSize(this._first-1)||t.averageMarginSize)-(M*t.averageChildSize+(M-1)*t.averageMarginSize)}{const M=e-this._last;return this._getPhysicalItem(this._last).pos+(t.getChildSize(this._last)||t.averageChildSize)+(t.getMarginSize(this._last)||t.averageMarginSize)+M*(t.averageChildSize+t.averageMarginSize)}}_getPosition(e){const t=this._getPhysicalItem(e),{averageMarginSize:M}=this._metricsCache;return 0===e?this._metricsCache.getMarginSize(0)??M:t?t.pos:this._estimatePosition(e)}_calculateAnchor(e,t){return e<=0?0:t>this._scrollSize-this._viewDim1?this.items.length-1:Math.max(0,Math.min(this.items.length-1,Math.floor((e+t)/2/this._delta)))}_getAnchor(e,t){if(0===this._physicalItems.size)return this._calculateAnchor(e,t);if(this._first<0)return this._calculateAnchor(e,t);if(this._last<0)return this._calculateAnchor(e,t);const M=this._getPhysicalItem(this._first),i=this._getPhysicalItem(this._last),n=M.pos;if(i.pos+this._metricsCache.getChildSize(this._last)<e)return this._calculateAnchor(e,t);if(n>t)return this._calculateAnchor(e,t);let o=this._firstVisible-1,r=-1/0;for(;r<e;){r=this._getPhysicalItem(++o).pos+this._metricsCache.getChildSize(o)}return o}_getActiveItems(){0===this._viewDim1||0===this.items.length?this._clearItems():this._getItems()}_clearItems(){this._first=-1,this._last=-1,this._physicalMin=0,this._physicalMax=0;const e=this._newPhysicalItems;this._newPhysicalItems=this._physicalItems,this._newPhysicalItems.clear(),this._physicalItems=e,this._stable=!0}_getItems(){const e=this._newPhysicalItems;let t,M;if(this._stable=!0,null!==this.pin){const{index:e}=this.pin;this._anchorIdx=e,this._anchorPos=this._getPosition(e)}if(t=this._scrollPosition-this._overhang,M=this._scrollPosition+this._viewDim1+this._overhang,M<0||t>this._scrollSize)return void this._clearItems();null!==this._anchorIdx&&null!==this._anchorPos||(this._anchorIdx=this._getAnchor(t,M),this._anchorPos=this._getPosition(this._anchorIdx));let i=this._getSize(this._anchorIdx);void 0===i&&(this._stable=!1,i=this._getAverageSize());const n=this._metricsCache.getMarginSize(this._anchorIdx)??this._metricsCache.averageMarginSize,o=this._metricsCache.getMarginSize(this._anchorIdx+1)??this._metricsCache.averageMarginSize;0===this._anchorIdx&&(this._anchorPos=n),this._anchorIdx===this.items.length-1&&(this._anchorPos=this._scrollSize-o-i);let r=0;for(this._anchorPos+i+o<t&&(r=t-(this._anchorPos+i+o)),this._anchorPos-n>M&&(r=M-(this._anchorPos-n)),r&&(this._scrollPosition-=r,t-=r,M-=r,this._scrollError+=r),e.set(this._anchorIdx,{pos:this._anchorPos,size:i}),this._first=this._last=this._anchorIdx,this._physicalMin=this._anchorPos-n,this._physicalMax=this._anchorPos+i+o;this._physicalMin>t&&this._first>0;){let t=this._getSize(--this._first);void 0===t&&(this._stable=!1,t=this._getAverageSize());let M=this._metricsCache.getMarginSize(this._first);void 0===M&&(this._stable=!1,M=this._metricsCache.averageMarginSize),this._physicalMin-=t;const i=this._physicalMin;if(e.set(this._first,{pos:i,size:t}),this._physicalMin-=M,!1===this._stable&&!1===this._estimate)break}for(;this._physicalMax<M&&this._last<this.items.length-1;){let t=this._getSize(++this._last);void 0===t&&(this._stable=!1,t=this._getAverageSize());let M=this._metricsCache.getMarginSize(this._last);void 0===M&&(this._stable=!1,M=this._metricsCache.averageMarginSize);const i=this._physicalMax;if(e.set(this._last,{pos:i,size:t}),this._physicalMax+=t+M,!this._stable&&!this._estimate)break}const s=this._calculateError();s&&(this._physicalMin-=s,this._physicalMax-=s,this._anchorPos-=s,this._scrollPosition-=s,e.forEach((e=>e.pos-=s)),this._scrollError+=s),this._stable&&(this._newPhysicalItems=this._physicalItems,this._newPhysicalItems.clear(),this._physicalItems=e)}_calculateError(){return 0===this._first?this._physicalMin:this._physicalMin<=0?this._physicalMin-this._first*this._delta:this._last===this.items.length-1?this._physicalMax-this._scrollSize:this._physicalMax>=this._scrollSize?this._physicalMax-this._scrollSize+(this.items.length-1-this._last)*this._delta:0}_reflow(){const{_first:e,_last:t}=this;super._reflow(),(-1===this._first&&-1==this._last||this._first===e&&this._last===t)&&this._resetReflowState()}_resetReflowState(){this._anchorIdx=null,this._anchorPos=null,this._stable=!0}_updateScrollSize(){const{averageMarginSize:e}=this._metricsCache;this._scrollSize=Math.max(1,this.items.length*(e+this._getAverageSize())+e)}get _delta(){const{averageMarginSize:e}=this._metricsCache;return this._getAverageSize()+e}_getItemPosition(e){return{[this._positionDim]:this._getPosition(e),[this._secondaryPositionDim]:0,[iE(this.direction)]:-(this._metricsCache.getLeadingMarginValue(e,this.direction)??this._metricsCache.averageMarginSize)}}_getItemSize(e){return{[this._sizeDim]:this._getSize(e)||this._getAverageSize(),[this._secondarySizeDim]:this._itemSize[this._secondarySizeDim]}}_viewDim2Changed(){this._metricsCache.clear(),this._scheduleReflow()}}});export{ax as NileAccordion,nn as NileAutoComplete,QL as NileAvatar,gt as NileBadge,tL as NileBreadcrumb,iL as NileBreadcrumbItem,_e as NileButton,gL as NileButtonFilter,Ln as NileButtonToggle,pn as NileButtonToggleGroup,dn as NileCalendar,sL as NileCard,Ut as NileCheckbox,rn as NileChip,uL as NileCircularProgressbar,HO as NileCodeEditor,Un as NileContentEditor,ln as NileDatePicker,vn as NileDialog,lx as NileDivider,Ct as NileDrawer,tn as NileDropdown,CL as NileEmptyState,Dn as NileErrorMessage,Zn as NileErrorNotification,zp as NileFilePreview,qx as NileFileUpload,Ox as NileFilterChip,cn as NileFormErrorMessage,oL as NileFormGroup,In as NileFormHelpText,BL as NileFormatDate,Yp as NileGrid,Vp as NileGridBody,_p as NileGridCellItem,Jp as NileGridHead,Gp as NileGridHeadItem,Pp as NileGridRow,Fe as NileHeading,UL as NileHero,WL as NileHeroHeader,we as NileIcon,lt as NileIconButton,dx as NileInlineEdit,HS as NileInlineSidebar,FS as NileInlineSidebarGroup,XS as NileInlineSidebarItem,ot as NileInput,hn as NileLink,rx as NileList,nx as NileListItem,oi as NileLoader,st as NileMenu,Ki as NileMenuItem,Xi as NileOption,Tp as NileOptionGroup,wL as NilePageHeader,px as NilePagination,NL as NilePopover,KM as NilePopup,si as NileProgressBar,vt as NileRadio,Zt as NileRadioGroup,zS as NileRichTextEditor,cx as NileSectionMessage,Hi as NileSelect,TS as NileSideBar,ZS as NileSideBarAction,BS as NileSideBarActionMenu,RS as NileSideBarActionMenuItem,xS as NileSideBarExpand,US as NileSideBarFooter,vS as NileSideBarFooterItem,WS as NileSideBarFooterText,SS as NileSideBarGroup,QS as NileSideBarGroupItem,wS as NileSideBarGroupItemIcon,CS as NileSideBarGroupItemText,hS as NileSideBarHeader,OS as NileSideBarLogo,ii as NileSlideToggle,Cx as NileSlider,Ni as NileSpinner,JL as NileSplitPanel,ZL as NileStepper,vL as NileStepperItem,kn as NileSwitcher,Gn as NileTab,Wn as NileTabGroup,Fn as NileTabPanel,yx as NileTable,xL as NileTableBody,hL as NileTableCellItem,SL as NileTableHeaderItem,OL as NileTableRow,Di as NileTag,an as NileTextarea,Dx as NileTitle,KO as NileToast,Ix as NileToolbar,ti as NileTooltip,Mx as NileTree,KL as NileTreeItem,RL as NileVerticalStepperItem,_i as NileVirtualSelect};