@aquera/nile-elements 1.2.1-beta-1.0 → 1.2.1-beta-1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1276) hide show
  1. package/README.md +26 -0
  2. package/demo/index.html +83 -151
  3. package/demo/variables.css +3 -2
  4. package/dist/fixture-985bba12.esm.js +569 -0
  5. package/dist/fixture-d1470b58.cjs.js +395 -0
  6. package/dist/fixture-d1470b58.cjs.js.map +1 -0
  7. package/dist/fixture-dff65c89.cjs.js +395 -0
  8. package/dist/fixture-dff65c89.cjs.js.map +1 -0
  9. package/dist/floating-ui.dom-007bbe96.cjs.js +2 -0
  10. package/dist/floating-ui.dom-007bbe96.cjs.js.map +1 -0
  11. package/dist/floating-ui.dom-cc9126da.esm.js +1 -0
  12. package/dist/index.cjs.js +1 -1
  13. package/dist/index.esm.js +1 -1
  14. package/dist/index.js +2133 -1017
  15. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  16. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  17. package/dist/nile-auto-complete/index.cjs.js +1 -1
  18. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  19. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  20. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  21. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  22. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  23. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  24. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  25. package/dist/nile-badge/index.cjs.js +1 -1
  26. package/dist/nile-badge/index.esm.js +1 -1
  27. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  28. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  29. package/dist/nile-badge/nile-badge.esm.js +1 -1
  30. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  31. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  32. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  33. package/dist/nile-button/index.cjs.js +1 -1
  34. package/dist/nile-button/index.esm.js +1 -1
  35. package/dist/nile-button/nile-button.cjs.js +1 -1
  36. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  37. package/dist/nile-button/nile-button.esm.js +1 -1
  38. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  39. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  40. package/dist/nile-button/nile-button.test.esm.js +1 -1
  41. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  42. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  43. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  44. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  45. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  46. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  47. package/dist/nile-calendar/nile-calendar.css.esm.js +215 -36
  48. package/dist/nile-calendar/nile-calendar.esm.js +204 -98
  49. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  50. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  51. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  52. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  53. package/dist/nile-card/nile-card.test.esm.js +1 -1
  54. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  55. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  56. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  57. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  58. package/dist/nile-chip/nile-chip.esm.js +45 -33
  59. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  60. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  61. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  62. package/dist/nile-dialog/index.cjs.js +1 -1
  63. package/dist/nile-dialog/index.esm.js +1 -1
  64. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  65. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  66. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  67. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  68. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  69. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  70. package/dist/nile-drawer/index.cjs.js +1 -1
  71. package/dist/nile-drawer/index.esm.js +1 -1
  72. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  73. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  74. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  75. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  76. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  77. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  78. package/dist/nile-dropdown/index.cjs.js +1 -1
  79. package/dist/nile-dropdown/index.esm.js +1 -1
  80. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  81. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  82. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  83. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  84. package/dist/nile-dropdown/nile-dropdown.test.cjs.js.map +1 -1
  85. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  86. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  87. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  88. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  89. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  90. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  91. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  92. package/dist/nile-file-upload/index.cjs.js +1 -1
  93. package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
  94. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +1 -1
  95. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  96. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  97. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  98. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  99. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  100. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  101. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  102. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  103. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  104. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  105. package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
  106. package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
  107. package/dist/nile-grid/nile-grid.css.esm.js +6 -10
  108. package/dist/nile-grid/nile-grid.esm.js +6 -6
  109. package/dist/nile-grid/nile-grid.utils.cjs.js +1 -1
  110. package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -1
  111. package/dist/nile-grid/nile-grid.utils.esm.js +1 -1
  112. package/dist/nile-grid-body/nile-grid-body.cjs.js +1 -1
  113. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -1
  114. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +1 -1
  115. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -1
  116. package/dist/nile-grid-body/nile-grid-body.css.esm.js +4 -0
  117. package/dist/nile-grid-body/nile-grid-body.esm.js +3 -3
  118. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
  119. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
  120. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
  121. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
  122. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +3 -18
  123. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +3 -3
  124. package/dist/nile-grid-head/nile-grid-head.cjs.js +1 -1
  125. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -1
  126. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +1 -1
  127. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -1
  128. package/dist/nile-grid-head/nile-grid-head.css.esm.js +1 -1
  129. package/dist/nile-grid-head/nile-grid-head.esm.js +3 -3
  130. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
  131. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
  132. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
  133. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
  134. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +5 -20
  135. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +3 -4
  136. package/dist/nile-grid-row/nile-grid-row.cjs.js +1 -1
  137. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -1
  138. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
  139. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
  140. package/dist/nile-grid-row/nile-grid-row.css.esm.js +5 -17
  141. package/dist/nile-grid-row/nile-grid-row.esm.js +5 -4
  142. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  143. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  144. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  145. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  146. package/dist/nile-icon/icons/svg/menu_close.cjs.js +2 -0
  147. package/dist/nile-icon/icons/svg/menu_close.cjs.js.map +1 -0
  148. package/dist/nile-icon/icons/svg/menu_close.esm.js +1 -0
  149. package/dist/nile-icon/icons/svg/menu_open.cjs.js +2 -0
  150. package/dist/nile-icon/icons/svg/menu_open.cjs.js.map +1 -0
  151. package/dist/nile-icon/icons/svg/menu_open.esm.js +1 -0
  152. package/dist/nile-icon/index.cjs.js +1 -1
  153. package/dist/nile-icon/index.cjs.js.map +1 -1
  154. package/dist/nile-icon/index.esm.js +1 -1
  155. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  156. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  157. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  158. package/dist/nile-icon-button/index.cjs.js +1 -1
  159. package/dist/nile-icon-button/index.esm.js +1 -1
  160. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  161. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  162. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  163. package/dist/nile-inline-sidebar/index.cjs.js +2 -0
  164. package/dist/nile-inline-sidebar/index.esm.js +1 -0
  165. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +2 -0
  166. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -0
  167. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +2 -0
  168. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -0
  169. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +91 -0
  170. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +57 -0
  171. package/dist/nile-inline-sidebar-group/index.cjs.js +2 -0
  172. package/dist/nile-inline-sidebar-group/index.esm.js +1 -0
  173. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.cjs.js +2 -0
  174. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.cjs.js.map +1 -0
  175. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js +2 -0
  176. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js.map +1 -0
  177. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.esm.js +33 -0
  178. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.esm.js +12 -0
  179. package/dist/nile-inline-sidebar-item/index.cjs.js +2 -0
  180. package/dist/nile-inline-sidebar-item/index.esm.js +1 -0
  181. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +2 -0
  182. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -0
  183. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +2 -0
  184. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -0
  185. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +53 -0
  186. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +5 -0
  187. package/dist/nile-input/index.cjs.js +1 -1
  188. package/dist/nile-input/index.esm.js +1 -1
  189. package/dist/nile-input/nile-input.cjs.js +1 -1
  190. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  191. package/dist/nile-input/nile-input.esm.js +1 -1
  192. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  193. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  194. package/dist/nile-input/nile-input.test.esm.js +1 -1
  195. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  196. package/dist/nile-link/nile-link.test.esm.js +1 -1
  197. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  198. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  199. package/dist/nile-menu-item/index.cjs.js +1 -1
  200. package/dist/nile-menu-item/index.esm.js +1 -1
  201. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  202. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  203. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  204. package/dist/nile-option/index.cjs.js +1 -1
  205. package/dist/nile-option/index.esm.js +1 -1
  206. package/dist/nile-option/nile-option.cjs.js +1 -1
  207. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  208. package/dist/nile-option/nile-option.esm.js +1 -1
  209. package/dist/nile-popover/index.cjs.js +1 -1
  210. package/dist/nile-popover/nile-popover.cjs.js +1 -1
  211. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  212. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  213. package/dist/nile-popup/index.cjs.js +1 -1
  214. package/dist/nile-popup/index.esm.js +1 -1
  215. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  216. package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
  217. package/dist/nile-popup/nile-popup.esm.js +4 -4
  218. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  219. package/dist/nile-popup/nile-popup.test.cjs.js.map +1 -1
  220. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  221. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  222. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  223. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  224. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  225. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  226. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  227. package/dist/nile-rich-text-editor/index.cjs.js +1 -1
  228. package/dist/nile-rich-text-editor/index.esm.js +1 -1
  229. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  230. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  231. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  232. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  233. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +6 -6
  234. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  235. package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js +2 -2
  236. package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js.map +1 -1
  237. package/dist/nile-rich-text-editor/nile-rte-mentions.esm.js +1 -1
  238. package/dist/nile-rich-text-editor/utils/block-utils.cjs.js +2 -0
  239. package/dist/nile-rich-text-editor/utils/block-utils.cjs.js.map +1 -0
  240. package/dist/nile-rich-text-editor/utils/block-utils.esm.js +1 -0
  241. package/dist/nile-rich-text-editor/utils/color-utils.cjs.js +2 -0
  242. package/dist/nile-rich-text-editor/utils/color-utils.cjs.js.map +1 -0
  243. package/dist/nile-rich-text-editor/utils/color-utils.esm.js +1 -0
  244. package/dist/nile-rich-text-editor/utils/index.cjs.js +2 -0
  245. package/dist/nile-rich-text-editor/utils/index.esm.js +1 -0
  246. package/dist/nile-rich-text-editor/utils/inline-utils.cjs.js +2 -0
  247. package/dist/nile-rich-text-editor/utils/inline-utils.cjs.js.map +1 -0
  248. package/dist/nile-rich-text-editor/utils/inline-utils.esm.js +1 -0
  249. package/dist/nile-rich-text-editor/utils/link-utils.cjs.js +2 -0
  250. package/dist/nile-rich-text-editor/utils/link-utils.cjs.js.map +1 -0
  251. package/dist/nile-rich-text-editor/utils/list-utils.cjs.js +2 -0
  252. package/dist/nile-rich-text-editor/utils/list-utils.cjs.js.map +1 -0
  253. package/dist/nile-rich-text-editor/utils/list-utils.esm.js +1 -0
  254. package/dist/nile-select/index.cjs.js +1 -1
  255. package/dist/nile-select/index.esm.js +1 -1
  256. package/dist/nile-select/nile-select.cjs.js +1 -1
  257. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  258. package/dist/nile-select/nile-select.esm.js +8 -7
  259. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  260. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  261. package/dist/nile-select/nile-select.test.esm.js +1 -1
  262. package/dist/nile-select/portal-manager.cjs.js +2 -0
  263. package/dist/nile-select/portal-manager.cjs.js.map +1 -0
  264. package/dist/nile-select/portal-manager.esm.js +1 -0
  265. package/dist/nile-select/portal-utils.cjs.js +2 -0
  266. package/dist/nile-select/portal-utils.cjs.js.map +1 -0
  267. package/dist/nile-select/portal-utils.esm.js +1 -0
  268. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  269. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  270. package/dist/nile-select/virtual-scroll-helper.esm.js +1 -0
  271. package/dist/nile-side-bar/index.cjs.js +2 -0
  272. package/dist/nile-side-bar/index.cjs.js.map +1 -0
  273. package/dist/nile-side-bar/index.esm.js +1 -0
  274. package/dist/nile-side-bar/nile-side-bar.cjs.js +2 -0
  275. package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -0
  276. package/dist/nile-side-bar/nile-side-bar.css.cjs.js +2 -0
  277. package/dist/nile-side-bar/nile-side-bar.css.cjs.js.map +1 -0
  278. package/dist/nile-side-bar/nile-side-bar.css.esm.js +88 -0
  279. package/dist/nile-side-bar/nile-side-bar.esm.js +1 -0
  280. package/dist/nile-side-bar-action/index.cjs.js +2 -0
  281. package/dist/nile-side-bar-action/index.esm.js +1 -0
  282. package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js +2 -0
  283. package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js.map +1 -0
  284. package/dist/nile-side-bar-action/nile-side-bar-action.css.cjs.js +2 -0
  285. package/dist/nile-side-bar-action/nile-side-bar-action.css.cjs.js.map +1 -0
  286. package/dist/nile-side-bar-action/nile-side-bar-action.css.esm.js +51 -0
  287. package/dist/nile-side-bar-action/nile-side-bar-action.esm.js +34 -0
  288. package/dist/nile-side-bar-action-menu/index.cjs.js +2 -0
  289. package/dist/nile-side-bar-action-menu/index.esm.js +1 -0
  290. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js +2 -0
  291. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js.map +1 -0
  292. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.cjs.js +2 -0
  293. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.cjs.js.map +1 -0
  294. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.esm.js +61 -0
  295. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.esm.js +40 -0
  296. package/dist/nile-side-bar-action-menu-item/index.cjs.js +2 -0
  297. package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -0
  298. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +2 -0
  299. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -0
  300. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.cjs.js +2 -0
  301. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.cjs.js.map +1 -0
  302. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.esm.js +128 -0
  303. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +37 -0
  304. package/dist/nile-side-bar-expand/index.cjs.js +2 -0
  305. package/dist/nile-side-bar-expand/index.esm.js +1 -0
  306. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +2 -0
  307. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -0
  308. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js +2 -0
  309. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js.map +1 -0
  310. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.esm.js +33 -0
  311. package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +13 -0
  312. package/dist/nile-side-bar-footer/index.cjs.js +2 -0
  313. package/dist/nile-side-bar-footer/index.esm.js +1 -0
  314. package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js +2 -0
  315. package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js.map +1 -0
  316. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +2 -0
  317. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -0
  318. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +38 -0
  319. package/dist/nile-side-bar-footer/nile-side-bar-footer.esm.js +5 -0
  320. package/dist/nile-side-bar-footer-item/index.cjs.js +2 -0
  321. package/dist/nile-side-bar-footer-item/index.esm.js +1 -0
  322. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +2 -0
  323. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -0
  324. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +2 -0
  325. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -0
  326. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +72 -0
  327. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +7 -0
  328. package/dist/nile-side-bar-footer-text/index.cjs.js +2 -0
  329. package/dist/nile-side-bar-footer-text/index.esm.js +1 -0
  330. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.cjs.js +2 -0
  331. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.cjs.js.map +1 -0
  332. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.cjs.js +2 -0
  333. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.cjs.js.map +1 -0
  334. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.esm.js +29 -0
  335. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.esm.js +6 -0
  336. package/dist/nile-side-bar-group/index.cjs.js +2 -0
  337. package/dist/nile-side-bar-group/index.cjs.js.map +1 -0
  338. package/dist/nile-side-bar-group/index.esm.js +1 -0
  339. package/dist/nile-side-bar-group/nile-side-bar-group.cjs.js +2 -0
  340. package/dist/nile-side-bar-group/nile-side-bar-group.cjs.js.map +1 -0
  341. package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js +2 -0
  342. package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js.map +1 -0
  343. package/dist/nile-side-bar-group/nile-side-bar-group.css.esm.js +49 -0
  344. package/dist/nile-side-bar-group/nile-side-bar-group.esm.js +12 -0
  345. package/dist/nile-side-bar-group-item/index.cjs.js +2 -0
  346. package/dist/nile-side-bar-group-item/index.esm.js +1 -0
  347. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.cjs.js +2 -0
  348. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.cjs.js.map +1 -0
  349. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js +2 -0
  350. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js.map +1 -0
  351. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.esm.js +56 -0
  352. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.esm.js +45 -0
  353. package/dist/nile-side-bar-group-item-icon/index.cjs.js +2 -0
  354. package/dist/nile-side-bar-group-item-icon/index.esm.js +1 -0
  355. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js +2 -0
  356. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js.map +1 -0
  357. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.cjs.js +2 -0
  358. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.cjs.js.map +1 -0
  359. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.esm.js +31 -0
  360. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.esm.js +11 -0
  361. package/dist/nile-side-bar-group-item-text/index.cjs.js +2 -0
  362. package/dist/nile-side-bar-group-item-text/index.esm.js +1 -0
  363. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.cjs.js +2 -0
  364. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.cjs.js.map +1 -0
  365. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.cjs.js +2 -0
  366. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.cjs.js.map +1 -0
  367. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.esm.js +22 -0
  368. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.esm.js +1 -0
  369. package/dist/nile-side-bar-header/index.cjs.js +2 -0
  370. package/dist/nile-side-bar-header/index.cjs.js.map +1 -0
  371. package/dist/nile-side-bar-header/index.esm.js +1 -0
  372. package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js +2 -0
  373. package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js.map +1 -0
  374. package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js +2 -0
  375. package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js.map +1 -0
  376. package/dist/nile-side-bar-header/nile-side-bar-header.css.esm.js +47 -0
  377. package/dist/nile-side-bar-header/nile-side-bar-header.esm.js +6 -0
  378. package/dist/nile-side-bar-logo/index.cjs.js +2 -0
  379. package/dist/nile-side-bar-logo/index.cjs.js.map +1 -0
  380. package/dist/nile-side-bar-logo/index.esm.js +1 -0
  381. package/dist/nile-side-bar-logo/nile-side-bar-logo.cjs.js +2 -0
  382. package/dist/nile-side-bar-logo/nile-side-bar-logo.cjs.js.map +1 -0
  383. package/dist/nile-side-bar-logo/nile-side-bar-logo.css.cjs.js +2 -0
  384. package/dist/nile-side-bar-logo/nile-side-bar-logo.css.cjs.js.map +1 -0
  385. package/dist/nile-side-bar-logo/nile-side-bar-logo.css.esm.js +32 -0
  386. package/dist/nile-side-bar-logo/nile-side-bar-logo.esm.js +4 -0
  387. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  388. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  389. package/dist/nile-tab/index.cjs.js +1 -1
  390. package/dist/nile-tab/index.esm.js +1 -1
  391. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  392. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  393. package/dist/nile-tab/nile-tab.esm.js +2 -2
  394. package/dist/nile-tab-group/index.cjs.js +1 -1
  395. package/dist/nile-tab-group/index.esm.js +1 -1
  396. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  397. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  398. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  399. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  400. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  401. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  402. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  403. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  404. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +4 -0
  405. package/dist/nile-tag/index.cjs.js +1 -1
  406. package/dist/nile-tag/index.esm.js +1 -1
  407. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  408. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  409. package/dist/nile-tag/nile-tag.esm.js +1 -1
  410. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  411. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  412. package/dist/nile-toast/index.cjs.js +1 -1
  413. package/dist/nile-toast/index.esm.js +1 -1
  414. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  415. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  416. package/dist/nile-toast/nile-toast.esm.js +1 -1
  417. package/dist/nile-tooltip/index.cjs.js +1 -1
  418. package/dist/nile-tooltip/index.esm.js +1 -1
  419. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  420. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  421. package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
  422. package/dist/nile-tree/index.cjs.js +1 -1
  423. package/dist/nile-tree/index.esm.js +1 -1
  424. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  425. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  426. package/dist/nile-tree/nile-tree.esm.js +1 -1
  427. package/dist/nile-tree-item/index.cjs.js +1 -1
  428. package/dist/nile-tree-item/index.esm.js +1 -1
  429. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  430. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  431. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  432. package/dist/nile-virtual-select/index.cjs.js +1 -1
  433. package/dist/nile-virtual-select/index.esm.js +1 -1
  434. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -2
  435. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  436. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  437. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  438. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +4 -0
  439. package/dist/nile-virtual-select/nile-virtual-select.esm.js +18 -17
  440. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  441. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  442. package/dist/nile-virtual-select/portal-manager.cjs.js +2 -0
  443. package/dist/nile-virtual-select/portal-manager.cjs.js.map +1 -0
  444. package/dist/nile-virtual-select/portal-manager.esm.js +1 -0
  445. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  446. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  447. package/dist/nile-virtual-select/renderer.esm.js +12 -12
  448. package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
  449. package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
  450. package/dist/src/index.d.ts +22 -9
  451. package/dist/src/index.js +22 -9
  452. package/dist/src/index.js.map +1 -1
  453. package/dist/src/nile-calendar/nile-calendar.css.js +213 -34
  454. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  455. package/dist/src/nile-calendar/nile-calendar.d.ts +15 -0
  456. package/dist/src/nile-calendar/nile-calendar.js +318 -93
  457. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  458. package/dist/src/nile-chip/nile-chip.d.ts +1 -0
  459. package/dist/src/nile-chip/nile-chip.js +49 -28
  460. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  461. package/dist/src/nile-grid/nile-grid.css.js +4 -8
  462. package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
  463. package/dist/src/nile-grid/nile-grid.d.ts +4 -19
  464. package/dist/src/nile-grid/nile-grid.js +23 -74
  465. package/dist/src/nile-grid/nile-grid.js.map +1 -1
  466. package/dist/src/nile-grid/nile-grid.utils.d.ts +3 -116
  467. package/dist/src/nile-grid/nile-grid.utils.js +115 -740
  468. package/dist/src/nile-grid/nile-grid.utils.js.map +1 -1
  469. package/dist/src/nile-grid-body/nile-grid-body.css.js +4 -0
  470. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -1
  471. package/dist/src/nile-grid-body/nile-grid-body.js +1 -1
  472. package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -1
  473. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +3 -16
  474. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
  475. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +3 -0
  476. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +11 -1
  477. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -1
  478. package/dist/src/nile-grid-head/nile-grid-head.css.js +1 -1
  479. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -1
  480. package/dist/src/nile-grid-head/nile-grid-head.js +1 -1
  481. package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -1
  482. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +3 -18
  483. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
  484. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +2 -3
  485. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +11 -14
  486. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -1
  487. package/dist/src/nile-grid-row/nile-grid-row.css.js +5 -29
  488. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -1
  489. package/dist/src/nile-grid-row/nile-grid-row.d.ts +1 -4
  490. package/dist/src/nile-grid-row/nile-grid-row.js +4 -19
  491. package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -1
  492. package/dist/src/nile-icon/icons/svg/index.d.ts +2 -0
  493. package/dist/src/nile-icon/icons/svg/index.js +2 -0
  494. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  495. package/dist/src/nile-icon/icons/svg/menu_close.d.ts +5 -0
  496. package/dist/src/nile-icon/icons/svg/menu_close.js +5 -0
  497. package/dist/src/nile-icon/icons/svg/menu_close.js.map +1 -0
  498. package/dist/src/nile-icon/icons/svg/menu_open.d.ts +5 -0
  499. package/dist/src/nile-icon/icons/svg/menu_open.js +5 -0
  500. package/dist/src/nile-icon/icons/svg/menu_open.js.map +1 -0
  501. package/dist/src/nile-inline-sidebar/index.d.ts +1 -0
  502. package/dist/src/nile-inline-sidebar/index.js +2 -0
  503. package/dist/src/nile-inline-sidebar/index.js.map +1 -0
  504. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.d.ts +7 -0
  505. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +99 -0
  506. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -0
  507. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.d.ts +39 -0
  508. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +209 -0
  509. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -0
  510. package/dist/src/nile-inline-sidebar-group/index.d.ts +1 -0
  511. package/dist/src/nile-inline-sidebar-group/index.js +2 -0
  512. package/dist/src/nile-inline-sidebar-group/index.js.map +1 -0
  513. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.d.ts +9 -0
  514. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js +42 -0
  515. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js.map +1 -0
  516. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.d.ts +32 -0
  517. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.js +64 -0
  518. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.js.map +1 -0
  519. package/dist/src/nile-inline-sidebar-item/index.d.ts +1 -0
  520. package/dist/src/nile-inline-sidebar-item/index.js +2 -0
  521. package/dist/src/nile-inline-sidebar-item/index.js.map +1 -0
  522. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.d.ts +10 -0
  523. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +64 -0
  524. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -0
  525. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +36 -0
  526. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +80 -0
  527. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -0
  528. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +6 -6
  529. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  530. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +2 -0
  531. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +44 -28
  532. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  533. package/dist/src/nile-rich-text-editor/nile-rte-mentions.d.ts +0 -1
  534. package/dist/src/nile-rich-text-editor/nile-rte-mentions.js +30 -7
  535. package/dist/src/nile-rich-text-editor/nile-rte-mentions.js.map +1 -1
  536. package/dist/src/nile-rich-text-editor/utils/block-utils.d.ts +4 -0
  537. package/dist/src/nile-rich-text-editor/utils/block-utils.js +71 -0
  538. package/dist/src/nile-rich-text-editor/utils/block-utils.js.map +1 -0
  539. package/dist/src/nile-rich-text-editor/utils/color-utils.d.ts +2 -0
  540. package/dist/src/nile-rich-text-editor/utils/color-utils.js +187 -0
  541. package/dist/src/nile-rich-text-editor/utils/color-utils.js.map +1 -0
  542. package/dist/src/nile-rich-text-editor/utils/index.d.ts +5 -0
  543. package/dist/src/nile-rich-text-editor/utils/index.js +6 -0
  544. package/dist/src/nile-rich-text-editor/utils/index.js.map +1 -0
  545. package/dist/src/nile-rich-text-editor/utils/inline-utils.d.ts +5 -0
  546. package/dist/src/nile-rich-text-editor/utils/inline-utils.js +234 -0
  547. package/dist/src/nile-rich-text-editor/utils/inline-utils.js.map +1 -0
  548. package/dist/src/nile-rich-text-editor/utils/link-utils.d.ts +1 -0
  549. package/dist/src/nile-rich-text-editor/utils/link-utils.js +48 -0
  550. package/dist/src/nile-rich-text-editor/utils/link-utils.js.map +1 -0
  551. package/dist/src/nile-rich-text-editor/utils/list-utils.d.ts +1 -0
  552. package/dist/src/nile-rich-text-editor/utils/list-utils.js +154 -0
  553. package/dist/src/nile-rich-text-editor/utils/list-utils.js.map +1 -0
  554. package/dist/src/nile-select/nile-select.d.ts +12 -3
  555. package/dist/src/nile-select/nile-select.js +86 -8
  556. package/dist/src/nile-select/nile-select.js.map +1 -1
  557. package/dist/src/nile-select/portal-manager.d.ts +50 -0
  558. package/dist/src/nile-select/portal-manager.js +341 -0
  559. package/dist/src/nile-select/portal-manager.js.map +1 -0
  560. package/dist/src/nile-select/portal-utils.d.ts +65 -0
  561. package/dist/src/nile-select/portal-utils.js +376 -0
  562. package/dist/src/nile-select/portal-utils.js.map +1 -0
  563. package/dist/src/nile-select/virtual-scroll-helper.js +1 -0
  564. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  565. package/dist/src/nile-side-bar/index.d.ts +1 -0
  566. package/dist/src/nile-side-bar/index.js +2 -0
  567. package/dist/src/nile-side-bar/index.js.map +1 -0
  568. package/dist/src/nile-side-bar/nile-side-bar.css.d.ts +12 -0
  569. package/dist/src/nile-side-bar/nile-side-bar.css.js +100 -0
  570. package/dist/src/nile-side-bar/nile-side-bar.css.js.map +1 -0
  571. package/dist/src/nile-side-bar/nile-side-bar.d.ts +33 -0
  572. package/dist/src/nile-side-bar/nile-side-bar.js +69 -0
  573. package/dist/src/nile-side-bar/nile-side-bar.js.map +1 -0
  574. package/dist/src/nile-side-bar-action/index.d.ts +1 -0
  575. package/dist/src/nile-side-bar-action/index.js +2 -0
  576. package/dist/src/nile-side-bar-action/index.js.map +1 -0
  577. package/dist/src/nile-side-bar-action/nile-side-bar-action.css.d.ts +3 -0
  578. package/dist/src/nile-side-bar-action/nile-side-bar-action.css.js +54 -0
  579. package/dist/src/nile-side-bar-action/nile-side-bar-action.css.js.map +1 -0
  580. package/dist/src/nile-side-bar-action/nile-side-bar-action.d.ts +79 -0
  581. package/dist/src/nile-side-bar-action/nile-side-bar-action.js +365 -0
  582. package/dist/src/nile-side-bar-action/nile-side-bar-action.js.map +1 -0
  583. package/dist/src/nile-side-bar-action-menu/index.d.ts +1 -0
  584. package/dist/src/nile-side-bar-action-menu/index.js +2 -0
  585. package/dist/src/nile-side-bar-action-menu/index.js.map +1 -0
  586. package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.d.ts +12 -0
  587. package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.js +73 -0
  588. package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.js.map +1 -0
  589. package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.d.ts +49 -0
  590. package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.js +223 -0
  591. package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.js.map +1 -0
  592. package/dist/src/nile-side-bar-action-menu-item/index.d.ts +1 -0
  593. package/dist/src/nile-side-bar-action-menu-item/index.js +2 -0
  594. package/dist/src/nile-side-bar-action-menu-item/index.js.map +1 -0
  595. package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.d.ts +12 -0
  596. package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.js +140 -0
  597. package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.js.map +1 -0
  598. package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.d.ts +64 -0
  599. package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.js +199 -0
  600. package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.js.map +1 -0
  601. package/dist/src/nile-side-bar-expand/index.d.ts +1 -0
  602. package/dist/src/nile-side-bar-expand/index.js +2 -0
  603. package/dist/src/nile-side-bar-expand/index.js.map +1 -0
  604. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.d.ts +12 -0
  605. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js +45 -0
  606. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js.map +1 -0
  607. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.d.ts +21 -0
  608. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js +68 -0
  609. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js.map +1 -0
  610. package/dist/src/nile-side-bar-footer/index.d.ts +1 -0
  611. package/dist/src/nile-side-bar-footer/index.js +2 -0
  612. package/dist/src/nile-side-bar-footer/index.js.map +1 -0
  613. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.d.ts +6 -0
  614. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +44 -0
  615. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -0
  616. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.d.ts +26 -0
  617. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.js +37 -0
  618. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.js.map +1 -0
  619. package/dist/src/nile-side-bar-footer-item/index.d.ts +1 -0
  620. package/dist/src/nile-side-bar-footer-item/index.js +2 -0
  621. package/dist/src/nile-side-bar-footer-item/index.js.map +1 -0
  622. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.d.ts +3 -0
  623. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +75 -0
  624. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -0
  625. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.d.ts +27 -0
  626. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js +46 -0
  627. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js.map +1 -0
  628. package/dist/src/nile-side-bar-footer-text/index.d.ts +1 -0
  629. package/dist/src/nile-side-bar-footer-text/index.js +2 -0
  630. package/dist/src/nile-side-bar-footer-text/index.js.map +1 -0
  631. package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.d.ts +3 -0
  632. package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.js +32 -0
  633. package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.js.map +1 -0
  634. package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.d.ts +30 -0
  635. package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.js +53 -0
  636. package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.js.map +1 -0
  637. package/dist/src/nile-side-bar-group/index.d.ts +1 -0
  638. package/dist/src/nile-side-bar-group/index.js +2 -0
  639. package/dist/src/nile-side-bar-group/index.js.map +1 -0
  640. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.d.ts +6 -0
  641. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js +55 -0
  642. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js.map +1 -0
  643. package/dist/src/nile-side-bar-group/nile-side-bar-group.d.ts +42 -0
  644. package/dist/src/nile-side-bar-group/nile-side-bar-group.js +76 -0
  645. package/dist/src/nile-side-bar-group/nile-side-bar-group.js.map +1 -0
  646. package/dist/src/nile-side-bar-group-item/index.d.ts +1 -0
  647. package/dist/src/nile-side-bar-group-item/index.js +2 -0
  648. package/dist/src/nile-side-bar-group-item/index.js.map +1 -0
  649. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.d.ts +12 -0
  650. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js +68 -0
  651. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js.map +1 -0
  652. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.d.ts +40 -0
  653. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.js +159 -0
  654. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.js.map +1 -0
  655. package/dist/src/nile-side-bar-group-item-icon/index.d.ts +1 -0
  656. package/dist/src/nile-side-bar-group-item-icon/index.js +2 -0
  657. package/dist/src/nile-side-bar-group-item-icon/index.js.map +1 -0
  658. package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.d.ts +3 -0
  659. package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.js +34 -0
  660. package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.js.map +1 -0
  661. package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.d.ts +40 -0
  662. package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.js +89 -0
  663. package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.js.map +1 -0
  664. package/dist/src/nile-side-bar-group-item-text/index.d.ts +1 -0
  665. package/dist/src/nile-side-bar-group-item-text/index.js +2 -0
  666. package/dist/src/nile-side-bar-group-item-text/index.js.map +1 -0
  667. package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.d.ts +6 -0
  668. package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.js +28 -0
  669. package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.js.map +1 -0
  670. package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.d.ts +30 -0
  671. package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.js +42 -0
  672. package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.js.map +1 -0
  673. package/dist/src/nile-side-bar-header/index.d.ts +1 -0
  674. package/dist/src/nile-side-bar-header/index.js +2 -0
  675. package/dist/src/nile-side-bar-header/index.js.map +1 -0
  676. package/dist/src/nile-side-bar-header/nile-side-bar-header.css.d.ts +12 -0
  677. package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js +59 -0
  678. package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js.map +1 -0
  679. package/dist/src/nile-side-bar-header/nile-side-bar-header.d.ts +32 -0
  680. package/dist/src/nile-side-bar-header/nile-side-bar-header.js +46 -0
  681. package/dist/src/nile-side-bar-header/nile-side-bar-header.js.map +1 -0
  682. package/dist/src/nile-side-bar-logo/index.d.ts +1 -0
  683. package/dist/src/nile-side-bar-logo/index.js +2 -0
  684. package/dist/src/nile-side-bar-logo/index.js.map +1 -0
  685. package/dist/src/nile-side-bar-logo/nile-side-bar-logo.css.d.ts +12 -0
  686. package/dist/src/nile-side-bar-logo/nile-side-bar-logo.css.js +44 -0
  687. package/dist/src/nile-side-bar-logo/nile-side-bar-logo.css.js.map +1 -0
  688. package/dist/src/nile-side-bar-logo/nile-side-bar-logo.d.ts +34 -0
  689. package/dist/src/nile-side-bar-logo/nile-side-bar-logo.js +53 -0
  690. package/dist/src/nile-side-bar-logo/nile-side-bar-logo.js.map +1 -0
  691. package/dist/src/nile-sidebar/index.js +11 -14
  692. package/dist/src/nile-sidebar/index.js.map +1 -1
  693. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +4 -7
  694. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -1
  695. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +4 -7
  696. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -1
  697. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -1
  698. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -1
  699. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +1 -4
  700. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -1
  701. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +4 -0
  702. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  703. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +4 -0
  704. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  705. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +11 -0
  706. package/dist/src/nile-virtual-select/nile-virtual-select.js +90 -6
  707. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  708. package/dist/src/nile-virtual-select/portal-manager.d.ts +45 -0
  709. package/dist/src/nile-virtual-select/portal-manager.js +320 -0
  710. package/dist/src/nile-virtual-select/portal-manager.js.map +1 -0
  711. package/dist/src/nile-virtual-select/renderer.js +3 -0
  712. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  713. package/dist/src/version.js +2 -2
  714. package/dist/src/version.js.map +1 -1
  715. package/dist/tsconfig.tsbuildinfo +1 -1
  716. package/package.json +22 -2
  717. package/plop-templates/lit/index.ts.hbs +1 -1
  718. package/plop-templates/lit/lit.css.ts.hbs +1 -1
  719. package/plop-templates/lit/lit.ts.hbs +1 -1
  720. package/src/index.ts +23 -9
  721. package/src/nile-calendar/nile-calendar.css.ts +213 -34
  722. package/src/nile-calendar/nile-calendar.ts +343 -106
  723. package/src/nile-chip/nile-chip.ts +53 -37
  724. package/src/nile-grid/nile-grid.css.ts +4 -8
  725. package/src/nile-grid/nile-grid.ts +45 -81
  726. package/src/nile-grid/nile-grid.utils.ts +153 -1021
  727. package/src/nile-grid-body/nile-grid-body.css.ts +24 -0
  728. package/src/nile-grid-body/nile-grid-body.ts +51 -0
  729. package/src/nile-grid-cell-item/nile-grid-cell-item.css.ts +49 -0
  730. package/src/nile-grid-cell-item/nile-grid-cell-item.ts +98 -0
  731. package/src/nile-grid-head/nile-grid-head.css.ts +21 -0
  732. package/src/nile-grid-head/nile-grid-head.ts +50 -0
  733. package/src/nile-grid-head-item/nile-grid-head-item.css.ts +48 -0
  734. package/src/nile-grid-head-item/nile-grid-head-item.ts +111 -0
  735. package/src/nile-grid-head-item/nile-grid-head-item.utils.ts +66 -0
  736. package/src/nile-grid-row/nile-grid-row.css.ts +29 -0
  737. package/src/nile-grid-row/nile-grid-row.ts +53 -0
  738. package/src/nile-icon/icons/svg/index.ts +2 -0
  739. package/src/nile-icon/icons/svg/menu_close.ts +5 -0
  740. package/src/nile-icon/icons/svg/menu_open.ts +5 -0
  741. package/src/nile-inline-sidebar/index.ts +1 -0
  742. package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +100 -0
  743. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +235 -0
  744. package/src/nile-inline-sidebar-group/index.ts +1 -0
  745. package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts +44 -0
  746. package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.ts +62 -0
  747. package/src/nile-inline-sidebar-item/index.ts +1 -0
  748. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +65 -0
  749. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +83 -0
  750. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +6 -6
  751. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +58 -45
  752. package/src/nile-rich-text-editor/nile-rte-mentions.ts +40 -7
  753. package/src/nile-rich-text-editor/utils/block-utils.ts +79 -0
  754. package/src/nile-rich-text-editor/utils/color-utils.ts +251 -0
  755. package/src/nile-rich-text-editor/utils/index.ts +5 -0
  756. package/src/nile-rich-text-editor/utils/inline-utils.ts +249 -0
  757. package/src/nile-rich-text-editor/utils/link-utils.ts +50 -0
  758. package/src/nile-rich-text-editor/utils/list-utils.ts +147 -0
  759. package/src/nile-select/nile-select.ts +98 -13
  760. package/src/nile-select/portal-manager.ts +458 -0
  761. package/src/nile-select/portal-utils.ts +480 -0
  762. package/src/nile-select/virtual-scroll-helper.ts +1 -0
  763. package/src/nile-side-bar/index.ts +1 -0
  764. package/src/nile-side-bar/nile-side-bar.css.ts +102 -0
  765. package/src/nile-side-bar/nile-side-bar.ts +67 -0
  766. package/src/nile-side-bar-action/index.ts +1 -0
  767. package/src/nile-side-bar-action/nile-side-bar-action.css.ts +55 -0
  768. package/src/nile-side-bar-action/nile-side-bar-action.ts +398 -0
  769. package/src/nile-side-bar-action-menu/index.ts +1 -0
  770. package/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.ts +75 -0
  771. package/src/nile-side-bar-action-menu/nile-side-bar-action-menu.ts +239 -0
  772. package/src/nile-side-bar-action-menu-item/index.ts +1 -0
  773. package/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.ts +142 -0
  774. package/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.ts +204 -0
  775. package/src/nile-side-bar-expand/index.ts +1 -0
  776. package/src/nile-side-bar-expand/nile-side-bar-expand.css.ts +47 -0
  777. package/src/nile-side-bar-expand/nile-side-bar-expand.ts +69 -0
  778. package/src/nile-side-bar-footer/index.ts +1 -0
  779. package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +45 -0
  780. package/src/nile-side-bar-footer/nile-side-bar-footer.ts +42 -0
  781. package/src/nile-side-bar-footer-item/index.ts +1 -0
  782. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +76 -0
  783. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.ts +45 -0
  784. package/src/nile-side-bar-footer-text/index.ts +1 -0
  785. package/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.ts +33 -0
  786. package/src/nile-side-bar-footer-text/nile-side-bar-footer-text.ts +51 -0
  787. package/src/nile-side-bar-group/index.ts +1 -0
  788. package/src/nile-side-bar-group/nile-side-bar-group.css.ts +56 -0
  789. package/src/nile-side-bar-group/nile-side-bar-group.ts +74 -0
  790. package/src/nile-side-bar-group-item/index.ts +1 -0
  791. package/src/nile-side-bar-group-item/nile-side-bar-group-item.css.ts +70 -0
  792. package/src/nile-side-bar-group-item/nile-side-bar-group-item.ts +161 -0
  793. package/src/nile-side-bar-group-item-icon/index.ts +1 -0
  794. package/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.ts +35 -0
  795. package/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.ts +97 -0
  796. package/src/nile-side-bar-group-item-text/index.ts +1 -0
  797. package/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.ts +29 -0
  798. package/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.ts +49 -0
  799. package/src/nile-side-bar-header/index.ts +1 -0
  800. package/src/nile-side-bar-header/nile-side-bar-header.css.ts +61 -0
  801. package/src/nile-side-bar-header/nile-side-bar-header.ts +57 -0
  802. package/src/nile-side-bar-logo/index.ts +1 -0
  803. package/src/nile-side-bar-logo/nile-side-bar-logo.css.ts +46 -0
  804. package/src/nile-side-bar-logo/nile-side-bar-logo.ts +52 -0
  805. package/src/nile-table-header-item/nile-table-header-item.css.ts +4 -0
  806. package/src/nile-virtual-select/nile-virtual-select.css.ts +4 -0
  807. package/src/nile-virtual-select/nile-virtual-select.ts +98 -6
  808. package/src/nile-virtual-select/portal-manager.ts +427 -0
  809. package/src/nile-virtual-select/renderer.ts +3 -0
  810. package/vscode-html-custom-data.json +537 -91
  811. package/dist/aquera-nile-elements-0.1.57-beta-2.0.tgz +0 -0
  812. package/dist/axe.min-2b379f29.cjs.js +0 -12
  813. package/dist/axe.min-2b379f29.cjs.js.map +0 -1
  814. package/dist/axe.min-c2cd8733.esm.js +0 -12
  815. package/dist/fixture-28d63bc4.cjs.js +0 -395
  816. package/dist/fixture-28d63bc4.cjs.js.map +0 -1
  817. package/dist/fixture-324a7ef9.cjs.js +0 -395
  818. package/dist/fixture-324a7ef9.cjs.js.map +0 -1
  819. package/dist/fixture-78a015b8.esm.js +0 -569
  820. package/dist/fixture-7a0c60c4.esm.js +0 -569
  821. package/dist/fixture-add72f26.esm.js +0 -569
  822. package/dist/fixture-ba65eb22.esm.js +0 -569
  823. package/dist/fixture-c1bd203f.cjs.js +0 -395
  824. package/dist/fixture-c1bd203f.cjs.js.map +0 -1
  825. package/dist/fixture-cb376a7f.cjs.js +0 -395
  826. package/dist/fixture-cb376a7f.cjs.js.map +0 -1
  827. package/dist/fixture-d3ab97fa.cjs.js +0 -395
  828. package/dist/fixture-d3ab97fa.cjs.js.map +0 -1
  829. package/dist/fixture-f2693d97.esm.js +0 -569
  830. package/dist/nile-grid/nile-grid-body/index.cjs.js +0 -2
  831. package/dist/nile-grid/nile-grid-body/index.esm.js +0 -1
  832. package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js +0 -2
  833. package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
  834. package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js +0 -2
  835. package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
  836. package/dist/nile-grid/nile-grid-body/nile-grid-body.css.esm.js +0 -6
  837. package/dist/nile-grid/nile-grid-body/nile-grid-body.esm.js +0 -5
  838. package/dist/nile-grid/nile-grid-cell-item/index.cjs.js +0 -2
  839. package/dist/nile-grid/nile-grid-cell-item/index.esm.js +0 -1
  840. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js +0 -2
  841. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
  842. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
  843. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
  844. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -67
  845. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
  846. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +0 -2
  847. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
  848. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +0 -1
  849. package/dist/nile-grid/nile-grid-column-cell-template/index.cjs.js +0 -2
  850. package/dist/nile-grid/nile-grid-column-cell-template/index.esm.js +0 -1
  851. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js +0 -2
  852. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js.map +0 -1
  853. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js +0 -2
  854. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js.map +0 -1
  855. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.esm.js +0 -5
  856. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.esm.js +0 -1
  857. package/dist/nile-grid/nile-grid-column-head-template/index.cjs.js +0 -2
  858. package/dist/nile-grid/nile-grid-column-head-template/index.esm.js +0 -1
  859. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js +0 -2
  860. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js.map +0 -1
  861. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js +0 -2
  862. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js.map +0 -1
  863. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.esm.js +0 -5
  864. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.esm.js +0 -3
  865. package/dist/nile-grid/nile-grid-columns/index.cjs.js +0 -2
  866. package/dist/nile-grid/nile-grid-columns/index.esm.js +0 -1
  867. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js +0 -2
  868. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js.map +0 -1
  869. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js +0 -2
  870. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js.map +0 -1
  871. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.esm.js +0 -5
  872. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.esm.js +0 -3
  873. package/dist/nile-grid/nile-grid-head/index.cjs.js +0 -2
  874. package/dist/nile-grid/nile-grid-head/index.esm.js +0 -1
  875. package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js +0 -2
  876. package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
  877. package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js +0 -2
  878. package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
  879. package/dist/nile-grid/nile-grid-head/nile-grid-head.css.esm.js +0 -7
  880. package/dist/nile-grid/nile-grid-head/nile-grid-head.esm.js +0 -5
  881. package/dist/nile-grid/nile-grid-head-item/index.cjs.js +0 -2
  882. package/dist/nile-grid/nile-grid-head-item/index.esm.js +0 -1
  883. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
  884. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
  885. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
  886. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
  887. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -59
  888. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +0 -13
  889. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
  890. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
  891. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
  892. package/dist/nile-grid/nile-grid-row/index.cjs.js +0 -2
  893. package/dist/nile-grid/nile-grid-row/index.esm.js +0 -1
  894. package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js +0 -2
  895. package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
  896. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
  897. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
  898. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.esm.js +0 -36
  899. package/dist/nile-grid/nile-grid-row/nile-grid-row.esm.js +0 -8
  900. package/dist/nile-grid/nile-grid.data-attribute.cjs.js +0 -2
  901. package/dist/nile-grid/nile-grid.data-attribute.cjs.js.map +0 -1
  902. package/dist/nile-grid/nile-grid.data-attribute.esm.js +0 -1
  903. package/dist/nile-grid/nile-grid.types.cjs.js +0 -2
  904. package/dist/nile-grid/nile-grid.types.cjs.js.map +0 -1
  905. package/dist/nile-grid-cell/index.cjs.js +0 -2
  906. package/dist/nile-grid-cell/index.esm.js +0 -1
  907. package/dist/nile-grid-cell/nile-grid-cell.cjs.js +0 -2
  908. package/dist/nile-grid-cell/nile-grid-cell.cjs.js.map +0 -1
  909. package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js +0 -2
  910. package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js.map +0 -1
  911. package/dist/nile-grid-cell/nile-grid-cell.css.esm.js +0 -35
  912. package/dist/nile-grid-cell/nile-grid-cell.esm.js +0 -12
  913. package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js +0 -2
  914. package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js.map +0 -1
  915. package/dist/nile-grid-cell/nile-grid-cell.utils.esm.js +0 -1
  916. package/dist/nile-sidebar/index.cjs.js +0 -2
  917. package/dist/nile-sidebar/index.cjs.js.map +0 -1
  918. package/dist/nile-sidebar/index.esm.js +0 -75
  919. package/dist/nile-sidebar-menu/index.cjs.js +0 -2
  920. package/dist/nile-sidebar-menu/index.esm.js +0 -1
  921. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
  922. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
  923. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
  924. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
  925. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
  926. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
  927. package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
  928. package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
  929. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
  930. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
  931. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
  932. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
  933. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
  934. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
  935. package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
  936. package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
  937. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
  938. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
  939. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
  940. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
  941. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
  942. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
  943. package/dist/nile-test-hello/index.cjs.js +0 -2
  944. package/dist/nile-test-hello/index.esm.js +0 -1
  945. package/dist/nile-test-hello/nile-test-hello.cjs.js +0 -2
  946. package/dist/nile-test-hello/nile-test-hello.cjs.js.map +0 -1
  947. package/dist/nile-test-hello/nile-test-hello.css.cjs.js +0 -2
  948. package/dist/nile-test-hello/nile-test-hello.css.cjs.js.map +0 -1
  949. package/dist/nile-test-hello/nile-test-hello.css.esm.js +0 -5
  950. package/dist/nile-test-hello/nile-test-hello.esm.js +0 -1
  951. package/dist/nile-test-hello-column/index.cjs.js +0 -2
  952. package/dist/nile-test-hello-column/index.esm.js +0 -1
  953. package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js +0 -2
  954. package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js.map +0 -1
  955. package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js +0 -2
  956. package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js.map +0 -1
  957. package/dist/nile-test-hello-column/nile-test-hello-column.css.esm.js +0 -5
  958. package/dist/nile-test-hello-column/nile-test-hello-column.esm.js +0 -1
  959. package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
  960. package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
  961. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
  962. package/dist/src/internal/expandable-row-helper.d.ts +0 -13
  963. package/dist/src/internal/expandable-row-helper.js +0 -37
  964. package/dist/src/internal/expandable-row-helper.js.map +0 -1
  965. package/dist/src/internal/expandable-row-styles.d.ts +0 -11
  966. package/dist/src/internal/expandable-row-styles.js +0 -27
  967. package/dist/src/internal/expandable-row-styles.js.map +0 -1
  968. package/dist/src/internal/table-expandable-helper.d.ts +0 -0
  969. package/dist/src/internal/table-expandable-helper.js +0 -2
  970. package/dist/src/internal/table-expandable-helper.js.map +0 -1
  971. package/dist/src/internal/table-row-expandable-helper.d.ts +0 -12
  972. package/dist/src/internal/table-row-expandable-helper.js +0 -32
  973. package/dist/src/internal/table-row-expandable-helper.js.map +0 -1
  974. package/dist/src/internal/table-row-expandable-styles.d.ts +0 -11
  975. package/dist/src/internal/table-row-expandable-styles.js +0 -12
  976. package/dist/src/internal/table-row-expandable-styles.js.map +0 -1
  977. package/dist/src/nile-grid/nile-grid-body/index.d.ts +0 -1
  978. package/dist/src/nile-grid/nile-grid-body/index.js +0 -2
  979. package/dist/src/nile-grid/nile-grid-body/index.js.map +0 -1
  980. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.d.ts +0 -12
  981. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js +0 -18
  982. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js.map +0 -1
  983. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.d.ts +0 -29
  984. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.js +0 -43
  985. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.js.map +0 -1
  986. package/dist/src/nile-grid/nile-grid-cell-item/index.d.ts +0 -1
  987. package/dist/src/nile-grid/nile-grid-cell-item/index.js +0 -2
  988. package/dist/src/nile-grid/nile-grid-cell-item/index.js.map +0 -1
  989. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +0 -12
  990. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -79
  991. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
  992. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.d.ts +0 -33
  993. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js +0 -83
  994. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
  995. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +0 -10
  996. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js +0 -34
  997. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
  998. package/dist/src/nile-grid/nile-grid-column-cell-template/index.d.ts +0 -1
  999. package/dist/src/nile-grid/nile-grid-column-cell-template/index.js +0 -2
  1000. package/dist/src/nile-grid/nile-grid-column-cell-template/index.js.map +0 -1
  1001. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.d.ts +0 -12
  1002. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js +0 -17
  1003. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js.map +0 -1
  1004. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.d.ts +0 -36
  1005. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js +0 -61
  1006. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js.map +0 -1
  1007. package/dist/src/nile-grid/nile-grid-column-head-template/index.d.ts +0 -1
  1008. package/dist/src/nile-grid/nile-grid-column-head-template/index.js +0 -2
  1009. package/dist/src/nile-grid/nile-grid-column-head-template/index.js.map +0 -1
  1010. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.d.ts +0 -12
  1011. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js +0 -17
  1012. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js.map +0 -1
  1013. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.d.ts +0 -32
  1014. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js +0 -43
  1015. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js.map +0 -1
  1016. package/dist/src/nile-grid/nile-grid-columns/index.d.ts +0 -1
  1017. package/dist/src/nile-grid/nile-grid-columns/index.js +0 -2
  1018. package/dist/src/nile-grid/nile-grid-columns/index.js.map +0 -1
  1019. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
  1020. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js +0 -17
  1021. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
  1022. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.d.ts +0 -32
  1023. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js +0 -43
  1024. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js.map +0 -1
  1025. package/dist/src/nile-grid/nile-grid-head/index.d.ts +0 -1
  1026. package/dist/src/nile-grid/nile-grid-head/index.js +0 -2
  1027. package/dist/src/nile-grid/nile-grid-head/index.js.map +0 -1
  1028. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.d.ts +0 -12
  1029. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js +0 -19
  1030. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js.map +0 -1
  1031. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.d.ts +0 -28
  1032. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.js +0 -41
  1033. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.js.map +0 -1
  1034. package/dist/src/nile-grid/nile-grid-head-item/index.d.ts +0 -1
  1035. package/dist/src/nile-grid/nile-grid-head-item/index.js +0 -2
  1036. package/dist/src/nile-grid/nile-grid-head-item/index.js.map +0 -1
  1037. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.d.ts +0 -12
  1038. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +0 -71
  1039. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
  1040. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.d.ts +0 -37
  1041. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js +0 -101
  1042. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
  1043. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -34
  1044. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js +0 -57
  1045. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
  1046. package/dist/src/nile-grid/nile-grid-row/index.d.ts +0 -1
  1047. package/dist/src/nile-grid/nile-grid-row/index.js +0 -2
  1048. package/dist/src/nile-grid/nile-grid-row/index.js.map +0 -1
  1049. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.d.ts +0 -12
  1050. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js +0 -48
  1051. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js.map +0 -1
  1052. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.d.ts +0 -32
  1053. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.js +0 -62
  1054. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.js.map +0 -1
  1055. package/dist/src/nile-grid/nile-grid.computeWidth.d.ts +0 -0
  1056. package/dist/src/nile-grid/nile-grid.computeWidth.js +0 -2
  1057. package/dist/src/nile-grid/nile-grid.computeWidth.js.map +0 -1
  1058. package/dist/src/nile-grid/nile-grid.data-attribute.d.ts +0 -2
  1059. package/dist/src/nile-grid/nile-grid.data-attribute.js +0 -13
  1060. package/dist/src/nile-grid/nile-grid.data-attribute.js.map +0 -1
  1061. package/dist/src/nile-grid/nile-grid.layout.d.ts +0 -0
  1062. package/dist/src/nile-grid/nile-grid.layout.js +0 -2
  1063. package/dist/src/nile-grid/nile-grid.layout.js.map +0 -1
  1064. package/dist/src/nile-grid/nile-grid.types.d.ts +0 -3
  1065. package/dist/src/nile-grid/nile-grid.types.js +0 -2
  1066. package/dist/src/nile-grid/nile-grid.types.js.map +0 -1
  1067. package/dist/src/nile-grid/nile-spannable-table.css.d.ts +0 -12
  1068. package/dist/src/nile-grid/nile-spannable-table.css.js +0 -21
  1069. package/dist/src/nile-grid/nile-spannable-table.css.js.map +0 -1
  1070. package/dist/src/nile-grid/nile-spannable-table.d.ts +0 -63
  1071. package/dist/src/nile-grid/nile-spannable-table.js +0 -296
  1072. package/dist/src/nile-grid/nile-spannable-table.js.map +0 -1
  1073. package/dist/src/nile-grid-cell/index.d.ts +0 -1
  1074. package/dist/src/nile-grid-cell/index.js +0 -2
  1075. package/dist/src/nile-grid-cell/index.js.map +0 -1
  1076. package/dist/src/nile-grid-cell/nile-grid-cell.css.d.ts +0 -12
  1077. package/dist/src/nile-grid-cell/nile-grid-cell.css.js +0 -47
  1078. package/dist/src/nile-grid-cell/nile-grid-cell.css.js.map +0 -1
  1079. package/dist/src/nile-grid-cell/nile-grid-cell.d.ts +0 -43
  1080. package/dist/src/nile-grid-cell/nile-grid-cell.js +0 -102
  1081. package/dist/src/nile-grid-cell/nile-grid-cell.js.map +0 -1
  1082. package/dist/src/nile-grid-cell/nile-grid-cell.utils.d.ts +0 -10
  1083. package/dist/src/nile-grid-cell/nile-grid-cell.utils.js +0 -41
  1084. package/dist/src/nile-grid-cell/nile-grid-cell.utils.js.map +0 -1
  1085. package/dist/src/nile-grid-cell/nile-gris-cell.utils.d.ts +0 -10
  1086. package/dist/src/nile-grid-cell/nile-gris-cell.utils.js +0 -33
  1087. package/dist/src/nile-grid-cell/nile-gris-cell.utils.js.map +0 -1
  1088. package/dist/src/nile-grid-column/index.d.ts +0 -1
  1089. package/dist/src/nile-grid-column/index.js +0 -2
  1090. package/dist/src/nile-grid-column/index.js.map +0 -1
  1091. package/dist/src/nile-grid-column/nile-grid-column.css.d.ts +0 -12
  1092. package/dist/src/nile-grid-column/nile-grid-column.css.js +0 -17
  1093. package/dist/src/nile-grid-column/nile-grid-column.css.js.map +0 -1
  1094. package/dist/src/nile-grid-column/nile-grid-column.d.ts +0 -32
  1095. package/dist/src/nile-grid-column/nile-grid-column.js +0 -43
  1096. package/dist/src/nile-grid-column/nile-grid-column.js.map +0 -1
  1097. package/dist/src/nile-grid-columns/index.d.ts +0 -1
  1098. package/dist/src/nile-grid-columns/index.js +0 -2
  1099. package/dist/src/nile-grid-columns/index.js.map +0 -1
  1100. package/dist/src/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
  1101. package/dist/src/nile-grid-columns/nile-grid-columns.css.js +0 -17
  1102. package/dist/src/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
  1103. package/dist/src/nile-grid-columns/nile-grid-columns.d.ts +0 -32
  1104. package/dist/src/nile-grid-columns/nile-grid-columns.js +0 -43
  1105. package/dist/src/nile-grid-columns/nile-grid-columns.js.map +0 -1
  1106. package/dist/src/nile-grid-header/index.d.ts +0 -1
  1107. package/dist/src/nile-grid-header/index.js +0 -2
  1108. package/dist/src/nile-grid-header/index.js.map +0 -1
  1109. package/dist/src/nile-grid-header/nile-grid-head-item.css.d.ts +0 -12
  1110. package/dist/src/nile-grid-header/nile-grid-head-item.css.js +0 -44
  1111. package/dist/src/nile-grid-header/nile-grid-head-item.css.js.map +0 -1
  1112. package/dist/src/nile-grid-header/nile-grid-head-item.d.ts +0 -42
  1113. package/dist/src/nile-grid-header/nile-grid-head-item.js +0 -127
  1114. package/dist/src/nile-grid-header/nile-grid-head-item.js.map +0 -1
  1115. package/dist/src/nile-grid-header/nile-grid-header.css.d.ts +0 -12
  1116. package/dist/src/nile-grid-header/nile-grid-header.css.js +0 -44
  1117. package/dist/src/nile-grid-header/nile-grid-header.css.js.map +0 -1
  1118. package/dist/src/nile-grid-header/nile-grid-header.d.ts +0 -42
  1119. package/dist/src/nile-grid-header/nile-grid-header.js +0 -127
  1120. package/dist/src/nile-grid-header/nile-grid-header.js.map +0 -1
  1121. package/dist/src/nile-group-header/index.d.ts +0 -1
  1122. package/dist/src/nile-group-header/index.js +0 -2
  1123. package/dist/src/nile-group-header/index.js.map +0 -1
  1124. package/dist/src/nile-group-header/nile-group-header.css.d.ts +0 -12
  1125. package/dist/src/nile-group-header/nile-group-header.css.js +0 -30
  1126. package/dist/src/nile-group-header/nile-group-header.css.js.map +0 -1
  1127. package/dist/src/nile-group-header/nile-group-header.d.ts +0 -19
  1128. package/dist/src/nile-group-header/nile-group-header.js +0 -36
  1129. package/dist/src/nile-group-header/nile-group-header.js.map +0 -1
  1130. package/dist/src/nile-group-header/nile-option-header.css.d.ts +0 -12
  1131. package/dist/src/nile-group-header/nile-option-header.css.js +0 -30
  1132. package/dist/src/nile-group-header/nile-option-header.css.js.map +0 -1
  1133. package/dist/src/nile-group-header/nile-option-header.d.ts +0 -33
  1134. package/dist/src/nile-group-header/nile-option-header.js +0 -51
  1135. package/dist/src/nile-group-header/nile-option-header.js.map +0 -1
  1136. package/dist/src/nile-option-header/index.d.ts +0 -1
  1137. package/dist/src/nile-option-header/index.js +0 -2
  1138. package/dist/src/nile-option-header/index.js.map +0 -1
  1139. package/dist/src/nile-option-header/nile-option-header.css.d.ts +0 -12
  1140. package/dist/src/nile-option-header/nile-option-header.css.js +0 -30
  1141. package/dist/src/nile-option-header/nile-option-header.css.js.map +0 -1
  1142. package/dist/src/nile-option-header/nile-option-header.d.ts +0 -33
  1143. package/dist/src/nile-option-header/nile-option-header.js +0 -51
  1144. package/dist/src/nile-option-header/nile-option-header.js.map +0 -1
  1145. package/dist/src/nile-spannable-table/index.d.ts +0 -1
  1146. package/dist/src/nile-spannable-table/index.js +0 -2
  1147. package/dist/src/nile-spannable-table/index.js.map +0 -1
  1148. package/dist/src/nile-spannable-table/nile-spannable-table.css.d.ts +0 -12
  1149. package/dist/src/nile-spannable-table/nile-spannable-table.css.js +0 -21
  1150. package/dist/src/nile-spannable-table/nile-spannable-table.css.js.map +0 -1
  1151. package/dist/src/nile-spannable-table/nile-spannable-table.d.ts +0 -63
  1152. package/dist/src/nile-spannable-table/nile-spannable-table.js +0 -296
  1153. package/dist/src/nile-spannable-table/nile-spannable-table.js.map +0 -1
  1154. package/dist/src/nile-spannable-table-body/index.d.ts +0 -1
  1155. package/dist/src/nile-spannable-table-body/index.js +0 -2
  1156. package/dist/src/nile-spannable-table-body/index.js.map +0 -1
  1157. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.d.ts +0 -12
  1158. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js +0 -23
  1159. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js.map +0 -1
  1160. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.d.ts +0 -33
  1161. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js +0 -45
  1162. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js.map +0 -1
  1163. package/dist/src/nile-spannable-table-cell/index.d.ts +0 -1
  1164. package/dist/src/nile-spannable-table-cell/index.js +0 -2
  1165. package/dist/src/nile-spannable-table-cell/index.js.map +0 -1
  1166. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.d.ts +0 -12
  1167. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js +0 -21
  1168. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js.map +0 -1
  1169. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.d.ts +0 -37
  1170. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js +0 -63
  1171. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js.map +0 -1
  1172. package/dist/src/nile-spannable-table-header/index.d.ts +0 -1
  1173. package/dist/src/nile-spannable-table-header/index.js +0 -2
  1174. package/dist/src/nile-spannable-table-header/index.js.map +0 -1
  1175. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.d.ts +0 -12
  1176. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js +0 -33
  1177. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js.map +0 -1
  1178. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.d.ts +0 -42
  1179. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js +0 -119
  1180. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js.map +0 -1
  1181. package/dist/src/nile-spannable-table-row/index.d.ts +0 -1
  1182. package/dist/src/nile-spannable-table-row/index.js +0 -2
  1183. package/dist/src/nile-spannable-table-row/index.js.map +0 -1
  1184. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.d.ts +0 -12
  1185. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js +0 -17
  1186. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js.map +0 -1
  1187. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.d.ts +0 -35
  1188. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js +0 -57
  1189. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js.map +0 -1
  1190. package/dist/src/nile-table-row/TableRowExpandableHelper.d.ts +0 -9
  1191. package/dist/src/nile-table-row/TableRowExpandableHelper.js +0 -26
  1192. package/dist/src/nile-table-row/TableRowExpandableHelper.js.map +0 -1
  1193. package/dist/src/nile-table-row/helper.ts.d.ts +0 -37
  1194. package/dist/src/nile-table-row/helper.ts.js +0 -105
  1195. package/dist/src/nile-table-row/helper.ts.js.map +0 -1
  1196. package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +0 -37
  1197. package/dist/src/nile-table-row/nile-table-row-expandable.js +0 -105
  1198. package/dist/src/nile-table-row/nile-table-row-expandable.js.map +0 -1
  1199. package/dist/src/nile-table-row-expandable/index.d.ts +0 -1
  1200. package/dist/src/nile-table-row-expandable/index.js +0 -2
  1201. package/dist/src/nile-table-row-expandable/index.js.map +0 -1
  1202. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +0 -12
  1203. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +0 -17
  1204. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +0 -1
  1205. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +0 -37
  1206. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +0 -103
  1207. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +0 -1
  1208. package/dist/src/nile-test-hello/index.d.ts +0 -1
  1209. package/dist/src/nile-test-hello/index.js +0 -2
  1210. package/dist/src/nile-test-hello/index.js.map +0 -1
  1211. package/dist/src/nile-test-hello/nile-test-hello.css.d.ts +0 -12
  1212. package/dist/src/nile-test-hello/nile-test-hello.css.js +0 -17
  1213. package/dist/src/nile-test-hello/nile-test-hello.css.js.map +0 -1
  1214. package/dist/src/nile-test-hello/nile-test-hello.d.ts +0 -33
  1215. package/dist/src/nile-test-hello/nile-test-hello.js +0 -49
  1216. package/dist/src/nile-test-hello/nile-test-hello.js.map +0 -1
  1217. package/dist/src/nile-test-hello-column/index.d.ts +0 -1
  1218. package/dist/src/nile-test-hello-column/index.js +0 -2
  1219. package/dist/src/nile-test-hello-column/index.js.map +0 -1
  1220. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.d.ts +0 -12
  1221. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js +0 -17
  1222. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js.map +0 -1
  1223. package/dist/src/nile-test-hello-column/nile-test-hello-column.d.ts +0 -13
  1224. package/dist/src/nile-test-hello-column/nile-test-hello-column.js +0 -27
  1225. package/dist/src/nile-test-hello-column/nile-test-hello-column.js.map +0 -1
  1226. package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +0 -18
  1227. package/dist/src/nile-tooltip/nile-tooltip-utils.js +0 -216
  1228. package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +0 -1
  1229. package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +0 -1
  1230. package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -148
  1231. package/dist/src/nile-tooltip/nile-tooltip.test.js.map +0 -1
  1232. package/src/nile-grid/nile-grid-body/nile-grid-body.css.ts +0 -20
  1233. package/src/nile-grid/nile-grid-body/nile-grid-body.ts +0 -51
  1234. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +0 -81
  1235. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.ts +0 -88
  1236. package/src/nile-grid/nile-grid-head/nile-grid-head.css.ts +0 -21
  1237. package/src/nile-grid/nile-grid-head/nile-grid-head.ts +0 -50
  1238. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +0 -73
  1239. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts +0 -97
  1240. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.ts +0 -92
  1241. package/src/nile-grid/nile-grid-row/nile-grid-row.css.ts +0 -50
  1242. package/src/nile-grid/nile-grid-row/nile-grid-row.ts +0 -58
  1243. package/src/nile-grid/nile-grid.types.ts +0 -1
  1244. package/src/nile-rich-text-editor/utils.ts +0 -643
  1245. package/src/nile-sidebar/index.ts +0 -133
  1246. package/src/nile-sidebar/logo.svg +0 -1
  1247. package/src/nile-sidebar-menu/index.ts +0 -1
  1248. package/src/nile-sidebar-menu/nile-sidebar-menu.css.ts +0 -52
  1249. package/src/nile-sidebar-menu/nile-sidebar-menu.ts +0 -97
  1250. package/src/nile-sidebar-menu-items/index.ts +0 -1
  1251. package/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.ts +0 -50
  1252. package/src/nile-sidebar-menu-items/nile-sidebar-menu-items.ts +0 -81
  1253. package/src/nile-sidebar-wrapper/index.ts +0 -1
  1254. package/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.ts +0 -119
  1255. package/src/nile-sidebar-wrapper/nile-sidebar-wrapper.ts +0 -97
  1256. /package/dist/{nile-grid/nile-grid-cell-item → nile-inline-sidebar}/index.cjs.js.map +0 -0
  1257. /package/dist/{nile-grid-cell → nile-inline-sidebar-group}/index.cjs.js.map +0 -0
  1258. /package/dist/{nile-grid/nile-grid-body → nile-inline-sidebar-item}/index.cjs.js.map +0 -0
  1259. /package/dist/{nile-grid/nile-grid-column-cell-template → nile-rich-text-editor/utils}/index.cjs.js.map +0 -0
  1260. /package/dist/{nile-grid/nile-grid.types.esm.js → nile-rich-text-editor/utils/link-utils.esm.js} +0 -0
  1261. /package/dist/{nile-grid/nile-grid-head-item → nile-side-bar-action}/index.cjs.js.map +0 -0
  1262. /package/dist/{nile-grid/nile-grid-columns → nile-side-bar-action-menu}/index.cjs.js.map +0 -0
  1263. /package/dist/{nile-grid/nile-grid-column-head-template → nile-side-bar-action-menu-item}/index.cjs.js.map +0 -0
  1264. /package/dist/{nile-grid/nile-grid-head → nile-side-bar-expand}/index.cjs.js.map +0 -0
  1265. /package/dist/{nile-sidebar-menu → nile-side-bar-footer}/index.cjs.js.map +0 -0
  1266. /package/dist/{nile-grid/nile-grid-row → nile-side-bar-footer-item}/index.cjs.js.map +0 -0
  1267. /package/dist/{nile-sidebar-menu-items → nile-side-bar-footer-text}/index.cjs.js.map +0 -0
  1268. /package/dist/{nile-test-hello → nile-side-bar-group-item}/index.cjs.js.map +0 -0
  1269. /package/dist/{nile-sidebar-wrapper → nile-side-bar-group-item-icon}/index.cjs.js.map +0 -0
  1270. /package/dist/{nile-test-hello-column → nile-side-bar-group-item-text}/index.cjs.js.map +0 -0
  1271. /package/src/{nile-grid/nile-grid-body → nile-grid-body}/index.ts +0 -0
  1272. /package/src/{nile-grid/nile-grid-cell-item → nile-grid-cell-item}/index.ts +0 -0
  1273. /package/src/{nile-grid/nile-grid-cell-item → nile-grid-cell-item}/nile-grid-cell-item.utils.ts +0 -0
  1274. /package/src/{nile-grid/nile-grid-head → nile-grid-head}/index.ts +0 -0
  1275. /package/src/{nile-grid/nile-grid-head-item → nile-grid-head-item}/index.ts +0 -0
  1276. /package/src/{nile-grid/nile-grid-row → nile-grid-row}/index.ts +0 -0
@@ -1 +1 @@
1
- import{__decorate as t}from"tslib";import{LitElement as i}from"lit";import{property as s,state as e,customElement as n}from"lit/decorators.js";import"./nile-rte-toolbar.esm.js";import"./nile-rte-toolbar-item.esm.js";import"./nile-rte-select.esm.js";import"./nile-rte-color.esm.js";import"./nile-rte-divider.esm.js";import"./nile-rte-preview.esm.js";import"./nile-rte-mentions.esm.js";import"./nile-rte-link.esm.js";import{t as o,s as r,a as h,b as l,c,d as a,e as u,n as d,f,r as m}from"./utils.esm.js";import{s as p}from"./nile-rich-text-editor.css.esm.js";const b={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 g=class extends i{constructor(){super(...arguments),this.value="",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=t=>{if(this.singleLineEditor&&"Enter"===t.key&&t.shiftKey)return void t.preventDefault();if(t.ctrlKey&&"i"===t.key.toLowerCase()&&(t.preventDefault(),o(this.editorEl,"em"),this.updateContent(),this.updateToolbarState()),this.singleLineEditor&&"Enter"===t.key)return void t.preventDefault();if("Tab"!==t.key)return;t.preventDefault(),this.focusAndRestore();const i=window.getSelection();if(!i||0===i.rangeCount)return;const s=i.getRangeAt(0);if(t.shiftKey){if(s.collapsed&&s.startContainer.nodeType===Node.TEXT_NODE){const t=s.startContainer,e=s.startOffset,n=t.data.slice(0,e),o=n.replace(/(\t|[ \u00a0]{2})$/,"");if(o.length!==n.length){t.data=o+t.data.slice(e);const s=document.createRange();s.setStart(t,o.length),s.collapse(!0),i.removeAllRanges(),i.addRange(s),this.updateContent(),this.updateToolbarState()}}return}s.deleteContents();const e=document.createTextNode("\t");s.insertNode(e);const n=document.createRange();n.setStartAfter(e),n.collapse(!0),i.removeAllRanges(),i.addRange(n),this.updateContent(),this.updateToolbarState()},this.onSelectionChange=()=>{if(!this.editorEl)return;const t=document.getSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);this.editorEl.contains(i.commonAncestorContainer)&&(this.lastRange=i.cloneRange(),this.updateToolbarState())}}createRenderRoot(){return this}injectCss(t){if(this.querySelector("style[data-rte-style]"))return;const i=document.createElement("style");i.setAttribute("data-rte-style","true"),i.textContent=t,this.insertBefore(i,this.firstChild)}connectedCallback(){super.connectedCallback(),this.injectCss(p.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(t){this.updateContent(),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content,mention:t},bubbles:!0,composed:!0}))}disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),super.disconnectedCallback()}updated(t){t.has("value")&&this.editorEl&&this.value!==this.editorEl.innerHTML&&(this.editorEl.innerHTML=this.value||"<p><br></p>",this.content=this.editorEl.innerHTML,this.syncPreview()),t.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 t=document.createElement("article");t.className="editor",t.setAttribute("contenteditable","true"),this.editorEl=t}this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>")}unwrapMention(t,i=!0){const s=t.parentNode;if(!s)return;const e=i?(t.textContent??"").replace(/\u200B/g,""):"",n=document.createTextNode(e);s.insertBefore(n,t),s.removeChild(t);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((t=>{const i=t,s=i.getAttribute("data-mention-key"),e=i.getAttribute("data-mention-label"),n=i.getAttribute("data-mention-trigger")||"",o=(i.textContent??"").replace(/\u200B/g,"").trim(),r=!!s&&!!e&&o.length>0&&o.startsWith(n)&&o.includes(e);o&&r||this.unwrapMention(i,!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",(t=>{this.saveSelection(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t.key)&&this.updateToolbarState()})),this.editorEl.addEventListener("keydown",this.onEditorKeydown)}wireAuthoredToolbar(t){this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(t.children).forEach((t=>{const i=t.tagName.toLowerCase();if("nile-rte-select"!==i||"align"!==t.getAttribute("type")){if("nile-rte-link"===i)return t.editorEl=this.editorEl,void t.addEventListener("link-changed",(()=>{this.updateContent(),this.updateToolbarState()}));if("nile-rte-toolbar-item"===i){let i=t.querySelector(":scope > nile-button");const s=t.getAttribute("name")||"",e=t.getAttribute("label")||s,n=t.getAttribute("icon"),o=t.innerHTML.trim().length>0;if(i||(i=document.createElement("nile-button"),i.variant="tertiary",i.size="small"),n)i.innerHTML=`<nile-icon name="${n}" aria-label="${e}"></nile-icon>`,t.innerHTML="";else if(o)i.innerHTML=t.innerHTML,t.innerHTML="";else{const n=b[s];n?i.innerHTML=`<nile-icon name="${n}" size="20" color="black" aria-label="${e}"></nile-icon>`:i.textContent=e||s,t.innerHTML=""}if(!i.isConnected){const s=document.createElement("nile-tooltip");s.setAttribute("content",e),s.appendChild(i),t.appendChild(s)}i.setAttribute("aria-label",e),i.addEventListener("mousedown",(t=>t.preventDefault())),i.addEventListener("click",(()=>this.onToolbarCommand(s)));const r=this.buttonMap.get(s)??[];return r.push(i),void this.buttonMap.set(s,r)}if("nile-rte-select"!==i)"nile-rte-color"!==i||t.addEventListener("change",(t=>{this.focusAndRestore();const{mode:i,value:s}=t.detail;"backColor"===i?c(this.editorEl,s):a(this.editorEl,s),this.updateContent(),this.updateToolbarState()}));else{const i=t.getAttribute("type")||"";t.addEventListener("change",(t=>{this.focusAndRestore();const s=t.detail;"heading"===i?h(this.editorEl,s):"font"===i&&l(this.editorEl,s),this.updateContent(),this.updateToolbarState()}))}}else t.addEventListener("change",(t=>{this.focusAndRestore();const i=t.detail;r(this.editorEl,i),this.updateContent(),this.updateToolbarState()}))}))}saveSelection(){const t=window.getSelection();t&&t.rangeCount&&(this.lastRange=t.getRangeAt(0).cloneRange())}restoreSelection(){if(!this.lastRange)return;const t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange))}focusAndRestore(){this.editorEl?.focus(),this.restoreSelection()}insertList(t){if(this.restoreSelection(),!this.lastRange)return;const i=document.createElement(t),s=this.lastRange.extractContents(),e=document.createElement("div");e.appendChild(s),Array.from(e.childNodes).forEach((t=>{if(t.nodeType===Node.TEXT_NODE&&!t.textContent?.trim())return;const s=document.createElement("li");s.appendChild(t),i.appendChild(s)})),this.lastRange.insertNode(i),this.afterListEdit(i)}afterListEdit(t){const i=document.createRange();i.setStartAfter(t),i.collapse(!0);const s=window.getSelection();s?.removeAllRanges(),s?.addRange(i),this.saveSelection(),this.updateContent(),this.updateToolbarState()}ensureAtLeastOneParagraph(){const t=this.editorEl;if(!t)return;const i=""===(t.textContent??"").replace(/\u200B/g,"").trim();if(0===t.childNodes.length||i)return void(t.innerHTML="<p><br></p>");if(!t.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){const i=document.createElement("p");for(;t.firstChild;)i.appendChild(t.firstChild);return i.hasChildNodes()||i.appendChild(document.createElement("br")),void t.appendChild(i)}t.querySelectorAll("p").forEach((t=>{""===(t.textContent??"").replace(/\u200B/g,"")&&(t.innerHTML.toLowerCase().includes("<br")||(t.innerHTML="<br>"))}))}onToolbarCommand(t){switch(this.focusAndRestore(),t){case"bold":o(this.editorEl,"strong");break;case"italic":o(this.editorEl,"em");break;case"underline":o(this.editorEl,"u");break;case"left":r(this.editorEl,"left");break;case"center":r(this.editorEl,"center");break;case"right":r(this.editorEl,"right");break;case"justify":r(this.editorEl,"justify");break;case"ul":u(this.editorEl,"ul"),this.updateContent(),this.updateToolbarState();break;case"ol":u(this.editorEl,"ol"),this.updateContent(),this.updateToolbarState();break;case"link":break;case"clear":const t=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),i=[];for(;t.nextNode();){const s=t.currentNode;s.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(s.tagName)&&i.push(s)}for(const t of i){for(;t.firstChild;)t.parentNode?.insertBefore(t.firstChild,t);t.remove()}this.ensureAtLeastOneParagraph()}this.updateContent(),this.updateToolbarState()}setBtnActive(t,i){const s=this.buttonMap.get(t);if(s)for(const t of s)t.toggleAttribute("data-active",!!i)}updateToolbarState(){if(!this.editorEl)return;const t=document.getSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);if(!this.editorEl.contains(i.commonAncestorContainer))return;const s=d(i.startContainer)||this.editorEl,e=getComputedStyle(s),n=f(i.startContainer,this.editorEl)||this.editorEl,o=(()=>{let t=s;for(;t&&t!==this.editorEl;){if(t instanceof HTMLElement){const i=t.tagName.toLowerCase();if("strong"===i||"b"===i)return!0;const s=getComputedStyle(t).fontWeight;if(parseInt(s,10)>=600)return!0}t=t.parentNode}return!1})(),r=(()=>{let t=s;for(;t&&t!==this.editorEl;){if(t instanceof HTMLElement){const i=t.tagName.toLowerCase();if("em"===i||"i"===i)return!0;if("italic"===getComputedStyle(t).fontStyle)return!0}t=t.parentNode}return!1})(),h=(()=>{let t=s;for(;t&&t!==this.editorEl;){if(t instanceof HTMLElement){const i=getComputedStyle(t).textDecorationLine;if(i&&i.includes("underline"))return!0;if("u"===t.tagName.toLowerCase())return!0}t=t.parentNode}return!1})(),l=!!s.closest("a"),c=n.style.textAlign||getComputedStyle(n).textAlign||"start",a="start"===c?"left":c,u=!!s.closest("li")&&s.closest("ul,ol")?.tagName.toLowerCase()||"";if(this.setBtnActive("bold",o),this.setBtnActive("italic",r),this.setBtnActive("underline",h),this.setBtnActive("link",l),this.setBtnActive("left","left"===a&&!["center","right","justify"].includes(a)),this.setBtnActive("center","center"===a),this.setBtnActive("right","right"===a),this.setBtnActive("justify","justify"===a),this.setBtnActive("ul","ul"===u),this.setBtnActive("ol","ol"===u),this.headingSelect){const t=n.tagName.toLowerCase(),i=["h1","h2","h3"].includes(t)?t:"p";this.headingSelect.value!==i&&(this.headingSelect.value=i)}if(this.fontSelect){const t=(e.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(t)for(const i of Array.from(this.fontSelect.options))if(i.value.toLowerCase()===t){this.fontSelect.value=i.value;break}}if(this.colorInput){const t=m(e.color);t&&this.colorInput.value.toLowerCase()!==t.toLowerCase()&&(this.colorInput.value=t),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value)}if(this.bgColorInput){const t=getComputedStyle(s).backgroundColor;if(t&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(t)){const i=m(t);i&&this.bgColorInput.value.toLowerCase()!==i.toLowerCase()&&(this.bgColorInput.value=i)}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value)}}syncPreview(){this.updateContent()}updateContent(){if(!this.editorEl)return;this.ensureAtLeastOneParagraph();const t=this.editorEl.cloneNode(!0),i=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT),e=["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(;i.nextNode()&&s.nextNode();){const t=i.currentNode,n=s.currentNode,o=window.getComputedStyle(t),r=e.map((t=>`${t}:${o.getPropertyValue(t)}`)).join(";");r.trim()&&n.setAttribute("style",r)}this.content=t.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content},bubbles:!0,composed:!0}))}};t([s({type:String,attribute:!0,reflect:!0})],g.prototype,"value",void 0),t([s({type:Boolean,attribute:"singlelineeditor",reflect:!0})],g.prototype,"singleLineEditor",void 0),t([s({attribute:"mentions",reflect:!0,converter:{fromAttribute:t=>{try{const i=JSON.parse(t),s={};for(const t of Object.keys(i)){const e=i[t];Array.isArray(e)&&(s[t]=e.filter((t=>t&&"string"==typeof t.key&&"string"==typeof t.label)).map((t=>({key:t.key,label:t.label}))))}return s}catch{return{}}},toAttribute:t=>JSON.stringify(t)}})],g.prototype,"mentions",void 0),t([e()],g.prototype,"content",void 0),g=t([n("nile-rich-text-editor")],g);export{g as N};
1
+ import{__decorate as t}from"tslib";import{LitElement as i}from"lit";import{property as s,state as e,customElement as n}from"lit/decorators.js";import"./nile-rte-toolbar.esm.js";import"./nile-rte-toolbar-item.esm.js";import"./nile-rte-select.esm.js";import"./nile-rte-color.esm.js";import"./nile-rte-divider.esm.js";import"./nile-rte-preview.esm.js";import"./nile-rte-mentions.esm.js";import"./nile-rte-link.esm.js";import{s as o,a as r,n as h,c as l}from"./utils/block-utils.esm.js";import{t as c,s as a,r as u}from"./utils/inline-utils.esm.js";import{s as f,a as d}from"./utils/color-utils.esm.js";import{t as m}from"./utils/list-utils.esm.js";import{s as p}from"./nile-rich-text-editor.css.esm.js";const b={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 g=class extends i{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=t=>{if(this.singleLineEditor&&"Enter"===t.key&&t.shiftKey)return void t.preventDefault();if(t.ctrlKey&&"i"===t.key.toLowerCase()&&(t.preventDefault(),c(this.editorEl,"em"),this.updateContent(),this.updateToolbarState()),this.singleLineEditor&&"Enter"===t.key)return void t.preventDefault();if("Tab"!==t.key)return;t.preventDefault(),this.focusAndRestore();const i=window.getSelection();if(!i||0===i.rangeCount)return;const s=i.getRangeAt(0);if(t.shiftKey){if(s.collapsed&&s.startContainer.nodeType===Node.TEXT_NODE){const t=s.startContainer,e=s.startOffset,n=t.data.slice(0,e),o=n.replace(/(\t|[ \u00a0]{2})$/,"");if(o.length!==n.length){t.data=o+t.data.slice(e);const s=document.createRange();s.setStart(t,o.length),s.collapse(!0),i.removeAllRanges(),i.addRange(s),this.updateContent(),this.updateToolbarState()}}return}s.deleteContents();const e=document.createTextNode("\t");s.insertNode(e);const n=document.createRange();n.setStartAfter(e),n.collapse(!0),i.removeAllRanges(),i.addRange(n),this.updateContent(),this.updateToolbarState()},this.onSelectionChange=()=>{if(!this.editorEl)return;const t=document.getSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);this.editorEl.contains(i.commonAncestorContainer)&&(this.lastRange=i.cloneRange(),this.updateToolbarState())}}createRenderRoot(){return this}injectCss(t){if(this.querySelector("style[data-rte-style]"))return;const i=document.createElement("style");i.setAttribute("data-rte-style","true"),i.textContent=t,this.insertBefore(i,this.firstChild)}connectedCallback(){super.connectedCallback(),this.injectCss(p.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(t){this.updateContent(),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content,mention:t},bubbles:!0,composed:!0}))}disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),super.disconnectedCallback()}updated(t){t.has("value")&&this.editorEl&&this.value!==this.editorEl.innerHTML&&(this.editorEl.innerHTML=this.value||"<p><br></p>",this.content=this.editorEl.innerHTML,this.syncPreview()),t.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 t=document.createElement("article");t.className="editor",t.setAttribute("contenteditable","true"),this.editorEl=t}this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>")}unwrapMention(t,i=!0){const s=t.parentNode;if(!s)return;const e=i?(t.textContent??"").replace(/\u200B/g,""):"",n=document.createTextNode(e);s.insertBefore(n,t),s.removeChild(t);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((t=>{const i=t,s=i.getAttribute("data-mention-key"),e=i.getAttribute("data-mention-label"),n=i.getAttribute("data-mention-trigger")||"",o=(i.textContent??"").replace(/\u200B/g,"").trim(),r=!!s&&!!e&&o.length>0&&o.startsWith(n)&&o.includes(e);o&&r||this.unwrapMention(i,!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",(t=>{this.saveSelection(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t.key)&&this.updateToolbarState()})),this.editorEl.addEventListener("keydown",this.onEditorKeydown)}wireAuthoredToolbar(t){this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(t.children).forEach((t=>{const i=t.tagName.toLowerCase();if("nile-rte-select"!==i||"align"!==t.getAttribute("type")){if("nile-rte-link"===i)return t.editorEl=this.editorEl,void t.addEventListener("link-changed",(()=>{this.updateContent(),this.updateToolbarState()}));if("nile-rte-toolbar-item"===i){let i=t.querySelector(":scope > nile-button");const s=t.getAttribute("name")||"",e=t.getAttribute("label")||s,n=t.getAttribute("icon"),o=t.innerHTML.trim().length>0;if(i||(i=document.createElement("nile-button"),i.variant="tertiary",i.size="small"),n)i.innerHTML=`<nile-icon name="${n}" aria-label="${e}"></nile-icon>`,t.innerHTML="";else if(o)i.innerHTML=t.innerHTML,t.innerHTML="";else{const n=b[s];n?i.innerHTML=`<nile-icon name="${n}" size="20" color="black" aria-label="${e}"></nile-icon>`:i.textContent=e||s,t.innerHTML=""}if(!i.isConnected){const s=document.createElement("nile-tooltip");s.setAttribute("content",e),s.appendChild(i),t.appendChild(s)}i.setAttribute("aria-label",e),i.addEventListener("mousedown",(t=>t.preventDefault())),i.addEventListener("click",(()=>this.onToolbarCommand(s)));const r=this.buttonMap.get(s)??[];return r.push(i),void this.buttonMap.set(s,r)}if("nile-rte-select"!==i)"nile-rte-color"!==i||t.addEventListener("change",(t=>{this.focusAndRestore();const{mode:i,value:s}=t.detail;"backColor"===i?f(this.editorEl,s):d(this.editorEl,s),this.updateContent(),this.updateToolbarState()}));else{const i=t.getAttribute("type")||"";t.addEventListener("change",(t=>{this.focusAndRestore();const s=t.detail;"heading"===i?r(this.editorEl,s):"font"===i&&a(this.editorEl,s),this.updateContent(),this.updateToolbarState()}))}}else t.addEventListener("change",(t=>{this.focusAndRestore();const i=t.detail;o(this.editorEl,i),this.updateContent(),this.updateToolbarState()}))}))}saveSelection(){const t=window.getSelection();t&&t.rangeCount&&(this.lastRange=t.getRangeAt(0).cloneRange())}restoreSelection(){if(!this.lastRange)return;const t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange))}focusAndRestore(){this.editorEl?.focus(),this.restoreSelection()}getCleanContent(){const t=this.editorEl.cloneNode(!0);return t.querySelectorAll("*").forEach((t=>{t.removeAttribute("style")})),t.innerHTML}insertList(t){if(this.restoreSelection(),!this.lastRange)return;const i=document.createElement(t),s=this.lastRange.extractContents(),e=document.createElement("div");e.appendChild(s),Array.from(e.childNodes).forEach((t=>{if(t.nodeType===Node.TEXT_NODE&&!t.textContent?.trim())return;const s=document.createElement("li");s.appendChild(t),i.appendChild(s)})),this.lastRange.insertNode(i),this.afterListEdit(i)}afterListEdit(t){const i=document.createRange();i.setStartAfter(t),i.collapse(!0);const s=window.getSelection();s?.removeAllRanges(),s?.addRange(i),this.saveSelection(),this.updateContent(),this.updateToolbarState()}ensureAtLeastOneParagraph(){const t=this.editorEl;if(!t)return;const i=""===(t.textContent??"").replace(/\u200B/g,"").trim();if(0===t.childNodes.length||i)return void(t.innerHTML="<p><br></p>");if(!t.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){const i=document.createElement("p");for(;t.firstChild;)i.appendChild(t.firstChild);return i.hasChildNodes()||i.appendChild(document.createElement("br")),void t.appendChild(i)}t.querySelectorAll("p").forEach((t=>{""===(t.textContent??"").replace(/\u200B/g,"")&&(t.innerHTML.toLowerCase().includes("<br")||(t.innerHTML="<br>"))}))}onToolbarCommand(t){switch(this.focusAndRestore(),t){case"bold":c(this.editorEl,"strong");break;case"italic":c(this.editorEl,"em");break;case"underline":c(this.editorEl,"u");break;case"left":o(this.editorEl,"left");break;case"center":o(this.editorEl,"center");break;case"right":o(this.editorEl,"right");break;case"justify":o(this.editorEl,"justify");break;case"ul":m(this.editorEl,"ul"),this.updateContent(),this.updateToolbarState();break;case"ol":m(this.editorEl,"ol"),this.updateContent(),this.updateToolbarState();break;case"link":break;case"clear":const t=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),i=[];for(;t.nextNode();){const s=t.currentNode;s.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(s.tagName)&&i.push(s)}for(const t of i){for(;t.firstChild;)t.parentNode?.insertBefore(t.firstChild,t);t.remove()}this.ensureAtLeastOneParagraph()}this.updateContent(),this.updateToolbarState()}setBtnActive(t,i){const s=this.buttonMap.get(t);if(s)for(const t of s)t.toggleAttribute("data-active",!!i)}updateToolbarState(){if(!this.editorEl)return;const t=document.getSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);if(!this.editorEl.contains(i.commonAncestorContainer))return;const s=h(i.startContainer)||this.editorEl,e=getComputedStyle(s),n=l(i.startContainer,this.editorEl)||this.editorEl,o=(()=>{let t=s;for(;t&&t!==this.editorEl;){if(t instanceof HTMLElement){const i=t.tagName.toLowerCase();if("strong"===i||"b"===i)return!0;const s=getComputedStyle(t).fontWeight;if(parseInt(s,10)>=600)return!0}t=t.parentNode}return!1})(),r=(()=>{let t=s;for(;t&&t!==this.editorEl;){if(t instanceof HTMLElement){const i=t.tagName.toLowerCase();if("em"===i||"i"===i)return!0;if("italic"===getComputedStyle(t).fontStyle)return!0}t=t.parentNode}return!1})(),c=(()=>{let t=s;for(;t&&t!==this.editorEl;){if(t instanceof HTMLElement){const i=getComputedStyle(t).textDecorationLine;if(i&&i.includes("underline"))return!0;if("u"===t.tagName.toLowerCase())return!0}t=t.parentNode}return!1})(),a=!!s.closest("a"),f=n.style.textAlign||getComputedStyle(n).textAlign||"start",d="start"===f?"left":f,m=!!s.closest("li")&&s.closest("ul,ol")?.tagName.toLowerCase()||"";if(this.setBtnActive("bold",o),this.setBtnActive("italic",r),this.setBtnActive("underline",c),this.setBtnActive("link",a),this.setBtnActive("left","left"===d&&!["center","right","justify"].includes(d)),this.setBtnActive("center","center"===d),this.setBtnActive("right","right"===d),this.setBtnActive("justify","justify"===d),this.setBtnActive("ul","ul"===m),this.setBtnActive("ol","ol"===m),this.headingSelect){const t=n.tagName.toLowerCase(),i=["h1","h2","h3"].includes(t)?t:"p";this.headingSelect.value!==i&&(this.headingSelect.value=i)}if(this.fontSelect){const t=(e.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(t)for(const i of Array.from(this.fontSelect.options))if(i.value.toLowerCase()===t){this.fontSelect.value=i.value;break}}if(this.colorInput){const t=u(e.color);t&&this.colorInput.value.toLowerCase()!==t.toLowerCase()&&(this.colorInput.value=t),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value)}if(this.bgColorInput){const t=getComputedStyle(s).backgroundColor;if(t&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(t)){const i=u(t);i&&this.bgColorInput.value.toLowerCase()!==i.toLowerCase()&&(this.bgColorInput.value=i)}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value)}}syncPreview(){this.updateContent()}updateContent(){if(!this.editorEl)return;this.ensureAtLeastOneParagraph();const t=this.editorEl.cloneNode(!0);if(this.noStyles)t.querySelectorAll("[style]").forEach((t=>t.removeAttribute("style")));else{const i=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT),e=["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(;i.nextNode()&&s.nextNode();){const t=i.currentNode,n=s.currentNode,o=window.getComputedStyle(t),r=e.map((t=>`${t}:${o.getPropertyValue(t)}`)).join(";");r.trim()&&n.setAttribute("style",r)}}this.content=t.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content},bubbles:!0,composed:!0}))}};t([s({type:String,attribute:!0,reflect:!0})],g.prototype,"value",void 0),t([s({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"noStyles",void 0),t([s({type:Boolean,attribute:"singlelineeditor",reflect:!0})],g.prototype,"singleLineEditor",void 0),t([s({attribute:"mentions",reflect:!0,converter:{fromAttribute:t=>{try{const i=JSON.parse(t),s={};for(const t of Object.keys(i)){const e=i[t];Array.isArray(e)&&(s[t]=e.filter((t=>t&&"string"==typeof t.key&&"string"==typeof t.label)).map((t=>({key:t.key,label:t.label}))))}return s}catch{return{}}},toAttribute:t=>JSON.stringify(t)}})],g.prototype,"mentions",void 0),t([e()],g.prototype,"content",void 0),g=t([n("nile-rich-text-editor")],g);export{g as N};
@@ -1,3 +1,3 @@
1
- System.register(["tslib","lit","lit/decorators.js"],function(_export,_context){"use strict";var t,i,s,e,n,o;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){i=_lit.LitElement;},function(_litDecoratorsJs){s=_litDecoratorsJs.property;e=_litDecoratorsJs.state;n=_litDecoratorsJs.customElement;}],execute:function execute(){o=/*#__PURE__*/function(_i){function o(){var _this;_classCallCheck(this,o);_this=_callSuper(this,o,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=function(){if(!_this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);_this.editorEl.contains(i.commonAncestorContainer)&&(_this.lastRange=i.cloneRange());},_this.saveSelection=function(){var t=window.getSelection();t&&t.rangeCount&&(_this.lastRange=t.getRangeAt(0).cloneRange());},_this.onEditorInput=function(){_this.mentionOpen&&_this.handleMention();},_this.onEditorKeyUp=function(t){_this.saveSelection();var i=t.key,s=_this.config;!_this.mentionOpen&&i&&s[i]?_this.openMention(i):_this.mentionOpen&&_this.handleMention();},_this.onEditorKeyDown=function(t){if(!_this.mentionOpen)return;var i=t.key;if("ArrowDown"===i||"ArrowUp"===i){if(t.preventDefault(),!_this.mentionFiltered.length)return;_this.mentionActiveIndex="ArrowDown"===i?(_this.mentionActiveIndex+1)%_this.mentionFiltered.length:(_this.mentionActiveIndex-1+_this.mentionFiltered.length)%_this.mentionFiltered.length,_this.renderMentionList();}else"Enter"===i?_this.mentionActiveIndex>=0&&_this.mentionFiltered[_this.mentionActiveIndex]&&(t.preventDefault(),_this.selectMention(_this.mentionFiltered[_this.mentionActiveIndex])):"Escape"===i&&(t.preventDefault(),_this.closeMention());},_this.repositionMention=function(){if(!_this.mentionOpen||!_this.hostEl||!_this.triggerBtn)return;var t=_this.getCaretClientRect();if(!t)return;var i=_this.hostEl.getBoundingClientRect();_this.mentionX=t.left-i.left,_this.mentionY=t.bottom-i.top,_this.triggerBtn.style.left="".concat(_this.mentionX,"px"),_this.triggerBtn.style.top="".concat(_this.mentionY,"px");};return _this;}_inherits(o,_i);return _createClass(o,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"getTriggerFormat",value:function getTriggerFormat(t){var _ref,_i$prefix,_ref2,_i$suffix;var i=this.itemsFormats[t]||{},s=this.mentionFormat[t]||{};return{prefix:(_ref=(_i$prefix=i.prefix)!==null&&_i$prefix!==void 0?_i$prefix:s.prefix)!==null&&_ref!==void 0?_ref:"",suffix:(_ref2=(_i$suffix=i.suffix)!==null&&_i$suffix!==void 0?_i$suffix:s.suffix)!==null&&_ref2!==void 0?_ref2:""};}},{key:"formatLabel",value:function formatLabel(t,i){var _this$getTriggerForma=this.getTriggerFormat(t),s=_this$getTriggerForma.prefix,e=_this$getTriggerForma.suffix;return"".concat(s!==null&&s!==void 0?s:"").concat(i).concat(e!==null&&e!==void 0?e:"");}},{key:"config",get:function get(){return _objectSpread(_objectSpread(_objectSpread({},this.externalConfig),this.mentions),this.itemsConfig);}},{key:"attach",value:function attach(t,i){var _this2=this;this.editorEl=t,this.hostEl=i,this.injectStyles(),this.ensureMentionDropdown(),this.rebuildConfigFromChildren(),this.mo=new MutationObserver(function(){return _this2.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);}},{key:"detach",value:function 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);}},{key:"setExternalConfig",value:function setExternalConfig(t){this.externalConfig=t||{};}},{key:"disconnectedCallback",value:function disconnectedCallback(){this.detach(),_superPropGet(o,"disconnectedCallback",this,3)([]);}},{key:"rebuildConfigFromChildren",value:function rebuildConfigFromChildren(){var t={},i={},s={},e=Array.from(this.querySelectorAll("nile-rte-mentions-item"));var _loop=function _loop(){var _ref3,_n$mentionsCharacter,_n$mentionsData,_ref4,_n$mentionsColor,_ref5,_n$mentionsPrefix,_ref6,_n$mentionsSuffix;var n=_e[_i2];var e=(_ref3=(_n$mentionsCharacter=n.mentionsCharacter)!==null&&_n$mentionsCharacter!==void 0?_n$mentionsCharacter:n.getAttribute("mentionscharacter"))!==null&&_ref3!==void 0?_ref3:"";if(!e||"string"!=typeof e)return 1;// continue
2
- var _o=(_n$mentionsData=n.mentionsData)!==null&&_n$mentionsData!==void 0?_n$mentionsData:function(){var t=n.getAttribute("mentionsdata");if(!t)return null;try{var _i3=JSON.parse(t);return Array.isArray(_i3)?_i3.filter(function(t){return t&&"string"==typeof t.key&&"string"==typeof t.label;}):[];}catch(_unused){return[];}}();var h=(_ref4=(_n$mentionsColor=n.mentionsColor)!==null&&_n$mentionsColor!==void 0?_n$mentionsColor:n.getAttribute("mentionscolor"))!==null&&_ref4!==void 0?_ref4:"",r=(_ref5=(_n$mentionsPrefix=n.mentionsPrefix)!==null&&_n$mentionsPrefix!==void 0?_n$mentionsPrefix:n.getAttribute("mentionsprefix"))!==null&&_ref5!==void 0?_ref5:"",u=(_ref6=(_n$mentionsSuffix=n.mentionsSuffix)!==null&&_n$mentionsSuffix!==void 0?_n$mentionsSuffix:n.getAttribute("mentionssuffix"))!==null&&_ref6!==void 0?_ref6:"";Array.isArray(_o)||(_o=[]),t[e]=_o,h&&(i[e]=String(h)),(r||u)&&(s[e]={prefix:r,suffix:u});};for(var _i2=0,_e=e;_i2<_e.length;_i2++){if(_loop())continue;}this.itemsConfig=t,this.itemsColors=i,this.itemsFormats=s;}},{key:"injectStyles",value:function injectStyles(){if(this.querySelector("style[data-mentions-style]"))return;var t=document.createElement("style");t.setAttribute("data-mentions-style","true"),t.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(t,this.firstChild);}},{key:"getTriggerColor",value:function getTriggerColor(t){var _this$itemsColors$t;return(_this$itemsColors$t=this.itemsColors[t])!==null&&_this$itemsColors$t!==void 0?_this$itemsColors$t:this.mentionColors[t];}},{key:"ensureMentionDropdown",value:function ensureMentionDropdown(){if(this.dropdownEl||!this.hostEl)return;var t=document.createElement("nile-dropdown");t.style.zIndex="1000";var i=document.createElement("nile-button");i.setAttribute("slot","trigger"),i.style.position="absolute",i.style.width="1px",i.style.height="1px",i.style.border="0",i.style.padding="0",i.style.opacity="0",i.style.pointerEvents="none",t.appendChild(i),this.triggerBtn=i;var s=document.createElement("nile-menu");s.classList.add("mentions-menu"),t.appendChild(s),this.hostEl.appendChild(t),this.dropdownEl=t,this.menuEl=s;}},{key:"restoreSelection",value:function restoreSelection(){if(!this.lastRange)return;var t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange));}},{key:"focusAndRestore",value:function focusAndRestore(){var _this$editorEl;(_this$editorEl=this.editorEl)!==null&&_this$editorEl!==void 0&&_this$editorEl.focus(),this.restoreSelection();}},{key:"getCaretClientRect",value:function getCaretClientRect(){var t=document.getSelection();if(!t||0===t.rangeCount)return null;var i=t.getRangeAt(0).cloneRange();i.collapse(!1);var s=i.getClientRects();if(s&&s.length>0)return s[0];var e=document.createElement("span");e.setAttribute("data-caret-marker","1"),e.textContent="​",i.insertNode(e);var n=e.getBoundingClientRect(),_o2=document.createRange();return _o2.setStartAfter(e),_o2.collapse(!0),t.removeAllRanges(),t.addRange(_o2),e.remove(),n||null;}},{key:"openMention",value:function openMention(t){if(this.saveSelection(),!this.editorEl||!this.dropdownEl||!this.hostEl)return;var i=this.getCaretClientRect();if(!i)return;var s=this.hostEl.getBoundingClientRect();this.mentionX=i.left-s.left,this.mentionY=i.bottom-s.top,this.mentionTrigger=t,this.mentionSuggestions=this.config[t]||[],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:t,suggestions:this.mentionSuggestions},bubbles:!0,composed:!0}));}},{key:"closeMention",value:function closeMention(){var _this$dropdownEl;this.mentionOpen=!1,this.mentionTrigger=null,this.mentionQuery="",this.mentionFiltered=[],(_this$dropdownEl=this.dropdownEl)===null||_this$dropdownEl===void 0?void 0:_this$dropdownEl.removeAttribute("open");}},{key:"handleMention",value:function handleMention(){if(!this.mentionOpen||!this.mentionTrigger)return;var t=window.getSelection();if(!t||!t.anchorNode)return;var i=t.anchorNode;if(i.nodeType!==Node.TEXT_NODE){var _i$childNodes;var _s=((_i$childNodes=i.childNodes)===null||_i$childNodes===void 0?void 0:_i$childNodes[t.anchorOffset])||i.firstChild;(_s===null||_s===void 0?void 0:_s.nodeType)===Node.TEXT_NODE&&(i=_s);}var s=i&&i.nodeType===Node.TEXT_NODE&&i.textContent||"",e=s.lastIndexOf(this.mentionTrigger);e>=0?(this.mentionQuery=s.substring(e+1),this.updateMentionFiltered(),this.renderMentionList()):this.closeMention();}},{key:"updateMentionFiltered",value:function updateMentionFiltered(){var t=this.mentionQuery.toLowerCase();this.mentionFiltered=(this.mentionSuggestions||[]).filter(function(i){return i.label.toLowerCase().startsWith(t);});}},{key:"renderMentionList",value:function renderMentionList(){var _this3=this;this.dropdownEl&&this.menuEl&&this.triggerBtn&&(this.triggerBtn.style.left="".concat(this.mentionX,"px"),this.triggerBtn.style.top="".concat(this.mentionY,"px"),this.menuEl.innerHTML="",this.mentionOpen&&this.mentionFiltered.length?(this.mentionFiltered.forEach(function(t,i){var _this3$menuEl;var s=document.createElement("nile-menu-item");s.textContent=t.label,s.setAttribute("role","option"),i===_this3.mentionActiveIndex?(s.classList.add("active"),s.setAttribute("aria-selected","true")):(s.classList.remove("active"),s.removeAttribute("aria-selected")),s.addEventListener("mouseenter",function(){_this3.mentionActiveIndex=i,_this3.renderMentionList();}),s.addEventListener("mousedown",function(i){i.preventDefault(),_this3.selectMention(t);}),(_this3$menuEl=_this3.menuEl)===null||_this3$menuEl===void 0?void 0:_this3$menuEl.appendChild(s);}),this.dropdownEl.setAttribute("open","")):this.dropdownEl.removeAttribute("open"));}},{key:"selectMention",value:function selectMention(t){var _c$prefix,_c$suffix,_c$prefix2,_c$suffix2;if(this.restoreSelection(),!this.lastRange||!this.mentionTrigger||!this.editorEl)return;var i=this.mentionTrigger;var s=this.lastRange.startContainer,e=this.lastRange.startOffset;if(s.nodeType!==Node.TEXT_NODE){var _t=s.childNodes[e];if((_t===null||_t===void 0?void 0:_t.nodeType)!==Node.TEXT_NODE)return;s=_t,e=0;}var n=s,_o3=(n.textContent||"").lastIndexOf(this.mentionTrigger,e);if(_o3<0)return;var h=_o3+1+this.mentionQuery.length,r=document.createRange();r.setStart(n,_o3),r.setEnd(n,h),r.deleteContents();var u=document.createElement("span");u.classList.add("mention");var c=this.getTriggerFormat(this.mentionTrigger);this.displayFormat?u.textContent="".concat((_c$prefix=c.prefix)!==null&&_c$prefix!==void 0?_c$prefix:"").concat(t.label).concat((_c$suffix=c.suffix)!==null&&_c$suffix!==void 0?_c$suffix:""):(u.textContent="".concat(this.mentionTrigger).concat(t.label),c.prefix&&u.setAttribute("data-mention-prefix",c.prefix),c.suffix&&u.setAttribute("data-mention-suffix",c.suffix)),u.setAttribute("data-mention-key",t.key),u.setAttribute("data-mention-label",t.label),u.setAttribute("data-mention-trigger",this.mentionTrigger);var l=this.getTriggerColor(this.mentionTrigger);l&&(u.style.backgroundColor=l),r.insertNode(u);var d=document.createTextNode(" ");u.after(d);var a=window.getSelection(),m=document.createRange();m.setStartAfter(d),m.collapse(!0),a!==null&&a!==void 0&&a.removeAllRanges(),a!==null&&a!==void 0&&a.addRange(m),this.lastRange=m.cloneRange(),this.closeMention(),this.dispatchEvent(new CustomEvent("nile-mention-selected",{detail:{trigger:i,key:t.key,label:t.label,prefix:(_c$prefix2=c.prefix)!==null&&_c$prefix2!==void 0?_c$prefix2:"",suffix:(_c$suffix2=c.suffix)!==null&&_c$suffix2!==void 0?_c$suffix2:""},bubbles:!0,composed:!0})),this.editorEl.dispatchEvent(new InputEvent("input",{bubbles:!0}));}}]);}(i);t([s({type:Boolean,attribute:"displayformat",reflect:!0})],o.prototype,"displayFormat",void 0),t([s({attribute:"mentions",converter:{fromAttribute:function fromAttribute(t){try{var _i4=JSON.parse(t),_s2={};for(var _i5=0,_Object$keys=Object.keys(_i4);_i5<_Object$keys.length;_i5++){var _t2=_Object$keys[_i5];var _e2=_i4[_t2];Array.isArray(_e2)&&(_s2[_t2]=_e2.filter(function(t){return t&&"string"==typeof t.key&&"string"==typeof t.label;}).map(function(t){return{key:t.key,label:t.label};}));}return _s2;}catch(_unused2){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t);}}})],o.prototype,"mentions",void 0),t([s({attribute:"mentionformat",converter:{fromAttribute:function fromAttribute(t){try{var _i6=JSON.parse(t);return _i6&&"object"==_typeof(_i6)?_i6:{};}catch(_unused3){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t!==null&&t!==void 0?t:{});}}})],o.prototype,"mentionFormat",void 0),t([e()],o.prototype,"itemsFormats",void 0),t([s({attribute:"mentioncolors",converter:{fromAttribute:function fromAttribute(t){try{var _i7=JSON.parse(t);return _i7&&"object"==_typeof(_i7)?_i7:{};}catch(_unused4){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t!==null&&t!==void 0?t:{});}}})],o.prototype,"mentionColors",void 0),t([e()],o.prototype,"externalConfig",void 0),t([e()],o.prototype,"itemsConfig",void 0),t([e()],o.prototype,"mentionActiveIndex",void 0),t([e()],o.prototype,"itemsColors",void 0),o=t([n("nile-rte-mentions")],o);}};});
1
+ System.register(["tslib","lit","lit/decorators.js"],function(_export,_context){"use strict";var t,i,s,n,e,o;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){i=_lit.LitElement;},function(_litDecoratorsJs){s=_litDecoratorsJs.property;n=_litDecoratorsJs.state;e=_litDecoratorsJs.customElement;}],execute:function execute(){o=/*#__PURE__*/function(_i){function o(){var _this;_classCallCheck(this,o);_this=_callSuper(this,o,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=function(){if(!_this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);_this.editorEl.contains(i.commonAncestorContainer)&&(_this.lastRange=i.cloneRange());},_this.saveSelection=function(){var t=window.getSelection();t&&t.rangeCount&&(_this.lastRange=t.getRangeAt(0).cloneRange());},_this.onEditorInput=function(){var _i$firstChild;if(_this.mentionOpen)return void _this.handleMention();var t=window.getSelection();if(!t||!t.anchorNode)return;var i=t.anchorNode;if(i.nodeType!==Node.TEXT_NODE&&((_i$firstChild=i.firstChild)===null||_i$firstChild===void 0?void 0:_i$firstChild.nodeType)===Node.TEXT_NODE&&(i=i.firstChild),!i||i.nodeType!==Node.TEXT_NODE)return;var s=i.textContent||"",n=_this.config;for(var _i2=0,_Object$keys=Object.keys(n);_i2<_Object$keys.length;_i2++){var _i3=_Object$keys[_i2];var _n=s.lastIndexOf(_i3);if(-1!==_n){var _s=t.focusOffset;if(_s>=_n+_i3.length&&_s<=_n+_i3.length+1)return void _this.openMention(_i3);}}},_this.onEditorKeyUp=function(t){_this.saveSelection();var i=t.key,s=_this.config;if(i&&s[i])return _this.mentionOpen&&_this.mentionTrigger!==i&&_this.closeMention(),void _this.openMention(i);_this.mentionOpen&&_this.handleMention();},_this.onEditorKeyDown=function(t){if(!_this.mentionOpen)return;var i=t.key;if("ArrowDown"===i||"ArrowUp"===i){if(t.preventDefault(),!_this.mentionFiltered.length)return;_this.mentionActiveIndex="ArrowDown"===i?(_this.mentionActiveIndex+1)%_this.mentionFiltered.length:(_this.mentionActiveIndex-1+_this.mentionFiltered.length)%_this.mentionFiltered.length,_this.renderMentionList();}else"Enter"===i?_this.mentionActiveIndex>=0&&_this.mentionFiltered[_this.mentionActiveIndex]&&(t.preventDefault(),_this.selectMention(_this.mentionFiltered[_this.mentionActiveIndex])):"Escape"===i&&(t.preventDefault(),_this.closeMention());},_this.repositionMention=function(){if(!_this.mentionOpen||!_this.hostEl||!_this.triggerBtn)return;var t=_this.getCaretClientRect();if(!t)return;var i=_this.hostEl.getBoundingClientRect();_this.mentionX=t.left-i.left,_this.mentionY=t.bottom-i.top,_this.triggerBtn.style.left="".concat(_this.mentionX,"px"),_this.triggerBtn.style.top="".concat(_this.mentionY,"px");};return _this;}_inherits(o,_i);return _createClass(o,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"getTriggerFormat",value:function getTriggerFormat(t){var _ref,_i$prefix,_ref2,_i$suffix;var i=this.itemsFormats[t]||{},s=this.mentionFormat[t]||{};return{prefix:(_ref=(_i$prefix=i.prefix)!==null&&_i$prefix!==void 0?_i$prefix:s.prefix)!==null&&_ref!==void 0?_ref:"",suffix:(_ref2=(_i$suffix=i.suffix)!==null&&_i$suffix!==void 0?_i$suffix:s.suffix)!==null&&_ref2!==void 0?_ref2:""};}},{key:"formatLabel",value:function formatLabel(t,i){var _this$getTriggerForma=this.getTriggerFormat(t),s=_this$getTriggerForma.prefix,n=_this$getTriggerForma.suffix;return"".concat(s!==null&&s!==void 0?s:"").concat(i).concat(n!==null&&n!==void 0?n:"");}},{key:"config",get:function get(){return _objectSpread(_objectSpread(_objectSpread({},this.externalConfig),this.mentions),this.itemsConfig);}},{key:"attach",value:function attach(t,i){var _this2=this;this.editorEl=t,this.hostEl=i,this.injectStyles(),this.ensureMentionDropdown(),this.rebuildConfigFromChildren(),this.mo=new MutationObserver(function(){return _this2.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);}},{key:"detach",value:function 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);}},{key:"setExternalConfig",value:function setExternalConfig(t){this.externalConfig=t||{};}},{key:"disconnectedCallback",value:function disconnectedCallback(){this.detach(),_superPropGet(o,"disconnectedCallback",this,3)([]);}},{key:"rebuildConfigFromChildren",value:function rebuildConfigFromChildren(){var t={},i={},s={},n=Array.from(this.querySelectorAll("nile-rte-mentions-item"));var _loop=function _loop(){var _ref3,_e$mentionsCharacter,_e$mentionsData,_ref4,_e$mentionsColor,_ref5,_e$mentionsPrefix,_ref6,_e$mentionsSuffix;var e=_n2[_i4];var n=(_ref3=(_e$mentionsCharacter=e.mentionsCharacter)!==null&&_e$mentionsCharacter!==void 0?_e$mentionsCharacter:e.getAttribute("mentionscharacter"))!==null&&_ref3!==void 0?_ref3:"";if(!n||"string"!=typeof n)return 1;// continue
2
+ var _o=(_e$mentionsData=e.mentionsData)!==null&&_e$mentionsData!==void 0?_e$mentionsData:function(){var t=e.getAttribute("mentionsdata");if(!t)return null;try{var _i5=JSON.parse(t);return Array.isArray(_i5)?_i5.filter(function(t){return t&&"string"==typeof t.key&&"string"==typeof t.label;}):[];}catch(_unused){return[];}}();var r=(_ref4=(_e$mentionsColor=e.mentionsColor)!==null&&_e$mentionsColor!==void 0?_e$mentionsColor:e.getAttribute("mentionscolor"))!==null&&_ref4!==void 0?_ref4:"",h=(_ref5=(_e$mentionsPrefix=e.mentionsPrefix)!==null&&_e$mentionsPrefix!==void 0?_e$mentionsPrefix:e.getAttribute("mentionsprefix"))!==null&&_ref5!==void 0?_ref5:"",u=(_ref6=(_e$mentionsSuffix=e.mentionsSuffix)!==null&&_e$mentionsSuffix!==void 0?_e$mentionsSuffix:e.getAttribute("mentionssuffix"))!==null&&_ref6!==void 0?_ref6:"";Array.isArray(_o)||(_o=[]),t[n]=_o,r&&(i[n]=String(r)),(h||u)&&(s[n]={prefix:h,suffix:u});};for(var _i4=0,_n2=n;_i4<_n2.length;_i4++){if(_loop())continue;}this.itemsConfig=t,this.itemsColors=i,this.itemsFormats=s;}},{key:"injectStyles",value:function injectStyles(){if(this.querySelector("style[data-mentions-style]"))return;var t=document.createElement("style");t.setAttribute("data-mentions-style","true"),t.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(t,this.firstChild);}},{key:"getTriggerColor",value:function getTriggerColor(t){var _this$itemsColors$t;return(_this$itemsColors$t=this.itemsColors[t])!==null&&_this$itemsColors$t!==void 0?_this$itemsColors$t:this.mentionColors[t];}},{key:"ensureMentionDropdown",value:function ensureMentionDropdown(){if(this.dropdownEl||!this.hostEl)return;var t=document.createElement("nile-dropdown");t.style.zIndex="1000";var i=document.createElement("nile-button");i.setAttribute("slot","trigger"),i.style.position="absolute",i.style.width="1px",i.style.height="1px",i.style.border="0",i.style.padding="0",i.style.opacity="0",i.style.pointerEvents="none",t.appendChild(i),this.triggerBtn=i;var s=document.createElement("nile-menu");s.classList.add("mentions-menu"),t.appendChild(s),this.hostEl.appendChild(t),this.dropdownEl=t,this.menuEl=s;}},{key:"restoreSelection",value:function restoreSelection(){if(!this.lastRange)return;var t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange));}},{key:"getCaretClientRect",value:function getCaretClientRect(){var t=document.getSelection();if(!t||0===t.rangeCount)return null;var i=t.getRangeAt(0).cloneRange();i.collapse(!1);var s=i.getClientRects();if(s&&s.length>0)return s[0];var n=document.createElement("span");n.setAttribute("data-caret-marker","1"),n.textContent="​",i.insertNode(n);var e=n.getBoundingClientRect(),_o2=document.createRange();return _o2.setStartAfter(n),_o2.collapse(!0),t.removeAllRanges(),t.addRange(_o2),n.remove(),e||null;}},{key:"openMention",value:function openMention(t){if(this.saveSelection(),!this.editorEl||!this.dropdownEl||!this.hostEl)return;var i=this.getCaretClientRect();if(!i)return;var s=this.hostEl.getBoundingClientRect();this.mentionX=i.left-s.left,this.mentionY=i.bottom-s.top,this.mentionTrigger=t,this.mentionSuggestions=this.config[t]||[],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:t,suggestions:this.mentionSuggestions},bubbles:!0,composed:!0}));}},{key:"closeMention",value:function closeMention(){var _this$dropdownEl;this.mentionOpen=!1,this.mentionTrigger=null,this.mentionQuery="",this.mentionFiltered=[],(_this$dropdownEl=this.dropdownEl)===null||_this$dropdownEl===void 0?void 0:_this$dropdownEl.removeAttribute("open");}},{key:"handleMention",value:function handleMention(){if(!this.mentionOpen||!this.mentionTrigger)return;var t=window.getSelection();if(!t||!t.anchorNode)return;var i=t.anchorNode;if(i.nodeType!==Node.TEXT_NODE){var _i$childNodes;var _s2=((_i$childNodes=i.childNodes)===null||_i$childNodes===void 0?void 0:_i$childNodes[t.anchorOffset])||i.firstChild;(_s2===null||_s2===void 0?void 0:_s2.nodeType)===Node.TEXT_NODE&&(i=_s2);}var s=i&&i.nodeType===Node.TEXT_NODE&&i.textContent||"",n=s.lastIndexOf(this.mentionTrigger);n>=0?(this.mentionQuery=s.substring(n+1),this.updateMentionFiltered(),this.renderMentionList()):this.closeMention();}},{key:"updateMentionFiltered",value:function updateMentionFiltered(){var t=this.mentionQuery.toLowerCase();this.mentionFiltered=(this.mentionSuggestions||[]).filter(function(i){return i.label.toLowerCase().startsWith(t);});}},{key:"renderMentionList",value:function renderMentionList(){var _this3=this;this.dropdownEl&&this.menuEl&&this.triggerBtn&&(this.triggerBtn.style.left="".concat(this.mentionX,"px"),this.triggerBtn.style.top="".concat(this.mentionY,"px"),this.menuEl.innerHTML="",this.mentionOpen&&this.mentionFiltered.length?(this.mentionFiltered.forEach(function(t,i){var _this3$menuEl;var s=document.createElement("nile-menu-item");s.textContent=t.label,s.setAttribute("role","option"),i===_this3.mentionActiveIndex?(s.classList.add("active"),s.setAttribute("aria-selected","true")):(s.classList.remove("active"),s.removeAttribute("aria-selected")),s.addEventListener("mouseenter",function(){_this3.mentionActiveIndex=i,_this3.renderMentionList();}),s.addEventListener("mousedown",function(i){i.preventDefault(),_this3.selectMention(t);}),(_this3$menuEl=_this3.menuEl)===null||_this3$menuEl===void 0?void 0:_this3$menuEl.appendChild(s);}),this.dropdownEl.setAttribute("open","")):this.dropdownEl.removeAttribute("open"));}},{key:"selectMention",value:function selectMention(t){var _c$prefix,_c$suffix,_c$prefix2,_c$suffix2;if(this.restoreSelection(),!this.lastRange||!this.mentionTrigger||!this.editorEl)return;var i=this.mentionTrigger;var s=this.lastRange.startContainer,n=this.lastRange.startOffset;if(s.nodeType!==Node.TEXT_NODE){var _t=s.childNodes[n];if((_t===null||_t===void 0?void 0:_t.nodeType)!==Node.TEXT_NODE)return;s=_t,n=0;}var e=s,_o3=(e.textContent||"").lastIndexOf(this.mentionTrigger,n);if(_o3<0)return;var r=_o3+1+this.mentionQuery.length,h=document.createRange();h.setStart(e,_o3),h.setEnd(e,r),h.deleteContents();var u=document.createElement("span");u.classList.add("mention");var c=this.getTriggerFormat(this.mentionTrigger);this.displayFormat?u.textContent="".concat((_c$prefix=c.prefix)!==null&&_c$prefix!==void 0?_c$prefix:"").concat(t.label).concat((_c$suffix=c.suffix)!==null&&_c$suffix!==void 0?_c$suffix:""):(u.textContent="".concat(this.mentionTrigger).concat(t.label),c.prefix&&u.setAttribute("data-mention-prefix",c.prefix),c.suffix&&u.setAttribute("data-mention-suffix",c.suffix)),u.setAttribute("data-mention-key",t.key),u.setAttribute("data-mention-label",t.label),u.setAttribute("data-mention-trigger",this.mentionTrigger);var l=this.getTriggerColor(this.mentionTrigger);l&&(u.style.backgroundColor=l),h.insertNode(u);var d=document.createTextNode(" ");u.after(d);var a=window.getSelection(),m=document.createRange();m.setStartAfter(d),m.collapse(!0),a!==null&&a!==void 0&&a.removeAllRanges(),a!==null&&a!==void 0&&a.addRange(m),this.lastRange=m.cloneRange(),this.closeMention(),this.dispatchEvent(new CustomEvent("nile-mention-selected",{detail:{trigger:i,key:t.key,label:t.label,prefix:(_c$prefix2=c.prefix)!==null&&_c$prefix2!==void 0?_c$prefix2:"",suffix:(_c$suffix2=c.suffix)!==null&&_c$suffix2!==void 0?_c$suffix2:""},bubbles:!0,composed:!0})),this.editorEl.dispatchEvent(new InputEvent("input",{bubbles:!0}));}}]);}(i);t([s({type:Boolean,attribute:"displayformat",reflect:!0})],o.prototype,"displayFormat",void 0),t([s({attribute:"mentions",converter:{fromAttribute:function fromAttribute(t){try{var _i6=JSON.parse(t),_s3={};for(var _i7=0,_Object$keys2=Object.keys(_i6);_i7<_Object$keys2.length;_i7++){var _t2=_Object$keys2[_i7];var _n3=_i6[_t2];Array.isArray(_n3)&&(_s3[_t2]=_n3.filter(function(t){return t&&"string"==typeof t.key&&"string"==typeof t.label;}).map(function(t){return{key:t.key,label:t.label};}));}return _s3;}catch(_unused2){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t);}}})],o.prototype,"mentions",void 0),t([s({attribute:"mentionformat",converter:{fromAttribute:function fromAttribute(t){try{var _i8=JSON.parse(t);return _i8&&"object"==_typeof(_i8)?_i8:{};}catch(_unused3){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t!==null&&t!==void 0?t:{});}}})],o.prototype,"mentionFormat",void 0),t([n()],o.prototype,"itemsFormats",void 0),t([s({attribute:"mentioncolors",converter:{fromAttribute:function fromAttribute(t){try{var _i9=JSON.parse(t);return _i9&&"object"==_typeof(_i9)?_i9:{};}catch(_unused4){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t!==null&&t!==void 0?t:{});}}})],o.prototype,"mentionColors",void 0),t([n()],o.prototype,"externalConfig",void 0),t([n()],o.prototype,"itemsConfig",void 0),t([n()],o.prototype,"mentionActiveIndex",void 0),t([n()],o.prototype,"itemsColors",void 0),o=t([e("nile-rte-mentions")],o);}};});
3
3
  //# sourceMappingURL=nile-rte-mentions.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-rte-mentions.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rte-mentions.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport type { MentionItem } from './nile-rte-mentions-item';\n\ntype MentionsConfig = Record<string, MentionItem[]>;\n\n@customElement('nile-rte-mentions')\nexport class NileRteMentions extends LitElement {\n protected createRenderRoot() {\n return this;\n }\n\n @property({ type: Boolean, attribute: 'displayformat' , reflect: true})\n displayFormat = false;\n\n @property({\n attribute: 'mentions',\n converter: {\n fromAttribute: (value: string): MentionsConfig => {\n try {\n const parsed = JSON.parse(value);\n const out: MentionsConfig = {};\n for (const trig of Object.keys(parsed)) {\n const arr = parsed[trig];\n if (Array.isArray(arr)) {\n out[trig] = arr\n .filter(\n i =>\n i &&\n typeof i.key === 'string' &&\n typeof i.label === 'string'\n )\n .map(i => ({ key: i.key, label: i.label }));\n }\n }\n return out;\n } catch {\n return {};\n }\n },\n toAttribute: (v: MentionsConfig) => JSON.stringify(v),\n },\n })\n mentions: MentionsConfig = {};\n\n // nile-rte-mentions.ts (inside class)\n\n @property({\n attribute: 'mentionformat',\n converter: {\n fromAttribute: (\n v: string\n ): Record<string, { prefix?: string; suffix?: string }> => {\n try {\n const o = JSON.parse(v);\n return o && typeof o === 'object' ? o : {};\n } catch {\n return {};\n }\n },\n toAttribute: (v: Record<string, { prefix?: string; suffix?: string }>) =>\n JSON.stringify(v ?? {}),\n },\n })\n mentionFormat: Record<string, { prefix?: string; suffix?: string }> = {};\n\n @state() private itemsFormats: Record<\n string,\n { prefix?: string; suffix?: string }\n > = {};\n\n private getTriggerFormat(trigger: string): {\n prefix: string;\n suffix: string;\n } {\n const fromItems = this.itemsFormats[trigger] || {};\n const fromAttr = this.mentionFormat[trigger] || {};\n return {\n prefix: fromItems.prefix ?? fromAttr.prefix ?? '',\n suffix: fromItems.suffix ?? fromAttr.suffix ?? '',\n };\n }\n\n private formatLabel(trigger: string, rawLabel: string): string {\n const { prefix, suffix } = this.getTriggerFormat(trigger);\n return `${prefix ?? ''}${rawLabel}${suffix ?? ''}`;\n }\n\n @property({\n attribute: 'mentioncolors',\n converter: {\n fromAttribute: (value: string): Record<string, string> => {\n try {\n const o = JSON.parse(value);\n return o && typeof o === 'object' ? o : {};\n } catch {\n return {};\n }\n },\n toAttribute: (v: Record<string, string>) => JSON.stringify(v ?? {}),\n },\n })\n mentionColors: Record<string, string> = {};\n\n @state() private externalConfig: MentionsConfig = {};\n\n @state() private itemsConfig: MentionsConfig = {};\n\n @state() private mentionActiveIndex: number = -1;\n\n @state() private itemsColors: Record<string, string> = {};\n\n private get config(): MentionsConfig {\n return { ...this.externalConfig, ...this.mentions, ...this.itemsConfig };\n }\n\n // wired from editor\n private editorEl: HTMLElement | null = null;\n private hostEl: HTMLElement | null = null;\n\n private dropdownEl: HTMLElement | null = null;\n private menuEl: HTMLElement | null = null;\n\n private lastRange: Range | null = null;\n\n private mentionOpen = false;\n private mentionTrigger: string | null = null;\n private mentionQuery = '';\n private mentionSuggestions: MentionItem[] = [];\n private mentionFiltered: MentionItem[] = [];\n private mentionX = 0;\n private mentionY = 0;\n private triggerBtn: HTMLElement | null = null;\n\n private mo: MutationObserver | null = null;\n\n attach(editorEl: HTMLElement, hostEl: HTMLElement) {\n this.editorEl = editorEl;\n this.hostEl = hostEl;\n\n this.injectStyles();\n this.ensureMentionDropdown();\n this.rebuildConfigFromChildren();\n\n this.mo = new MutationObserver(() => this.rebuildConfigFromChildren());\n this.mo.observe(this, { childList: true, subtree: true, attributes: true });\n\n this.editorEl.addEventListener('input', this.onEditorInput);\n this.editorEl.addEventListener('mouseup', this.saveSelection);\n this.editorEl.addEventListener('keyup', this.onEditorKeyUp);\n this.editorEl.addEventListener('keydown', this.onEditorKeyDown);\n this.editorEl.addEventListener('scroll', this.repositionMention);\n\n document.addEventListener('selectionchange', this.onSelectionChange, true);\n }\n\n detach() {\n if (this.mo) {\n this.mo.disconnect();\n this.mo = null;\n }\n if (this.editorEl) {\n this.editorEl.removeEventListener('input', this.onEditorInput);\n this.editorEl.removeEventListener('mouseup', this.saveSelection);\n this.editorEl.removeEventListener('keyup', this.onEditorKeyUp);\n this.editorEl.removeEventListener('keydown', this.onEditorKeyDown);\n this.editorEl.removeEventListener('scroll', this.repositionMention);\n }\n document.removeEventListener(\n 'selectionchange',\n this.onSelectionChange,\n true\n );\n }\n\n setExternalConfig(cfg: MentionsConfig) {\n this.externalConfig = cfg || {};\n }\n\n disconnectedCallback(): void {\n this.detach();\n super.disconnectedCallback();\n }\n\n private rebuildConfigFromChildren() {\n const cfg: MentionsConfig = {};\n const colors: Record<string, string> = {};\n const formats: Record<string, { prefix?: string; suffix?: string }> = {};\n\n const items = Array.from(\n this.querySelectorAll('nile-rte-mentions-item')\n ) as Array<\n HTMLElement & {\n mentionsCharacter?: string;\n mentionsData?: MentionItem[];\n mentionsColor?: string;\n }\n >;\n\n for (const item of items) {\n const trig =\n (item as any).mentionsCharacter ??\n item.getAttribute('mentionscharacter') ??\n '';\n\n if (!trig || typeof trig !== 'string') continue;\n\n let data: MentionItem[] | null =\n (item as any).mentionsData ??\n (() => {\n const raw = item.getAttribute('mentionsdata');\n if (!raw) return null;\n try {\n const parsed = JSON.parse(raw);\n return Array.isArray(parsed)\n ? parsed.filter(\n i =>\n i &&\n typeof i.key === 'string' &&\n typeof i.label === 'string'\n )\n : [];\n } catch {\n return [];\n }\n })();\n\n const color =\n (item as any).mentionsColor ?? item.getAttribute('mentionscolor') ?? '';\n\n const prefix =\n (item as any).mentionsPrefix ??\n item.getAttribute('mentionsprefix') ??\n '';\n const suffix =\n (item as any).mentionsSuffix ??\n item.getAttribute('mentionssuffix') ??\n '';\n\n if (!Array.isArray(data)) data = [];\n cfg[trig] = data;\n if (color) colors[trig] = String(color);\n if (prefix || suffix) formats[trig] = { prefix, suffix };\n }\n\n this.itemsConfig = cfg;\n this.itemsColors = colors;\n this.itemsFormats = formats;\n }\n\n private injectStyles() {\n if (this.querySelector('style[data-mentions-style]')) return;\n const style = document.createElement('style');\n style.setAttribute('data-mentions-style', 'true');\n style.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 `;\n this.insertBefore(style, this.firstChild);\n }\n\n private getTriggerColor(trigger: string): string | undefined {\n return this.itemsColors[trigger] ?? this.mentionColors[trigger];\n }\n\n private ensureMentionDropdown() {\n if (this.dropdownEl || !this.hostEl) return;\n\n const dd = document.createElement('nile-dropdown');\n dd.style.zIndex = '1000';\n\n const btn = document.createElement('nile-button');\n btn.setAttribute('slot', 'trigger');\n btn.style.position = 'absolute';\n btn.style.width = '1px';\n btn.style.height = '1px';\n btn.style.border = '0';\n btn.style.padding = '0';\n btn.style.opacity = '0';\n btn.style.pointerEvents = 'none';\n dd.appendChild(btn);\n this.triggerBtn = btn;\n const menu = document.createElement('nile-menu');\n menu.classList.add('mentions-menu');\n dd.appendChild(menu);\n\n this.hostEl.appendChild(dd);\n this.dropdownEl = dd;\n this.menuEl = menu;\n }\n\n private onSelectionChange = () => {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (this.editorEl.contains(range.commonAncestorContainer)) {\n this.lastRange = range.cloneRange();\n }\n };\n private saveSelection = () => {\n const sel = window.getSelection();\n if (sel && sel.rangeCount) this.lastRange = sel.getRangeAt(0).cloneRange();\n };\n private restoreSelection() {\n if (!this.lastRange) return;\n const sel = document.getSelection();\n if (!sel) return;\n sel.removeAllRanges();\n sel.addRange(this.lastRange);\n }\n private focusAndRestore() {\n this.editorEl?.focus();\n this.restoreSelection();\n }\n\n private getCaretClientRect(): DOMRect | null {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return null;\n\n const range = sel.getRangeAt(0).cloneRange();\n range.collapse(false);\n\n const rects = range.getClientRects();\n if (rects && rects.length > 0) return rects[0];\n\n const marker = document.createElement('span');\n marker.setAttribute('data-caret-marker', '1');\n marker.textContent = '\\u200B';\n range.insertNode(marker);\n\n const rect = marker.getBoundingClientRect();\n\n const after = document.createRange();\n after.setStartAfter(marker);\n after.collapse(true);\n sel.removeAllRanges();\n sel.addRange(after);\n marker.remove();\n\n return rect || null;\n }\n\n private onEditorInput = () => {\n if (this.mentionOpen) this.handleMention();\n };\n\n private onEditorKeyUp = (e: KeyboardEvent) => {\n this.saveSelection();\n const key = e.key;\n const cfg = this.config;\n if (!this.mentionOpen && key && cfg[key]) {\n this.openMention(key);\n return;\n }\n if (this.mentionOpen) this.handleMention();\n };\n\n private onEditorKeyDown = (e: KeyboardEvent) => {\n if (!this.mentionOpen) return;\n const key = e.key;\n\n if (key === 'ArrowDown' || key === 'ArrowUp') {\n e.preventDefault();\n if (!this.mentionFiltered.length) return;\n\n if (key === 'ArrowDown') {\n this.mentionActiveIndex =\n (this.mentionActiveIndex + 1) % this.mentionFiltered.length;\n } else {\n this.mentionActiveIndex =\n (this.mentionActiveIndex - 1 + this.mentionFiltered.length) %\n this.mentionFiltered.length;\n }\n\n this.renderMentionList();\n } else if (key === 'Enter') {\n if (\n this.mentionActiveIndex >= 0 &&\n this.mentionFiltered[this.mentionActiveIndex]\n ) {\n e.preventDefault();\n this.selectMention(this.mentionFiltered[this.mentionActiveIndex]);\n }\n } else if (key === 'Escape') {\n e.preventDefault();\n this.closeMention();\n }\n };\n\n private openMention(trigger: string) {\n this.saveSelection();\n if (!this.editorEl || !this.dropdownEl || !this.hostEl) return;\n\n const caretRect = this.getCaretClientRect();\n if (!caretRect) return;\n\n const hostRect = this.hostEl.getBoundingClientRect();\n\n this.mentionX = caretRect.left - hostRect.left;\n this.mentionY = caretRect.bottom - hostRect.top;\n\n this.mentionTrigger = trigger;\n this.mentionSuggestions = this.config[trigger] || [];\n this.mentionQuery = '';\n this.updateMentionFiltered();\n\n this.mentionActiveIndex = this.mentionFiltered.length ? 0 : -1;\n this.mentionOpen = true;\n this.renderMentionList();\n\n this.dispatchEvent(\n new CustomEvent('nile-mention-opened', {\n detail: { trigger, suggestions: this.mentionSuggestions },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private closeMention() {\n this.mentionOpen = false;\n this.mentionTrigger = null;\n this.mentionQuery = '';\n this.mentionFiltered = [];\n // hide dropdown\n this.dropdownEl?.removeAttribute('open');\n }\n\n private handleMention() {\n if (!this.mentionOpen || !this.mentionTrigger) return;\n const sel = window.getSelection();\n if (!sel || !sel.anchorNode) return;\n\n let node: Node | null = sel.anchorNode;\n if (node.nodeType !== Node.TEXT_NODE) {\n const c =\n (node as HTMLElement).childNodes?.[sel.anchorOffset] || node.firstChild;\n if (c?.nodeType === Node.TEXT_NODE) node = c;\n }\n const text =\n node && node.nodeType === Node.TEXT_NODE ? node.textContent || '' : '';\n const idx = text.lastIndexOf(this.mentionTrigger);\n if (idx >= 0) {\n this.mentionQuery = text.substring(idx + 1);\n this.updateMentionFiltered();\n this.renderMentionList();\n } else {\n this.closeMention();\n }\n }\n\n private updateMentionFiltered() {\n const q = this.mentionQuery.toLowerCase();\n this.mentionFiltered = (this.mentionSuggestions || []).filter(item =>\n item.label.toLowerCase().startsWith(q)\n );\n }\n\n private renderMentionList() {\n if (!this.dropdownEl || !this.menuEl) return;\n if (!this.triggerBtn) return;\n\n this.triggerBtn.style.left = `${this.mentionX}px`;\n this.triggerBtn.style.top = `${this.mentionY}px`;\n\n this.menuEl.innerHTML = '';\n\n if (!this.mentionOpen || !this.mentionFiltered.length) {\n this.dropdownEl.removeAttribute('open');\n return;\n }\n\n this.mentionFiltered.forEach((item, idx) => {\n const mi = document.createElement('nile-menu-item');\n mi.textContent = item.label;\n\n mi.setAttribute('role', 'option');\n if (idx === this.mentionActiveIndex) {\n mi.classList.add('active');\n mi.setAttribute('aria-selected', 'true');\n } else {\n mi.classList.remove('active');\n mi.removeAttribute('aria-selected');\n }\n\n mi.addEventListener('mouseenter', () => {\n this.mentionActiveIndex = idx;\n this.renderMentionList();\n });\n\n mi.addEventListener('mousedown', e => {\n e.preventDefault();\n this.selectMention(item);\n });\n\n this.menuEl?.appendChild(mi);\n });\n\n this.dropdownEl.setAttribute('open', '');\n }\n\n private repositionMention = () => {\n if (!this.mentionOpen || !this.hostEl || !this.triggerBtn) return;\n\n const caretRect = this.getCaretClientRect();\n if (!caretRect) return;\n\n const hostRect = this.hostEl.getBoundingClientRect();\n\n this.mentionX = caretRect.left - hostRect.left;\n this.mentionY = caretRect.bottom - hostRect.top;\n\n this.triggerBtn.style.left = `${this.mentionX}px`;\n this.triggerBtn.style.top = `${this.mentionY}px`;\n };\n\n private selectMention(item: MentionItem) {\n this.restoreSelection();\n if (!this.lastRange || !this.mentionTrigger || !this.editorEl) return;\n\n const trigger = this.mentionTrigger;\n\n let node: Node = this.lastRange.startContainer;\n let offset = this.lastRange.startOffset;\n if (node.nodeType !== Node.TEXT_NODE) {\n const child = node.childNodes[offset];\n if (child?.nodeType === Node.TEXT_NODE) {\n node = child;\n offset = 0;\n } else return;\n }\n\n const textNode = node as Text;\n const text = textNode.textContent || '';\n const atIndex = text.lastIndexOf(this.mentionTrigger, offset);\n if (atIndex < 0) return;\n\n const endIndex = atIndex + 1 + this.mentionQuery.length;\n const mentionRange = document.createRange();\n mentionRange.setStart(textNode, atIndex);\n mentionRange.setEnd(textNode, endIndex);\n mentionRange.deleteContents();\n\n const span = document.createElement('span');\n span.classList.add('mention');\n\n const fmt = this.getTriggerFormat(this.mentionTrigger);\n\n if (this.displayFormat) {\n span.textContent = `${fmt.prefix ?? ''}${item.label}${fmt.suffix ?? ''}`;\n } else {\n span.textContent = `${this.mentionTrigger}${item.label}`;\n if (fmt.prefix) span.setAttribute('data-mention-prefix', fmt.prefix);\n if (fmt.suffix) span.setAttribute('data-mention-suffix', fmt.suffix);\n }\n\n span.setAttribute('data-mention-key', item.key);\n span.setAttribute('data-mention-label', item.label);\n span.setAttribute('data-mention-trigger', this.mentionTrigger!);\n\n const bg = this.getTriggerColor(this.mentionTrigger);\n if (bg) span.style.backgroundColor = bg;\n\n mentionRange.insertNode(span);\n\n const spaceNode = document.createTextNode('\\u00A0');\n span.after(spaceNode);\n\n const sel = window.getSelection();\n const afterRange = document.createRange();\n afterRange.setStartAfter(spaceNode);\n afterRange.collapse(true);\n sel?.removeAllRanges();\n sel?.addRange(afterRange);\n this.lastRange = afterRange.cloneRange();\n\n this.closeMention();\n\n this.dispatchEvent(\n new CustomEvent('nile-mention-selected', {\n detail: {\n trigger,\n key: item.key,\n label: item.label,\n prefix: fmt.prefix ?? '',\n suffix: fmt.suffix ?? '',\n },\n bubbles: true,\n composed: true,\n })\n );\n\n this.editorEl.dispatchEvent(new InputEvent('input', { bubbles: true }));\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-rte-mentions': NileRteMentions;\n }\n}\n"],"names":["NileRteMentions","_i","o","constructor","this","displayFormat","mentions","mentionFormat","itemsFormats","mentionColors","externalConfig","itemsConfig","mentionActiveIndex","itemsColors","editorEl","hostEl","dropdownEl","menuEl","lastRange","mentionOpen","mentionTrigger","mentionQuery","mentionSuggestions","mentionFiltered","mentionX","mentionY","triggerBtn","mo","onSelectionChange","sel","document","getSelection","rangeCount","range","getRangeAt","contains","commonAncestorContainer","cloneRange","saveSelection","window","onEditorInput","handleMention","onEditorKeyUp","e","key","cfg","config","openMention","onEditorKeyDown","preventDefault","length","renderMentionList","selectMention","closeMention","repositionMention","caretRect","getCaretClientRect","hostRect","getBoundingClientRect","left","bottom","top","style","concat","_this","_inherits","_createClass","value","createRenderRoot","getTriggerFormat","trigger","fromItems","fromAttr","prefix","_ref","suffix","_ref2","formatLabel","rawLabel","_this$getTriggerForma","get","_objectSpread","attach","injectStyles","ensureMentionDropdown","rebuildConfigFromChildren","MutationObserver","observe","childList","subtree","attributes","addEventListener","detach","disconnect","removeEventListener","setExternalConfig","disconnectedCallback","colors","formats","items","Array","from","querySelectorAll","_loop","_ref3","_n$mentionsCharacter","_n$mentionsData","_ref4","_n$mentionsColor","_ref5","_n$mentionsPrefix","_ref6","_n$mentionsSuffix","item","trig","mentionsCharacter","getAttribute","data","mentionsData","raw","parsed","JSON","parse","isArray","filter","i","label","_unused","color","mentionsColor","mentionsPrefix","mentionsSuffix","String","_i2","_e","querySelector","createElement","setAttribute","textContent","insertBefore","firstChild","getTriggerColor","_this$itemsColors$t","dd","zIndex","btn","position","width","height","border","padding","opacity","pointerEvents","appendChild","menu","classList","add","restoreSelection","removeAllRanges","addRange","focusAndRestore","focus","collapse","rects","getClientRects","marker","insertNode","rect","after","createRange","setStartAfter","remove","updateMentionFiltered","dispatchEvent","CustomEvent","detail","suggestions","bubbles","composed","_this$dropdownEl","removeAttribute","anchorNode","node","nodeType","Node","TEXT_NODE","_i$childNodes","c","childNodes","anchorOffset","text","idx","lastIndexOf","substring","q","toLowerCase","startsWith","innerHTML","forEach","mi","_this3$menuEl","_c$prefix","_c$suffix","_c$prefix2","_c$suffix2","startContainer","offset","startOffset","child","textNode","atIndex","endIndex","mentionRange","setStart","setEnd","deleteContents","span","fmt","bg","backgroundColor","spaceNode","createTextNode","afterRange","InputEvent","LitElement","__decorate","property","type","Boolean","attribute","reflect","prototype","converter","fromAttribute","out","_i5","_Object$keys","Object","keys","arr","map","_unused2","toAttribute","v","stringify","_unused3","state","_unused4","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"nile-rte-mentions.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rte-mentions.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport type { MentionItem } from './nile-rte-mentions-item';\n\ntype MentionsConfig = Record<string, MentionItem[]>;\n\n@customElement('nile-rte-mentions')\nexport class NileRteMentions extends LitElement {\n protected createRenderRoot() {\n return this;\n }\n\n @property({ type: Boolean, attribute: 'displayformat' , reflect: true})\n displayFormat = false;\n\n @property({\n attribute: 'mentions',\n converter: {\n fromAttribute: (value: string): MentionsConfig => {\n try {\n const parsed = JSON.parse(value);\n const out: MentionsConfig = {};\n for (const trig of Object.keys(parsed)) {\n const arr = parsed[trig];\n if (Array.isArray(arr)) {\n out[trig] = arr\n .filter(\n i =>\n i &&\n typeof i.key === 'string' &&\n typeof i.label === 'string'\n )\n .map(i => ({ key: i.key, label: i.label }));\n }\n }\n return out;\n } catch {\n return {};\n }\n },\n toAttribute: (v: MentionsConfig) => JSON.stringify(v),\n },\n })\n mentions: MentionsConfig = {};\n\n // nile-rte-mentions.ts (inside class)\n\n @property({\n attribute: 'mentionformat',\n converter: {\n fromAttribute: (\n v: string\n ): Record<string, { prefix?: string; suffix?: string }> => {\n try {\n const o = JSON.parse(v);\n return o && typeof o === 'object' ? o : {};\n } catch {\n return {};\n }\n },\n toAttribute: (v: Record<string, { prefix?: string; suffix?: string }>) =>\n JSON.stringify(v ?? {}),\n },\n })\n mentionFormat: Record<string, { prefix?: string; suffix?: string }> = {};\n\n @state() private itemsFormats: Record<\n string,\n { prefix?: string; suffix?: string }\n > = {};\n\n private getTriggerFormat(trigger: string): {\n prefix: string;\n suffix: string;\n } {\n const fromItems = this.itemsFormats[trigger] || {};\n const fromAttr = this.mentionFormat[trigger] || {};\n return {\n prefix: fromItems.prefix ?? fromAttr.prefix ?? '',\n suffix: fromItems.suffix ?? fromAttr.suffix ?? '',\n };\n }\n\n private formatLabel(trigger: string, rawLabel: string): string {\n const { prefix, suffix } = this.getTriggerFormat(trigger);\n return `${prefix ?? ''}${rawLabel}${suffix ?? ''}`;\n }\n\n @property({\n attribute: 'mentioncolors',\n converter: {\n fromAttribute: (value: string): Record<string, string> => {\n try {\n const o = JSON.parse(value);\n return o && typeof o === 'object' ? o : {};\n } catch {\n return {};\n }\n },\n toAttribute: (v: Record<string, string>) => JSON.stringify(v ?? {}),\n },\n })\n mentionColors: Record<string, string> = {};\n\n @state() private externalConfig: MentionsConfig = {};\n\n @state() private itemsConfig: MentionsConfig = {};\n\n @state() private mentionActiveIndex: number = -1;\n\n @state() private itemsColors: Record<string, string> = {};\n\n private get config(): MentionsConfig {\n return { ...this.externalConfig, ...this.mentions, ...this.itemsConfig };\n }\n\n // wired from editor\n private editorEl: HTMLElement | null = null;\n private hostEl: HTMLElement | null = null;\n\n private dropdownEl: HTMLElement | null = null;\n private menuEl: HTMLElement | null = null;\n\n private lastRange: Range | null = null;\n\n private mentionOpen = false;\n private mentionTrigger: string | null = null;\n private mentionQuery = '';\n private mentionSuggestions: MentionItem[] = [];\n private mentionFiltered: MentionItem[] = [];\n private mentionX = 0;\n private mentionY = 0;\n private triggerBtn: HTMLElement | null = null;\n\n private mo: MutationObserver | null = null;\n\n attach(editorEl: HTMLElement, hostEl: HTMLElement) {\n this.editorEl = editorEl;\n this.hostEl = hostEl;\n\n this.injectStyles();\n this.ensureMentionDropdown();\n this.rebuildConfigFromChildren();\n\n this.mo = new MutationObserver(() => this.rebuildConfigFromChildren());\n this.mo.observe(this, { childList: true, subtree: true, attributes: true });\n\n this.editorEl.addEventListener('input', this.onEditorInput);\n this.editorEl.addEventListener('mouseup', this.saveSelection);\n this.editorEl.addEventListener('keyup', this.onEditorKeyUp);\n this.editorEl.addEventListener('keydown', this.onEditorKeyDown);\n this.editorEl.addEventListener('scroll', this.repositionMention);\n\n document.addEventListener('selectionchange', this.onSelectionChange, true);\n }\n\n detach() {\n if (this.mo) {\n this.mo.disconnect();\n this.mo = null;\n }\n if (this.editorEl) {\n this.editorEl.removeEventListener('input', this.onEditorInput);\n this.editorEl.removeEventListener('mouseup', this.saveSelection);\n this.editorEl.removeEventListener('keyup', this.onEditorKeyUp);\n this.editorEl.removeEventListener('keydown', this.onEditorKeyDown);\n this.editorEl.removeEventListener('scroll', this.repositionMention);\n }\n document.removeEventListener(\n 'selectionchange',\n this.onSelectionChange,\n true\n );\n }\n\n setExternalConfig(cfg: MentionsConfig) {\n this.externalConfig = cfg || {};\n }\n\n disconnectedCallback(): void {\n this.detach();\n super.disconnectedCallback();\n }\n\n private rebuildConfigFromChildren() {\n const cfg: MentionsConfig = {};\n const colors: Record<string, string> = {};\n const formats: Record<string, { prefix?: string; suffix?: string }> = {};\n\n const items = Array.from(\n this.querySelectorAll('nile-rte-mentions-item')\n ) as Array<\n HTMLElement & {\n mentionsCharacter?: string;\n mentionsData?: MentionItem[];\n mentionsColor?: string;\n }\n >;\n\n for (const item of items) {\n const trig =\n (item as any).mentionsCharacter ??\n item.getAttribute('mentionscharacter') ??\n '';\n\n if (!trig || typeof trig !== 'string') continue;\n\n let data: MentionItem[] | null =\n (item as any).mentionsData ??\n (() => {\n const raw = item.getAttribute('mentionsdata');\n if (!raw) return null;\n try {\n const parsed = JSON.parse(raw);\n return Array.isArray(parsed)\n ? parsed.filter(\n i =>\n i &&\n typeof i.key === 'string' &&\n typeof i.label === 'string'\n )\n : [];\n } catch {\n return [];\n }\n })();\n\n const color =\n (item as any).mentionsColor ?? item.getAttribute('mentionscolor') ?? '';\n\n const prefix =\n (item as any).mentionsPrefix ??\n item.getAttribute('mentionsprefix') ??\n '';\n const suffix =\n (item as any).mentionsSuffix ??\n item.getAttribute('mentionssuffix') ??\n '';\n\n if (!Array.isArray(data)) data = [];\n cfg[trig] = data;\n if (color) colors[trig] = String(color);\n if (prefix || suffix) formats[trig] = { prefix, suffix };\n }\n\n this.itemsConfig = cfg;\n this.itemsColors = colors;\n this.itemsFormats = formats;\n }\n\n private injectStyles() {\n if (this.querySelector('style[data-mentions-style]')) return;\n const style = document.createElement('style');\n style.setAttribute('data-mentions-style', 'true');\n style.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 `;\n this.insertBefore(style, this.firstChild);\n }\n\n private getTriggerColor(trigger: string): string | undefined {\n return this.itemsColors[trigger] ?? this.mentionColors[trigger];\n }\n\n private ensureMentionDropdown() {\n if (this.dropdownEl || !this.hostEl) return;\n\n const dd = document.createElement('nile-dropdown');\n dd.style.zIndex = '1000';\n\n const btn = document.createElement('nile-button');\n btn.setAttribute('slot', 'trigger');\n btn.style.position = 'absolute';\n btn.style.width = '1px';\n btn.style.height = '1px';\n btn.style.border = '0';\n btn.style.padding = '0';\n btn.style.opacity = '0';\n btn.style.pointerEvents = 'none';\n dd.appendChild(btn);\n this.triggerBtn = btn;\n const menu = document.createElement('nile-menu');\n menu.classList.add('mentions-menu');\n dd.appendChild(menu);\n\n this.hostEl.appendChild(dd);\n this.dropdownEl = dd;\n this.menuEl = menu;\n }\n\n private onSelectionChange = () => {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (this.editorEl.contains(range.commonAncestorContainer)) {\n this.lastRange = range.cloneRange();\n }\n };\n private saveSelection = () => {\n const sel = window.getSelection();\n if (sel && sel.rangeCount) this.lastRange = sel.getRangeAt(0).cloneRange();\n };\n private restoreSelection() {\n if (!this.lastRange) return;\n const sel = document.getSelection();\n if (!sel) return;\n sel.removeAllRanges();\n sel.addRange(this.lastRange);\n }\n \n\n private getCaretClientRect(): DOMRect | null {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return null;\n\n const range = sel.getRangeAt(0).cloneRange();\n range.collapse(false);\n\n const rects = range.getClientRects();\n if (rects && rects.length > 0) return rects[0];\n\n const marker = document.createElement('span');\n marker.setAttribute('data-caret-marker', '1');\n marker.textContent = '\\u200B';\n range.insertNode(marker);\n\n const rect = marker.getBoundingClientRect();\n\n const after = document.createRange();\n after.setStartAfter(marker);\n after.collapse(true);\n sel.removeAllRanges();\n sel.addRange(after);\n marker.remove();\n\n return rect || null;\n }\n\n private onEditorInput = () => {\n \n if (this.mentionOpen) {\n this.handleMention();\n return;\n }\n const sel = window.getSelection();\n if (!sel || !sel.anchorNode) return;\n \n let node: Node | null = sel.anchorNode;\n if (node.nodeType !== Node.TEXT_NODE && node.firstChild?.nodeType === Node.TEXT_NODE) {\n node = node.firstChild;\n }\n \n if (!node || node.nodeType !== Node.TEXT_NODE) return;\n \n const text = node.textContent || '';\n const cfg = this.config;\n \n \n for (const trigger of Object.keys(cfg)) {\n const triggerIndex = text.lastIndexOf(trigger);\n if (triggerIndex !== -1) {\n const caretPos = sel.focusOffset;\n if (caretPos >= triggerIndex + trigger.length && caretPos <= triggerIndex + trigger.length + 1) {\n this.openMention(trigger);\n return;\n }\n }\n }\n };\n \n \n\n private onEditorKeyUp = (e: KeyboardEvent) => {\n this.saveSelection();\n const key = e.key;\n const cfg = this.config;\n if (key && cfg[key]) {\n if (this.mentionOpen && this.mentionTrigger !== key) {\n this.closeMention();\n }\n this.openMention(key);\n return;\n }\n if (this.mentionOpen) {\n this.handleMention();\n }\n };\n \n\n private onEditorKeyDown = (e: KeyboardEvent) => {\n if (!this.mentionOpen) return;\n const key = e.key;\n\n if (key === 'ArrowDown' || key === 'ArrowUp') {\n e.preventDefault();\n if (!this.mentionFiltered.length) return;\n\n if (key === 'ArrowDown') {\n this.mentionActiveIndex =\n (this.mentionActiveIndex + 1) % this.mentionFiltered.length;\n } else {\n this.mentionActiveIndex =\n (this.mentionActiveIndex - 1 + this.mentionFiltered.length) %\n this.mentionFiltered.length;\n }\n\n this.renderMentionList();\n } else if (key === 'Enter') {\n if (\n this.mentionActiveIndex >= 0 &&\n this.mentionFiltered[this.mentionActiveIndex]\n ) {\n e.preventDefault();\n this.selectMention(this.mentionFiltered[this.mentionActiveIndex]);\n }\n } else if (key === 'Escape') {\n e.preventDefault();\n this.closeMention();\n }\n };\n\n private openMention(trigger: string) {\n this.saveSelection();\n if (!this.editorEl || !this.dropdownEl || !this.hostEl) return;\n\n const caretRect = this.getCaretClientRect();\n if (!caretRect) return;\n\n const hostRect = this.hostEl.getBoundingClientRect();\n\n this.mentionX = caretRect.left - hostRect.left;\n this.mentionY = caretRect.bottom - hostRect.top;\n\n this.mentionTrigger = trigger;\n this.mentionSuggestions = this.config[trigger] || [];\n this.mentionQuery = '';\n this.updateMentionFiltered();\n\n this.mentionActiveIndex = this.mentionFiltered.length ? 0 : -1;\n this.mentionOpen = true;\n this.renderMentionList();\n\n this.dispatchEvent(\n new CustomEvent('nile-mention-opened', {\n detail: { trigger, suggestions: this.mentionSuggestions },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private closeMention() {\n this.mentionOpen = false;\n this.mentionTrigger = null;\n this.mentionQuery = '';\n this.mentionFiltered = [];\n // hide dropdown\n this.dropdownEl?.removeAttribute('open');\n }\n\n private handleMention() {\n if (!this.mentionOpen || !this.mentionTrigger) return;\n const sel = window.getSelection();\n if (!sel || !sel.anchorNode) return;\n\n let node: Node | null = sel.anchorNode;\n if (node.nodeType !== Node.TEXT_NODE) {\n const c =\n (node as HTMLElement).childNodes?.[sel.anchorOffset] || node.firstChild;\n if (c?.nodeType === Node.TEXT_NODE) node = c;\n }\n const text =\n node && node.nodeType === Node.TEXT_NODE ? node.textContent || '' : '';\n const idx = text.lastIndexOf(this.mentionTrigger);\n if (idx >= 0) {\n this.mentionQuery = text.substring(idx + 1);\n this.updateMentionFiltered();\n this.renderMentionList();\n } else {\n this.closeMention();\n }\n }\n\n private updateMentionFiltered() {\n const q = this.mentionQuery.toLowerCase();\n this.mentionFiltered = (this.mentionSuggestions || []).filter(item =>\n item.label.toLowerCase().startsWith(q)\n );\n }\n\n private renderMentionList() {\n if (!this.dropdownEl || !this.menuEl) return;\n if (!this.triggerBtn) return;\n\n this.triggerBtn.style.left = `${this.mentionX}px`;\n this.triggerBtn.style.top = `${this.mentionY}px`;\n\n this.menuEl.innerHTML = '';\n\n if (!this.mentionOpen || !this.mentionFiltered.length) {\n this.dropdownEl.removeAttribute('open');\n return;\n }\n\n this.mentionFiltered.forEach((item, idx) => {\n const mi = document.createElement('nile-menu-item');\n mi.textContent = item.label;\n\n mi.setAttribute('role', 'option');\n if (idx === this.mentionActiveIndex) {\n mi.classList.add('active');\n mi.setAttribute('aria-selected', 'true');\n } else {\n mi.classList.remove('active');\n mi.removeAttribute('aria-selected');\n }\n\n mi.addEventListener('mouseenter', () => {\n this.mentionActiveIndex = idx;\n this.renderMentionList();\n });\n\n mi.addEventListener('mousedown', e => {\n e.preventDefault();\n this.selectMention(item);\n });\n\n this.menuEl?.appendChild(mi);\n });\n\n this.dropdownEl.setAttribute('open', '');\n }\n\n private repositionMention = () => {\n if (!this.mentionOpen || !this.hostEl || !this.triggerBtn) return;\n\n const caretRect = this.getCaretClientRect();\n if (!caretRect) return;\n\n const hostRect = this.hostEl.getBoundingClientRect();\n\n this.mentionX = caretRect.left - hostRect.left;\n this.mentionY = caretRect.bottom - hostRect.top;\n\n this.triggerBtn.style.left = `${this.mentionX}px`;\n this.triggerBtn.style.top = `${this.mentionY}px`;\n };\n\n private selectMention(item: MentionItem) {\n this.restoreSelection();\n if (!this.lastRange || !this.mentionTrigger || !this.editorEl) return;\n\n const trigger = this.mentionTrigger;\n\n let node: Node = this.lastRange.startContainer;\n let offset = this.lastRange.startOffset;\n if (node.nodeType !== Node.TEXT_NODE) {\n const child = node.childNodes[offset];\n if (child?.nodeType === Node.TEXT_NODE) {\n node = child;\n offset = 0;\n } else return;\n }\n\n const textNode = node as Text;\n const text = textNode.textContent || '';\n const atIndex = text.lastIndexOf(this.mentionTrigger, offset);\n if (atIndex < 0) return;\n\n const endIndex = atIndex + 1 + this.mentionQuery.length;\n const mentionRange = document.createRange();\n mentionRange.setStart(textNode, atIndex);\n mentionRange.setEnd(textNode, endIndex);\n mentionRange.deleteContents();\n\n const span = document.createElement('span');\n span.classList.add('mention');\n\n const fmt = this.getTriggerFormat(this.mentionTrigger);\n\n if (this.displayFormat) {\n span.textContent = `${fmt.prefix ?? ''}${item.label}${fmt.suffix ?? ''}`;\n } else {\n span.textContent = `${this.mentionTrigger}${item.label}`;\n if (fmt.prefix) span.setAttribute('data-mention-prefix', fmt.prefix);\n if (fmt.suffix) span.setAttribute('data-mention-suffix', fmt.suffix);\n }\n\n span.setAttribute('data-mention-key', item.key);\n span.setAttribute('data-mention-label', item.label);\n span.setAttribute('data-mention-trigger', this.mentionTrigger!);\n\n const bg = this.getTriggerColor(this.mentionTrigger);\n if (bg) span.style.backgroundColor = bg;\n\n mentionRange.insertNode(span);\n\n const spaceNode = document.createTextNode('\\u00A0');\n span.after(spaceNode);\n\n const sel = window.getSelection();\n const afterRange = document.createRange();\n afterRange.setStartAfter(spaceNode);\n afterRange.collapse(true);\n sel?.removeAllRanges();\n sel?.addRange(afterRange);\n this.lastRange = afterRange.cloneRange();\n\n this.closeMention();\n\n this.dispatchEvent(\n new CustomEvent('nile-mention-selected', {\n detail: {\n trigger,\n key: item.key,\n label: item.label,\n prefix: fmt.prefix ?? '',\n suffix: fmt.suffix ?? '',\n },\n bubbles: true,\n composed: true,\n })\n );\n\n this.editorEl.dispatchEvent(new InputEvent('input', { bubbles: true }));\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-rte-mentions': NileRteMentions;\n }\n}\n"],"names":["NileRteMentions","_i","o","constructor","this","displayFormat","mentions","mentionFormat","itemsFormats","mentionColors","externalConfig","itemsConfig","mentionActiveIndex","itemsColors","editorEl","hostEl","dropdownEl","menuEl","lastRange","mentionOpen","mentionTrigger","mentionQuery","mentionSuggestions","mentionFiltered","mentionX","mentionY","triggerBtn","mo","onSelectionChange","sel","document","getSelection","rangeCount","range","getRangeAt","contains","commonAncestorContainer","cloneRange","saveSelection","window","onEditorInput","handleMention","anchorNode","node","nodeType","Node","TEXT_NODE","firstChild","text","textContent","cfg","config","_i2","_Object$keys","Object","keys","trigger","triggerIndex","lastIndexOf","caretPos","focusOffset","length","openMention","onEditorKeyUp","e","key","closeMention","onEditorKeyDown","preventDefault","renderMentionList","selectMention","repositionMention","caretRect","getCaretClientRect","hostRect","getBoundingClientRect","left","bottom","top","style","_this","_inherits","_createClass","value","createRenderRoot","getTriggerFormat","fromItems","fromAttr","prefix","_ref","suffix","formatLabel","rawLabel","_this$getTriggerForma","concat","get","_objectSpread","attach","injectStyles","ensureMentionDropdown","rebuildConfigFromChildren","MutationObserver","observe","childList","subtree","attributes","addEventListener","detach","disconnect","removeEventListener","setExternalConfig","disconnectedCallback","super","colors","formats","items","Array","from","querySelectorAll","_loop","_ref3","_e$mentionsCharacter","_e$mentionsData","_ref4","_e$mentionsColor","_ref5","_e$mentionsPrefix","_ref6","_e$mentionsSuffix","item","trig","mentionsCharacter","getAttribute","data","mentionsData","raw","parsed","JSON","parse","isArray","filter","i","label","_unused","color","mentionsColor","mentionsPrefix","mentionsSuffix","String","_i4","_n2","querySelector","createElement","setAttribute","insertBefore","getTriggerColor","_this$itemsColors$t","dd","zIndex","btn","position","width","height","border","padding","opacity","pointerEvents","appendChild","menu","classList","add","restoreSelection","removeAllRanges","addRange","collapse","rects","getClientRects","marker","insertNode","rect","after","createRange","setStartAfter","remove","updateMentionFiltered","dispatchEvent","CustomEvent","detail","suggestions","bubbles","composed","removeAttribute","_i$childNodes","c","childNodes","anchorOffset","idx","substring","q","toLowerCase","startsWith","innerHTML","forEach","_this3$menuEl","mi","startContainer","offset","startOffset","child","textNode","atIndex","endIndex","mentionRange","setStart","setEnd","deleteContents","span","fmt","_c$prefix","_c$suffix","bg","backgroundColor","spaceNode","createTextNode","afterRange","InputEvent","LitElement","__decorate","property","type","Boolean","attribute","reflect","prototype","converter","fromAttribute","out","_i7","_Object$keys2","arr","map","_unused2","toAttribute","v","stringify","_unused3","state","_unused4","customElement"],"mappings":"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"}
@@ -1 +1 @@
1
- import{__decorate as t}from"tslib";import{LitElement as i}from"lit";import{property as s,state as e,customElement as n}from"lit/decorators.js";let o=class extends i{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 t=document.getSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);this.editorEl.contains(i.commonAncestorContainer)&&(this.lastRange=i.cloneRange())},this.saveSelection=()=>{const t=window.getSelection();t&&t.rangeCount&&(this.lastRange=t.getRangeAt(0).cloneRange())},this.onEditorInput=()=>{this.mentionOpen&&this.handleMention()},this.onEditorKeyUp=t=>{this.saveSelection();const i=t.key,s=this.config;!this.mentionOpen&&i&&s[i]?this.openMention(i):this.mentionOpen&&this.handleMention()},this.onEditorKeyDown=t=>{if(!this.mentionOpen)return;const i=t.key;if("ArrowDown"===i||"ArrowUp"===i){if(t.preventDefault(),!this.mentionFiltered.length)return;this.mentionActiveIndex="ArrowDown"===i?(this.mentionActiveIndex+1)%this.mentionFiltered.length:(this.mentionActiveIndex-1+this.mentionFiltered.length)%this.mentionFiltered.length,this.renderMentionList()}else"Enter"===i?this.mentionActiveIndex>=0&&this.mentionFiltered[this.mentionActiveIndex]&&(t.preventDefault(),this.selectMention(this.mentionFiltered[this.mentionActiveIndex])):"Escape"===i&&(t.preventDefault(),this.closeMention())},this.repositionMention=()=>{if(!this.mentionOpen||!this.hostEl||!this.triggerBtn)return;const t=this.getCaretClientRect();if(!t)return;const i=this.hostEl.getBoundingClientRect();this.mentionX=t.left-i.left,this.mentionY=t.bottom-i.top,this.triggerBtn.style.left=`${this.mentionX}px`,this.triggerBtn.style.top=`${this.mentionY}px`}}createRenderRoot(){return this}getTriggerFormat(t){const i=this.itemsFormats[t]||{},s=this.mentionFormat[t]||{};return{prefix:i.prefix??s.prefix??"",suffix:i.suffix??s.suffix??""}}formatLabel(t,i){const{prefix:s,suffix:e}=this.getTriggerFormat(t);return`${s??""}${i}${e??""}`}get config(){return{...this.externalConfig,...this.mentions,...this.itemsConfig}}attach(t,i){this.editorEl=t,this.hostEl=i,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(t){this.externalConfig=t||{}}disconnectedCallback(){this.detach(),super.disconnectedCallback()}rebuildConfigFromChildren(){const t={},i={},s={},e=Array.from(this.querySelectorAll("nile-rte-mentions-item"));for(const n of e){const e=n.mentionsCharacter??n.getAttribute("mentionscharacter")??"";if(!e||"string"!=typeof e)continue;let o=n.mentionsData??(()=>{const t=n.getAttribute("mentionsdata");if(!t)return null;try{const i=JSON.parse(t);return Array.isArray(i)?i.filter((t=>t&&"string"==typeof t.key&&"string"==typeof t.label)):[]}catch{return[]}})();const h=n.mentionsColor??n.getAttribute("mentionscolor")??"",r=n.mentionsPrefix??n.getAttribute("mentionsprefix")??"",u=n.mentionsSuffix??n.getAttribute("mentionssuffix")??"";Array.isArray(o)||(o=[]),t[e]=o,h&&(i[e]=String(h)),(r||u)&&(s[e]={prefix:r,suffix:u})}this.itemsConfig=t,this.itemsColors=i,this.itemsFormats=s}injectStyles(){if(this.querySelector("style[data-mentions-style]"))return;const t=document.createElement("style");t.setAttribute("data-mentions-style","true"),t.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(t,this.firstChild)}getTriggerColor(t){return this.itemsColors[t]??this.mentionColors[t]}ensureMentionDropdown(){if(this.dropdownEl||!this.hostEl)return;const t=document.createElement("nile-dropdown");t.style.zIndex="1000";const i=document.createElement("nile-button");i.setAttribute("slot","trigger"),i.style.position="absolute",i.style.width="1px",i.style.height="1px",i.style.border="0",i.style.padding="0",i.style.opacity="0",i.style.pointerEvents="none",t.appendChild(i),this.triggerBtn=i;const s=document.createElement("nile-menu");s.classList.add("mentions-menu"),t.appendChild(s),this.hostEl.appendChild(t),this.dropdownEl=t,this.menuEl=s}restoreSelection(){if(!this.lastRange)return;const t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange))}focusAndRestore(){this.editorEl?.focus(),this.restoreSelection()}getCaretClientRect(){const t=document.getSelection();if(!t||0===t.rangeCount)return null;const i=t.getRangeAt(0).cloneRange();i.collapse(!1);const s=i.getClientRects();if(s&&s.length>0)return s[0];const e=document.createElement("span");e.setAttribute("data-caret-marker","1"),e.textContent="​",i.insertNode(e);const n=e.getBoundingClientRect(),o=document.createRange();return o.setStartAfter(e),o.collapse(!0),t.removeAllRanges(),t.addRange(o),e.remove(),n||null}openMention(t){if(this.saveSelection(),!this.editorEl||!this.dropdownEl||!this.hostEl)return;const i=this.getCaretClientRect();if(!i)return;const s=this.hostEl.getBoundingClientRect();this.mentionX=i.left-s.left,this.mentionY=i.bottom-s.top,this.mentionTrigger=t,this.mentionSuggestions=this.config[t]||[],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:t,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 t=window.getSelection();if(!t||!t.anchorNode)return;let i=t.anchorNode;if(i.nodeType!==Node.TEXT_NODE){const s=i.childNodes?.[t.anchorOffset]||i.firstChild;s?.nodeType===Node.TEXT_NODE&&(i=s)}const s=i&&i.nodeType===Node.TEXT_NODE&&i.textContent||"",e=s.lastIndexOf(this.mentionTrigger);e>=0?(this.mentionQuery=s.substring(e+1),this.updateMentionFiltered(),this.renderMentionList()):this.closeMention()}updateMentionFiltered(){const t=this.mentionQuery.toLowerCase();this.mentionFiltered=(this.mentionSuggestions||[]).filter((i=>i.label.toLowerCase().startsWith(t)))}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(((t,i)=>{const s=document.createElement("nile-menu-item");s.textContent=t.label,s.setAttribute("role","option"),i===this.mentionActiveIndex?(s.classList.add("active"),s.setAttribute("aria-selected","true")):(s.classList.remove("active"),s.removeAttribute("aria-selected")),s.addEventListener("mouseenter",(()=>{this.mentionActiveIndex=i,this.renderMentionList()})),s.addEventListener("mousedown",(i=>{i.preventDefault(),this.selectMention(t)})),this.menuEl?.appendChild(s)})),this.dropdownEl.setAttribute("open","")):this.dropdownEl.removeAttribute("open"))}selectMention(t){if(this.restoreSelection(),!this.lastRange||!this.mentionTrigger||!this.editorEl)return;const i=this.mentionTrigger;let s=this.lastRange.startContainer,e=this.lastRange.startOffset;if(s.nodeType!==Node.TEXT_NODE){const t=s.childNodes[e];if(t?.nodeType!==Node.TEXT_NODE)return;s=t,e=0}const n=s,o=(n.textContent||"").lastIndexOf(this.mentionTrigger,e);if(o<0)return;const h=o+1+this.mentionQuery.length,r=document.createRange();r.setStart(n,o),r.setEnd(n,h),r.deleteContents();const u=document.createElement("span");u.classList.add("mention");const c=this.getTriggerFormat(this.mentionTrigger);this.displayFormat?u.textContent=`${c.prefix??""}${t.label}${c.suffix??""}`:(u.textContent=`${this.mentionTrigger}${t.label}`,c.prefix&&u.setAttribute("data-mention-prefix",c.prefix),c.suffix&&u.setAttribute("data-mention-suffix",c.suffix)),u.setAttribute("data-mention-key",t.key),u.setAttribute("data-mention-label",t.label),u.setAttribute("data-mention-trigger",this.mentionTrigger);const l=this.getTriggerColor(this.mentionTrigger);l&&(u.style.backgroundColor=l),r.insertNode(u);const d=document.createTextNode(" ");u.after(d);const a=window.getSelection(),m=document.createRange();m.setStartAfter(d),m.collapse(!0),a?.removeAllRanges(),a?.addRange(m),this.lastRange=m.cloneRange(),this.closeMention(),this.dispatchEvent(new CustomEvent("nile-mention-selected",{detail:{trigger:i,key:t.key,label:t.label,prefix:c.prefix??"",suffix:c.suffix??""},bubbles:!0,composed:!0})),this.editorEl.dispatchEvent(new InputEvent("input",{bubbles:!0}))}};t([s({type:Boolean,attribute:"displayformat",reflect:!0})],o.prototype,"displayFormat",void 0),t([s({attribute:"mentions",converter:{fromAttribute:t=>{try{const i=JSON.parse(t),s={};for(const t of Object.keys(i)){const e=i[t];Array.isArray(e)&&(s[t]=e.filter((t=>t&&"string"==typeof t.key&&"string"==typeof t.label)).map((t=>({key:t.key,label:t.label}))))}return s}catch{return{}}},toAttribute:t=>JSON.stringify(t)}})],o.prototype,"mentions",void 0),t([s({attribute:"mentionformat",converter:{fromAttribute:t=>{try{const i=JSON.parse(t);return i&&"object"==typeof i?i:{}}catch{return{}}},toAttribute:t=>JSON.stringify(t??{})}})],o.prototype,"mentionFormat",void 0),t([e()],o.prototype,"itemsFormats",void 0),t([s({attribute:"mentioncolors",converter:{fromAttribute:t=>{try{const i=JSON.parse(t);return i&&"object"==typeof i?i:{}}catch{return{}}},toAttribute:t=>JSON.stringify(t??{})}})],o.prototype,"mentionColors",void 0),t([e()],o.prototype,"externalConfig",void 0),t([e()],o.prototype,"itemsConfig",void 0),t([e()],o.prototype,"mentionActiveIndex",void 0),t([e()],o.prototype,"itemsColors",void 0),o=t([n("nile-rte-mentions")],o);
1
+ import{__decorate as t}from"tslib";import{LitElement as i}from"lit";import{property as s,state as n,customElement as e}from"lit/decorators.js";let o=class extends i{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 t=document.getSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);this.editorEl.contains(i.commonAncestorContainer)&&(this.lastRange=i.cloneRange())},this.saveSelection=()=>{const t=window.getSelection();t&&t.rangeCount&&(this.lastRange=t.getRangeAt(0).cloneRange())},this.onEditorInput=()=>{if(this.mentionOpen)return void this.handleMention();const t=window.getSelection();if(!t||!t.anchorNode)return;let i=t.anchorNode;if(i.nodeType!==Node.TEXT_NODE&&i.firstChild?.nodeType===Node.TEXT_NODE&&(i=i.firstChild),!i||i.nodeType!==Node.TEXT_NODE)return;const s=i.textContent||"",n=this.config;for(const i of Object.keys(n)){const n=s.lastIndexOf(i);if(-1!==n){const s=t.focusOffset;if(s>=n+i.length&&s<=n+i.length+1)return void this.openMention(i)}}},this.onEditorKeyUp=t=>{this.saveSelection();const i=t.key,s=this.config;if(i&&s[i])return this.mentionOpen&&this.mentionTrigger!==i&&this.closeMention(),void this.openMention(i);this.mentionOpen&&this.handleMention()},this.onEditorKeyDown=t=>{if(!this.mentionOpen)return;const i=t.key;if("ArrowDown"===i||"ArrowUp"===i){if(t.preventDefault(),!this.mentionFiltered.length)return;this.mentionActiveIndex="ArrowDown"===i?(this.mentionActiveIndex+1)%this.mentionFiltered.length:(this.mentionActiveIndex-1+this.mentionFiltered.length)%this.mentionFiltered.length,this.renderMentionList()}else"Enter"===i?this.mentionActiveIndex>=0&&this.mentionFiltered[this.mentionActiveIndex]&&(t.preventDefault(),this.selectMention(this.mentionFiltered[this.mentionActiveIndex])):"Escape"===i&&(t.preventDefault(),this.closeMention())},this.repositionMention=()=>{if(!this.mentionOpen||!this.hostEl||!this.triggerBtn)return;const t=this.getCaretClientRect();if(!t)return;const i=this.hostEl.getBoundingClientRect();this.mentionX=t.left-i.left,this.mentionY=t.bottom-i.top,this.triggerBtn.style.left=`${this.mentionX}px`,this.triggerBtn.style.top=`${this.mentionY}px`}}createRenderRoot(){return this}getTriggerFormat(t){const i=this.itemsFormats[t]||{},s=this.mentionFormat[t]||{};return{prefix:i.prefix??s.prefix??"",suffix:i.suffix??s.suffix??""}}formatLabel(t,i){const{prefix:s,suffix:n}=this.getTriggerFormat(t);return`${s??""}${i}${n??""}`}get config(){return{...this.externalConfig,...this.mentions,...this.itemsConfig}}attach(t,i){this.editorEl=t,this.hostEl=i,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(t){this.externalConfig=t||{}}disconnectedCallback(){this.detach(),super.disconnectedCallback()}rebuildConfigFromChildren(){const t={},i={},s={},n=Array.from(this.querySelectorAll("nile-rte-mentions-item"));for(const e of n){const n=e.mentionsCharacter??e.getAttribute("mentionscharacter")??"";if(!n||"string"!=typeof n)continue;let o=e.mentionsData??(()=>{const t=e.getAttribute("mentionsdata");if(!t)return null;try{const i=JSON.parse(t);return Array.isArray(i)?i.filter((t=>t&&"string"==typeof t.key&&"string"==typeof t.label)):[]}catch{return[]}})();const r=e.mentionsColor??e.getAttribute("mentionscolor")??"",h=e.mentionsPrefix??e.getAttribute("mentionsprefix")??"",u=e.mentionsSuffix??e.getAttribute("mentionssuffix")??"";Array.isArray(o)||(o=[]),t[n]=o,r&&(i[n]=String(r)),(h||u)&&(s[n]={prefix:h,suffix:u})}this.itemsConfig=t,this.itemsColors=i,this.itemsFormats=s}injectStyles(){if(this.querySelector("style[data-mentions-style]"))return;const t=document.createElement("style");t.setAttribute("data-mentions-style","true"),t.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(t,this.firstChild)}getTriggerColor(t){return this.itemsColors[t]??this.mentionColors[t]}ensureMentionDropdown(){if(this.dropdownEl||!this.hostEl)return;const t=document.createElement("nile-dropdown");t.style.zIndex="1000";const i=document.createElement("nile-button");i.setAttribute("slot","trigger"),i.style.position="absolute",i.style.width="1px",i.style.height="1px",i.style.border="0",i.style.padding="0",i.style.opacity="0",i.style.pointerEvents="none",t.appendChild(i),this.triggerBtn=i;const s=document.createElement("nile-menu");s.classList.add("mentions-menu"),t.appendChild(s),this.hostEl.appendChild(t),this.dropdownEl=t,this.menuEl=s}restoreSelection(){if(!this.lastRange)return;const t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange))}getCaretClientRect(){const t=document.getSelection();if(!t||0===t.rangeCount)return null;const i=t.getRangeAt(0).cloneRange();i.collapse(!1);const s=i.getClientRects();if(s&&s.length>0)return s[0];const n=document.createElement("span");n.setAttribute("data-caret-marker","1"),n.textContent="​",i.insertNode(n);const e=n.getBoundingClientRect(),o=document.createRange();return o.setStartAfter(n),o.collapse(!0),t.removeAllRanges(),t.addRange(o),n.remove(),e||null}openMention(t){if(this.saveSelection(),!this.editorEl||!this.dropdownEl||!this.hostEl)return;const i=this.getCaretClientRect();if(!i)return;const s=this.hostEl.getBoundingClientRect();this.mentionX=i.left-s.left,this.mentionY=i.bottom-s.top,this.mentionTrigger=t,this.mentionSuggestions=this.config[t]||[],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:t,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 t=window.getSelection();if(!t||!t.anchorNode)return;let i=t.anchorNode;if(i.nodeType!==Node.TEXT_NODE){const s=i.childNodes?.[t.anchorOffset]||i.firstChild;s?.nodeType===Node.TEXT_NODE&&(i=s)}const s=i&&i.nodeType===Node.TEXT_NODE&&i.textContent||"",n=s.lastIndexOf(this.mentionTrigger);n>=0?(this.mentionQuery=s.substring(n+1),this.updateMentionFiltered(),this.renderMentionList()):this.closeMention()}updateMentionFiltered(){const t=this.mentionQuery.toLowerCase();this.mentionFiltered=(this.mentionSuggestions||[]).filter((i=>i.label.toLowerCase().startsWith(t)))}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(((t,i)=>{const s=document.createElement("nile-menu-item");s.textContent=t.label,s.setAttribute("role","option"),i===this.mentionActiveIndex?(s.classList.add("active"),s.setAttribute("aria-selected","true")):(s.classList.remove("active"),s.removeAttribute("aria-selected")),s.addEventListener("mouseenter",(()=>{this.mentionActiveIndex=i,this.renderMentionList()})),s.addEventListener("mousedown",(i=>{i.preventDefault(),this.selectMention(t)})),this.menuEl?.appendChild(s)})),this.dropdownEl.setAttribute("open","")):this.dropdownEl.removeAttribute("open"))}selectMention(t){if(this.restoreSelection(),!this.lastRange||!this.mentionTrigger||!this.editorEl)return;const i=this.mentionTrigger;let s=this.lastRange.startContainer,n=this.lastRange.startOffset;if(s.nodeType!==Node.TEXT_NODE){const t=s.childNodes[n];if(t?.nodeType!==Node.TEXT_NODE)return;s=t,n=0}const e=s,o=(e.textContent||"").lastIndexOf(this.mentionTrigger,n);if(o<0)return;const r=o+1+this.mentionQuery.length,h=document.createRange();h.setStart(e,o),h.setEnd(e,r),h.deleteContents();const u=document.createElement("span");u.classList.add("mention");const c=this.getTriggerFormat(this.mentionTrigger);this.displayFormat?u.textContent=`${c.prefix??""}${t.label}${c.suffix??""}`:(u.textContent=`${this.mentionTrigger}${t.label}`,c.prefix&&u.setAttribute("data-mention-prefix",c.prefix),c.suffix&&u.setAttribute("data-mention-suffix",c.suffix)),u.setAttribute("data-mention-key",t.key),u.setAttribute("data-mention-label",t.label),u.setAttribute("data-mention-trigger",this.mentionTrigger);const l=this.getTriggerColor(this.mentionTrigger);l&&(u.style.backgroundColor=l),h.insertNode(u);const d=document.createTextNode(" ");u.after(d);const a=window.getSelection(),m=document.createRange();m.setStartAfter(d),m.collapse(!0),a?.removeAllRanges(),a?.addRange(m),this.lastRange=m.cloneRange(),this.closeMention(),this.dispatchEvent(new CustomEvent("nile-mention-selected",{detail:{trigger:i,key:t.key,label:t.label,prefix:c.prefix??"",suffix:c.suffix??""},bubbles:!0,composed:!0})),this.editorEl.dispatchEvent(new InputEvent("input",{bubbles:!0}))}};t([s({type:Boolean,attribute:"displayformat",reflect:!0})],o.prototype,"displayFormat",void 0),t([s({attribute:"mentions",converter:{fromAttribute:t=>{try{const i=JSON.parse(t),s={};for(const t of Object.keys(i)){const n=i[t];Array.isArray(n)&&(s[t]=n.filter((t=>t&&"string"==typeof t.key&&"string"==typeof t.label)).map((t=>({key:t.key,label:t.label}))))}return s}catch{return{}}},toAttribute:t=>JSON.stringify(t)}})],o.prototype,"mentions",void 0),t([s({attribute:"mentionformat",converter:{fromAttribute:t=>{try{const i=JSON.parse(t);return i&&"object"==typeof i?i:{}}catch{return{}}},toAttribute:t=>JSON.stringify(t??{})}})],o.prototype,"mentionFormat",void 0),t([n()],o.prototype,"itemsFormats",void 0),t([s({attribute:"mentioncolors",converter:{fromAttribute:t=>{try{const i=JSON.parse(t);return i&&"object"==typeof i?i:{}}catch{return{}}},toAttribute:t=>JSON.stringify(t??{})}})],o.prototype,"mentionColors",void 0),t([n()],o.prototype,"externalConfig",void 0),t([n()],o.prototype,"itemsConfig",void 0),t([n()],o.prototype,"mentionActiveIndex",void 0),t([n()],o.prototype,"itemsColors",void 0),o=t([e("nile-rte-mentions")],o);
@@ -0,0 +1,2 @@
1
+ System.register([],function(_export,_context){"use strict";function t(t,n){for(;t&&t!==n;){var _t;if(t instanceof HTMLElement){var _n=getComputedStyle(t).display;if(t.tagName.match(/^(P|DIV|H1|H2|H3|H4|H5|H6|LI)$/)||"block"===_n||"list-item"===_n)return t;}t=((_t=t)===null||_t===void 0?void 0:_t.parentNode)||null;}return n;}function n(n,e){var o=document.getSelection();if(!o||0===o.rangeCount)return;var r=t(o.getRangeAt(0).startContainer,n);if(!r)return;if(r.tagName.toLowerCase()===e)return;var c=document.createElement(e);for(;r.firstChild;)c.appendChild(r.firstChild);r.replaceWith(c);var i=document.createRange();i.selectNodeContents(c),i.collapse(!0),o.removeAllRanges(),o.addRange(i);}function e(n,e){var o=window.getSelection();if(!o||0===o.rangeCount)return;var r=o.getRangeAt(0),c=r.commonAncestorContainer,i=[],u=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,{acceptNode:function acceptNode(t){var n=t;return r.intersectsNode(n)&&/^(P|DIV|LI|H[1-6])$/.test(n.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP;}});var f=u.nextNode();for(;f;)i.push(f),f=u.nextNode();if(0===i.length){var _e=t(o.focusNode,n);_e&&i.push(_e);}i.forEach(function(t){t.style.textAlign=e;});}function o(t){for(;t&&!(t instanceof HTMLElement);)t=t.parentNode;return t;}_export({a:n,c:t,n:o,s:e});return{setters:[],execute:function execute(){}};});
2
+ //# sourceMappingURL=block-utils.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-utils.cjs.js","sources":["../../../../src/nile-rich-text-editor/utils/block-utils.ts"],"sourcesContent":["export function closestBlock(\n node: Node | null,\n root: HTMLElement\n): HTMLElement | null {\n while (node && node !== root) {\n if (node instanceof HTMLElement) {\n const display = getComputedStyle(node).display;\n if (\n node.tagName.match(/^(P|DIV|H1|H2|H3|H4|H5|H6|LI)$/) ||\n display === 'block' ||\n display === 'list-item'\n ) {\n return node;\n }\n }\n node = node?.parentNode || null;\n }\n return root;\n}\n\nexport function setBlockTag(root: HTMLElement, tag: 'p' | 'h1' | 'h2' | 'h3') {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n const block = closestBlock(range.startContainer, root);\n if (!block) return;\n if (block.tagName.toLowerCase() === tag) return;\n const nb = document.createElement(tag);\n while (block.firstChild) nb.appendChild(block.firstChild);\n block.replaceWith(nb);\n const r = document.createRange();\n r.selectNodeContents(nb);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n}\nexport function setAlignment(root: HTMLElement, alignment: string) {\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0) return;\n\n const range = selection.getRangeAt(0);\n const commonAncestor = range.commonAncestorContainer;\n const blocks: HTMLElement[] = [];\n const walker = document.createTreeWalker(\n commonAncestor,\n NodeFilter.SHOW_ELEMENT,\n {\n acceptNode: node => {\n const el = node as HTMLElement;\n if (\n range.intersectsNode(el) &&\n /^(P|DIV|LI|H[1-6])$/.test(el.tagName)\n ) {\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_SKIP;\n },\n }\n );\n\n let node = walker.nextNode();\n while (node) {\n blocks.push(node as HTMLElement);\n node = walker.nextNode();\n }\n\n if (blocks.length === 0) {\n const block = closestBlock(selection.focusNode, root);\n if (block) blocks.push(block);\n }\n blocks.forEach(block => {\n block.style.textAlign = alignment;\n });\n}\n\nexport function nearestElement(n: Node | null): HTMLElement | null {\n while (n && !(n instanceof HTMLElement)) n = n.parentNode as Node | null;\n return n as HTMLElement | null;\n}\n"],"names":["closestBlock","node","root","_t","HTMLElement","display","getComputedStyle","tagName","match","parentNode","setBlockTag","tag","sel","document","getSelection","rangeCount","block","getRangeAt","startContainer","toLowerCase","nb","createElement","firstChild","appendChild","replaceWith","r","createRange","selectNodeContents","collapse","removeAllRanges","addRange","setAlignment","alignment","selection","window","range","commonAncestor","commonAncestorContainer","blocks","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","el","intersectsNode","test","FILTER_ACCEPT","FILTER_SKIP","nextNode","push","length","focusNode","forEach","style","textAlign","nearestElement","n","_export","a"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ function t(t,n){for(;t&&t!==n;){if(t instanceof HTMLElement){const n=getComputedStyle(t).display;if(t.tagName.match(/^(P|DIV|H1|H2|H3|H4|H5|H6|LI)$/)||"block"===n||"list-item"===n)return t}t=t?.parentNode||null}return n}function n(n,e){const o=document.getSelection();if(!o||0===o.rangeCount)return;const r=t(o.getRangeAt(0).startContainer,n);if(!r)return;if(r.tagName.toLowerCase()===e)return;const c=document.createElement(e);for(;r.firstChild;)c.appendChild(r.firstChild);r.replaceWith(c);const i=document.createRange();i.selectNodeContents(c),i.collapse(!0),o.removeAllRanges(),o.addRange(i)}function e(n,e){const o=window.getSelection();if(!o||0===o.rangeCount)return;const r=o.getRangeAt(0),c=r.commonAncestorContainer,i=[],u=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,{acceptNode:t=>{const n=t;return r.intersectsNode(n)&&/^(P|DIV|LI|H[1-6])$/.test(n.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});let f=u.nextNode();for(;f;)i.push(f),f=u.nextNode();if(0===i.length){const e=t(o.focusNode,n);e&&i.push(e)}i.forEach((t=>{t.style.textAlign=e}))}function o(t){for(;t&&!(t instanceof HTMLElement);)t=t.parentNode;return t}export{n as a,t as c,o as n,e as s};
@@ -0,0 +1,2 @@
1
+ System.register([],function(_export,_context){"use strict";function n(n,t){e(n,"color",t,"data-rte-color");}function t(n,t){e(n,"backgroundColor",t,"data-rte-bg");}function o(n,t,o){for(;t&&t!==n;){if(t instanceof HTMLSpanElement&&t.hasAttribute(o))return t;t=t.parentNode;}return null;}function e(n,t,e,u){var i=window.getSelection();if(!i||0===i.rangeCount)return;var s=i.getRangeAt(0);if(!n.contains(s.commonAncestorContainer))return;var f=s.cloneRange();if(f.collapsed){var _c=o(n,f.startContainer,u);if(_c)return _c.style[t]=e,void r(n,u,t);var _s=document.createElement("span");_s.setAttribute(u,"1"),_s.style[t]=e,_s.appendChild(document.createTextNode("​")),f.insertNode(_s);var _a=document.createRange();return _a.setStart(_s.firstChild,1),_a.collapse(!0),i.removeAllRanges(),i.addRange(_a),void r(n,u,t);}var a=o(n,f.startContainer,u),d=o(n,f.endContainer,u);if(a&&a===d){if(function(n,t){var o=document.createRange();return o.selectNodeContents(t),n.compareBoundaryPoints(Range.START_TO_START,o)<=0&&n.compareBoundaryPoints(Range.END_TO_END,o)>=0;}(f,a))a.style[t]=e;else{var _n=function(n,t,o,e,r){var u=n.style[e],i=document.createRange();i.setStart(n,0),i.setEnd(t.startContainer,t.startOffset);var s=document.createRange();s.setStart(t.endContainer,t.endOffset),s.setEnd(n,n.childNodes.length);var f=document.createDocumentFragment(),a=function a(n){var t=document.createElement("span");return t.setAttribute(o,"1"),t.style[e]=n,t;};if(c(i)){var _n2=a(u);_n2.appendChild(i.cloneContents()),f.appendChild(_n2);}var d=a(r);if(d.appendChild(t.cloneContents()),f.appendChild(d),c(s)){var _n3=a(u);_n3.appendChild(s.cloneContents()),f.appendChild(_n3);}return n.replaceWith(f),d;}(a,f,u,t,e),_o=window.getSelection(),_r=document.createRange();_r.selectNodeContents(_n),_o!==null&&_o!==void 0&&_o.removeAllRanges(),_o===null||_o===void 0?void 0:_o.addRange(_r);}return void r(n,u,t);}var l=function(){var n=f.commonAncestorContainer;for(;n&&!(n instanceof HTMLElement);)n=n.parentNode;return n;}(),m=document.createTreeWalker(l||n,NodeFilter.SHOW_TEXT,{acceptNode:function acceptNode(n){if(!n.nodeValue||!n.nodeValue.trim())return NodeFilter.FILTER_REJECT;var t=document.createRange();t.selectNodeContents(n);return f.compareBoundaryPoints(Range.END_TO_START,t)<0&&f.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;}}),p=[];var g;for(;g=m.nextNode();)p.push(g);p.forEach(function(r){var c=0,i=r.length;r===f.startContainer&&(c=f.startOffset),r===f.endContainer&&(i=f.endOffset),c>0&&(r=r.splitText(c)),i<r.length&&r.splitText(i);var s=o(n,r,u);if(s)return void(s.style[t]=e);var a=document.createElement("span");a.setAttribute(u,"1"),a.style[t]=e;r.parentElement.replaceChild(a,r),a.appendChild(r);}),r(n,u,t),i.removeAllRanges(),i.addRange(f);}function r(n,t,o){var e=Array.from(n.querySelectorAll("span[".concat(t,"]"))),r=function r(n){return n.style[o];};e.forEach(function(n){Array.from(n.querySelectorAll("span[".concat(t,"]"))).forEach(function(t){if(r(t)===r(n)){for(;t.firstChild;)n.insertBefore(t.firstChild,t);t.remove();}});var o=n.previousSibling;if(o instanceof HTMLSpanElement&&o.hasAttribute(t)&&r(o)===r(n)){for(;n.firstChild;)o.appendChild(n.firstChild);return void n.remove();}var e=n.nextSibling;if(e instanceof HTMLSpanElement&&e.hasAttribute(t)&&r(e)===r(n)){for(;e.firstChild;)n.appendChild(e.firstChild);e.remove();}});}function c(n){if(n.collapsed)return!1;return(n.cloneContents().textContent||"").length>0;}_export({a:n,s:t});return{setters:[],execute:function execute(){}};});
2
+ //# sourceMappingURL=color-utils.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-utils.cjs.js","sources":["../../../../src/nile-rich-text-editor/utils/color-utils.ts"],"sourcesContent":["export function setForeColor(editor: HTMLElement, hex: string) {\n applyInlineStyle(editor, 'color', hex, 'data-rte-color');\n}\nexport function setBackColor(editor: HTMLElement, hex: string) {\n applyInlineStyle(editor, 'backgroundColor', hex, 'data-rte-bg');\n}\n\nfunction enclosingStyledSpan(\n editor: HTMLElement,\n node: Node | null,\n dataAttr: 'data-rte-color' | 'data-rte-bg'\n): HTMLSpanElement | null {\n while (node && node !== editor) {\n if (node instanceof HTMLSpanElement && node.hasAttribute(dataAttr)) {\n return node;\n }\n node = node.parentNode;\n }\n return null;\n}\n\nfunction applyInlineStyle(\n editor: HTMLElement,\n cssProp: 'color' | 'backgroundColor',\n value: string,\n dataAttr: 'data-rte-color' | 'data-rte-bg'\n) {\n const sel = window.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const r0 = sel.getRangeAt(0);\n if (!editor.contains(r0.commonAncestorContainer)) return;\n\n const range = r0.cloneRange();\n\n if (range.collapsed) {\n const enclosing = enclosingStyledSpan(\n editor,\n range.startContainer,\n dataAttr\n );\n if (enclosing) {\n (enclosing.style as any)[cssProp] = value;\n mergeAdjacentStyledSpans(editor, dataAttr, cssProp);\n return;\n }\n\n const s = document.createElement('span');\n s.setAttribute(dataAttr, '1');\n (s.style as any)[cssProp] = value;\n s.appendChild(document.createTextNode('\\u200B'));\n range.insertNode(s);\n\n const caret = document.createRange();\n caret.setStart(s.firstChild!, 1);\n caret.collapse(true);\n sel.removeAllRanges();\n sel.addRange(caret);\n\n mergeAdjacentStyledSpans(editor, dataAttr, cssProp);\n return;\n }\n\n const leftEdge = enclosingStyledSpan(editor, range.startContainer, dataAttr);\n const rightEdge = enclosingStyledSpan(editor, range.endContainer, dataAttr);\n if (leftEdge && leftEdge === rightEdge) {\n if (rangeCoversWholeNode(range, leftEdge)) {\n (leftEdge.style as any)[cssProp] = value;\n } else {\n const mid = splitAndRecolorWithinSpan(\n leftEdge,\n range,\n dataAttr,\n cssProp,\n value\n );\n\n const sel = window.getSelection();\n const r = document.createRange();\n r.selectNodeContents(mid);\n sel?.removeAllRanges();\n sel?.addRange(r);\n }\n mergeAdjacentStyledSpans(editor, dataAttr, cssProp);\n return;\n }\n\n const commonEl = (() => {\n let n: Node | null = range.commonAncestorContainer;\n while (n && !(n instanceof HTMLElement)) n = n.parentNode;\n return n as HTMLElement | null;\n })();\n\n const walker = document.createTreeWalker(\n commonEl || editor,\n NodeFilter.SHOW_TEXT,\n {\n acceptNode: n => {\n if (!n.nodeValue || !n.nodeValue.trim())\n return NodeFilter.FILTER_REJECT;\n const nodeRange = document.createRange();\n nodeRange.selectNodeContents(n);\n const intersects =\n range.compareBoundaryPoints(Range.END_TO_START, nodeRange) < 0 &&\n range.compareBoundaryPoints(Range.START_TO_END, nodeRange) > 0;\n return intersects ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n },\n }\n );\n\n const toProcess: Text[] = [];\n let t: Node | null;\n while ((t = walker.nextNode())) toProcess.push(t as Text);\n\n toProcess.forEach(text => {\n let start = 0,\n end = text.length;\n if (text === range.startContainer) start = range.startOffset;\n if (text === range.endContainer) end = range.endOffset;\n if (start > 0) text = text.splitText(start);\n if (end < text.length) text.splitText(end);\n\n const existing = enclosingStyledSpan(editor, text, dataAttr);\n if (existing) {\n (existing.style as any)[cssProp] = value;\n return;\n }\n\n const span = document.createElement('span');\n span.setAttribute(dataAttr, '1');\n (span.style as any)[cssProp] = value;\n const parent = text.parentElement!;\n parent.replaceChild(span, text);\n span.appendChild(text);\n });\n\n mergeAdjacentStyledSpans(editor, dataAttr, cssProp);\n\n // restore selection\n sel.removeAllRanges();\n sel.addRange(range);\n}\n\n// Is the range covering the entire node's contents?\nfunction rangeCoversWholeNode(range: Range, node: Node): boolean {\n const all = document.createRange();\n all.selectNodeContents(node);\n return (\n range.compareBoundaryPoints(Range.START_TO_START, all) <= 0 &&\n range.compareBoundaryPoints(Range.END_TO_END, all) >= 0\n );\n}\n\n// Split one styled span into [left][middle][right]; recolor only middle\nfunction splitAndRecolorWithinSpan(\n span: HTMLSpanElement,\n range: Range,\n dataAttr: 'data-rte-color' | 'data-rte-bg',\n cssProp: 'color' | 'backgroundColor',\n newValue: string\n): HTMLSpanElement {\n const oldValue = (span.style as any)[cssProp];\n\n const left = document.createRange();\n left.setStart(span, 0);\n left.setEnd(range.startContainer, range.startOffset);\n\n const right = document.createRange();\n right.setStart(range.endContainer, range.endOffset);\n right.setEnd(span, span.childNodes.length);\n\n // Build replacement fragment\n const frag = document.createDocumentFragment();\n\n // helper to make a styled clone shell\n const makeShell = (val: string) => {\n const s = document.createElement('span');\n s.setAttribute(dataAttr, '1');\n (s.style as any)[cssProp] = val;\n return s;\n };\n\n if (hasRangeContent(left)) {\n const sLeft = makeShell(oldValue);\n sLeft.appendChild(left.cloneContents());\n frag.appendChild(sLeft);\n }\n\n const mid = makeShell(newValue);\n mid.appendChild(range.cloneContents());\n frag.appendChild(mid);\n\n if (hasRangeContent(right)) {\n const sRight = makeShell(oldValue);\n sRight.appendChild(right.cloneContents());\n frag.appendChild(sRight);\n }\n\n span.replaceWith(frag);\n return mid;\n}\n\nfunction mergeAdjacentStyledSpans(\n root: HTMLElement,\n dataAttr: 'data-rte-color' | 'data-rte-bg',\n cssProp: 'color' | 'backgroundColor'\n) {\n const spans = Array.from(\n root.querySelectorAll<HTMLSpanElement>(`span[${dataAttr}]`)\n );\n\n const valOf = (el: HTMLElement) => (el.style as any)[cssProp];\n\n spans.forEach(s => {\n const nested = Array.from(\n s.querySelectorAll<HTMLSpanElement>(`span[${dataAttr}]`)\n );\n nested.forEach(child => {\n if (valOf(child) === valOf(s)) {\n while (child.firstChild) s.insertBefore(child.firstChild, child);\n child.remove();\n }\n });\n\n const prev = s.previousSibling;\n if (\n prev instanceof HTMLSpanElement &&\n prev.hasAttribute(dataAttr) &&\n valOf(prev) === valOf(s)\n ) {\n while (s.firstChild) prev.appendChild(s.firstChild);\n s.remove();\n return;\n }\n\n const next = s.nextSibling;\n if (\n next instanceof HTMLSpanElement &&\n next.hasAttribute(dataAttr) &&\n valOf(next) === valOf(s)\n ) {\n while (next.firstChild) s.appendChild(next.firstChild);\n next.remove();\n }\n });\n}\n\nfunction hasRangeContent(r: Range): boolean {\n if (r.collapsed) return false;\n const text = r.cloneContents().textContent || '';\n return text.length > 0;\n}\n"],"names":["setForeColor","editor","hex","applyInlineStyle","setBackColor","enclosingStyledSpan","node","dataAttr","HTMLSpanElement","hasAttribute","parentNode","cssProp","value","sel","window","getSelection","rangeCount","r0","getRangeAt","contains","commonAncestorContainer","range","cloneRange","collapsed","enclosing","startContainer","style","mergeAdjacentStyledSpans","s","document","createElement","setAttribute","appendChild","createTextNode","insertNode","caret","createRange","setStart","firstChild","collapse","removeAllRanges","addRange","leftEdge","rightEdge","endContainer","all","selectNodeContents","compareBoundaryPoints","Range","START_TO_START","END_TO_END","rangeCoversWholeNode","mid","span","newValue","oldValue","left","setEnd","startOffset","right","endOffset","childNodes","length","frag","createDocumentFragment","makeShell","val","hasRangeContent","sLeft","cloneContents","sRight","replaceWith","splitAndRecolorWithinSpan","r","commonEl","n","HTMLElement","walker","createTreeWalker","NodeFilter","SHOW_TEXT","acceptNode","nodeValue","trim","FILTER_REJECT","nodeRange","END_TO_START","START_TO_END","FILTER_ACCEPT","toProcess","t","nextNode","push","forEach","text","start","end","splitText","existing","parentElement","replaceChild","root","spans","Array","from","querySelectorAll","valOf","el","child","insertBefore","remove","prev","previousSibling","next","nextSibling","textContent"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ function n(n,t){e(n,"color",t,"data-rte-color")}function t(n,t){e(n,"backgroundColor",t,"data-rte-bg")}function o(n,t,o){for(;t&&t!==n;){if(t instanceof HTMLSpanElement&&t.hasAttribute(o))return t;t=t.parentNode}return null}function e(n,t,e,u){const i=window.getSelection();if(!i||0===i.rangeCount)return;const s=i.getRangeAt(0);if(!n.contains(s.commonAncestorContainer))return;const f=s.cloneRange();if(f.collapsed){const c=o(n,f.startContainer,u);if(c)return c.style[t]=e,void r(n,u,t);const s=document.createElement("span");s.setAttribute(u,"1"),s.style[t]=e,s.appendChild(document.createTextNode("​")),f.insertNode(s);const a=document.createRange();return a.setStart(s.firstChild,1),a.collapse(!0),i.removeAllRanges(),i.addRange(a),void r(n,u,t)}const a=o(n,f.startContainer,u),d=o(n,f.endContainer,u);if(a&&a===d){if(function(n,t){const o=document.createRange();return o.selectNodeContents(t),n.compareBoundaryPoints(Range.START_TO_START,o)<=0&&n.compareBoundaryPoints(Range.END_TO_END,o)>=0}(f,a))a.style[t]=e;else{const n=function(n,t,o,e,r){const u=n.style[e],i=document.createRange();i.setStart(n,0),i.setEnd(t.startContainer,t.startOffset);const s=document.createRange();s.setStart(t.endContainer,t.endOffset),s.setEnd(n,n.childNodes.length);const f=document.createDocumentFragment(),a=n=>{const t=document.createElement("span");return t.setAttribute(o,"1"),t.style[e]=n,t};if(c(i)){const n=a(u);n.appendChild(i.cloneContents()),f.appendChild(n)}const d=a(r);if(d.appendChild(t.cloneContents()),f.appendChild(d),c(s)){const n=a(u);n.appendChild(s.cloneContents()),f.appendChild(n)}return n.replaceWith(f),d}(a,f,u,t,e),o=window.getSelection(),r=document.createRange();r.selectNodeContents(n),o?.removeAllRanges(),o?.addRange(r)}return void r(n,u,t)}const l=(()=>{let n=f.commonAncestorContainer;for(;n&&!(n instanceof HTMLElement);)n=n.parentNode;return n})(),m=document.createTreeWalker(l||n,NodeFilter.SHOW_TEXT,{acceptNode:n=>{if(!n.nodeValue||!n.nodeValue.trim())return NodeFilter.FILTER_REJECT;const t=document.createRange();t.selectNodeContents(n);return f.compareBoundaryPoints(Range.END_TO_START,t)<0&&f.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),p=[];let g;for(;g=m.nextNode();)p.push(g);p.forEach((r=>{let c=0,i=r.length;r===f.startContainer&&(c=f.startOffset),r===f.endContainer&&(i=f.endOffset),c>0&&(r=r.splitText(c)),i<r.length&&r.splitText(i);const s=o(n,r,u);if(s)return void(s.style[t]=e);const a=document.createElement("span");a.setAttribute(u,"1"),a.style[t]=e;r.parentElement.replaceChild(a,r),a.appendChild(r)})),r(n,u,t),i.removeAllRanges(),i.addRange(f)}function r(n,t,o){const e=Array.from(n.querySelectorAll(`span[${t}]`)),r=n=>n.style[o];e.forEach((n=>{Array.from(n.querySelectorAll(`span[${t}]`)).forEach((t=>{if(r(t)===r(n)){for(;t.firstChild;)n.insertBefore(t.firstChild,t);t.remove()}}));const o=n.previousSibling;if(o instanceof HTMLSpanElement&&o.hasAttribute(t)&&r(o)===r(n)){for(;n.firstChild;)o.appendChild(n.firstChild);return void n.remove()}const e=n.nextSibling;if(e instanceof HTMLSpanElement&&e.hasAttribute(t)&&r(e)===r(n)){for(;e.firstChild;)n.appendChild(e.firstChild);e.remove()}}))}function c(n){if(n.collapsed)return!1;return(n.cloneContents().textContent||"").length>0}export{n as a,t as s};
@@ -0,0 +1,2 @@
1
+ System.register(["./block-utils.cjs.js","./inline-utils.cjs.js","./color-utils.cjs.js","./list-utils.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_blockUtilsCjsJs){},function(_inlineUtilsCjsJs){},function(_colorUtilsCjsJs){},function(_listUtilsCjsJs){}],execute:function execute(){}};});
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ import"./block-utils.esm.js";import"./inline-utils.esm.js";import"./color-utils.esm.js";import"./list-utils.esm.js";