@aquera/nile-elements 1.0.4-beta-1.2 → 1.0.4-beta-1.4

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 (595) hide show
  1. package/README.md +6 -0
  2. package/demo/variables.css +1 -0
  3. package/dist/css-tag-bb10c0fa.cjs.js +6 -0
  4. package/dist/css-tag-bb10c0fa.cjs.js.map +1 -0
  5. package/dist/css-tag-dc564feb.esm.js +6 -0
  6. package/dist/{fixture-8edec91c.esm.js → fixture-985bba12.esm.js} +1 -1
  7. package/dist/{fixture-3bfb4490.cjs.js → fixture-d1470b58.cjs.js} +2 -2
  8. package/dist/{fixture-3bfb4490.cjs.js.map → fixture-d1470b58.cjs.js.map} +1 -1
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.esm.js +1 -1
  11. package/dist/index.js +797 -316
  12. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  13. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  14. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  15. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  16. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  17. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  18. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  19. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  20. package/dist/nile-badge/index.cjs.js +1 -1
  21. package/dist/nile-badge/index.esm.js +1 -1
  22. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  23. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  24. package/dist/nile-badge/nile-badge.esm.js +1 -1
  25. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  26. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  27. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  28. package/dist/nile-button/index.cjs.js +1 -1
  29. package/dist/nile-button/index.esm.js +1 -1
  30. package/dist/nile-button/nile-button.cjs.js +1 -1
  31. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  32. package/dist/nile-button/nile-button.esm.js +2 -2
  33. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  34. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  35. package/dist/nile-button/nile-button.test.esm.js +1 -1
  36. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  37. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  38. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  39. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  40. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  41. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  42. package/dist/nile-card/nile-card.test.esm.js +1 -1
  43. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  44. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  45. package/dist/nile-checkbox/nile-checkbox.css.esm.js +1 -1
  46. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  47. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  48. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  49. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  50. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  51. package/dist/nile-dialog/index.cjs.js +1 -1
  52. package/dist/nile-dialog/index.esm.js +1 -1
  53. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  54. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  55. package/dist/nile-dialog/nile-dialog.esm.js +6 -6
  56. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  57. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  58. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  59. package/dist/nile-drawer/index.cjs.js +1 -1
  60. package/dist/nile-drawer/index.esm.js +1 -1
  61. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  62. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  63. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  64. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  65. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  66. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  67. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  68. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  69. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  70. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  71. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  72. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  73. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  74. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  75. package/dist/nile-file-upload/index.cjs.js +1 -1
  76. package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
  77. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +1 -1
  78. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  79. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  80. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  81. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  82. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  83. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  84. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  85. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  86. package/dist/nile-grid/index.cjs.js +2 -0
  87. package/dist/nile-grid/index.cjs.js.map +1 -0
  88. package/dist/nile-grid/index.esm.js +1 -0
  89. package/dist/nile-grid/nile-grid.cjs.js +2 -0
  90. package/dist/nile-grid/nile-grid.cjs.js.map +1 -0
  91. package/dist/nile-grid/nile-grid.css.cjs.js +2 -0
  92. package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -0
  93. package/dist/nile-grid/nile-grid.css.esm.js +32 -0
  94. package/dist/nile-grid/nile-grid.esm.js +7 -0
  95. package/dist/nile-grid/nile-grid.utils.cjs.js +2 -0
  96. package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -0
  97. package/dist/nile-grid/nile-grid.utils.esm.js +1 -0
  98. package/dist/nile-grid-body/index.cjs.js +2 -0
  99. package/dist/nile-grid-body/index.cjs.js.map +1 -0
  100. package/dist/nile-grid-body/index.esm.js +1 -0
  101. package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
  102. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
  103. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
  104. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
  105. package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
  106. package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
  107. package/dist/nile-grid-cell-item/index.cjs.js +2 -0
  108. package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
  109. package/dist/nile-grid-cell-item/index.esm.js +1 -0
  110. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
  111. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
  112. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
  113. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
  114. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
  115. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
  116. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
  117. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
  118. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
  119. package/dist/nile-grid-head/index.cjs.js +2 -0
  120. package/dist/nile-grid-head/index.cjs.js.map +1 -0
  121. package/dist/nile-grid-head/index.esm.js +1 -0
  122. package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
  123. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
  124. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
  125. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
  126. package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
  127. package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
  128. package/dist/nile-grid-head-item/index.cjs.js +2 -0
  129. package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
  130. package/dist/nile-grid-head-item/index.esm.js +1 -0
  131. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
  132. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
  133. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
  134. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
  135. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
  136. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
  137. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
  138. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
  139. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
  140. package/dist/nile-grid-row/index.cjs.js +2 -0
  141. package/dist/nile-grid-row/index.cjs.js.map +1 -0
  142. package/dist/nile-grid-row/index.esm.js +1 -0
  143. package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
  144. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
  145. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
  146. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
  147. package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
  148. package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
  149. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  150. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  151. package/dist/nile-icon/icons/svg/format_align_justify.cjs.js +2 -0
  152. package/dist/nile-icon/icons/svg/format_align_justify.cjs.js.map +1 -0
  153. package/dist/nile-icon/icons/svg/format_align_justify.esm.js +1 -0
  154. package/dist/nile-icon/icons/svg/format_align_left.cjs.js +2 -0
  155. package/dist/nile-icon/icons/svg/format_align_left.cjs.js.map +1 -0
  156. package/dist/nile-icon/icons/svg/format_align_left.esm.js +1 -0
  157. package/dist/nile-icon/icons/svg/format_align_middle.cjs.js +2 -0
  158. package/dist/nile-icon/icons/svg/format_align_middle.cjs.js.map +1 -0
  159. package/dist/nile-icon/icons/svg/format_align_middle.esm.js +1 -0
  160. package/dist/nile-icon/icons/svg/format_align_right.cjs.js +2 -0
  161. package/dist/nile-icon/icons/svg/format_align_right.cjs.js.map +1 -0
  162. package/dist/nile-icon/icons/svg/format_align_right.esm.js +1 -0
  163. package/dist/nile-icon/icons/svg/format_bold.cjs.js +2 -0
  164. package/dist/nile-icon/icons/svg/format_bold.cjs.js.map +1 -0
  165. package/dist/nile-icon/icons/svg/format_bold.esm.js +1 -0
  166. package/dist/nile-icon/icons/svg/format_clear.cjs.js +2 -0
  167. package/dist/nile-icon/icons/svg/format_clear.cjs.js.map +1 -0
  168. package/dist/nile-icon/icons/svg/format_clear.esm.js +1 -0
  169. package/dist/nile-icon/icons/svg/format_italic.cjs.js +2 -0
  170. package/dist/nile-icon/icons/svg/format_italic.cjs.js.map +1 -0
  171. package/dist/nile-icon/icons/svg/format_italic.esm.js +1 -0
  172. package/dist/nile-icon/icons/svg/format_list_bulleted.cjs.js +2 -0
  173. package/dist/nile-icon/icons/svg/format_list_bulleted.cjs.js.map +1 -0
  174. package/dist/nile-icon/icons/svg/format_list_bulleted.esm.js +1 -0
  175. package/dist/nile-icon/icons/svg/format_list_numbered.cjs.js +2 -0
  176. package/dist/nile-icon/icons/svg/format_list_numbered.cjs.js.map +1 -0
  177. package/dist/nile-icon/icons/svg/format_list_numbered.esm.js +1 -0
  178. package/dist/nile-icon/icons/svg/format_underline.cjs.js +2 -0
  179. package/dist/nile-icon/icons/svg/format_underline.cjs.js.map +1 -0
  180. package/dist/nile-icon/icons/svg/format_underline.esm.js +1 -0
  181. package/dist/nile-icon/icons/svg/image_2.cjs.js +2 -0
  182. package/dist/nile-icon/icons/svg/image_2.cjs.js.map +1 -0
  183. package/dist/nile-icon/icons/svg/image_2.esm.js +1 -0
  184. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  185. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  186. package/dist/nile-icon/icons/svg/link_2.cjs.js +2 -0
  187. package/dist/nile-icon/icons/svg/link_2.cjs.js.map +1 -0
  188. package/dist/nile-icon/icons/svg/link_2.esm.js +1 -0
  189. package/dist/nile-icon/index.cjs.js +1 -1
  190. package/dist/nile-icon/index.cjs.js.map +1 -1
  191. package/dist/nile-icon/index.esm.js +1 -1
  192. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  193. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  194. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  195. package/dist/nile-icon-button/index.cjs.js +1 -1
  196. package/dist/nile-icon-button/index.esm.js +1 -1
  197. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  198. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  199. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  200. package/dist/nile-input/index.cjs.js +1 -1
  201. package/dist/nile-input/index.esm.js +1 -1
  202. package/dist/nile-input/nile-input.cjs.js +1 -1
  203. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  204. package/dist/nile-input/nile-input.esm.js +5 -5
  205. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  206. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  207. package/dist/nile-input/nile-input.test.esm.js +1 -1
  208. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  209. package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
  210. package/dist/nile-link/nile-link.css.esm.js +3 -2
  211. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  212. package/dist/nile-link/nile-link.test.esm.js +1 -1
  213. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  214. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  215. package/dist/nile-menu-item/index.cjs.js +1 -1
  216. package/dist/nile-menu-item/index.esm.js +1 -1
  217. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  218. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  219. package/dist/nile-menu-item/nile-menu-item.esm.js +2 -2
  220. package/dist/nile-option/index.cjs.js +1 -1
  221. package/dist/nile-option/index.esm.js +1 -1
  222. package/dist/nile-option/nile-option.cjs.js +1 -1
  223. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  224. package/dist/nile-option/nile-option.esm.js +1 -1
  225. package/dist/nile-popover/index.cjs.js +1 -1
  226. package/dist/nile-popover/index.esm.js +1 -1
  227. package/dist/nile-popover/nile-popover.cjs.js +4 -4
  228. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  229. package/dist/nile-popover/nile-popover.esm.js +6 -11
  230. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  231. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
  232. package/dist/nile-popover/nile-popover.test.esm.js +5 -5
  233. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  234. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  235. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  236. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  237. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  238. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  239. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  240. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  241. package/dist/nile-rich-text-editor/index.cjs.js +2 -0
  242. package/dist/nile-rich-text-editor/index.cjs.js.map +1 -0
  243. package/dist/nile-rich-text-editor/index.esm.js +1 -0
  244. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +2 -0
  245. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -0
  246. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +2 -0
  247. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -0
  248. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +149 -0
  249. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -0
  250. package/dist/nile-rich-text-editor/nile-rte-color.cjs.js +2 -0
  251. package/dist/nile-rich-text-editor/nile-rte-color.cjs.js.map +1 -0
  252. package/dist/nile-rich-text-editor/nile-rte-color.esm.js +53 -0
  253. package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js +2 -0
  254. package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js.map +1 -0
  255. package/dist/nile-rich-text-editor/nile-rte-divider.esm.js +1 -0
  256. package/dist/nile-rich-text-editor/nile-rte-link.cjs.js +2 -0
  257. package/dist/nile-rich-text-editor/nile-rte-link.cjs.js.map +1 -0
  258. package/dist/nile-rich-text-editor/nile-rte-link.esm.js +19 -0
  259. package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js +2 -0
  260. package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js.map +1 -0
  261. package/dist/nile-rich-text-editor/nile-rte-mentions-item.esm.js +1 -0
  262. package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js +3 -0
  263. package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js.map +1 -0
  264. package/dist/nile-rich-text-editor/nile-rte-mentions.esm.js +1 -0
  265. package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js +2 -0
  266. package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js.map +1 -0
  267. package/dist/nile-rich-text-editor/nile-rte-preview.esm.js +1 -0
  268. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +2 -0
  269. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +1 -0
  270. package/dist/nile-rich-text-editor/nile-rte-select.esm.js +66 -0
  271. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js +2 -0
  272. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js.map +1 -0
  273. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.esm.js +1 -0
  274. package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js +2 -0
  275. package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js.map +1 -0
  276. package/dist/nile-rich-text-editor/nile-rte-toolbar.esm.js +1 -0
  277. package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
  278. package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
  279. package/dist/nile-rich-text-editor/utils.esm.js +1 -0
  280. package/dist/nile-select/index.cjs.js +1 -1
  281. package/dist/nile-select/index.esm.js +1 -1
  282. package/dist/nile-select/nile-select.cjs.js +1 -1
  283. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  284. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  285. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  286. package/dist/nile-select/nile-select.css.esm.js +1 -1
  287. package/dist/nile-select/nile-select.esm.js +2 -2
  288. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  289. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  290. package/dist/nile-select/nile-select.test.esm.js +12 -12
  291. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  292. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  293. package/dist/nile-select/virtual-scroll-helper.esm.js +2 -0
  294. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  295. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  296. package/dist/nile-stepper-item/nile-stepper-item.cjs.js +1 -1
  297. package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -1
  298. package/dist/nile-stepper-item/nile-stepper-item.esm.js +6 -6
  299. package/dist/nile-tab/index.cjs.js +1 -1
  300. package/dist/nile-tab/index.esm.js +1 -1
  301. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  302. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  303. package/dist/nile-tab/nile-tab.esm.js +2 -2
  304. package/dist/nile-tab-group/index.cjs.js +1 -1
  305. package/dist/nile-tab-group/index.esm.js +1 -1
  306. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  307. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  308. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  309. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  310. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  311. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  312. package/dist/nile-tag/index.cjs.js +1 -1
  313. package/dist/nile-tag/index.esm.js +1 -1
  314. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  315. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  316. package/dist/nile-tag/nile-tag.esm.js +1 -1
  317. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  318. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  319. package/dist/nile-toast/index.cjs.js +1 -1
  320. package/dist/nile-toast/index.esm.js +1 -1
  321. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  322. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  323. package/dist/nile-toast/nile-toast.esm.js +2 -2
  324. package/dist/nile-tree/index.cjs.js +1 -1
  325. package/dist/nile-tree/index.esm.js +1 -1
  326. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  327. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  328. package/dist/nile-tree/nile-tree.esm.js +1 -1
  329. package/dist/nile-tree-item/index.cjs.js +1 -1
  330. package/dist/nile-tree-item/index.esm.js +1 -1
  331. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  332. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  333. package/dist/nile-tree-item/nile-tree-item.esm.js +3 -3
  334. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js +1 -1
  335. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js.map +1 -1
  336. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.esm.js +8 -8
  337. package/dist/nile-virtual-select/index.cjs.js +1 -1
  338. package/dist/nile-virtual-select/index.esm.js +1 -1
  339. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +5 -1
  340. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  341. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  342. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  343. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +29 -1
  344. package/dist/nile-virtual-select/nile-virtual-select.esm.js +21 -13
  345. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  346. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  347. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  348. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  349. package/dist/nile-virtual-select/renderer.esm.js +11 -10
  350. package/dist/nile-virtual-select/selection-manager.cjs.js +1 -1
  351. package/dist/nile-virtual-select/selection-manager.cjs.js.map +1 -1
  352. package/dist/nile-virtual-select/selection-manager.esm.js +1 -1
  353. package/dist/scopedElementsWrapper-31107e48.esm.js +1 -0
  354. package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
  355. package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
  356. package/dist/src/index.d.ts +7 -0
  357. package/dist/src/index.js +7 -0
  358. package/dist/src/index.js.map +1 -1
  359. package/dist/src/nile-button/nile-button.d.ts +1 -1
  360. package/dist/src/nile-button/nile-button.js +1 -1
  361. package/dist/src/nile-button/nile-button.js.map +1 -1
  362. package/dist/src/nile-checkbox/nile-checkbox.css.js +1 -1
  363. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  364. package/dist/src/nile-grid/index.d.ts +1 -0
  365. package/dist/src/nile-grid/index.js +2 -0
  366. package/dist/src/nile-grid/index.js.map +1 -0
  367. package/dist/src/nile-grid/nile-grid.css.d.ts +9 -0
  368. package/dist/src/nile-grid/nile-grid.css.js +41 -0
  369. package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
  370. package/dist/src/nile-grid/nile-grid.d.ts +50 -0
  371. package/dist/src/nile-grid/nile-grid.js +130 -0
  372. package/dist/src/nile-grid/nile-grid.js.map +1 -0
  373. package/dist/src/nile-grid/nile-grid.utils.d.ts +9 -0
  374. package/dist/src/nile-grid/nile-grid.utils.js +170 -0
  375. package/dist/src/nile-grid/nile-grid.utils.js.map +1 -0
  376. package/dist/src/nile-grid-body/index.d.ts +1 -0
  377. package/dist/src/nile-grid-body/index.js +2 -0
  378. package/dist/src/nile-grid-body/index.js.map +1 -0
  379. package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
  380. package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
  381. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
  382. package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
  383. package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
  384. package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
  385. package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
  386. package/dist/src/nile-grid-cell-item/index.js +2 -0
  387. package/dist/src/nile-grid-cell-item/index.js.map +1 -0
  388. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
  389. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
  390. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
  391. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
  392. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
  393. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
  394. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
  395. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
  396. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
  397. package/dist/src/nile-grid-head/index.d.ts +1 -0
  398. package/dist/src/nile-grid-head/index.js +2 -0
  399. package/dist/src/nile-grid-head/index.js.map +1 -0
  400. package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
  401. package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
  402. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
  403. package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
  404. package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
  405. package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
  406. package/dist/src/nile-grid-head-item/index.d.ts +1 -0
  407. package/dist/src/nile-grid-head-item/index.js +2 -0
  408. package/dist/src/nile-grid-head-item/index.js.map +1 -0
  409. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
  410. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
  411. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
  412. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
  413. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
  414. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
  415. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
  416. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
  417. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
  418. package/dist/src/nile-grid-row/index.d.ts +1 -0
  419. package/dist/src/nile-grid-row/index.js +2 -0
  420. package/dist/src/nile-grid-row/index.js.map +1 -0
  421. package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
  422. package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
  423. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
  424. package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
  425. package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
  426. package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
  427. package/dist/src/nile-icon/icons/svg/format_align_justify.d.ts +5 -0
  428. package/dist/src/nile-icon/icons/svg/format_align_justify.js +5 -0
  429. package/dist/src/nile-icon/icons/svg/format_align_justify.js.map +1 -0
  430. package/dist/src/nile-icon/icons/svg/format_align_left.d.ts +5 -0
  431. package/dist/src/nile-icon/icons/svg/format_align_left.js +5 -0
  432. package/dist/src/nile-icon/icons/svg/format_align_left.js.map +1 -0
  433. package/dist/src/nile-icon/icons/svg/format_align_middle.d.ts +5 -0
  434. package/dist/src/nile-icon/icons/svg/format_align_middle.js +5 -0
  435. package/dist/src/nile-icon/icons/svg/format_align_middle.js.map +1 -0
  436. package/dist/src/nile-icon/icons/svg/format_align_right.d.ts +5 -0
  437. package/dist/src/nile-icon/icons/svg/format_align_right.js +5 -0
  438. package/dist/src/nile-icon/icons/svg/format_align_right.js.map +1 -0
  439. package/dist/src/nile-icon/icons/svg/format_bold.d.ts +5 -0
  440. package/dist/src/nile-icon/icons/svg/format_bold.js +5 -0
  441. package/dist/src/nile-icon/icons/svg/format_bold.js.map +1 -0
  442. package/dist/src/nile-icon/icons/svg/format_clear.d.ts +5 -0
  443. package/dist/src/nile-icon/icons/svg/format_clear.js +5 -0
  444. package/dist/src/nile-icon/icons/svg/format_clear.js.map +1 -0
  445. package/dist/src/nile-icon/icons/svg/format_italic.d.ts +5 -0
  446. package/dist/src/nile-icon/icons/svg/format_italic.js +5 -0
  447. package/dist/src/nile-icon/icons/svg/format_italic.js.map +1 -0
  448. package/dist/src/nile-icon/icons/svg/format_list_bulleted.d.ts +5 -0
  449. package/dist/src/nile-icon/icons/svg/format_list_bulleted.js +5 -0
  450. package/dist/src/nile-icon/icons/svg/format_list_bulleted.js.map +1 -0
  451. package/dist/src/nile-icon/icons/svg/format_list_numbered.d.ts +5 -0
  452. package/dist/src/nile-icon/icons/svg/format_list_numbered.js +5 -0
  453. package/dist/src/nile-icon/icons/svg/format_list_numbered.js.map +1 -0
  454. package/dist/src/nile-icon/icons/svg/format_underline.d.ts +5 -0
  455. package/dist/src/nile-icon/icons/svg/format_underline.js +5 -0
  456. package/dist/src/nile-icon/icons/svg/format_underline.js.map +1 -0
  457. package/dist/src/nile-icon/icons/svg/image_2.d.ts +5 -0
  458. package/dist/src/nile-icon/icons/svg/image_2.js +5 -0
  459. package/dist/src/nile-icon/icons/svg/image_2.js.map +1 -0
  460. package/dist/src/nile-icon/icons/svg/index.d.ts +12 -0
  461. package/dist/src/nile-icon/icons/svg/index.js +12 -0
  462. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  463. package/dist/src/nile-icon/icons/svg/link_2.d.ts +5 -0
  464. package/dist/src/nile-icon/icons/svg/link_2.js +5 -0
  465. package/dist/src/nile-icon/icons/svg/link_2.js.map +1 -0
  466. package/dist/src/nile-link/nile-link.css.js +1 -0
  467. package/dist/src/nile-link/nile-link.css.js.map +1 -1
  468. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  469. package/dist/src/nile-rich-text-editor/index.d.ts +1 -0
  470. package/dist/src/nile-rich-text-editor/index.js +2 -0
  471. package/dist/src/nile-rich-text-editor/index.js.map +1 -0
  472. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.d.ts +3 -0
  473. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +152 -0
  474. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -0
  475. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +63 -0
  476. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +734 -0
  477. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -0
  478. package/dist/src/nile-rich-text-editor/nile-rte-color.d.ts +20 -0
  479. package/dist/src/nile-rich-text-editor/nile-rte-color.js +188 -0
  480. package/dist/src/nile-rich-text-editor/nile-rte-color.js.map +1 -0
  481. package/dist/src/nile-rich-text-editor/nile-rte-divider.d.ts +10 -0
  482. package/dist/src/nile-rich-text-editor/nile-rte-divider.js +12 -0
  483. package/dist/src/nile-rich-text-editor/nile-rte-divider.js.map +1 -0
  484. package/dist/src/nile-rich-text-editor/nile-rte-link.d.ts +19 -0
  485. package/dist/src/nile-rich-text-editor/nile-rte-link.js +169 -0
  486. package/dist/src/nile-rich-text-editor/nile-rte-link.js.map +1 -0
  487. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.d.ts +18 -0
  488. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js +52 -0
  489. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js.map +1 -0
  490. package/dist/src/nile-rich-text-editor/nile-rte-mentions.d.ts +64 -0
  491. package/dist/src/nile-rich-text-editor/nile-rte-mentions.js +544 -0
  492. package/dist/src/nile-rich-text-editor/nile-rte-mentions.js.map +1 -0
  493. package/dist/src/nile-rich-text-editor/nile-rte-preview.d.ts +10 -0
  494. package/dist/src/nile-rich-text-editor/nile-rte-preview.js +12 -0
  495. package/dist/src/nile-rich-text-editor/nile-rte-preview.js.map +1 -0
  496. package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +33 -0
  497. package/dist/src/nile-rich-text-editor/nile-rte-select.js +228 -0
  498. package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +1 -0
  499. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.d.ts +12 -0
  500. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js +23 -0
  501. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js.map +1 -0
  502. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.d.ts +10 -0
  503. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js +12 -0
  504. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js.map +1 -0
  505. package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
  506. package/dist/src/nile-rich-text-editor/utils.js +538 -0
  507. package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
  508. package/dist/src/nile-select/nile-select.css.js +1 -1
  509. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  510. package/dist/src/nile-select/nile-select.d.ts +5 -0
  511. package/dist/src/nile-select/nile-select.js +32 -2
  512. package/dist/src/nile-select/nile-select.js.map +1 -1
  513. package/dist/src/nile-select/virtual-scroll-helper.js +2 -0
  514. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  515. package/dist/src/nile-stepper-item/nile-stepper-item.js +5 -5
  516. package/dist/src/nile-stepper-item/nile-stepper-item.js.map +1 -1
  517. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js +4 -4
  518. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js.map +1 -1
  519. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +29 -1
  520. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  521. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +22 -1
  522. package/dist/src/nile-virtual-select/nile-virtual-select.js +148 -23
  523. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  524. package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
  525. package/dist/src/nile-virtual-select/renderer.js +9 -8
  526. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  527. package/dist/src/nile-virtual-select/selection-manager.js +1 -1
  528. package/dist/src/nile-virtual-select/selection-manager.js.map +1 -1
  529. package/dist/tsconfig.tsbuildinfo +1 -1
  530. package/package.json +11 -4
  531. package/src/index.ts +8 -1
  532. package/src/nile-button/nile-button.ts +1 -1
  533. package/src/nile-checkbox/nile-checkbox.css.ts +1 -1
  534. package/src/nile-grid/index.ts +1 -0
  535. package/src/nile-grid/nile-grid.css.ts +43 -0
  536. package/src/nile-grid/nile-grid.ts +185 -0
  537. package/src/nile-grid/nile-grid.utils.ts +252 -0
  538. package/src/nile-grid-body/index.ts +1 -0
  539. package/src/nile-grid-body/nile-grid-body.css.ts +24 -0
  540. package/src/nile-grid-body/nile-grid-body.ts +51 -0
  541. package/src/nile-grid-cell-item/index.ts +1 -0
  542. package/src/nile-grid-cell-item/nile-grid-cell-item.css.ts +49 -0
  543. package/src/nile-grid-cell-item/nile-grid-cell-item.ts +98 -0
  544. package/src/nile-grid-cell-item/nile-grid-cell-item.utils.ts +65 -0
  545. package/src/nile-grid-head/index.ts +1 -0
  546. package/src/nile-grid-head/nile-grid-head.css.ts +21 -0
  547. package/src/nile-grid-head/nile-grid-head.ts +50 -0
  548. package/src/nile-grid-head-item/index.ts +1 -0
  549. package/src/nile-grid-head-item/nile-grid-head-item.css.ts +48 -0
  550. package/src/nile-grid-head-item/nile-grid-head-item.ts +111 -0
  551. package/src/nile-grid-head-item/nile-grid-head-item.utils.ts +66 -0
  552. package/src/nile-grid-row/index.ts +1 -0
  553. package/src/nile-grid-row/nile-grid-row.css.ts +29 -0
  554. package/src/nile-grid-row/nile-grid-row.ts +53 -0
  555. package/src/nile-icon/icons/svg/format_align_justify.ts +5 -0
  556. package/src/nile-icon/icons/svg/format_align_left.ts +5 -0
  557. package/src/nile-icon/icons/svg/format_align_middle.ts +5 -0
  558. package/src/nile-icon/icons/svg/format_align_right.ts +5 -0
  559. package/src/nile-icon/icons/svg/format_bold.ts +5 -0
  560. package/src/nile-icon/icons/svg/format_clear.ts +5 -0
  561. package/src/nile-icon/icons/svg/format_italic.ts +5 -0
  562. package/src/nile-icon/icons/svg/format_list_bulleted.ts +5 -0
  563. package/src/nile-icon/icons/svg/format_list_numbered.ts +5 -0
  564. package/src/nile-icon/icons/svg/format_underline.ts +5 -0
  565. package/src/nile-icon/icons/svg/image_2.ts +5 -0
  566. package/src/nile-icon/icons/svg/index.ts +12 -0
  567. package/src/nile-icon/icons/svg/link_2.ts +5 -0
  568. package/src/nile-link/nile-link.css.ts +1 -0
  569. package/src/nile-popover/nile-popover.ts +0 -1
  570. package/src/nile-rich-text-editor/index.ts +1 -0
  571. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +154 -0
  572. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +835 -0
  573. package/src/nile-rich-text-editor/nile-rte-color.ts +189 -0
  574. package/src/nile-rich-text-editor/nile-rte-divider.ts +9 -0
  575. package/src/nile-rich-text-editor/nile-rte-link.ts +161 -0
  576. package/src/nile-rich-text-editor/nile-rte-mentions-item.ts +45 -0
  577. package/src/nile-rich-text-editor/nile-rte-mentions.ts +618 -0
  578. package/src/nile-rich-text-editor/nile-rte-preview.ts +9 -0
  579. package/src/nile-rich-text-editor/nile-rte-select.ts +249 -0
  580. package/src/nile-rich-text-editor/nile-rte-toolbar-item.ts +13 -0
  581. package/src/nile-rich-text-editor/nile-rte-toolbar.ts +9 -0
  582. package/src/nile-rich-text-editor/utils.ts +643 -0
  583. package/src/nile-select/nile-select.css.ts +1 -1
  584. package/src/nile-select/nile-select.ts +30 -2
  585. package/src/nile-select/virtual-scroll-helper.ts +2 -0
  586. package/src/nile-stepper-item/nile-stepper-item.ts +5 -5
  587. package/src/nile-vertical-stepper-item/nile-vertical-stepper-item.ts +4 -4
  588. package/src/nile-virtual-select/nile-virtual-select.css.ts +29 -1
  589. package/src/nile-virtual-select/nile-virtual-select.ts +158 -27
  590. package/src/nile-virtual-select/renderer.ts +10 -8
  591. package/src/nile-virtual-select/selection-manager.ts +1 -1
  592. package/vscode-html-custom-data.json +363 -34
  593. package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
  594. package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
  595. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
@@ -0,0 +1 @@
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=()=>{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: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 h=e.mentionsColor??e.getAttribute("mentionscolor")??"",r=e.mentionsPrefix??e.getAttribute("mentionsprefix")??"",u=e.mentionsSuffix??e.getAttribute("mentionssuffix")??"";Array.isArray(o)||(o=[]),t[n]=o,h&&(i[n]=String(h)),(r||u)&&(s[n]={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 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("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 h=o+1+this.mentionQuery.length,r=document.createRange();r.setStart(e,o),r.setEnd(e,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("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"})],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
+ 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);}System.register(["tslib","lit","lit/decorators.js"],function(_export,_context){"use strict";var r,t,e,o;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 _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){r=_tslib.__decorate;},function(_lit){t=_lit.LitElement;},function(_litDecoratorsJs){e=_litDecoratorsJs.customElement;}],execute:function execute(){o=/*#__PURE__*/function(_t){function o(){_classCallCheck(this,o);return _callSuper(this,o,arguments);}_inherits(o,_t);return _createClass(o,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"shouldUpdate",value:function shouldUpdate(){return!1;}}]);}(t);o=r([e("nile-rte-preview")],o);}};});
2
+ //# sourceMappingURL=nile-rte-preview.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-rte-preview.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rte-preview.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('nile-rte-preview')\nexport class NileRtePreview extends LitElement {\n protected createRenderRoot() { return this; }\n protected shouldUpdate() { return false; }\n}\ndeclare global { interface HTMLElementTagNameMap { 'nile-rte-preview': NileRtePreview; } }\n"],"names":["NileRtePreview","createRenderRoot","this","key","value","shouldUpdate","LitElement","__decorate","customElement"],"mappings":"kwFAIaA,CAAAA,uBAAAA,EAAAA,WAAAA,EAAAA,EAAAA,eAAAA,MAAAA,CAAAA,SAAAA,UAAAA,MAAAA,CAAAA,CAAAA,SAAAA,GAAAA,SAAAA,CAAAA,CAAAA,CAAAA,EAAAA,SAAAA,YAAAA,CAAAA,CAAAA,GAAAA,GAAAA,oBAAAA,KAAAA,CACD,SAAAC,gBAAAA,CAAAA,CAAAA,CAAqB,MAAOC,KAAO,EACnC,GAAAC,GAAA,gBAAAC,KAAA,UAAAC,YAAAA,CAAAA,CAAAA,CAAiB,MAAO,CAAA,CAAQ,QAFRC,CAAAA,EAAvBN,CAAcO,CAAAA,CAAAA,CAAA,CAD1BC,CAAAA,CAAc,kBACFR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
@@ -0,0 +1 @@
1
+ import{__decorate as r}from"tslib";import{LitElement as t}from"lit";import{customElement as e}from"lit/decorators.js";let o=class extends t{createRenderRoot(){return this}shouldUpdate(){return!1}};o=r([e("nile-rte-preview")],o);
@@ -0,0 +1,2 @@
1
+ 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);}System.register(["tslib","lit","lit/decorators.js"],function(_export,_context){"use strict";var t,e,n,i,l,r,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,s,o;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}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);}function a(t){return s.has(t);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){e=_lit.LitElement;n=_lit.html;},function(_litDecoratorsJs){i=_litDecoratorsJs.property;l=_litDecoratorsJs.state;r=_litDecoratorsJs.customElement;}],execute:function execute(){s=new Set(["p","h1","h2","h3","h4","h5","h6"]);o=/*#__PURE__*/function(_e){function o(){var _this;_classCallCheck(this,o);_this=_callSuper(this,o,arguments),_this.type="",_this.options="[]",_this.label="",_this.selectedValue="";return _this;}_inherits(o,_e);return _createClass(o,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"mapAlignIcon",value:function mapAlignIcon(t){return{left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify"}[t]||"format_align_left";}},{key:"parsedOptions",get:function get(){var _this$optionsObj,_this2=this;var t=(_this$optionsObj=this.optionsObj)!==null&&_this$optionsObj!==void 0?_this$optionsObj:this.options;var e=function(){if(Array.isArray(t))return t;try{return JSON.parse(String(t));}catch(_unused){return[];}}();"align"===this.type&&0===e.length&&(e=[{value:"left",label:"Align Left"},{value:"center",label:"Align Center"},{value:"right",label:"Align Right"},{value:"justify",label:"Justify"}]);var n=e.map(function(t){var _t$value,_ref,_t$label,_t$icon;var e=(_t$value=t===null||t===void 0?void 0:t.value)!==null&&_t$value!==void 0?_t$value:t;return{value:e,label:(_ref=(_t$label=t===null||t===void 0?void 0:t.label)!==null&&_t$label!==void 0?_t$label:t===null||t===void 0?void 0:t.value)!==null&&_ref!==void 0?_ref:t,icon:(_t$icon=t===null||t===void 0?void 0:t.icon)!==null&&_t$icon!==void 0?_t$icon:"align"===_this2.type?_this2.mapAlignIcon(String(e)):void 0};});if("heading"===this.type){n.length;n=n.filter(function(t){return a(t.value);}),n.length,this.selectedValue&&!a(this.selectedValue)&&(this.selectedValue="");}return n;}},{key:"ensureDefault",value:function ensureDefault(){if(!this.selectedValue){var _t=this.parsedOptions[0];_t&&(this.selectedValue=_t.value);}}},{key:"onSelect",value:function onSelect(t){"heading"!==this.type||a(t)?(this.selectedValue=t,this.dispatchEvent(new CustomEvent("change",{detail:t,bubbles:!0,composed:!0}))):console.warn("[nile-rte-select] Ignoring invalid heading value: ".concat(t));}},{key:"connectedCallback",value:function connectedCallback(){_superPropGet(o,"connectedCallback",this,3)([]),this.injectLocalStyles();}},{key:"injectLocalStyles",value:function injectLocalStyles(){if(this.querySelector("style[data-rte-select-style]"))return;var t=document.createElement("style");t.setAttribute("data-rte-select-style","true"),t.textContent="\n nile-menu.rte-align-menu::part(menu__items-wrapper) {\n display: flex;\n }\n nile-menu.rte-align-menu,\n nile-menu.rte-default-menu {\n margin-top: 0px;\n }\n nile-button.rte-align-trigger::part(base),\n nile-button.rte-default-trigger::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n nile-button.rte-align-trigger::part(base) {\n\n border: none;\n}\n\n \n ",this.insertBefore(t,this.firstChild);}},{key:"render",value:function render(){var _this3=this;var t=this.parsedOptions;this.ensureDefault();var e=t.find(function(t){return t.value===_this3.selectedValue;});if("align"===this.type){var _i=e!==null&&e!==void 0&&e.icon?n(_templateObject||(_templateObject=_taggedTemplateLiteral(["<nile-icon name=\"","\"></nile-icon>"])),e.icon):this.label||"Align";return n(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <nile-dropdown class=\"rte-align-dd\">\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"rte-align-trigger\"\n >\n ","\n </nile-button>\n <nile-menu class=\"rte-align-menu\">\n ","\n </nile-menu>\n </nile-dropdown>\n "])),_i,t.map(function(t){return n(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <nile-menu-item\n class=\"rte-align-item\"\n ?active=","\n @click=","\n >\n <nile-tooltip hoist content=\"","\">\n <nile-icon name=\"","\"></nile-icon>\n </nile-tooltip>\n </nile-menu-item>\n "])),t.value===_this3.selectedValue,function(){return _this3.onSelect(t.value);},t.label,t.icon);}));}if("font"===this.type){var _i2=(e===null||e===void 0?void 0:e.label)||this.label||"Font";return n(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <nile-dropdown class=\"rte-default-dd\">\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"rte-default-trigger\"\n style=\"font-family: ","\"\n >\n "," <nile-icon name=\"arrowdown\"></nile-icon>\n </nile-button>\n <nile-menu class=\"rte-default-menu\">\n ","\n </nile-menu>\n </nile-dropdown>\n "])),(e===null||e===void 0?void 0:e.value)||"inherit",_i2,t.map(function(t){return n(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n <nile-menu-item\n style=\"font-family: ","\"\n ?active=","\n @click=","\n >\n ","\n </nile-menu-item>\n "])),t.value,t.value===_this3.selectedValue,function(){return _this3.onSelect(t.value);},t.label);}));}var i=(e===null||e===void 0?void 0:e.label)||this.label||"Select";return n(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["\n <nile-dropdown class=\"rte-default-dd\">\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"rte-default-trigger\"\n >\n "," <nile-icon name=\"arrowdown\"></nile-icon>\n </nile-button>\n <nile-menu class=\"rte-default-menu\">\n ","\n </nile-menu>\n </nile-dropdown>\n "])),i,t.map(function(t){return n(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["\n <nile-menu-item\n ?active=","\n @click=","\n >\n ","\n </nile-menu-item>\n "])),t.value===_this3.selectedValue,function(){return _this3.onSelect(t.value);},t.label);}));}}]);}(e);t([i({type:String})],o.prototype,"type",void 0),t([i({type:String})],o.prototype,"options",void 0),t([i({attribute:!1})],o.prototype,"optionsObj",void 0),t([i({type:String})],o.prototype,"label",void 0),t([l()],o.prototype,"selectedValue",void 0),o=t([r("nile-rte-select")],o);}};});
2
+ //# sourceMappingURL=nile-rte-select.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-rte-select.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rte-select.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\ntype HeadingTag = 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\ntype GenericOption = { value: string; label?: string; icon?: string };\ntype HeadingOption = { value: HeadingTag; label?: string; icon?: string };\ntype NormalizedOption = { value: string; label: string; icon?: string };\n\nconst HEADING_ALLOWLIST: ReadonlySet<HeadingTag> = new Set([\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n]);\n\nfunction isHeadingTag(v: string): v is HeadingTag {\n return HEADING_ALLOWLIST.has(v as HeadingTag);\n}\n\n@customElement('nile-rte-select')\nexport class NileRteSelect extends LitElement {\n protected createRenderRoot() {\n return this;\n }\n\n @property({ type: String }) type = '';\n\n @property({ type: String }) options = '[]';\n\n @property({ attribute: false })\n optionsObj?: Array<GenericOption | HeadingOption>;\n\n @property({ type: String }) label = '';\n\n @state() private selectedValue = '';\n\n private mapAlignIcon(v: string) {\n const map: Record<string, string> = {\n left: 'format_align_left',\n center: 'format_align_middle',\n right: 'format_align_right',\n justify: 'format_align_justify',\n };\n return map[v] || 'format_align_left';\n }\n private get parsedOptions(): NormalizedOption[] {\n const source: unknown = this.optionsObj ?? this.options;\n\n let rawArray: any[] = (() => {\n if (Array.isArray(source)) return source;\n try {\n return JSON.parse(String(source));\n } catch {\n return [];\n }\n })();\n\n if (this.type === 'align' && rawArray.length === 0) {\n rawArray = [\n { value: 'left', label: 'Align Left' },\n { value: 'center', label: 'Align Center' },\n { value: 'right', label: 'Align Right' },\n { value: 'justify', label: 'Justify' },\n ];\n }\n\n let items: NormalizedOption[] = rawArray.map((o: any) => {\n const value: string = o?.value ?? o;\n const label: string = o?.label ?? o?.value ?? o;\n const icon: string | undefined =\n o?.icon ??\n (this.type === 'align' ? this.mapAlignIcon(String(value)) : undefined);\n return { value, label, icon };\n });\n\n if (this.type === 'heading') {\n const before = items.length;\n items = items.filter(i => isHeadingTag(i.value));\n if (items.length !== before) {\n }\n if (this.selectedValue && !isHeadingTag(this.selectedValue)) {\n this.selectedValue = '';\n }\n }\n\n return items;\n }\n\n private ensureDefault() {\n if (!this.selectedValue) {\n const first = this.parsedOptions[0];\n if (first) this.selectedValue = first.value;\n }\n }\n\n private onSelect(value: string) {\n if (this.type === 'heading' && !isHeadingTag(value)) {\n console.warn(\n `[nile-rte-select] Ignoring invalid heading value: ${value}`\n );\n return;\n }\n this.selectedValue = value;\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: value,\n bubbles: true,\n composed: true,\n })\n );\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.injectLocalStyles();\n }\n\n private injectLocalStyles() {\n if (this.querySelector('style[data-rte-select-style]')) return;\n\n const style = document.createElement('style');\n style.setAttribute('data-rte-select-style', 'true');\n style.textContent = `\n nile-menu.rte-align-menu::part(menu__items-wrapper) {\n display: flex;\n }\n nile-menu.rte-align-menu,\n nile-menu.rte-default-menu {\n margin-top: 0px;\n }\n nile-button.rte-align-trigger::part(base),\n nile-button.rte-default-trigger::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n nile-button.rte-align-trigger::part(base) {\n\n border: none;\n}\n\n \n `;\n this.insertBefore(style, this.firstChild);\n }\n\n render() {\n const opts = this.parsedOptions;\n this.ensureDefault();\n const current = opts.find(o => o.value === this.selectedValue);\n\n if (this.type === 'align') {\n const trigger = current?.icon\n ? html`<nile-icon name=\"${current.icon}\"></nile-icon>`\n : this.label || 'Align';\n\n return html`\n <nile-dropdown class=\"rte-align-dd\">\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"rte-align-trigger\"\n >\n ${trigger}\n </nile-button>\n <nile-menu class=\"rte-align-menu\">\n ${opts.map(\n o => html`\n <nile-menu-item\n class=\"rte-align-item\"\n ?active=${o.value === this.selectedValue}\n @click=${() => this.onSelect(o.value)}\n >\n <nile-tooltip hoist content=\"${o.label}\">\n <nile-icon name=\"${o.icon}\"></nile-icon>\n </nile-tooltip>\n </nile-menu-item>\n `\n )}\n </nile-menu>\n </nile-dropdown>\n `;\n }\n\n if (this.type === 'font') {\n const triggerText = current?.label || this.label || 'Font';\n return html`\n <nile-dropdown class=\"rte-default-dd\">\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"rte-default-trigger\"\n style=\"font-family: ${current?.value || 'inherit'}\"\n >\n ${triggerText} <nile-icon name=\"arrowdown\"></nile-icon>\n </nile-button>\n <nile-menu class=\"rte-default-menu\">\n ${opts.map(\n o => html`\n <nile-menu-item\n style=\"font-family: ${o.value}\"\n ?active=${o.value === this.selectedValue}\n @click=${() => this.onSelect(o.value)}\n >\n ${o.label}\n </nile-menu-item>\n `\n )}\n </nile-menu>\n </nile-dropdown>\n `;\n }\n\n const triggerText = current?.label || this.label || 'Select';\n return html`\n <nile-dropdown class=\"rte-default-dd\">\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"rte-default-trigger\"\n >\n ${triggerText} <nile-icon name=\"arrowdown\"></nile-icon>\n </nile-button>\n <nile-menu class=\"rte-default-menu\">\n ${opts.map(\n o => html`\n <nile-menu-item\n ?active=${o.value === this.selectedValue}\n @click=${() => this.onSelect(o.value)}\n >\n ${o.label}\n </nile-menu-item>\n `\n )}\n </nile-menu>\n </nile-dropdown>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-rte-select': NileRteSelect;\n }\n}\n"],"names":["isHeadingTag","v","HEADING_ALLOWLIST","has","setters","_tslib","Set","NileRteSelect","o","this","type","options","label","selectedValue","_this","_inherits","_e","_createClass","key","value","createRenderRoot","mapAlignIcon","left","center","right","justify","get","_this$optionsObj","_this2","source","optionsObj","rawArray","Array","isArray","JSON","parse","String","_unused","length","items","map","_t$value","_ref","_t$label","_t$icon","icon","undefined","filter","i","ensureDefault","first","parsedOptions","onSelect","dispatchEvent","CustomEvent","detail","bubbles","composed","console","warn","concat","connectedCallback","super","injectLocalStyles","querySelector","style","document","createElement","setAttribute","textContent","insertBefore","firstChild","render","opts","current","find","trigger","html","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","triggerText","_templateObject4","_templateObject5","_templateObject6","_templateObject7","__decorate","LitElement","property","prototype","attribute","state","customElement"],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import{__decorate as t}from"tslib";import{LitElement as e,html as n}from"lit";import{property as i,state as l,customElement as r}from"lit/decorators.js";const s=new Set(["p","h1","h2","h3","h4","h5","h6"]);function a(t){return s.has(t)}let o=class extends e{constructor(){super(...arguments),this.type="",this.options="[]",this.label="",this.selectedValue=""}createRenderRoot(){return this}mapAlignIcon(t){return{left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify"}[t]||"format_align_left"}get parsedOptions(){const t=this.optionsObj??this.options;let e=(()=>{if(Array.isArray(t))return t;try{return JSON.parse(String(t))}catch{return[]}})();"align"===this.type&&0===e.length&&(e=[{value:"left",label:"Align Left"},{value:"center",label:"Align Center"},{value:"right",label:"Align Right"},{value:"justify",label:"Justify"}]);let n=e.map((t=>{const e=t?.value??t;return{value:e,label:t?.label??t?.value??t,icon:t?.icon??("align"===this.type?this.mapAlignIcon(String(e)):void 0)}}));if("heading"===this.type){n.length;n=n.filter((t=>a(t.value))),n.length,this.selectedValue&&!a(this.selectedValue)&&(this.selectedValue="")}return n}ensureDefault(){if(!this.selectedValue){const t=this.parsedOptions[0];t&&(this.selectedValue=t.value)}}onSelect(t){"heading"!==this.type||a(t)?(this.selectedValue=t,this.dispatchEvent(new CustomEvent("change",{detail:t,bubbles:!0,composed:!0}))):console.warn(`[nile-rte-select] Ignoring invalid heading value: ${t}`)}connectedCallback(){super.connectedCallback(),this.injectLocalStyles()}injectLocalStyles(){if(this.querySelector("style[data-rte-select-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-select-style","true"),t.textContent="\n nile-menu.rte-align-menu::part(menu__items-wrapper) {\n display: flex;\n }\n nile-menu.rte-align-menu,\n nile-menu.rte-default-menu {\n margin-top: 0px;\n }\n nile-button.rte-align-trigger::part(base),\n nile-button.rte-default-trigger::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n nile-button.rte-align-trigger::part(base) {\n\n border: none;\n}\n\n \n ",this.insertBefore(t,this.firstChild)}render(){const t=this.parsedOptions;this.ensureDefault();const e=t.find((t=>t.value===this.selectedValue));if("align"===this.type){const i=e?.icon?n`<nile-icon name="${e.icon}"></nile-icon>`:this.label||"Align";return n`
2
+ <nile-dropdown class="rte-align-dd">
3
+ <nile-button
4
+ slot="trigger"
5
+ variant="tertiary"
6
+ class="rte-align-trigger"
7
+ >
8
+ ${i}
9
+ </nile-button>
10
+ <nile-menu class="rte-align-menu">
11
+ ${t.map((t=>n`
12
+ <nile-menu-item
13
+ class="rte-align-item"
14
+ ?active=${t.value===this.selectedValue}
15
+ @click=${()=>this.onSelect(t.value)}
16
+ >
17
+ <nile-tooltip hoist content="${t.label}">
18
+ <nile-icon name="${t.icon}"></nile-icon>
19
+ </nile-tooltip>
20
+ </nile-menu-item>
21
+ `))}
22
+ </nile-menu>
23
+ </nile-dropdown>
24
+ `}if("font"===this.type){const i=e?.label||this.label||"Font";return n`
25
+ <nile-dropdown class="rte-default-dd">
26
+ <nile-button
27
+ slot="trigger"
28
+ variant="tertiary"
29
+ class="rte-default-trigger"
30
+ style="font-family: ${e?.value||"inherit"}"
31
+ >
32
+ ${i} <nile-icon name="arrowdown"></nile-icon>
33
+ </nile-button>
34
+ <nile-menu class="rte-default-menu">
35
+ ${t.map((t=>n`
36
+ <nile-menu-item
37
+ style="font-family: ${t.value}"
38
+ ?active=${t.value===this.selectedValue}
39
+ @click=${()=>this.onSelect(t.value)}
40
+ >
41
+ ${t.label}
42
+ </nile-menu-item>
43
+ `))}
44
+ </nile-menu>
45
+ </nile-dropdown>
46
+ `}const i=e?.label||this.label||"Select";return n`
47
+ <nile-dropdown class="rte-default-dd">
48
+ <nile-button
49
+ slot="trigger"
50
+ variant="tertiary"
51
+ class="rte-default-trigger"
52
+ >
53
+ ${i} <nile-icon name="arrowdown"></nile-icon>
54
+ </nile-button>
55
+ <nile-menu class="rte-default-menu">
56
+ ${t.map((t=>n`
57
+ <nile-menu-item
58
+ ?active=${t.value===this.selectedValue}
59
+ @click=${()=>this.onSelect(t.value)}
60
+ >
61
+ ${t.label}
62
+ </nile-menu-item>
63
+ `))}
64
+ </nile-menu>
65
+ </nile-dropdown>
66
+ `}};t([i({type:String})],o.prototype,"type",void 0),t([i({type:String})],o.prototype,"options",void 0),t([i({attribute:!1})],o.prototype,"optionsObj",void 0),t([i({type:String})],o.prototype,"label",void 0),t([l()],o.prototype,"selectedValue",void 0),o=t([r("nile-rte-select")],o);
@@ -0,0 +1,2 @@
1
+ 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);}System.register(["tslib","lit","lit/decorators.js"],function(_export,_context){"use strict";var t,r,e,o,i;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 _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){r=_lit.LitElement;},function(_litDecoratorsJs){e=_litDecoratorsJs.property;o=_litDecoratorsJs.customElement;}],execute:function execute(){i=/*#__PURE__*/function(_r){function i(){var _this;_classCallCheck(this,i);_this=_callSuper(this,i,arguments),_this.name="",_this.label="";return _this;}_inherits(i,_r);return _createClass(i,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"shouldUpdate",value:function shouldUpdate(){return!1;}}]);}(r);t([e({type:String})],i.prototype,"name",void 0),t([e({type:String})],i.prototype,"label",void 0),i=t([o("nile-rte-toolbar-item")],i);}};});
2
+ //# sourceMappingURL=nile-rte-toolbar-item.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-rte-toolbar-item.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rte-toolbar-item.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('nile-rte-toolbar-item')\nexport class NileRteToolbarItem extends LitElement {\n protected createRenderRoot() { return this; }\n protected shouldUpdate() { return false; }\n\n @property({ type: String }) name = '';\n @property({ type: String }) label = '';\n\n}\ndeclare global { interface HTMLElementTagNameMap { 'nile-rte-toolbar-item': NileRteToolbarItem; } }\n"],"names":["NileRteToolbarItem","i","constructor","this","name","label","_this","_inherits","_r","_createClass","key","value","createRenderRoot","shouldUpdate","__decorate","LitElement","property","type","String","prototype","customElement"],"mappings":"gyFAIaA,CAAAA,uBAAAA,EAAAA,EAAN,SAAAC,EAAA,CAAAC,KAAAA,KAAAA,CAAAA,eAAAA,MAAAA,CAAAA,mCAIuBC,EAAAA,KAAAA,CAAIC,IAAG,CAAA,EAAA,CACPD,KAAAA,CAAKE,KAAAA,CAAG,EAErC,QAAAC,KAAA,EANWC,SAAA,CAAAN,CAAA,CAAAO,EAAA,SAAAC,YAAA,CAAAR,CAAA,GAAAS,GAAA,oBAAAC,KAAA,UAAAC,gBAAAA,CAAAA,CAAAA,CAAqB,MAAOT,KAAO,EACnC,GAAAO,GAAA,gBAAAC,KAAA,UAAAE,YAAAA,CAAAA,EAAiB,MAAO,CAAA,CAAQ,EAEdC,MAJUC,CAAAA,EAIVD,CAAAA,CAAA,CAA3BE,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,MAAoBlB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAmB,SAAA,CAAA,MAAA,CAAA,IAAA,EACVL,CAAAA,CAAAA,CAAAA,CAAA,CAA3BE,CAAS,CAAA,CAAEC,IAAMC,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAqBlB,CAAAmB,CAAAA,SAAAA,CAAA,OAAA,CAAA,IAAA,EAAA,CAAA,CAL5BnB,CAAkBc,CAAAA,CAAAA,CAAA,CAD9BM,CAAAA,CAAc,uBACFpB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
@@ -0,0 +1 @@
1
+ import{__decorate as t}from"tslib";import{LitElement as r}from"lit";import{property as e,customElement as o}from"lit/decorators.js";let i=class extends r{constructor(){super(...arguments),this.name="",this.label=""}createRenderRoot(){return this}shouldUpdate(){return!1}};t([e({type:String})],i.prototype,"name",void 0),t([e({type:String})],i.prototype,"label",void 0),i=t([o("nile-rte-toolbar-item")],i);
@@ -0,0 +1,2 @@
1
+ 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);}System.register(["tslib","lit","lit/decorators.js"],function(_export,_context){"use strict";var t,r,e,o;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 _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){r=_lit.LitElement;},function(_litDecoratorsJs){e=_litDecoratorsJs.customElement;}],execute:function execute(){o=/*#__PURE__*/function(_r){function o(){_classCallCheck(this,o);return _callSuper(this,o,arguments);}_inherits(o,_r);return _createClass(o,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"shouldUpdate",value:function shouldUpdate(){return!1;}}]);}(r);o=t([e("nile-rte-toolbar")],o);}};});
2
+ //# sourceMappingURL=nile-rte-toolbar.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-rte-toolbar.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rte-toolbar.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('nile-rte-toolbar')\nexport class NileRteToolbar extends LitElement {\n protected createRenderRoot() { return this; } \n protected shouldUpdate() { return false; } \n}\ndeclare global { interface HTMLElementTagNameMap { 'nile-rte-toolbar': NileRteToolbar; } }"],"names":["NileRteToolbar","createRenderRoot","this","key","value","shouldUpdate","LitElement","__decorate","customElement"],"mappings":"kwFAIaA,CAAAA,uBAAAA,EAAAA,WAAAA,EAAAA,EAAAA,eAAAA,MAAAA,CAAAA,SAAAA,UAAAA,MAAAA,CAAAA,CAAAA,SAAAA,GAAAA,SAAAA,CAAAA,CAAAA,CAAAA,EAAAA,SAAAA,YAAAA,CAAAA,CAAAA,GAAAA,GAAAA,oBAAAA,KAAAA,CACD,SAAAC,gBAAAA,CAAAA,CAAAA,CAAqB,MAAOC,KAAO,EACnC,GAAAC,GAAA,gBAAAC,KAAA,UAAAC,YAAAA,CAAAA,CAAAA,CAAiB,MAAO,CAAA,CAAQ,QAFRC,CAAAA,EAAvBN,CAAcO,CAAAA,CAAAA,CAAA,CAD1BC,CAAAA,CAAc,kBACFR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
@@ -0,0 +1 @@
1
+ import{__decorate as t}from"tslib";import{LitElement as r}from"lit";import{customElement as e}from"lit/decorators.js";let o=class extends r{createRenderRoot(){return this}shouldUpdate(){return!1}};o=t([e("nile-rte-toolbar")],o);
@@ -0,0 +1,2 @@
1
+ System.register([],function(_export,_context){"use strict";function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function n(n,t){for(;n&&n!==t;){var _n;if(n instanceof HTMLElement){var _t=getComputedStyle(n).display;if(n.tagName.match(/^(P|DIV|H1|H2|H3|H4|H5|H6|LI)$/)||"block"===_t||"list-item"===_t)return n;}n=((_n=n)===null||_n===void 0?void 0:_n.parentNode)||null;}return t;}function t(n){for(;n&&!(n instanceof HTMLElement);)n=n.parentNode;return n;}function o(n){var t=n.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if(!t)return"#000000";return"#".concat(Number(t[1]).toString(16).padStart(2,"0")).concat(Number(t[2]).toString(16).padStart(2,"0")).concat(Number(t[3]).toString(16).padStart(2,"0"));}function e(n){var t=n.parentNode;if(t){for(;n.firstChild;)t.insertBefore(n.firstChild,n);t.removeChild(n);}}function r(n,t,o){var e=document.createElement(t);o&&Object.entries(o).forEach(function(_ref){var _ref2=_slicedToArray(_ref,2),n=_ref2[0],t=_ref2[1];return e.setAttribute(n,t);});try{n.surroundContents(e);}catch(_unused){var _t2=n.extractContents();e.appendChild(_t2),n.insertNode(e);}}function c(n,t,o){var r=n.parentNode;for(;r&&r!==t;)r instanceof HTMLElement&&o(r)?(e(r),r=n.parentNode):r=r.parentNode;}function u(t,o,e){var _strong$em$u$span$o;var u=document.getSelection();if(!u||0===u.rangeCount)return;var i=u.getRangeAt(0),f=(_strong$em$u$span$o={strong:["strong","b"],em:["em","i"],u:["u"],span:["span"]}[o])!==null&&_strong$em$u$span$o!==void 0?_strong$em$u$span$o:[o];function s(n){return f.includes(n.tagName.toLowerCase());}if(i.collapsed){var _n2=i.startContainer;for(;_n2&&_n2!==t;){if(_n2 instanceof HTMLElement&&s(_n2))return void c(i.startContainer,t,s);_n2=_n2.parentNode;}var _r=document.createElement(o);e&&Object.entries(e).forEach(function(_ref3){var _ref4=_slicedToArray(_ref3,2),n=_ref4[0],t=_ref4[1];return _r.setAttribute(n,t);}),_r.appendChild(document.createTextNode("​")),i.insertNode(_r);var _f=document.createRange();return _f.setStart(_r.firstChild,1),_f.collapse(!0),u.removeAllRanges(),void u.addRange(_f);}var d=n(i.startContainer,t),l=n(i.endContainer,t);if(d&&l&&d!==l){var _n3=[];var _t3=d;for(;_t3&&(_t3 instanceof HTMLElement&&_n3.push(_t3),_t3!==l);)_t3=_t3.nextSibling;return void _n3.forEach(function(n,t){var u=document.createRange();u.selectNodeContents(n);var i=[],f=document.createTreeWalker(n,NodeFilter.SHOW_TEXT,null);var d;for(;d=f.nextNode();){var _d$nodeValue;((_d$nodeValue=d.nodeValue)===null||_d$nodeValue===void 0?void 0:_d$nodeValue.trim())&&i.push(d);}i.length>0&&i.every(function(t){var o=t;for(;o&&o!==n;){if(o instanceof HTMLElement&&s(o))return!0;o=o.parentNode;}return!1;})?i.forEach(function(t){return c(t,n,s);}):r(u,o,e);});}var m=document.createTreeWalker(i.commonAncestorContainer,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 i.compareBoundaryPoints(Range.END_TO_START,t)<=0&&i.compareBoundaryPoints(Range.START_TO_END,t)>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;}}),a=[];var H;for(;H=m.nextNode();)a.push(H);if(0===a.length){var _n4=i.startContainer;for(;_n4&&_n4!==t;){if(_n4 instanceof HTMLElement&&s(_n4))return void c(i.startContainer,t,s);_n4=_n4.parentNode;}}a.length>0&&a.every(function(n){var o=n;for(;o&&o!==t;){if(o instanceof HTMLElement&&s(o))return!0;o=o.parentNode;}return!1;})?a.forEach(function(n){return c(n,t,s);}):r(i,o,e);var N=document.createRange();N.setStart(i.startContainer,i.startOffset),N.setEnd(i.endContainer,i.endOffset),u.removeAllRanges(),u.addRange(N);}function i(t,o){var e=document.getSelection();if(!e||0===e.rangeCount)return;var r=n(e.getRangeAt(0).startContainer,t);if(!r)return;if(r.tagName.toLowerCase()===o)return;var c=document.createElement(o);for(;r.firstChild;)c.appendChild(r.firstChild);r.replaceWith(c);var u=document.createRange();u.selectNodeContents(c),u.collapse(!0),e.removeAllRanges(),e.addRange(u);}function f(t,o){var e=document.getSelection();if(!e||0===e.rangeCount)return;var r=n(e.getRangeAt(0).startContainer,t);if(r)if("li"===r.tagName.toLowerCase()){r.style.textAlign=o;var _n5=r.closest("ul,ol");_n5&&(_n5.style.textAlign=o);}else r.style.textAlign="justify"===o?"justify":o;}function s(n,t){var o=document.getSelection();if(!o||0===o.rangeCount)return;var e=o.getRangeAt(0);if(e.collapsed){var _n6=document.createElement("span");_n6.style.fontFamily=t,_n6.appendChild(document.createTextNode("​")),e.insertNode(_n6);var _r2=document.createRange();return _r2.setStart(_n6.firstChild,1),_r2.collapse(!0),o.removeAllRanges(),void o.addRange(_r2);}r(e,"span",{style:"font-family:".concat(t)});}function d(n,t,o){for(;t&&t!==n;){if(t instanceof HTMLSpanElement&&t.hasAttribute(o))return t;t=t.parentNode;}return null;}function l(n,t,o,e){var r=window.getSelection();if(!r||0===r.rangeCount)return;var c=r.getRangeAt(0);if(!n.contains(c.commonAncestorContainer))return;var u=c.cloneRange();if(u.collapsed){var _c=d(n,u.startContainer,e);if(_c)return _c.style[t]=o,void a(n,e,t);var _i=document.createElement("span");_i.setAttribute(e,"1"),_i.style[t]=o,_i.appendChild(document.createTextNode("​")),u.insertNode(_i);var _f2=document.createRange();return _f2.setStart(_i.firstChild,1),_f2.collapse(!0),r.removeAllRanges(),r.addRange(_f2),void a(n,e,t);}var i=d(n,u.startContainer,e),f=d(n,u.endContainer,e);if(i&&i===f){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;}(u,i))i.style[t]=o;else{var _n7=function(n,t,o,e,r){var c=n.style[e],u=document.createRange();u.setStart(n,0),u.setEnd(t.startContainer,t.startOffset);var i=document.createRange();i.setStart(t.endContainer,t.endOffset),i.setEnd(n,n.childNodes.length);var f=document.createDocumentFragment(),s=function s(n){var t=document.createElement("span");return t.setAttribute(o,"1"),t.style[e]=n,t;};if(m(u)){var _n8=s(c);_n8.appendChild(u.cloneContents()),f.appendChild(_n8);}var d=s(r);if(d.appendChild(t.cloneContents()),f.appendChild(d),m(i)){var _n9=s(c);_n9.appendChild(i.cloneContents()),f.appendChild(_n9);}return n.replaceWith(f),d;}(i,u,e,t,o),_r3=window.getSelection(),_c2=document.createRange();_c2.selectNodeContents(_n7),_r3!==null&&_r3!==void 0&&_r3.removeAllRanges(),_r3===null||_r3===void 0?void 0:_r3.addRange(_c2);}return void a(n,e,t);}var s=function(){var n=u.commonAncestorContainer;for(;n&&!(n instanceof HTMLElement);)n=n.parentNode;return n;}(),l=document.createTreeWalker(s||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 u.compareBoundaryPoints(Range.END_TO_START,t)<0&&u.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;}}),H=[];var N;for(;N=l.nextNode();)H.push(N);H.forEach(function(r){var c=0,i=r.length;r===u.startContainer&&(c=u.startOffset),r===u.endContainer&&(i=u.endOffset),c>0&&(r=r.splitText(c)),i<r.length&&r.splitText(i);var f=d(n,r,e);if(f)return void(f.style[t]=o);var s=document.createElement("span");s.setAttribute(e,"1"),s.style[t]=o;r.parentElement.replaceChild(s,r),s.appendChild(r);}),a(n,e,t),r.removeAllRanges(),r.addRange(u);}function m(n){if(n.collapsed)return!1;return(n.cloneContents().textContent||"").length>0;}function a(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 H(n,t){l(n,"color",t,"data-rte-color");}function N(n,t){l(n,"backgroundColor",t,"data-rte-bg");}function p(t,o){var e=document.getSelection();if(!e||0===e.rangeCount)return;var r=e.getRangeAt(0),c=[],u=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:function acceptNode(n){if(!(n instanceof HTMLElement))return NodeFilter.FILTER_SKIP;if(!/^(P|DIV|LI|H[1-6])$/.test(n.tagName))return NodeFilter.FILTER_SKIP;var t=document.createRange();t.selectNodeContents(n);return r.compareBoundaryPoints(Range.END_TO_START,t)<0&&r.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;}});var i;for(;i=u.nextNode();)c.push(i);if(0===c.length){var _o=n(r.startContainer,t);_o&&c.push(_o);}var f=c[0].closest("li");if(f){var _n10=f.closest("ul,ol");if(!_n10)return;if(_n10.tagName.toLowerCase()===o){var _t4=document.createDocumentFragment();for(var _i2=0,_Array$from=Array.from(_n10.querySelectorAll("li"));_i2<_Array$from.length;_i2++){var _o2=_Array$from[_i2];var _n11=document.createElement("p");for(;_o2.firstChild;)_n11.appendChild(_o2.firstChild);_t4.appendChild(_n11);}_n10.replaceWith(_t4);}else{var _t5=document.createElement(o);for(;_n10.firstChild;)_t5.appendChild(_n10.firstChild);_n10.replaceWith(_t5);}return;}var s=document.createElement(o);for(var _i3=0,_c3=c;_i3<_c3.length;_i3++){var _n12=_c3[_i3];var _t6=document.createElement("li");for(;_n12.firstChild;)_t6.appendChild(_n12.firstChild);s.appendChild(_t6),_n12.replaceWith(s);}}_export({a:i,b:s,c:N,d:H,e:p,f:n,n:t,r:o,s:f,t:u});return{setters:[],execute:function execute(){}};});
2
+ //# sourceMappingURL=utils.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs.js","sources":["../../../src/nile-rich-text-editor/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 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\nexport function rgbToHex(rgb: string): string {\n const m = rgb.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/i);\n if (!m) return '#000000';\n const r = Number(m[1]).toString(16).padStart(2, '0');\n const g = Number(m[2]).toString(16).padStart(2, '0');\n const b = Number(m[3]).toString(16).padStart(2, '0');\n return `#${r}${g}${b}`;\n}\n\nexport function unwrap(node: HTMLElement) {\n const p = node.parentNode;\n if (!p) return;\n while (node.firstChild) p.insertBefore(node.firstChild, node);\n p.removeChild(node);\n}\n\nexport function surroundInline(\n range: Range,\n tag: string,\n attrs?: Record<string, string>\n) {\n const wrap = document.createElement(tag);\n if (attrs) Object.entries(attrs).forEach(([k, v]) => wrap.setAttribute(k, v));\n try {\n range.surroundContents(wrap);\n } catch {\n const frag = range.extractContents();\n wrap.appendChild(frag);\n range.insertNode(wrap);\n }\n}\n\nfunction unwrapAllMatching(\n node: Node,\n root: HTMLElement,\n matcher: (el: HTMLElement) => boolean\n) {\n let n: Node | null = node.parentNode;\n while (n && n !== root) {\n if (n instanceof HTMLElement && matcher(n)) {\n unwrap(n);\n\n n = node.parentNode;\n continue;\n }\n n = n.parentNode;\n }\n}\n\nexport function toggleInlineTag(\n root: HTMLElement,\n tag: 'strong' | 'em' | 'u' | 'span',\n attrs?: Record<string, string>\n) {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) {\n return;\n }\n const range = sel.getRangeAt(0);\n\n const aliases: Record<string, string[]> = {\n strong: ['strong', 'b'],\n em: ['em', 'i'],\n u: ['u'],\n span: ['span'],\n };\n const candidates = aliases[tag] ?? [tag];\n\n function isMatchingInline(el: HTMLElement): boolean {\n return candidates.includes(el.tagName.toLowerCase());\n }\n\n if (range.collapsed) {\n let n: Node | null = range.startContainer;\n while (n && n !== root) {\n if (n instanceof HTMLElement && isMatchingInline(n)) {\n unwrapAllMatching(range.startContainer, root, isMatchingInline);\n return;\n }\n n = n.parentNode;\n }\n\n const elm = document.createElement(tag);\n if (attrs)\n Object.entries(attrs).forEach(([k, v]) => elm.setAttribute(k, v));\n elm.appendChild(document.createTextNode('\\u200b'));\n range.insertNode(elm);\n\n const r = document.createRange();\n r.setStart(elm.firstChild!, 1);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n\n return;\n }\n\n const startBlock = closestBlock(range.startContainer, root);\n const endBlock = closestBlock(range.endContainer, root);\n if (startBlock && endBlock && startBlock !== endBlock) {\n const blocks: HTMLElement[] = [];\n let node: Node | null = startBlock;\n while (node) {\n if (node instanceof HTMLElement) blocks.push(node);\n if (node === endBlock) break;\n node = node.nextSibling;\n }\n\n blocks.forEach((block, i) => {\n const r = document.createRange();\n r.selectNodeContents(block);\n\n const textNodes: Text[] = [];\n const tw = document.createTreeWalker(block, NodeFilter.SHOW_TEXT, null);\n let tn: Node | null;\n while ((tn = tw.nextNode())) {\n if (tn.nodeValue?.trim()) textNodes.push(tn as Text);\n }\n\n const allWrapped =\n textNodes.length > 0 &&\n textNodes.every(txt => {\n let n: Node | null = txt;\n while (n && n !== block) {\n if (n instanceof HTMLElement && isMatchingInline(n)) return true;\n n = n.parentNode;\n }\n return false;\n });\n\n if (allWrapped) {\n textNodes.forEach(txt =>\n unwrapAllMatching(txt, block, isMatchingInline)\n );\n } else {\n surroundInline(r, tag, attrs);\n }\n });\n return;\n }\n const walker = document.createTreeWalker(\n range.commonAncestorContainer,\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 textNodes: Text[] = [];\n let t: Node | null;\n while ((t = walker.nextNode())) textNodes.push(t as Text);\n\n if (textNodes.length === 0) {\n let n: Node | null = range.startContainer;\n while (n && n !== root) {\n if (n instanceof HTMLElement && isMatchingInline(n)) {\n unwrapAllMatching(range.startContainer, root, isMatchingInline);\n return;\n }\n n = n.parentNode;\n }\n }\n\n const allWrapped =\n textNodes.length > 0 &&\n textNodes.every(txt => {\n let n: Node | null = txt;\n while (n && n !== root) {\n if (n instanceof HTMLElement && isMatchingInline(n)) {\n return true;\n }\n n = n.parentNode;\n }\n return false;\n });\n\n if (allWrapped) {\n textNodes.forEach(txt => unwrapAllMatching(txt, root, isMatchingInline));\n } else {\n surroundInline(range, tag, attrs);\n }\n\n // restore selection\n const selRange = document.createRange();\n selRange.setStart(range.startContainer, range.startOffset);\n selRange.setEnd(range.endContainer, range.endOffset);\n sel.removeAllRanges();\n sel.addRange(selRange);\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}\n\nexport function setAlignment(\n root: HTMLElement,\n align: 'left' | 'center' | 'right' | 'justify'\n) {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n\n let block = closestBlock(range.startContainer, root);\n if (!block) return;\n\n if (block.tagName.toLowerCase() === 'li') {\n block.style.textAlign = align;\n const list = block.closest('ul,ol') as HTMLElement | null;\n if (list) list.style.textAlign = align;\n } else {\n block.style.textAlign = align === 'justify' ? 'justify' : align;\n }\n}\n\nexport function setFontFamily(root: HTMLElement, family: string) {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (range.collapsed) {\n const span = document.createElement('span');\n span.style.fontFamily = family;\n span.appendChild(document.createTextNode('\\u200b'));\n range.insertNode(span);\n const r = document.createRange();\n r.setStart(span.firstChild!, 1);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n return;\n }\n surroundInline(range, 'span', { style: `font-family:${family}` });\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\nfunction hasRangeContent(r: Range): boolean {\n if (r.collapsed) return false;\n const text = r.cloneContents().textContent || '';\n return text.length > 0;\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\nexport 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\nexport function toggleList(root: HTMLElement, kind: 'ul' | 'ol') {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n\n const blocks: HTMLElement[] = [];\n const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: n => {\n if (!(n instanceof HTMLElement)) return NodeFilter.FILTER_SKIP;\n if (!/^(P|DIV|LI|H[1-6])$/.test(n.tagName)) return NodeFilter.FILTER_SKIP;\n\n const r = document.createRange();\n r.selectNodeContents(n);\n const intersects =\n range.compareBoundaryPoints(Range.END_TO_START, r) < 0 &&\n range.compareBoundaryPoints(Range.START_TO_END, r) > 0;\n return intersects ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n },\n });\n\n let n: Node | null;\n while ((n = walker.nextNode())) {\n blocks.push(n as HTMLElement);\n }\n\n if (blocks.length === 0) {\n const block = closestBlock(range.startContainer, root);\n if (block) blocks.push(block);\n }\n\n const firstLi = blocks[0].closest('li');\n if (firstLi) {\n const currentList = firstLi.closest('ul,ol') as HTMLElement | null;\n if (!currentList) return;\n\n if (currentList.tagName.toLowerCase() === kind) {\n const frag = document.createDocumentFragment();\n for (const li of Array.from(currentList.querySelectorAll('li'))) {\n const p = document.createElement('p');\n while (li.firstChild) p.appendChild(li.firstChild);\n frag.appendChild(p);\n }\n currentList.replaceWith(frag);\n } else {\n const newList = document.createElement(kind);\n while (currentList.firstChild)\n newList.appendChild(currentList.firstChild);\n currentList.replaceWith(newList);\n }\n return;\n }\n\n const newList = document.createElement(kind);\n for (const block of blocks) {\n const li = document.createElement('li');\n while (block.firstChild) li.appendChild(block.firstChild);\n newList.appendChild(li);\n block.replaceWith(newList);\n }\n}\n\nexport function insertOrEditLink(root: HTMLElement, href?: string) {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n\n let n: Node | null = range.startContainer;\n let a: HTMLAnchorElement | null = null;\n while (n && n !== root) {\n if (n instanceof HTMLAnchorElement) {\n a = n;\n break;\n }\n n = n.parentNode;\n }\n\n const url =\n href ??\n (typeof window !== 'undefined'\n ? window.prompt('Enter URL', a?.href || 'https://') || ''\n : '');\n if (!url) return;\n\n if (a) {\n a.href = url;\n return;\n }\n\n if (range.collapsed) {\n const link = document.createElement('a');\n link.href = url;\n link.textContent = url;\n range.insertNode(link);\n const r = document.createRange();\n r.setStartAfter(link);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n return;\n }\n\n const link = document.createElement('a');\n link.href = url;\n try {\n range.surroundContents(link);\n } catch {\n const frag = range.extractContents();\n link.appendChild(frag);\n range.insertNode(link);\n }\n}\n"],"names":["closestBlock","node","root","_n","HTMLElement","display","getComputedStyle","tagName","match","parentNode","nearestElement","n","rgbToHex","rgb","m","concat","Number","toString","padStart","unwrap","p","firstChild","insertBefore","removeChild","surroundInline","range","tag","attrs","wrap","document","createElement","Object","entries","forEach","_ref","_ref2","_slicedToArray","k","v","setAttribute","surroundContents","_unused","frag","extractContents","appendChild","insertNode","unwrapAllMatching","matcher","toggleInlineTag","_strong$em$u$span$o","sel","getSelection","rangeCount","getRangeAt","candidates","strong","em","u","span","isMatchingInline","el","includes","toLowerCase","collapsed","startContainer","elm","_ref3","_ref4","createTextNode","r","createRange","setStart","collapse","removeAllRanges","addRange","startBlock","endBlock","endContainer","blocks","push","nextSibling","block","i","selectNodeContents","textNodes","tw","createTreeWalker","NodeFilter","SHOW_TEXT","tn","nextNode","nodeValue","trim","length","every","txt","walker","commonAncestorContainer","acceptNode","FILTER_REJECT","nodeRange","compareBoundaryPoints","Range","END_TO_START","START_TO_END","FILTER_ACCEPT","t","selRange","startOffset","setEnd","endOffset","setBlockTag","nb","replaceWith","setAlignment","align","style","textAlign","list","closest","setFontFamily","family","fontFamily","enclosingStyledSpan","editor","dataAttr","HTMLSpanElement","hasAttribute","applyInlineStyle","cssProp","value","window","r0","contains","cloneRange","enclosing","mergeAdjacentStyledSpans","s","caret","leftEdge","rightEdge","all","START_TO_START","END_TO_END","rangeCoversWholeNode","mid","newValue","oldValue","left","right","childNodes","createDocumentFragment","makeShell","val","hasRangeContent","sLeft","cloneContents","sRight","splitAndRecolorWithinSpan","commonEl","toProcess","text","start","end","splitText","existing","parentElement","replaceChild","textContent","spans","Array","from","querySelectorAll","valOf","child","remove","prev","previousSibling","next","setForeColor","hex","setBackColor","toggleList","kind","SHOW_ELEMENT","FILTER_SKIP","test","firstLi","currentList","_i2","_Array$from","li","newList","_i3","_c3","_export","a"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ function n(n,t){for(;n&&n!==t;){if(n instanceof HTMLElement){const t=getComputedStyle(n).display;if(n.tagName.match(/^(P|DIV|H1|H2|H3|H4|H5|H6|LI)$/)||"block"===t||"list-item"===t)return n}n=n?.parentNode||null}return t}function t(n){for(;n&&!(n instanceof HTMLElement);)n=n.parentNode;return n}function o(n){const t=n.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if(!t)return"#000000";return`#${Number(t[1]).toString(16).padStart(2,"0")}${Number(t[2]).toString(16).padStart(2,"0")}${Number(t[3]).toString(16).padStart(2,"0")}`}function e(n){const t=n.parentNode;if(t){for(;n.firstChild;)t.insertBefore(n.firstChild,n);t.removeChild(n)}}function r(n,t,o){const e=document.createElement(t);o&&Object.entries(o).forEach((([n,t])=>e.setAttribute(n,t)));try{n.surroundContents(e)}catch{const t=n.extractContents();e.appendChild(t),n.insertNode(e)}}function c(n,t,o){let r=n.parentNode;for(;r&&r!==t;)r instanceof HTMLElement&&o(r)?(e(r),r=n.parentNode):r=r.parentNode}function u(t,o,e){const u=document.getSelection();if(!u||0===u.rangeCount)return;const i=u.getRangeAt(0),f={strong:["strong","b"],em:["em","i"],u:["u"],span:["span"]}[o]??[o];function s(n){return f.includes(n.tagName.toLowerCase())}if(i.collapsed){let n=i.startContainer;for(;n&&n!==t;){if(n instanceof HTMLElement&&s(n))return void c(i.startContainer,t,s);n=n.parentNode}const r=document.createElement(o);e&&Object.entries(e).forEach((([n,t])=>r.setAttribute(n,t))),r.appendChild(document.createTextNode("​")),i.insertNode(r);const f=document.createRange();return f.setStart(r.firstChild,1),f.collapse(!0),u.removeAllRanges(),void u.addRange(f)}const d=n(i.startContainer,t),l=n(i.endContainer,t);if(d&&l&&d!==l){const n=[];let t=d;for(;t&&(t instanceof HTMLElement&&n.push(t),t!==l);)t=t.nextSibling;return void n.forEach(((n,t)=>{const u=document.createRange();u.selectNodeContents(n);const i=[],f=document.createTreeWalker(n,NodeFilter.SHOW_TEXT,null);let d;for(;d=f.nextNode();)d.nodeValue?.trim()&&i.push(d);i.length>0&&i.every((t=>{let o=t;for(;o&&o!==n;){if(o instanceof HTMLElement&&s(o))return!0;o=o.parentNode}return!1}))?i.forEach((t=>c(t,n,s))):r(u,o,e)}))}const m=document.createTreeWalker(i.commonAncestorContainer,NodeFilter.SHOW_TEXT,{acceptNode:n=>{if(!n.nodeValue||!n.nodeValue.trim())return NodeFilter.FILTER_REJECT;const t=document.createRange();t.selectNodeContents(n);return i.compareBoundaryPoints(Range.END_TO_START,t)<=0&&i.compareBoundaryPoints(Range.START_TO_END,t)>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),a=[];let H;for(;H=m.nextNode();)a.push(H);if(0===a.length){let n=i.startContainer;for(;n&&n!==t;){if(n instanceof HTMLElement&&s(n))return void c(i.startContainer,t,s);n=n.parentNode}}a.length>0&&a.every((n=>{let o=n;for(;o&&o!==t;){if(o instanceof HTMLElement&&s(o))return!0;o=o.parentNode}return!1}))?a.forEach((n=>c(n,t,s))):r(i,o,e);const N=document.createRange();N.setStart(i.startContainer,i.startOffset),N.setEnd(i.endContainer,i.endOffset),u.removeAllRanges(),u.addRange(N)}function i(t,o){const e=document.getSelection();if(!e||0===e.rangeCount)return;const r=n(e.getRangeAt(0).startContainer,t);if(!r)return;if(r.tagName.toLowerCase()===o)return;const c=document.createElement(o);for(;r.firstChild;)c.appendChild(r.firstChild);r.replaceWith(c);const u=document.createRange();u.selectNodeContents(c),u.collapse(!0),e.removeAllRanges(),e.addRange(u)}function f(t,o){const e=document.getSelection();if(!e||0===e.rangeCount)return;let r=n(e.getRangeAt(0).startContainer,t);if(r)if("li"===r.tagName.toLowerCase()){r.style.textAlign=o;const n=r.closest("ul,ol");n&&(n.style.textAlign=o)}else r.style.textAlign="justify"===o?"justify":o}function s(n,t){const o=document.getSelection();if(!o||0===o.rangeCount)return;const e=o.getRangeAt(0);if(e.collapsed){const n=document.createElement("span");n.style.fontFamily=t,n.appendChild(document.createTextNode("​")),e.insertNode(n);const r=document.createRange();return r.setStart(n.firstChild,1),r.collapse(!0),o.removeAllRanges(),void o.addRange(r)}r(e,"span",{style:`font-family:${t}`})}function d(n,t,o){for(;t&&t!==n;){if(t instanceof HTMLSpanElement&&t.hasAttribute(o))return t;t=t.parentNode}return null}function l(n,t,o,e){const r=window.getSelection();if(!r||0===r.rangeCount)return;const c=r.getRangeAt(0);if(!n.contains(c.commonAncestorContainer))return;const u=c.cloneRange();if(u.collapsed){const c=d(n,u.startContainer,e);if(c)return c.style[t]=o,void a(n,e,t);const i=document.createElement("span");i.setAttribute(e,"1"),i.style[t]=o,i.appendChild(document.createTextNode("​")),u.insertNode(i);const f=document.createRange();return f.setStart(i.firstChild,1),f.collapse(!0),r.removeAllRanges(),r.addRange(f),void a(n,e,t)}const i=d(n,u.startContainer,e),f=d(n,u.endContainer,e);if(i&&i===f){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}(u,i))i.style[t]=o;else{const n=function(n,t,o,e,r){const c=n.style[e],u=document.createRange();u.setStart(n,0),u.setEnd(t.startContainer,t.startOffset);const i=document.createRange();i.setStart(t.endContainer,t.endOffset),i.setEnd(n,n.childNodes.length);const f=document.createDocumentFragment(),s=n=>{const t=document.createElement("span");return t.setAttribute(o,"1"),t.style[e]=n,t};if(m(u)){const n=s(c);n.appendChild(u.cloneContents()),f.appendChild(n)}const d=s(r);if(d.appendChild(t.cloneContents()),f.appendChild(d),m(i)){const n=s(c);n.appendChild(i.cloneContents()),f.appendChild(n)}return n.replaceWith(f),d}(i,u,e,t,o),r=window.getSelection(),c=document.createRange();c.selectNodeContents(n),r?.removeAllRanges(),r?.addRange(c)}return void a(n,e,t)}const s=(()=>{let n=u.commonAncestorContainer;for(;n&&!(n instanceof HTMLElement);)n=n.parentNode;return n})(),l=document.createTreeWalker(s||n,NodeFilter.SHOW_TEXT,{acceptNode:n=>{if(!n.nodeValue||!n.nodeValue.trim())return NodeFilter.FILTER_REJECT;const t=document.createRange();t.selectNodeContents(n);return u.compareBoundaryPoints(Range.END_TO_START,t)<0&&u.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),H=[];let N;for(;N=l.nextNode();)H.push(N);H.forEach((r=>{let c=0,i=r.length;r===u.startContainer&&(c=u.startOffset),r===u.endContainer&&(i=u.endOffset),c>0&&(r=r.splitText(c)),i<r.length&&r.splitText(i);const f=d(n,r,e);if(f)return void(f.style[t]=o);const s=document.createElement("span");s.setAttribute(e,"1"),s.style[t]=o;r.parentElement.replaceChild(s,r),s.appendChild(r)})),a(n,e,t),r.removeAllRanges(),r.addRange(u)}function m(n){if(n.collapsed)return!1;return(n.cloneContents().textContent||"").length>0}function a(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 H(n,t){l(n,"color",t,"data-rte-color")}function N(n,t){l(n,"backgroundColor",t,"data-rte-bg")}function p(t,o){const e=document.getSelection();if(!e||0===e.rangeCount)return;const r=e.getRangeAt(0),c=[],u=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{if(!(n instanceof HTMLElement))return NodeFilter.FILTER_SKIP;if(!/^(P|DIV|LI|H[1-6])$/.test(n.tagName))return NodeFilter.FILTER_SKIP;const t=document.createRange();t.selectNodeContents(n);return r.compareBoundaryPoints(Range.END_TO_START,t)<0&&r.compareBoundaryPoints(Range.START_TO_END,t)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}});let i;for(;i=u.nextNode();)c.push(i);if(0===c.length){const o=n(r.startContainer,t);o&&c.push(o)}const f=c[0].closest("li");if(f){const n=f.closest("ul,ol");if(!n)return;if(n.tagName.toLowerCase()===o){const t=document.createDocumentFragment();for(const o of Array.from(n.querySelectorAll("li"))){const n=document.createElement("p");for(;o.firstChild;)n.appendChild(o.firstChild);t.appendChild(n)}n.replaceWith(t)}else{const t=document.createElement(o);for(;n.firstChild;)t.appendChild(n.firstChild);n.replaceWith(t)}return}const s=document.createElement(o);for(const n of c){const t=document.createElement("li");for(;n.firstChild;)t.appendChild(n.firstChild);s.appendChild(t),n.replaceWith(s)}}export{i as a,s as b,N as c,H as d,p as e,n as f,t as n,o as r,f as s,u as t};