@aquera/nile-elements 1.5.4 → 1.5.6

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 (297) hide show
  1. package/README.md +10 -0
  2. package/demo/index.css +9 -0
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +871 -255
  6. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
  7. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -1
  8. package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +13 -2
  9. package/dist/nile-button/nile-button.cjs.js +1 -1
  10. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  11. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  12. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  13. package/dist/nile-button/nile-button.css.esm.js +89 -33
  14. package/dist/nile-button/nile-button.esm.js +2 -2
  15. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  16. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  17. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  18. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  19. package/dist/nile-calendar/nile-calendar.css.esm.js +59 -2
  20. package/dist/nile-calendar/nile-calendar.esm.js +16 -10
  21. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  22. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  23. package/dist/nile-checkbox/nile-checkbox.css.esm.js +4 -5
  24. package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
  25. package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -1
  26. package/dist/nile-chip/nile-chip.css.esm.js +37 -23
  27. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  28. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  29. package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
  30. package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
  31. package/dist/nile-code-editor/nile-code-editor.css.esm.js +7 -6
  32. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  33. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  34. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  35. package/dist/nile-date-picker/nile-date-picker.esm.js +4 -4
  36. package/dist/nile-detail/index.cjs.js +2 -0
  37. package/dist/nile-detail/index.cjs.js.map +1 -0
  38. package/dist/nile-detail/index.esm.js +1 -0
  39. package/dist/nile-detail/nile-detail.cjs.js +2 -0
  40. package/dist/nile-detail/nile-detail.cjs.js.map +1 -0
  41. package/dist/nile-detail/nile-detail.css.cjs.js +2 -0
  42. package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -0
  43. package/dist/nile-detail/nile-detail.css.esm.js +149 -0
  44. package/dist/nile-detail/nile-detail.esm.js +45 -0
  45. package/dist/nile-detail/nile-detail.utils.cjs.js +2 -0
  46. package/dist/nile-detail/nile-detail.utils.cjs.js.map +1 -0
  47. package/dist/nile-detail/nile-detail.utils.esm.js +1 -0
  48. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  49. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  50. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  51. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -2
  52. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
  53. package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
  54. package/dist/nile-filter-chip/nile-filter-chip.cjs.js +1 -1
  55. package/dist/nile-filter-chip/nile-filter-chip.cjs.js.map +1 -1
  56. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js +1 -1
  57. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js.map +1 -1
  58. package/dist/nile-filter-chip/nile-filter-chip.css.esm.js +24 -2
  59. package/dist/nile-filter-chip/nile-filter-chip.esm.js +2 -2
  60. package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
  61. package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
  62. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js +1 -1
  63. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js.map +1 -1
  64. package/dist/nile-inline-edit/nile-inline-edit.css.esm.js +15 -6
  65. package/dist/nile-inline-edit/nile-inline-edit.esm.js +2 -2
  66. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  67. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  68. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
  69. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
  70. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +19 -0
  71. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +16 -14
  72. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  73. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  74. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +8 -3
  75. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  76. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  77. package/dist/nile-input/nile-input.css.esm.js +4 -4
  78. package/dist/nile-link/nile-link.cjs.js +1 -1
  79. package/dist/nile-link/nile-link.cjs.js.map +1 -1
  80. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  81. package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
  82. package/dist/nile-link/nile-link.css.esm.js +3 -4
  83. package/dist/nile-link/nile-link.esm.js +2 -2
  84. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  85. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  86. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  87. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  88. package/dist/nile-pagination/nile-pagination.css.esm.js +109 -5
  89. package/dist/nile-pagination/nile-pagination.esm.js +70 -3
  90. package/dist/nile-qr-code/index.cjs.js +2 -0
  91. package/dist/nile-qr-code/index.cjs.js.map +1 -0
  92. package/dist/nile-qr-code/index.esm.js +1 -0
  93. package/dist/nile-qr-code/nile-qr-code-utils.cjs.js +2 -0
  94. package/dist/nile-qr-code/nile-qr-code-utils.cjs.js.map +1 -0
  95. package/dist/nile-qr-code/nile-qr-code-utils.esm.js +1 -0
  96. package/dist/nile-qr-code/nile-qr-code.cjs.js +2 -0
  97. package/dist/nile-qr-code/nile-qr-code.cjs.js.map +1 -0
  98. package/dist/nile-qr-code/nile-qr-code.css.cjs.js +2 -0
  99. package/dist/nile-qr-code/nile-qr-code.css.cjs.js.map +1 -0
  100. package/dist/nile-qr-code/nile-qr-code.css.esm.js +12 -0
  101. package/dist/nile-qr-code/nile-qr-code.esm.js +9 -0
  102. package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
  103. package/dist/nile-radio/nile-radio.css.cjs.js.map +1 -1
  104. package/dist/nile-radio/nile-radio.css.esm.js +1 -1
  105. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  106. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  107. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  108. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  109. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +25 -6
  110. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  111. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +1 -1
  112. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +1 -1
  113. package/dist/nile-rich-text-editor/nile-rte-select.esm.js +4 -3
  114. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  115. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  116. package/dist/nile-select/nile-select.css.esm.js +7 -4
  117. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
  118. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
  119. package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +5 -1
  120. package/dist/nile-textarea/nile-textarea.css.cjs.js +1 -1
  121. package/dist/nile-textarea/nile-textarea.css.cjs.js.map +1 -1
  122. package/dist/nile-textarea/nile-textarea.css.esm.js +10 -5
  123. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  124. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  125. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +5 -3
  126. package/dist/src/index.d.ts +2 -0
  127. package/dist/src/index.js +2 -0
  128. package/dist/src/index.js.map +1 -1
  129. package/dist/src/nile-auto-complete/nile-auto-complete.css.js +11 -0
  130. package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
  131. package/dist/src/nile-button/nile-button.css.js +89 -33
  132. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  133. package/dist/src/nile-button/nile-button.js +5 -5
  134. package/dist/src/nile-button/nile-button.js.map +1 -1
  135. package/dist/src/nile-calendar/nile-calendar.css.js +57 -0
  136. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  137. package/dist/src/nile-calendar/nile-calendar.d.ts +1 -0
  138. package/dist/src/nile-calendar/nile-calendar.js +24 -6
  139. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  140. package/dist/src/nile-checkbox/nile-checkbox.css.js +4 -5
  141. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  142. package/dist/src/nile-chip/nile-chip.css.js +35 -21
  143. package/dist/src/nile-chip/nile-chip.css.js.map +1 -1
  144. package/dist/src/nile-code-editor/nile-code-editor.css.js +7 -6
  145. package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
  146. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
  147. package/dist/src/nile-code-editor/nile-code-editor.js +7 -1
  148. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  149. package/dist/src/nile-date-picker/nile-date-picker.d.ts +3 -0
  150. package/dist/src/nile-date-picker/nile-date-picker.js +22 -2
  151. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  152. package/dist/src/nile-detail/index.d.ts +1 -0
  153. package/dist/src/nile-detail/index.js +2 -0
  154. package/dist/src/nile-detail/index.js.map +1 -0
  155. package/dist/src/nile-detail/nile-detail.css.d.ts +3 -0
  156. package/dist/src/nile-detail/nile-detail.css.js +152 -0
  157. package/dist/src/nile-detail/nile-detail.css.js.map +1 -0
  158. package/dist/src/nile-detail/nile-detail.d.ts +29 -0
  159. package/dist/src/nile-detail/nile-detail.js +143 -0
  160. package/dist/src/nile-detail/nile-detail.js.map +1 -0
  161. package/dist/src/nile-detail/nile-detail.test.d.ts +1 -0
  162. package/dist/src/nile-detail/nile-detail.test.js +168 -0
  163. package/dist/src/nile-detail/nile-detail.test.js.map +1 -0
  164. package/dist/src/nile-detail/nile-detail.utils.d.ts +8 -0
  165. package/dist/src/nile-detail/nile-detail.utils.js +117 -0
  166. package/dist/src/nile-detail/nile-detail.utils.js.map +1 -0
  167. package/dist/src/nile-dropdown/nile-dropdown.d.ts +1 -0
  168. package/dist/src/nile-dropdown/nile-dropdown.js +11 -0
  169. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  170. package/dist/src/nile-file-upload/utils/file-validation.util.js +11 -6
  171. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  172. package/dist/src/nile-filter-chip/nile-filter-chip.css.js +22 -0
  173. package/dist/src/nile-filter-chip/nile-filter-chip.css.js.map +1 -1
  174. package/dist/src/nile-filter-chip/nile-filter-chip.d.ts +1 -0
  175. package/dist/src/nile-filter-chip/nile-filter-chip.js +6 -0
  176. package/dist/src/nile-filter-chip/nile-filter-chip.js.map +1 -1
  177. package/dist/src/nile-inline-edit/nile-inline-edit.css.js +15 -6
  178. package/dist/src/nile-inline-edit/nile-inline-edit.css.js.map +1 -1
  179. package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +2 -0
  180. package/dist/src/nile-inline-edit/nile-inline-edit.js +7 -0
  181. package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -1
  182. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +19 -0
  183. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
  184. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.d.ts +6 -0
  185. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +88 -4
  186. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
  187. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.test.d.ts +3 -0
  188. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.test.js +110 -0
  189. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.test.js.map +1 -0
  190. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.d.ts +2 -0
  191. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.js +109 -0
  192. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.js.map +1 -0
  193. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +4 -0
  194. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +30 -2
  195. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
  196. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.d.ts +2 -0
  197. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.js +109 -0
  198. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.js.map +1 -0
  199. package/dist/src/nile-input/nile-input.css.js +4 -4
  200. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  201. package/dist/src/nile-link/nile-link.css.js +1 -2
  202. package/dist/src/nile-link/nile-link.css.js.map +1 -1
  203. package/dist/src/nile-link/nile-link.js +1 -0
  204. package/dist/src/nile-link/nile-link.js.map +1 -1
  205. package/dist/src/nile-pagination/nile-pagination.css.js +107 -3
  206. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  207. package/dist/src/nile-pagination/nile-pagination.d.ts +5 -1
  208. package/dist/src/nile-pagination/nile-pagination.js +84 -1
  209. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  210. package/dist/src/nile-pagination/nile-pagination.test.js +1187 -103
  211. package/dist/src/nile-pagination/nile-pagination.test.js.map +1 -1
  212. package/dist/src/nile-qr-code/index.d.ts +1 -0
  213. package/dist/src/nile-qr-code/index.js +2 -0
  214. package/dist/src/nile-qr-code/index.js.map +1 -0
  215. package/dist/src/nile-qr-code/nile-qr-code-utils.d.ts +15 -0
  216. package/dist/src/nile-qr-code/nile-qr-code-utils.js +678 -0
  217. package/dist/src/nile-qr-code/nile-qr-code-utils.js.map +1 -0
  218. package/dist/src/nile-qr-code/nile-qr-code.css.d.ts +12 -0
  219. package/dist/src/nile-qr-code/nile-qr-code.css.js +24 -0
  220. package/dist/src/nile-qr-code/nile-qr-code.css.js.map +1 -0
  221. package/dist/src/nile-qr-code/nile-qr-code.d.ts +127 -0
  222. package/dist/src/nile-qr-code/nile-qr-code.js +381 -0
  223. package/dist/src/nile-qr-code/nile-qr-code.js.map +1 -0
  224. package/dist/src/nile-qr-code/nile-qr-code.test.d.ts +1 -0
  225. package/dist/src/nile-qr-code/nile-qr-code.test.js +719 -0
  226. package/dist/src/nile-qr-code/nile-qr-code.test.js.map +1 -0
  227. package/dist/src/nile-radio/nile-radio.css.js +1 -1
  228. package/dist/src/nile-radio/nile-radio.css.js.map +1 -1
  229. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +25 -6
  230. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  231. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +1 -0
  232. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +17 -6
  233. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  234. package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +1 -0
  235. package/dist/src/nile-rich-text-editor/nile-rte-select.js +7 -2
  236. package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +1 -1
  237. package/dist/src/nile-select/nile-select.css.js +7 -4
  238. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  239. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +5 -1
  240. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
  241. package/dist/src/nile-textarea/nile-textarea.css.js +10 -5
  242. package/dist/src/nile-textarea/nile-textarea.css.js.map +1 -1
  243. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +5 -3
  244. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  245. package/dist/src/version.js +1 -1
  246. package/dist/src/version.js.map +1 -1
  247. package/dist/tsconfig.tsbuildinfo +1 -1
  248. package/package.json +3 -2
  249. package/src/index.ts +3 -2
  250. package/src/nile-auto-complete/nile-auto-complete.css.ts +11 -0
  251. package/src/nile-button/nile-button.css.ts +89 -33
  252. package/src/nile-button/nile-button.ts +6 -5
  253. package/src/nile-calendar/nile-calendar.css.ts +57 -0
  254. package/src/nile-calendar/nile-calendar.ts +17 -6
  255. package/src/nile-checkbox/nile-checkbox.css.ts +4 -5
  256. package/src/nile-chip/nile-chip.css.ts +35 -21
  257. package/src/nile-code-editor/nile-code-editor.css.ts +7 -6
  258. package/src/nile-code-editor/nile-code-editor.ts +7 -1
  259. package/src/nile-date-picker/nile-date-picker.ts +22 -2
  260. package/src/nile-detail/index.ts +1 -0
  261. package/src/nile-detail/nile-detail.css.ts +153 -0
  262. package/src/nile-detail/nile-detail.test.ts +215 -0
  263. package/src/nile-detail/nile-detail.ts +140 -0
  264. package/src/nile-detail/nile-detail.utils.ts +133 -0
  265. package/src/nile-dropdown/nile-dropdown.ts +11 -0
  266. package/src/nile-file-upload/utils/file-validation.util.ts +10 -5
  267. package/src/nile-filter-chip/nile-filter-chip.css.ts +22 -0
  268. package/src/nile-filter-chip/nile-filter-chip.ts +2 -0
  269. package/src/nile-inline-edit/nile-inline-edit.css.ts +15 -6
  270. package/src/nile-inline-edit/nile-inline-edit.ts +4 -0
  271. package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +19 -0
  272. package/src/nile-inline-sidebar/nile-inline-sidebar.test.ts +108 -0
  273. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +108 -5
  274. package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.ts +107 -0
  275. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.ts +107 -0
  276. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +34 -3
  277. package/src/nile-input/nile-input.css.ts +4 -4
  278. package/src/nile-link/nile-link.css.ts +1 -2
  279. package/src/nile-link/nile-link.ts +1 -0
  280. package/src/nile-pagination/nile-pagination.css.ts +107 -3
  281. package/src/nile-pagination/nile-pagination.test.ts +1388 -101
  282. package/src/nile-pagination/nile-pagination.ts +87 -2
  283. package/src/nile-qr-code/index.ts +1 -0
  284. package/src/nile-qr-code/nile-qr-code-utils.ts +733 -0
  285. package/src/nile-qr-code/nile-qr-code.css.ts +26 -0
  286. package/src/nile-qr-code/nile-qr-code.test.ts +879 -0
  287. package/src/nile-qr-code/nile-qr-code.ts +431 -0
  288. package/src/nile-radio/nile-radio.css.ts +1 -1
  289. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +25 -6
  290. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +14 -6
  291. package/src/nile-rich-text-editor/nile-rte-select.ts +5 -2
  292. package/src/nile-select/nile-select.css.ts +7 -4
  293. package/src/nile-slide-toggle/nile-slide-toggle.css.ts +5 -1
  294. package/src/nile-textarea/nile-textarea.css.ts +10 -5
  295. package/src/nile-virtual-select/nile-virtual-select.css.ts +5 -3
  296. package/vscode-html-custom-data.json +163 -10
  297. package/web-test-runner.config.mjs +1 -1
@@ -1,2 +1,2 @@
1
- System.register(["lit"],function(_export,_context){"use strict";var r,_templateObject,o;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){r=_lit.css;}],execute:function execute(){_export("s",o=r(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: block;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host(:focus-visible) {\n outline: 0px;\n }\n\n .radio {\n display: inline-flex;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n vertical-align: middle;\n cursor: pointer;\n margin: var(--nile-spacing-10px, var(--ng-spacing-lg)) var(--nile-spacing-none, var(--ng-spacing-none));\n align-items: center;\n }\n\n .radio--medium {\n --toggle-size: 14px;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md))\n }\n\n .radio__checked-icon {\n display: var(--nile-display-inline-flex, var(--ng-display-block));\n width: var(--nile-radio-inner-width, var(--ng-width-2));\n height: var(--nile-radio-inner-width, var(--ng-height-8px));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background: var(--nile-radio-checked-icon-background, var(--ng-colors-bg-primary));\n }\n\n .radio__control {\n flex: 0 0 auto;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nile-radio-outer-width, var(--ng-width-4));\n height: var(--nile-radio-outer-height, var(--ng-height-16px));\n border: solid 1px var(--nile-radio-outer-border-color, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background-color: var(--nile-radio-outer-background-color, var(--ng-colors-bg-primary));\n color: transparent;\n transition: var(--nile-transition-duration-default, var(--ng-transition-duration-default)) border-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) background-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) box-shadow;\n }\n\n .radio__input {\n position: absolute;\n opacity: 0;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n pointer-events: none;\n }\n\n /* Hover */\n .radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-hover-border-color, var(--ng-colors-border-neutral));\n background: var(--nile-radio-hover-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked */\n .radio--checked .radio__control {\n color: var(--nile-colors-primary-600, var(--ng-colors-fg-brand-primary-600));\n border: 1px solid var(--nile-radio-checked-border-color, var(--ng-colors-bg-brand-solid));\n background-color: var(--nile-radio-checked-background-color,var(--ng-colors-bg-brand-solid));\n }\n\n /* Checked + hover */\n .radio.radio--checked:not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-checked-hover-border-color, var(--ng-colors-bg-brand-solid-hover));\n background-color: var(--nile-radio-checked-hover-background-color, var(--ng-colors-bg-brand-solid-hover));\n }\n\n /* Checked + hover */\n .radio__checked-icon:hover {\n background-color: var(--nile-radio-checked-hover-icon-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked + focus */\n :host(:focus-visible) .radio__control {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n }\n\n .radio__control:focus-visible {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 2px;\n }\n\n /* Focused, but not disabled */\n.radio--focused:not(.radio--disabled) .radio__control {\n outline: solid var(--nile-outline-none, var(--ng-outline-2px)) var(--nile-outline-none, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n}\n\n /* Disabled */\n .radio--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .radio--disabled .radio__checked-icon {\n background-color:var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)); // for v2\n }\n\n .radio--disabled .radio__control {\n background-color:var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n }\n\n /* When the control isn't checked, hide the circle for Windows High Contrast mode a11y */\n .radio:not(.radio--checked) svg circle {\n opacity: 0;\n }\n\n .radio__label {\n display: inline-block;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n line-height: var(--nile-type-scale-3, var(--ng-line-height-text-sm));\n margin-inline-start: var(--nile-spacing-7px, var(--ng-spacing-md));\n user-select: none;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n margin-top: var(--nile-spacing-xxs, var(--ng-spacing-xxs));\n }\n .radio__label_border {\n padding: var(--nile-spacing-lg, var(--ng-spacing-xl));\n border-radius: var(--nile-radius-sm, var(--ng-radius-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n }\n"]))));}};});
1
+ System.register(["lit"],function(_export,_context){"use strict";var r,_templateObject,o;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){r=_lit.css;}],execute:function execute(){_export("s",o=r(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: block;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host(:focus-visible) {\n outline: 0px;\n }\n\n .radio {\n display: inline-flex;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n vertical-align: middle;\n cursor: pointer;\n margin: var(--nile-spacing-10px, var(--ng-spacing-lg)) var(--nile-spacing-none, var(--ng-spacing-none));\n align-items: center;\n }\n\n .radio--medium {\n --toggle-size: 14px;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md))\n }\n\n .radio__checked-icon {\n display: var(--nile-display-inline-flex, var(--ng-display-block));\n width: var(--nile-radio-inner-width, var(--ng-width-2));\n height: var(--nile-radio-inner-width, var(--ng-height-8px));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background: var(--nile-radio-checked-icon-background, var(--ng-colors-bg-primary));\n }\n\n .radio__control {\n flex: 0 0 auto;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nile-radio-outer-width, var(--ng-width-4));\n height: var(--nile-radio-outer-height, var(--ng-height-16px));\n border: solid 1px var(--nile-radio-outer-border-color, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background-color: var(--nile-radio-outer-background-color, var(--ng-colors-bg-primary));\n color: transparent;\n transition: var(--nile-transition-duration-default, var(--ng-transition-duration-default)) border-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) background-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) box-shadow;\n }\n\n .radio__input {\n position: absolute;\n opacity: 0;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n pointer-events: none;\n }\n\n /* Hover */\n .radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-hover-border-color, var(--ng-colors-border-neutral));\n background: var(--nile-radio-hover-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked */\n .radio--checked .radio__control {\n color: var(--nile-colors-primary-600, var(--ng-colors-fg-brand-primary-600));\n border: 1px solid var(--nile-radio-checked-border-color, var(--ng-colors-bg-brand-solid));\n background-color: var(--nile-radio-checked-background-color,var(--ng-colors-bg-brand-solid));\n }\n\n /* Checked + hover */\n .radio.radio--checked:not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-checked-hover-border-color, var(--ng-colors-bg-brand-solid-hover));\n background-color: var(--nile-radio-checked-hover-background-color, var(--ng-colors-bg-brand-solid-hover));\n }\n\n /* Checked + hover */\n .radio__checked-icon:hover {\n background-color: var(--nile-radio-checked-hover-icon-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked + focus */\n :host(:focus-visible) .radio__control {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n }\n\n .radio__control:focus-visible {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 2px;\n }\n\n /* Focused, but not disabled */\n.radio--focused:not(.radio--disabled) .radio__control {\n outline: solid var(--nile-outline-none, var(--ng-outline-2px)) var(--nile-outline-none, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n}\n\n /* Disabled */\n .radio--disabled {\n \n cursor: not-allowed;\n }\n\n .radio--disabled .radio__checked-icon {\n background-color:var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)); // for v2\n }\n\n .radio--disabled .radio__control {\n background-color:var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n }\n\n /* When the control isn't checked, hide the circle for Windows High Contrast mode a11y */\n .radio:not(.radio--checked) svg circle {\n opacity: 0;\n }\n\n .radio__label {\n display: inline-block;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n line-height: var(--nile-type-scale-3, var(--ng-line-height-text-sm));\n margin-inline-start: var(--nile-spacing-7px, var(--ng-spacing-md));\n user-select: none;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n margin-top: var(--nile-spacing-xxs, var(--ng-spacing-xxs));\n }\n .radio__label_border {\n padding: var(--nile-spacing-lg, var(--ng-spacing-xl));\n border-radius: var(--nile-radius-sm, var(--ng-radius-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n }\n"]))));}};});
2
2
  //# sourceMappingURL=nile-radio.css.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-radio.css.cjs.js","sources":["../../../src/nile-radio/nile-radio.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Radio CSS\n */\nexport const styles = css`\n :host {\n display: block;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host(:focus-visible) {\n outline: 0px;\n }\n\n .radio {\n display: inline-flex;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n vertical-align: middle;\n cursor: pointer;\n margin: var(--nile-spacing-10px, var(--ng-spacing-lg)) var(--nile-spacing-none, var(--ng-spacing-none));\n align-items: center;\n }\n\n .radio--medium {\n --toggle-size: 14px;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md))\n }\n\n .radio__checked-icon {\n display: var(--nile-display-inline-flex, var(--ng-display-block));\n width: var(--nile-radio-inner-width, var(--ng-width-2));\n height: var(--nile-radio-inner-width, var(--ng-height-8px));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background: var(--nile-radio-checked-icon-background, var(--ng-colors-bg-primary));\n }\n\n .radio__control {\n flex: 0 0 auto;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nile-radio-outer-width, var(--ng-width-4));\n height: var(--nile-radio-outer-height, var(--ng-height-16px));\n border: solid 1px var(--nile-radio-outer-border-color, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background-color: var(--nile-radio-outer-background-color, var(--ng-colors-bg-primary));\n color: transparent;\n transition: var(--nile-transition-duration-default, var(--ng-transition-duration-default)) border-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) background-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) box-shadow;\n }\n\n .radio__input {\n position: absolute;\n opacity: 0;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n pointer-events: none;\n }\n\n /* Hover */\n .radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-hover-border-color, var(--ng-colors-border-neutral));\n background: var(--nile-radio-hover-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked */\n .radio--checked .radio__control {\n color: var(--nile-colors-primary-600, var(--ng-colors-fg-brand-primary-600));\n border: 1px solid var(--nile-radio-checked-border-color, var(--ng-colors-bg-brand-solid));\n background-color: var(--nile-radio-checked-background-color,var(--ng-colors-bg-brand-solid));\n }\n\n /* Checked + hover */\n .radio.radio--checked:not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-checked-hover-border-color, var(--ng-colors-bg-brand-solid-hover));\n background-color: var(--nile-radio-checked-hover-background-color, var(--ng-colors-bg-brand-solid-hover));\n }\n\n /* Checked + hover */\n .radio__checked-icon:hover {\n background-color: var(--nile-radio-checked-hover-icon-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked + focus */\n :host(:focus-visible) .radio__control {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n }\n\n .radio__control:focus-visible {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 2px;\n }\n\n /* Focused, but not disabled */\n.radio--focused:not(.radio--disabled) .radio__control {\n outline: solid var(--nile-outline-none, var(--ng-outline-2px)) var(--nile-outline-none, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n}\n\n /* Disabled */\n .radio--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .radio--disabled .radio__checked-icon {\n background-color:var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)); // for v2\n }\n\n .radio--disabled .radio__control {\n background-color:var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n }\n\n /* When the control isn't checked, hide the circle for Windows High Contrast mode a11y */\n .radio:not(.radio--checked) svg circle {\n opacity: 0;\n }\n\n .radio__label {\n display: inline-block;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n line-height: var(--nile-type-scale-3, var(--ng-line-height-text-sm));\n margin-inline-start: var(--nile-spacing-7px, var(--ng-spacing-md));\n user-select: none;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n margin-top: var(--nile-spacing-xxs, var(--ng-spacing-xxs));\n }\n .radio__label_border {\n padding: var(--nile-spacing-lg, var(--ng-spacing-xl));\n border-radius: var(--nile-radius-sm, var(--ng-radius-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n }\n`;\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
1
+ {"version":3,"file":"nile-radio.css.cjs.js","sources":["../../../src/nile-radio/nile-radio.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Radio CSS\n */\nexport const styles = css`\n :host {\n display: block;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host(:focus-visible) {\n outline: 0px;\n }\n\n .radio {\n display: inline-flex;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n vertical-align: middle;\n cursor: pointer;\n margin: var(--nile-spacing-10px, var(--ng-spacing-lg)) var(--nile-spacing-none, var(--ng-spacing-none));\n align-items: center;\n }\n\n .radio--medium {\n --toggle-size: 14px;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md))\n }\n\n .radio__checked-icon {\n display: var(--nile-display-inline-flex, var(--ng-display-block));\n width: var(--nile-radio-inner-width, var(--ng-width-2));\n height: var(--nile-radio-inner-width, var(--ng-height-8px));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background: var(--nile-radio-checked-icon-background, var(--ng-colors-bg-primary));\n }\n\n .radio__control {\n flex: 0 0 auto;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nile-radio-outer-width, var(--ng-width-4));\n height: var(--nile-radio-outer-height, var(--ng-height-16px));\n border: solid 1px var(--nile-radio-outer-border-color, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background-color: var(--nile-radio-outer-background-color, var(--ng-colors-bg-primary));\n color: transparent;\n transition: var(--nile-transition-duration-default, var(--ng-transition-duration-default)) border-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) background-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) box-shadow;\n }\n\n .radio__input {\n position: absolute;\n opacity: 0;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n pointer-events: none;\n }\n\n /* Hover */\n .radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-hover-border-color, var(--ng-colors-border-neutral));\n background: var(--nile-radio-hover-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked */\n .radio--checked .radio__control {\n color: var(--nile-colors-primary-600, var(--ng-colors-fg-brand-primary-600));\n border: 1px solid var(--nile-radio-checked-border-color, var(--ng-colors-bg-brand-solid));\n background-color: var(--nile-radio-checked-background-color,var(--ng-colors-bg-brand-solid));\n }\n\n /* Checked + hover */\n .radio.radio--checked:not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-checked-hover-border-color, var(--ng-colors-bg-brand-solid-hover));\n background-color: var(--nile-radio-checked-hover-background-color, var(--ng-colors-bg-brand-solid-hover));\n }\n\n /* Checked + hover */\n .radio__checked-icon:hover {\n background-color: var(--nile-radio-checked-hover-icon-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked + focus */\n :host(:focus-visible) .radio__control {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n }\n\n .radio__control:focus-visible {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 2px;\n }\n\n /* Focused, but not disabled */\n.radio--focused:not(.radio--disabled) .radio__control {\n outline: solid var(--nile-outline-none, var(--ng-outline-2px)) var(--nile-outline-none, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n}\n\n /* Disabled */\n .radio--disabled {\n \n cursor: not-allowed;\n }\n\n .radio--disabled .radio__checked-icon {\n background-color:var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)); // for v2\n }\n\n .radio--disabled .radio__control {\n background-color:var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n }\n\n /* When the control isn't checked, hide the circle for Windows High Contrast mode a11y */\n .radio:not(.radio--checked) svg circle {\n opacity: 0;\n }\n\n .radio__label {\n display: inline-block;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n line-height: var(--nile-type-scale-3, var(--ng-line-height-text-sm));\n margin-inline-start: var(--nile-spacing-7px, var(--ng-spacing-md));\n user-select: none;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n margin-top: var(--nile-spacing-xxs, var(--ng-spacing-xxs));\n }\n .radio__label_border {\n padding: var(--nile-spacing-lg, var(--ng-spacing-xl));\n border-radius: var(--nile-radius-sm, var(--ng-radius-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n }\n`;\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
@@ -103,7 +103,7 @@ import{css as r}from"lit";const o=r`
103
103
 
104
104
  /* Disabled */
105
105
  .radio--disabled {
106
- opacity: 0.5;
106
+
107
107
  cursor: not-allowed;
108
108
  }
109
109
 
@@ -1,2 +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","./nile-rte-toolbar.cjs.js","./nile-rte-toolbar-item.cjs.js","./nile-rte-select.cjs.js","./nile-rte-color.cjs.js","./nile-rte-divider.cjs.js","./nile-rte-preview.cjs.js","./nile-rte-mentions.cjs.js","./nile-rte-link.cjs.js","./utils/block-utils.cjs.js","./utils/inline-utils.cjs.js","./utils/color-utils.cjs.js","./utils/list-utils.cjs.js","./nile-rich-text-editor.css.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,n,r,o,h,l,c,a,u,d,f,m,p,b,g,y;function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var n=0,F=function F(){};return{s:F,n:function(_n4){function n(){return _n4.apply(this,arguments);}n.toString=function(){return _n4.toString();};return n;}(function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]};}),e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}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 _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){i=_lit.LitElement;},function(_litDecoratorsJs){s=_litDecoratorsJs.property;e=_litDecoratorsJs.state;n=_litDecoratorsJs.customElement;},function(_nileRteToolbarCjsJs){},function(_nileRteToolbarItemCjsJs){},function(_nileRteSelectCjsJs){},function(_nileRteColorCjsJs){},function(_nileRteDividerCjsJs){},function(_nileRtePreviewCjsJs){},function(_nileRteMentionsCjsJs){},function(_nileRteLinkCjsJs){},function(_utilsBlockUtilsCjsJs){r=_utilsBlockUtilsCjsJs.s;o=_utilsBlockUtilsCjsJs.a;h=_utilsBlockUtilsCjsJs.n;l=_utilsBlockUtilsCjsJs.c;},function(_utilsInlineUtilsCjsJs){c=_utilsInlineUtilsCjsJs.t;a=_utilsInlineUtilsCjsJs.s;u=_utilsInlineUtilsCjsJs.r;},function(_utilsColorUtilsCjsJs){d=_utilsColorUtilsCjsJs.s;f=_utilsColorUtilsCjsJs.a;},function(_utilsListUtilsCjsJs){m=_utilsListUtilsCjsJs.t;},function(_nileRichTextEditorCssCjsJs){p=_nileRichTextEditorCssCjsJs.s;}],execute:function execute(){b={bold:"format_bold",italic:"format_italic",underline:"format_underline",link:"link_2",left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify",ul:"format_list_bulleted",ol:"format_list_numbered",clear:"format_clear"},g=["font-weight","font-style","text-decoration","color","background-color","font-size","font-family","text-align","line-height","letter-spacing","white-space","vertical-align","list-style-position","padding-inline-start"];_export("N",y=/*#__PURE__*/function(_i){function y(){var _this;_classCallCheck(this,y);_this=_callSuper(this,y,arguments),_this.value="",_this.noStyles=!1,_this.singleLineEditor=!1,_this.placeholder="",_this.mentions={},_this.whitelist=[],_this.content="",_this.previewEl=null,_this.toolbarEl=null,_this.lastRange=null,_this.buttonMap=new Map(),_this.headingSelect=null,_this.fontSelect=null,_this.colorInput=null,_this.bgColorInput=null,_this.colorSwatchEl=null,_this.bgSwatchEl=null,_this.containerEl=null,_this.mentionsEl=null,_this.onEditorKeydown=function(t){if(_this.singleLineEditor&&"Enter"===t.key&&t.shiftKey)return void t.preventDefault();if(t.ctrlKey&&"i"===t.key.toLowerCase()&&(t.preventDefault(),c(_this.editorEl,"em"),_this.updateContent(),_this.updateToolbarState()),_this.singleLineEditor&&"Enter"===t.key)return void t.preventDefault();if("Tab"!==t.key)return;t.preventDefault(),_this.focusAndRestore();var i=window.getSelection();if(!i||0===i.rangeCount)return;var s=i.getRangeAt(0);if(t.shiftKey){if(s.collapsed&&s.startContainer.nodeType===Node.TEXT_NODE){var _t=s.startContainer,_e=s.startOffset,_n=_t.data.slice(0,_e),_r=_n.replace(/(\t|[ \u00a0]{2})$/,"");if(_r.length!==_n.length){_t.data=_r+_t.data.slice(_e);var _s=document.createRange();_s.setStart(_t,_r.length),_s.collapse(!0),i.removeAllRanges(),i.addRange(_s),_this.updateContent(),_this.updateToolbarState();}}return;}s.deleteContents();var e=document.createTextNode("\t");s.insertNode(e);var n=document.createRange();n.setStartAfter(e),n.collapse(!0),i.removeAllRanges(),i.addRange(n),_this.updateContent(),_this.updateToolbarState();},_this.onSelectionChange=function(){if(!_this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);_this.editorEl.contains(i.commonAncestorContainer)&&(_this.lastRange=i.cloneRange(),_this.updateToolbarState());};return _this;}_inherits(y,_i);return _createClass(y,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"injectCss",value:function injectCss(t){if(this.querySelector("style[data-rte-style]"))return;var i=document.createElement("style");i.setAttribute("data-rte-style","true"),i.textContent=t,this.insertBefore(i,this.firstChild);}},{key:"connectedCallback",value:function connectedCallback(){var _this$mentionsEl$atta,_this$mentionsEl,_this$mentionsEl$setE,_this$mentionsEl2;_superPropGet(y,"connectedCallback",this,3)([]),this.injectCss(p.cssText),this.ensureStructure(),this.placeholder&&this.editorEl&&(this.editorEl.dataset.placeholder=this.placeholder),this.value&&!this.editorEl.innerHTML.trim()&&(this.editorEl.innerHTML=this.value),this.content=this.editorEl.innerHTML,this.toolbarEl&&this.wireAuthoredToolbar(this.toolbarEl),this.mentionsEl=this.querySelector("nile-rte-mentions"),this.mentionsEl&&((_this$mentionsEl$atta=(_this$mentionsEl=this.mentionsEl).attach)!==null&&_this$mentionsEl$atta!==void 0&&_this$mentionsEl$atta.call(_this$mentionsEl,this.editorEl,this),(_this$mentionsEl$setE=(_this$mentionsEl2=this.mentionsEl).setExternalConfig)!==null&&_this$mentionsEl$setE!==void 0&&_this$mentionsEl$setE.call(_this$mentionsEl2,this.mentions)),this.wireEditor(),document.addEventListener("selectionchange",this.onSelectionChange,{passive:!0}),this.updateToolbarState(),this.syncPreview();}},{key:"ensureStructure",value:function ensureStructure(){this.toolbarEl=this.querySelector("nile-rte-toolbar"),this.previewEl=this.querySelector("nile-rte-preview"),this.containerEl=this.querySelector(".rte-container"),this.containerEl||(this.containerEl=document.createElement("div"),this.containerEl.className="rte-container",this.appendChild(this.containerEl)),this.ensureEditor(),this.toolbarEl&&this.toolbarEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.toolbarEl),this.editorEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.editorEl),this.previewEl&&(this.previewEl.parentElement!==this&&this.appendChild(this.previewEl),this.previewEl.previousElementSibling!==this.containerEl&&this.insertBefore(this.previewEl,this.containerEl.nextSibling));}},{key:"updateContentWithMention",value:function updateContentWithMention(t){this.updateContent(),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content,mention:t},bubbles:!0,composed:!0}));}},{key:"disconnectedCallback",value:function disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),_superPropGet(y,"disconnectedCallback",this,3)([]);}},{key:"updated",value:function updated(t){t.has("value")&&this.editorEl&&this.value!==this.editorEl.innerHTML&&(this.editorEl.innerHTML=this.value||"<p><br></p>",this.content=this.editorEl.innerHTML,this.syncPreview()),t.has("singleLineEditor")&&(this.editorEl&&this.editorEl.classList.toggle("single-line",this.singleLineEditor),this.previewEl&&this.previewEl.classList.toggle("single-line",this.singleLineEditor));}},{key:"ensureEditor",value:function ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){var _t2=document.createElement("article");_t2.className="editor",_t2.setAttribute("contenteditable","true"),this.editorEl=_t2;}this.placeholder&&(this.editorEl.dataset.placeholder=this.placeholder),this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>");}},{key:"unwrapMention",value:function unwrapMention(t){var _t$textContent;var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!0;var s=t.parentNode;if(!s)return;var e=i?((_t$textContent=t.textContent)!==null&&_t$textContent!==void 0?_t$textContent:"").replace(/\u200B/g,""):"",n=document.createTextNode(e);s.insertBefore(n,t),s.removeChild(t);var r=document.createRange();r.setStartAfter(n),r.collapse(!0);var o=window.getSelection();o!==null&&o!==void 0&&o.removeAllRanges(),o===null||o===void 0?void 0:o.addRange(r);}},{key:"scrubBrokenMentions",value:function scrubBrokenMentions(){var _this2=this;if(!this.editorEl)return;this.editorEl.querySelectorAll("span.mention").forEach(function(t){var _i$textContent;var i=t,s=i.getAttribute("data-mention-key"),e=i.getAttribute("data-mention-label"),n=i.getAttribute("data-mention-trigger")||"",r=((_i$textContent=i.textContent)!==null&&_i$textContent!==void 0?_i$textContent:"").replace(/\u200B/g,"").trim(),o=!!s&&!!e&&r.length>0&&r.startsWith(n)&&r.includes(e);r&&o||_this2.unwrapMention(i,!0);});}},{key:"wireEditor",value:function wireEditor(){var _this3=this;this.editorEl.addEventListener("input",function(){_this3.ensureAtLeastOneParagraph(),_this3.scrubBrokenMentions(),_this3.updateContent(),_this3.updateToolbarState();}),this.editorEl.addEventListener("mouseup",function(){_this3.saveSelection(),_this3.updateToolbarState();}),this.editorEl.addEventListener("keyup",function(t){_this3.saveSelection(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t.key)&&_this3.updateToolbarState();}),this.editorEl.addEventListener("keydown",this.onEditorKeydown);}},{key:"wireAuthoredToolbar",value:function wireAuthoredToolbar(t){var _this4=this;this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(t.children).forEach(function(t){var i=t.tagName.toLowerCase();if("nile-rte-select"!==i||"align"!==t.getAttribute("type")){if("nile-rte-link"===i)return t.editorEl=_this4.editorEl,void t.addEventListener("link-changed",function(){_this4.updateContent(),_this4.updateToolbarState();});if("nile-rte-toolbar-item"===i){var _this4$buttonMap$get;var _i2=t.querySelector(":scope > nile-button");var _s2=t.getAttribute("name")||"",_e2=t.getAttribute("label")||_s2,_n2=t.getAttribute("icon"),_r2=t.innerHTML.trim().length>0;if(_i2||(_i2=document.createElement("nile-button"),_i2.variant="tertiary",_i2.size="small"),_n2)_i2.innerHTML="<nile-icon name=\"".concat(_n2,"\" aria-label=\"").concat(_e2,"\"></nile-icon>"),t.innerHTML="";else if(_r2)_i2.innerHTML=t.innerHTML,t.innerHTML="";else{var _n3=b[_s2];_n3?_i2.innerHTML="<nile-icon name=\"".concat(_n3,"\" size=\"20\" color=\"black\" aria-label=\"").concat(_e2,"\"></nile-icon>"):_i2.textContent=_e2||_s2,t.innerHTML="";}if(!_i2.isConnected){var _s3=document.createElement("nile-lite-tooltip");_s3.setAttribute("content",_e2),_s3.appendChild(_i2),t.appendChild(_s3);}_i2.setAttribute("aria-label",_e2),_i2.addEventListener("mousedown",function(t){return t.preventDefault();}),_i2.addEventListener("click",function(){return _this4.onToolbarCommand(_s2);});var _o=(_this4$buttonMap$get=_this4.buttonMap.get(_s2))!==null&&_this4$buttonMap$get!==void 0?_this4$buttonMap$get:[];return _o.push(_i2),void _this4.buttonMap.set(_s2,_o);}if("nile-rte-select"!==i)"nile-rte-color"!==i||t.addEventListener("change",function(t){_this4.focusAndRestore();var _t$detail=t.detail,i=_t$detail.mode,s=_t$detail.value;"backColor"===i?d(_this4.editorEl,s):f(_this4.editorEl,s),_this4.updateContent(),_this4.updateToolbarState();});else{var _i3=t.getAttribute("type")||"";t.addEventListener("change",function(t){_this4.focusAndRestore();var s=t.detail;"heading"===_i3?o(_this4.editorEl,s):"font"===_i3&&a(_this4.editorEl,s),_this4.updateContent(),_this4.updateToolbarState();});}}else t.addEventListener("change",function(t){_this4.focusAndRestore();var i=t.detail;r(_this4.editorEl,i),_this4.updateContent(),_this4.updateToolbarState();});});}},{key:"saveSelection",value:function saveSelection(){var t=window.getSelection();t&&t.rangeCount&&(this.lastRange=t.getRangeAt(0).cloneRange());}},{key:"restoreSelection",value:function restoreSelection(){if(!this.lastRange)return;var t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange));}},{key:"focusAndRestore",value:function focusAndRestore(){var _this$editorEl;(_this$editorEl=this.editorEl)!==null&&_this$editorEl!==void 0&&_this$editorEl.focus(),this.restoreSelection();}},{key:"getCleanContent",value:function getCleanContent(){var t=this.editorEl.cloneNode(!0);return t.querySelectorAll("*").forEach(function(t){t.removeAttribute("style");}),t.innerHTML;}},{key:"insertList",value:function insertList(t){if(this.restoreSelection(),!this.lastRange)return;var i=document.createElement(t),s=this.lastRange.extractContents(),e=document.createElement("div");e.appendChild(s),Array.from(e.childNodes).forEach(function(t){var _t$textContent2;if(t.nodeType===Node.TEXT_NODE&&!((_t$textContent2=t.textContent)!==null&&_t$textContent2!==void 0&&_t$textContent2.trim()))return;var s=document.createElement("li");s.appendChild(t),i.appendChild(s);}),this.lastRange.insertNode(i),this.afterListEdit(i);}},{key:"afterListEdit",value:function afterListEdit(t){var i=document.createRange();i.setStartAfter(t),i.collapse(!0);var s=window.getSelection();s!==null&&s!==void 0&&s.removeAllRanges(),s!==null&&s!==void 0&&s.addRange(i),this.saveSelection(),this.updateContent(),this.updateToolbarState();}},{key:"ensureAtLeastOneParagraph",value:function ensureAtLeastOneParagraph(){var _t$textContent3;var t=this.editorEl;if(!t)return;var i=""===((_t$textContent3=t.textContent)!==null&&_t$textContent3!==void 0?_t$textContent3:"").replace(/\u200B/g,"").trim();if(0===t.childNodes.length||i)return void(t.innerHTML="<p><br></p>");if(!t.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){var _i4=document.createElement("p");for(;t.firstChild;)_i4.appendChild(t.firstChild);return _i4.hasChildNodes()||_i4.appendChild(document.createElement("br")),void t.appendChild(_i4);}t.querySelectorAll("p").forEach(function(t){var _t$textContent4;""===((_t$textContent4=t.textContent)!==null&&_t$textContent4!==void 0?_t$textContent4:"").replace(/\u200B/g,"")&&(t.innerHTML.toLowerCase().includes("<br")||(t.innerHTML="<br>"));});}},{key:"onToolbarCommand",value:function onToolbarCommand(t){switch(this.focusAndRestore(),t){case"bold":c(this.editorEl,"strong");break;case"italic":c(this.editorEl,"em");break;case"underline":c(this.editorEl,"u");break;case"left":r(this.editorEl,"left");break;case"center":r(this.editorEl,"center");break;case"right":r(this.editorEl,"right");break;case"justify":r(this.editorEl,"justify");break;case"ul":m(this.editorEl,"ul"),this.updateContent(),this.updateToolbarState();break;case"ol":m(this.editorEl,"ol"),this.updateContent(),this.updateToolbarState();break;case"link":break;case"clear":var _t3=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),_i5=[];for(;_t3.nextNode();){var _s4=_t3.currentNode;_s4.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(_s4.tagName)&&_i5.push(_s4);}for(var _i7=0,_i6=_i5;_i7<_i6.length;_i7++){var _t4=_i6[_i7];for(;_t4.firstChild;){var _t4$parentNode;(_t4$parentNode=_t4.parentNode)===null||_t4$parentNode===void 0||_t4$parentNode.insertBefore(_t4.firstChild,_t4);}_t4.remove();}this.ensureAtLeastOneParagraph();}this.updateContent(),this.updateToolbarState();}},{key:"setBtnActive",value:function setBtnActive(t,i){var s=this.buttonMap.get(t);if(s){var _iterator=_createForOfIteratorHelper(s),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _t5=_step.value;_t5.toggleAttribute("data-active",!!i);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}}},{key:"updateToolbarState",value:function updateToolbarState(){var _this5=this,_s$closest;if(!this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);if(!this.editorEl.contains(i.commonAncestorContainer))return;var s=h(i.startContainer)||this.editorEl,e=getComputedStyle(s),n=l(i.startContainer,this.editorEl)||this.editorEl,r=function(){var t=s;for(;t&&t!==_this5.editorEl;){if(t instanceof HTMLElement){var _i8=t.tagName.toLowerCase();if("strong"===_i8||"b"===_i8)return!0;var _s5=getComputedStyle(t).fontWeight;if(parseInt(_s5,10)>=600)return!0;}t=t.parentNode;}return!1;}(),o=function(){var t=s;for(;t&&t!==_this5.editorEl;){if(t instanceof HTMLElement){var _i9=t.tagName.toLowerCase();if("em"===_i9||"i"===_i9)return!0;if("italic"===getComputedStyle(t).fontStyle)return!0;}t=t.parentNode;}return!1;}(),c=function(){var t=s;for(;t&&t!==_this5.editorEl;){if(t instanceof HTMLElement){var _i10=getComputedStyle(t).textDecorationLine;if(_i10&&_i10.includes("underline"))return!0;if("u"===t.tagName.toLowerCase())return!0;}t=t.parentNode;}return!1;}(),a=!!s.closest("a"),d=n.style.textAlign||getComputedStyle(n).textAlign||"start",f="start"===d?"left":d,m=!!s.closest("li")&&((_s$closest=s.closest("ul,ol"))===null||_s$closest===void 0?void 0:_s$closest.tagName.toLowerCase())||"";if(this.setBtnActive("bold",r),this.setBtnActive("italic",o),this.setBtnActive("underline",c),this.setBtnActive("link",a),this.setBtnActive("left","left"===f&&!["center","right","justify"].includes(f)),this.setBtnActive("center","center"===f),this.setBtnActive("right","right"===f),this.setBtnActive("justify","justify"===f),this.setBtnActive("ul","ul"===m),this.setBtnActive("ol","ol"===m),this.headingSelect){var _t6=n.tagName.toLowerCase(),_i11=["h1","h2","h3"].includes(_t6)?_t6:"p";this.headingSelect.value!==_i11&&(this.headingSelect.value=_i11);}if(this.fontSelect){var _t7=(e.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(_t7)for(var _i12=0,_Array$from=Array.from(this.fontSelect.options);_i12<_Array$from.length;_i12++){var _i13=_Array$from[_i12];if(_i13.value.toLowerCase()===_t7){this.fontSelect.value=_i13.value;break;}}}if(this.colorInput){var _t8=u(e.color);_t8&&this.colorInput.value.toLowerCase()!==_t8.toLowerCase()&&(this.colorInput.value=_t8),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value);}if(this.bgColorInput){var _t9=getComputedStyle(s).backgroundColor;if(_t9&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(_t9)){var _i14=u(_t9);_i14&&this.bgColorInput.value.toLowerCase()!==_i14.toLowerCase()&&(this.bgColorInput.value=_i14);}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value);}}},{key:"syncPreview",value:function syncPreview(){this.updateContent();}},{key:"getComputedImportantProps",value:function getComputedImportantProps(){var _this$whitelist;return Array.from(new Set([].concat(g,_toConsumableArray((_this$whitelist=this.whitelist)!==null&&_this$whitelist!==void 0?_this$whitelist:[]))));}},{key:"updateContent",value:function updateContent(){var _this$editorEl$textCo;if(!this.editorEl)return;this.ensureAtLeastOneParagraph();var t=""===((_this$editorEl$textCo=this.editorEl.textContent)!==null&&_this$editorEl$textCo!==void 0?_this$editorEl$textCo:"").trim();this.editorEl.classList.toggle("empty",t);var i=this.editorEl.cloneNode(!0);if(this.noStyles)i.querySelectorAll("[style]").forEach(function(t){return t.removeAttribute("style");});else{var _t10=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),_s6=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),_e3=this.getComputedImportantProps();var _loop=function _loop(){var i=_t10.currentNode,n=_s6.currentNode,r=window.getComputedStyle(i),o=_e3.map(function(t){return"".concat(t,":").concat(r.getPropertyValue(t));}).join(";");o.trim()&&n.setAttribute("style",o);};for(;_t10.nextNode()&&_s6.nextNode();){_loop();}}this.content=i.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content},bubbles:!0,composed:!0}));}}]);}(i));t([s({type:String,attribute:!0,reflect:!0})],y.prototype,"value",void 0),t([s({type:Boolean,attribute:!0,reflect:!0})],y.prototype,"noStyles",void 0),t([s({type:Boolean,attribute:"singlelineeditor",reflect:!0})],y.prototype,"singleLineEditor",void 0),t([s({type:String})],y.prototype,"placeholder",void 0),t([s({attribute:"mentions",reflect:!0,converter:{fromAttribute:function fromAttribute(t){try{var _i15=JSON.parse(t),_s7={};for(var _i16=0,_Object$keys=Object.keys(_i15);_i16<_Object$keys.length;_i16++){var _t11=_Object$keys[_i16];var _e4=_i15[_t11];Array.isArray(_e4)&&(_s7[_t11]=_e4.filter(function(t){return t&&"string"==typeof t.key&&"string"==typeof t.label;}).map(function(t){return{key:t.key,label:t.label};}));}return _s7;}catch(_unused){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t);}}})],y.prototype,"mentions",void 0),t([s({attribute:"whitelist",reflect:!1,converter:{fromAttribute:function fromAttribute(t){try{var _i17=JSON.parse(t);return Array.isArray(_i17)?_i17.filter(function(t){return"string"==typeof t;}):[];}catch(_unused2){return[];}}}})],y.prototype,"whitelist",void 0),t([e()],y.prototype,"content",void 0),_export("N",y=t([n("nile-rich-text-editor")],y));}};});
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","./nile-rte-toolbar.cjs.js","./nile-rte-toolbar-item.cjs.js","./nile-rte-select.cjs.js","./nile-rte-color.cjs.js","./nile-rte-divider.cjs.js","./nile-rte-preview.cjs.js","./nile-rte-mentions.cjs.js","./nile-rte-link.cjs.js","./utils/block-utils.cjs.js","./utils/inline-utils.cjs.js","./utils/color-utils.cjs.js","./utils/list-utils.cjs.js","./nile-rich-text-editor.css.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,n,r,o,h,l,c,a,u,d,f,m,p,b,g,y;function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var n=0,F=function F(){};return{s:F,n:function(_n4){function n(){return _n4.apply(this,arguments);}n.toString=function(){return _n4.toString();};return n;}(function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]};}),e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}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 _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){i=_lit.LitElement;},function(_litDecoratorsJs){s=_litDecoratorsJs.property;e=_litDecoratorsJs.state;n=_litDecoratorsJs.customElement;},function(_nileRteToolbarCjsJs){},function(_nileRteToolbarItemCjsJs){},function(_nileRteSelectCjsJs){},function(_nileRteColorCjsJs){},function(_nileRteDividerCjsJs){},function(_nileRtePreviewCjsJs){},function(_nileRteMentionsCjsJs){},function(_nileRteLinkCjsJs){},function(_utilsBlockUtilsCjsJs){r=_utilsBlockUtilsCjsJs.s;o=_utilsBlockUtilsCjsJs.a;h=_utilsBlockUtilsCjsJs.n;l=_utilsBlockUtilsCjsJs.c;},function(_utilsInlineUtilsCjsJs){c=_utilsInlineUtilsCjsJs.t;a=_utilsInlineUtilsCjsJs.s;u=_utilsInlineUtilsCjsJs.r;},function(_utilsColorUtilsCjsJs){d=_utilsColorUtilsCjsJs.s;f=_utilsColorUtilsCjsJs.a;},function(_utilsListUtilsCjsJs){m=_utilsListUtilsCjsJs.t;},function(_nileRichTextEditorCssCjsJs){p=_nileRichTextEditorCssCjsJs.s;}],execute:function execute(){b={bold:"format_bold",italic:"format_italic",underline:"format_underline",link:"link_2",left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify",ul:"format_list_bulleted",ol:"format_list_numbered",clear:"format_clear"},g=["font-weight","font-style","text-decoration","color","background-color","font-size","font-family","text-align","line-height","letter-spacing","white-space","vertical-align","list-style-position","padding-inline-start"];_export("N",y=/*#__PURE__*/function(_i){function y(){var _this;_classCallCheck(this,y);_this=_callSuper(this,y,arguments),_this.value="",_this.noStyles=!1,_this.disabled=!1,_this.singleLineEditor=!1,_this.placeholder="",_this.mentions={},_this.whitelist=[],_this.content="",_this.previewEl=null,_this.toolbarEl=null,_this.lastRange=null,_this.buttonMap=new Map(),_this.headingSelect=null,_this.fontSelect=null,_this.colorInput=null,_this.bgColorInput=null,_this.colorSwatchEl=null,_this.bgSwatchEl=null,_this.containerEl=null,_this.mentionsEl=null,_this.onEditorKeydown=function(t){if(_this.singleLineEditor&&"Enter"===t.key&&t.shiftKey)return void t.preventDefault();if(t.ctrlKey&&"i"===t.key.toLowerCase()&&(t.preventDefault(),c(_this.editorEl,"em"),_this.updateContent(),_this.updateToolbarState()),_this.singleLineEditor&&"Enter"===t.key)return void t.preventDefault();if("Tab"!==t.key)return;t.preventDefault(),_this.focusAndRestore();var i=window.getSelection();if(!i||0===i.rangeCount)return;var s=i.getRangeAt(0);if(t.shiftKey){if(s.collapsed&&s.startContainer.nodeType===Node.TEXT_NODE){var _t=s.startContainer,_e=s.startOffset,_n=_t.data.slice(0,_e),_r=_n.replace(/(\t|[ \u00a0]{2})$/,"");if(_r.length!==_n.length){_t.data=_r+_t.data.slice(_e);var _s=document.createRange();_s.setStart(_t,_r.length),_s.collapse(!0),i.removeAllRanges(),i.addRange(_s),_this.updateContent(),_this.updateToolbarState();}}return;}s.deleteContents();var e=document.createTextNode("\t");s.insertNode(e);var n=document.createRange();n.setStartAfter(e),n.collapse(!0),i.removeAllRanges(),i.addRange(n),_this.updateContent(),_this.updateToolbarState();},_this.onSelectionChange=function(){if(!_this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);_this.editorEl.contains(i.commonAncestorContainer)&&(_this.lastRange=i.cloneRange(),_this.updateToolbarState());};return _this;}_inherits(y,_i);return _createClass(y,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"injectCss",value:function injectCss(t){if(this.querySelector("style[data-rte-style]"))return;var i=document.createElement("style");i.setAttribute("data-rte-style","true"),i.textContent=t,this.insertBefore(i,this.firstChild);}},{key:"connectedCallback",value:function connectedCallback(){var _this$mentionsEl$atta,_this$mentionsEl,_this$mentionsEl$setE,_this$mentionsEl2;_superPropGet(y,"connectedCallback",this,3)([]),this.injectCss(p.cssText),this.ensureStructure(),this.placeholder&&this.editorEl&&(this.editorEl.dataset.placeholder=this.placeholder),this.value&&!this.editorEl.innerHTML.trim()&&(this.editorEl.innerHTML=this.value),this.content=this.editorEl.innerHTML,this.toolbarEl&&this.wireAuthoredToolbar(this.toolbarEl),this.mentionsEl=this.querySelector("nile-rte-mentions"),this.mentionsEl&&((_this$mentionsEl$atta=(_this$mentionsEl=this.mentionsEl).attach)!==null&&_this$mentionsEl$atta!==void 0&&_this$mentionsEl$atta.call(_this$mentionsEl,this.editorEl,this),(_this$mentionsEl$setE=(_this$mentionsEl2=this.mentionsEl).setExternalConfig)!==null&&_this$mentionsEl$setE!==void 0&&_this$mentionsEl$setE.call(_this$mentionsEl2,this.mentions)),this.wireEditor(),document.addEventListener("selectionchange",this.onSelectionChange,{passive:!0}),this.updateToolbarState(),this.syncPreview();}},{key:"ensureStructure",value:function ensureStructure(){this.toolbarEl=this.querySelector("nile-rte-toolbar"),this.previewEl=this.querySelector("nile-rte-preview"),this.containerEl=this.querySelector(".rte-container"),this.containerEl||(this.containerEl=document.createElement("div"),this.containerEl.className="rte-container",this.appendChild(this.containerEl)),this.ensureEditor(),this.toolbarEl&&this.toolbarEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.toolbarEl),this.editorEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.editorEl),this.previewEl&&(this.previewEl.parentElement!==this&&this.appendChild(this.previewEl),this.previewEl.previousElementSibling!==this.containerEl&&this.insertBefore(this.previewEl,this.containerEl.nextSibling));}},{key:"updateContentWithMention",value:function updateContentWithMention(t){this.updateContent(),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content,mention:t},bubbles:!0,composed:!0}));}},{key:"disconnectedCallback",value:function disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),_superPropGet(y,"disconnectedCallback",this,3)([]);}},{key:"updated",value:function updated(t){t.has("value")&&this.editorEl&&this.value!==this.editorEl.innerHTML&&(this.editorEl.innerHTML=this.value||"<p><br></p>",this.content=this.editorEl.innerHTML,this.syncPreview()),t.has("singleLineEditor")&&(this.editorEl&&this.editorEl.classList.toggle("single-line",this.singleLineEditor),this.previewEl&&this.previewEl.classList.toggle("single-line",this.singleLineEditor));}},{key:"ensureEditor",value:function ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){var _t2=document.createElement("article");_t2.className="editor",_t2.setAttribute("contenteditable","true"),this.editorEl=_t2;}this.placeholder&&(this.editorEl.dataset.placeholder=this.placeholder),this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>");}},{key:"unwrapMention",value:function unwrapMention(t){var _t$textContent;var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!0;var s=t.parentNode;if(!s)return;var e=i?((_t$textContent=t.textContent)!==null&&_t$textContent!==void 0?_t$textContent:"").replace(/\u200B/g,""):"",n=document.createTextNode(e);s.insertBefore(n,t),s.removeChild(t);var r=document.createRange();r.setStartAfter(n),r.collapse(!0);var o=window.getSelection();o!==null&&o!==void 0&&o.removeAllRanges(),o===null||o===void 0?void 0:o.addRange(r);}},{key:"scrubBrokenMentions",value:function scrubBrokenMentions(){var _this2=this;if(!this.editorEl)return;this.editorEl.querySelectorAll("span.mention").forEach(function(t){var _i$textContent;var i=t,s=i.getAttribute("data-mention-key"),e=i.getAttribute("data-mention-label"),n=i.getAttribute("data-mention-trigger")||"",r=((_i$textContent=i.textContent)!==null&&_i$textContent!==void 0?_i$textContent:"").replace(/\u200B/g,"").trim(),o=!!s&&!!e&&r.length>0&&r.startsWith(n)&&r.includes(e);r&&o||_this2.unwrapMention(i,!0);});}},{key:"wireEditor",value:function wireEditor(){var _this3=this;this.editorEl.addEventListener("input",function(){_this3.ensureAtLeastOneParagraph(),_this3.scrubBrokenMentions(),_this3.updateContent(),_this3.updateToolbarState();}),this.editorEl.addEventListener("mouseup",function(){_this3.saveSelection(),_this3.updateToolbarState();}),this.editorEl.addEventListener("keyup",function(t){_this3.saveSelection(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t.key)&&_this3.updateToolbarState();}),this.editorEl.addEventListener("keydown",this.onEditorKeydown);}},{key:"wireAuthoredToolbar",value:function wireAuthoredToolbar(t){var _this4=this;this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(t.children).forEach(function(t){var i=t.tagName.toLowerCase();if("nile-rte-select"===i&&"align"===t.getAttribute("type"))return t.disabled=_this4.disabled,void t.addEventListener("change",function(t){_this4.focusAndRestore();var i=t.detail;r(_this4.editorEl,i),_this4.updateContent(),_this4.updateToolbarState();});if("nile-rte-link"===i)return t.editorEl=_this4.editorEl,void t.addEventListener("link-changed",function(){_this4.updateContent(),_this4.updateToolbarState();});if("nile-rte-toolbar-item"===i){var _this4$buttonMap$get;var _i2=t.querySelector(":scope > nile-button");var _s2=t.getAttribute("name")||"",_e2=t.getAttribute("label")||_s2,_n2=t.getAttribute("icon"),_r2=t.innerHTML.trim().length>0;if(_i2||(_i2=document.createElement("nile-button"),_i2.variant="tertiary",_i2.size="small"),_i2.disabled=_this4.disabled,_n2)_i2.innerHTML="<nile-icon name=\"".concat(_n2,"\" color=").concat(_this4.disabled?"var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))":"var(--nile-colors-dark-900, var(--ng-colors-text-primary-900))"," aria-label=\"").concat(_e2,"\"></nile-icon>"),t.innerHTML="";else if(_r2)_i2.innerHTML=t.innerHTML,t.innerHTML="";else{var _n3=b[_s2];_n3?_i2.innerHTML="<nile-icon name=\"".concat(_n3,"\" size=\"20\" color=").concat(_this4.disabled?"var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))":"var(--nile-colors-dark-900, var(--ng-colors-text-primary-900))"," aria-label=\"").concat(_e2,"\"></nile-icon>"):_i2.textContent=_e2||_s2,t.innerHTML="";}if(!_i2.isConnected)if(_this4.disabled)t.appendChild(_i2);else{var _s3=document.createElement("nile-lite-tooltip");_s3.setAttribute("content",_e2),_s3.appendChild(_i2),t.appendChild(_s3);}_i2.setAttribute("aria-label",_e2),_i2.addEventListener("mousedown",function(t){return t.preventDefault();}),_i2.addEventListener("click",function(){return _this4.onToolbarCommand(_s2);});var _o=(_this4$buttonMap$get=_this4.buttonMap.get(_s2))!==null&&_this4$buttonMap$get!==void 0?_this4$buttonMap$get:[];return _o.push(_i2),void _this4.buttonMap.set(_s2,_o);}if("nile-rte-select"!==i)"nile-rte-color"!==i||t.addEventListener("change",function(t){_this4.focusAndRestore();var _t$detail=t.detail,i=_t$detail.mode,s=_t$detail.value;"backColor"===i?d(_this4.editorEl,s):f(_this4.editorEl,s),_this4.updateContent(),_this4.updateToolbarState();});else{var _i3=t.getAttribute("type")||"";t.addEventListener("change",function(t){_this4.focusAndRestore();var s=t.detail;"heading"===_i3?o(_this4.editorEl,s):"font"===_i3&&a(_this4.editorEl,s),_this4.updateContent(),_this4.updateToolbarState();});}});}},{key:"saveSelection",value:function saveSelection(){var t=window.getSelection();t&&t.rangeCount&&(this.lastRange=t.getRangeAt(0).cloneRange());}},{key:"restoreSelection",value:function restoreSelection(){if(!this.lastRange)return;var t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange));}},{key:"focusAndRestore",value:function focusAndRestore(){var _this$editorEl;(_this$editorEl=this.editorEl)!==null&&_this$editorEl!==void 0&&_this$editorEl.focus(),this.restoreSelection();}},{key:"getCleanContent",value:function getCleanContent(){var t=this.editorEl.cloneNode(!0);return t.querySelectorAll("*").forEach(function(t){t.removeAttribute("style");}),t.innerHTML;}},{key:"insertList",value:function insertList(t){if(this.restoreSelection(),!this.lastRange)return;var i=document.createElement(t),s=this.lastRange.extractContents(),e=document.createElement("div");e.appendChild(s),Array.from(e.childNodes).forEach(function(t){var _t$textContent2;if(t.nodeType===Node.TEXT_NODE&&!((_t$textContent2=t.textContent)!==null&&_t$textContent2!==void 0&&_t$textContent2.trim()))return;var s=document.createElement("li");s.appendChild(t),i.appendChild(s);}),this.lastRange.insertNode(i),this.afterListEdit(i);}},{key:"afterListEdit",value:function afterListEdit(t){var i=document.createRange();i.setStartAfter(t),i.collapse(!0);var s=window.getSelection();s!==null&&s!==void 0&&s.removeAllRanges(),s!==null&&s!==void 0&&s.addRange(i),this.saveSelection(),this.updateContent(),this.updateToolbarState();}},{key:"ensureAtLeastOneParagraph",value:function ensureAtLeastOneParagraph(){var _t$textContent3;var t=this.editorEl;if(!t)return;var i=""===((_t$textContent3=t.textContent)!==null&&_t$textContent3!==void 0?_t$textContent3:"").replace(/\u200B/g,"").trim();if(0===t.childNodes.length||i)return void(t.innerHTML="<p><br></p>");if(!t.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){var _i4=document.createElement("p");for(;t.firstChild;)_i4.appendChild(t.firstChild);return _i4.hasChildNodes()||_i4.appendChild(document.createElement("br")),void t.appendChild(_i4);}t.querySelectorAll("p").forEach(function(t){var _t$textContent4;""===((_t$textContent4=t.textContent)!==null&&_t$textContent4!==void 0?_t$textContent4:"").replace(/\u200B/g,"")&&(t.innerHTML.toLowerCase().includes("<br")||(t.innerHTML="<br>"));});}},{key:"onToolbarCommand",value:function onToolbarCommand(t){switch(this.focusAndRestore(),t){case"bold":c(this.editorEl,"strong");break;case"italic":c(this.editorEl,"em");break;case"underline":c(this.editorEl,"u");break;case"left":r(this.editorEl,"left");break;case"center":r(this.editorEl,"center");break;case"right":r(this.editorEl,"right");break;case"justify":r(this.editorEl,"justify");break;case"ul":m(this.editorEl,"ul"),this.updateContent(),this.updateToolbarState();break;case"ol":m(this.editorEl,"ol"),this.updateContent(),this.updateToolbarState();break;case"link":break;case"clear":var _t3=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),_i5=[];for(;_t3.nextNode();){var _s4=_t3.currentNode;_s4.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(_s4.tagName)&&_i5.push(_s4);}for(var _i7=0,_i6=_i5;_i7<_i6.length;_i7++){var _t4=_i6[_i7];for(;_t4.firstChild;){var _t4$parentNode;(_t4$parentNode=_t4.parentNode)===null||_t4$parentNode===void 0||_t4$parentNode.insertBefore(_t4.firstChild,_t4);}_t4.remove();}this.ensureAtLeastOneParagraph();}this.updateContent(),this.updateToolbarState();}},{key:"setBtnActive",value:function setBtnActive(t,i){var s=this.buttonMap.get(t);if(s){var _iterator=_createForOfIteratorHelper(s),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _t5=_step.value;_t5.toggleAttribute("data-active",!!i);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}}},{key:"updateToolbarState",value:function updateToolbarState(){var _this5=this,_s$closest;if(!this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);if(!this.editorEl.contains(i.commonAncestorContainer))return;var s=h(i.startContainer)||this.editorEl,e=getComputedStyle(s),n=l(i.startContainer,this.editorEl)||this.editorEl,r=function(){var t=s;for(;t&&t!==_this5.editorEl;){if(t instanceof HTMLElement){var _i8=t.tagName.toLowerCase();if("strong"===_i8||"b"===_i8)return!0;var _s5=getComputedStyle(t).fontWeight;if(parseInt(_s5,10)>=600)return!0;}t=t.parentNode;}return!1;}(),o=function(){var t=s;for(;t&&t!==_this5.editorEl;){if(t instanceof HTMLElement){var _i9=t.tagName.toLowerCase();if("em"===_i9||"i"===_i9)return!0;if("italic"===getComputedStyle(t).fontStyle)return!0;}t=t.parentNode;}return!1;}(),c=function(){var t=s;for(;t&&t!==_this5.editorEl;){if(t instanceof HTMLElement){var _i10=getComputedStyle(t).textDecorationLine;if(_i10&&_i10.includes("underline"))return!0;if("u"===t.tagName.toLowerCase())return!0;}t=t.parentNode;}return!1;}(),a=!!s.closest("a"),d=n.style.textAlign||getComputedStyle(n).textAlign||"start",f="start"===d?"left":d,m=!!s.closest("li")&&((_s$closest=s.closest("ul,ol"))===null||_s$closest===void 0?void 0:_s$closest.tagName.toLowerCase())||"";if(this.setBtnActive("bold",r),this.setBtnActive("italic",o),this.setBtnActive("underline",c),this.setBtnActive("link",a),this.setBtnActive("left","left"===f&&!["center","right","justify"].includes(f)),this.setBtnActive("center","center"===f),this.setBtnActive("right","right"===f),this.setBtnActive("justify","justify"===f),this.setBtnActive("ul","ul"===m),this.setBtnActive("ol","ol"===m),this.headingSelect){var _t6=n.tagName.toLowerCase(),_i11=["h1","h2","h3"].includes(_t6)?_t6:"p";this.headingSelect.value!==_i11&&(this.headingSelect.value=_i11);}if(this.fontSelect){var _t7=(e.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(_t7)for(var _i12=0,_Array$from=Array.from(this.fontSelect.options);_i12<_Array$from.length;_i12++){var _i13=_Array$from[_i12];if(_i13.value.toLowerCase()===_t7){this.fontSelect.value=_i13.value;break;}}}if(this.colorInput){var _t8=u(e.color);_t8&&this.colorInput.value.toLowerCase()!==_t8.toLowerCase()&&(this.colorInput.value=_t8),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value);}if(this.bgColorInput){var _t9=getComputedStyle(s).backgroundColor;if(_t9&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(_t9)){var _i14=u(_t9);_i14&&this.bgColorInput.value.toLowerCase()!==_i14.toLowerCase()&&(this.bgColorInput.value=_i14);}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value);}}},{key:"syncPreview",value:function syncPreview(){this.updateContent();}},{key:"getComputedImportantProps",value:function getComputedImportantProps(){var _this$whitelist;return Array.from(new Set([].concat(g,_toConsumableArray((_this$whitelist=this.whitelist)!==null&&_this$whitelist!==void 0?_this$whitelist:[]))));}},{key:"updateContent",value:function updateContent(){var _this$editorEl$textCo;if(!this.editorEl)return;this.ensureAtLeastOneParagraph();var t=""===((_this$editorEl$textCo=this.editorEl.textContent)!==null&&_this$editorEl$textCo!==void 0?_this$editorEl$textCo:"").trim();this.editorEl.classList.toggle("empty",t);var i=this.editorEl.cloneNode(!0);if(this.noStyles)i.querySelectorAll("[style]").forEach(function(t){return t.removeAttribute("style");});else{var _t10=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),_s6=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),_e3=this.getComputedImportantProps();var _loop=function _loop(){var i=_t10.currentNode,n=_s6.currentNode,r=window.getComputedStyle(i),o=_e3.map(function(t){return"".concat(t,":").concat(r.getPropertyValue(t));}).join(";");o.trim()&&n.setAttribute("style",o);};for(;_t10.nextNode()&&_s6.nextNode();){_loop();}}this.content=i.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content},bubbles:!0,composed:!0}));}}]);}(i));t([s({type:String,attribute:!0,reflect:!0})],y.prototype,"value",void 0),t([s({type:Boolean,attribute:!0,reflect:!0})],y.prototype,"noStyles",void 0),t([s({type:Boolean,attribute:!0,reflect:!0})],y.prototype,"disabled",void 0),t([s({type:Boolean,attribute:"singlelineeditor",reflect:!0})],y.prototype,"singleLineEditor",void 0),t([s({type:String})],y.prototype,"placeholder",void 0),t([s({attribute:"mentions",reflect:!0,converter:{fromAttribute:function fromAttribute(t){try{var _i15=JSON.parse(t),_s7={};for(var _i16=0,_Object$keys=Object.keys(_i15);_i16<_Object$keys.length;_i16++){var _t11=_Object$keys[_i16];var _e4=_i15[_t11];Array.isArray(_e4)&&(_s7[_t11]=_e4.filter(function(t){return t&&"string"==typeof t.key&&"string"==typeof t.label;}).map(function(t){return{key:t.key,label:t.label};}));}return _s7;}catch(_unused){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t);}}})],y.prototype,"mentions",void 0),t([s({attribute:"whitelist",reflect:!1,converter:{fromAttribute:function fromAttribute(t){try{var _i17=JSON.parse(t);return Array.isArray(_i17)?_i17.filter(function(t){return"string"==typeof t;}):[];}catch(_unused2){return[];}}}})],y.prototype,"whitelist",void 0),t([e()],y.prototype,"content",void 0),_export("N",y=t([n("nile-rich-text-editor")],y));}};});
2
2
  //# sourceMappingURL=nile-rich-text-editor.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-rich-text-editor.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rich-text-editor.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport './nile-rte-toolbar';\nimport './nile-rte-toolbar-item';\nimport './nile-rte-select';\nimport './nile-rte-color';\nimport './nile-rte-divider';\nimport './nile-rte-preview';\nimport './nile-rte-mentions';\nimport './nile-rte-link';\n\nimport {\n closestBlock,\n nearestElement,\n rgbToHex,\n toggleInlineTag,\n setBlockTag,\n setAlignment,\n setFontFamily,\n setForeColor,\n setBackColor,\n toggleList,\n} from './utils/index';\n\nimport { styles } from './nile-rich-text-editor.css';\n\ntype MentionsConfig = Record<string, { key: string; label: string }[]>;\n\nconst DEFAULT_ICONS: Record<string, string> = {\n bold: 'format_bold',\n italic: 'format_italic',\n underline: 'format_underline',\n link: 'link_2',\n left: 'format_align_left',\n center: 'format_align_middle',\n right: 'format_align_right',\n justify: 'format_align_justify',\n ul: 'format_list_bulleted',\n ol: 'format_list_numbered',\n clear: 'format_clear'\n};\n\nconst DEFAULT_IMPORTANT_PROPS = [\n 'font-weight',\n 'font-style',\n 'text-decoration',\n 'color',\n 'background-color',\n 'font-size',\n 'font-family',\n 'text-align',\n 'line-height',\n 'letter-spacing',\n 'white-space',\n 'vertical-align',\n 'list-style-position',\n 'padding-inline-start',\n];\n\n@customElement('nile-rich-text-editor')\nexport class NileRichTextEditor extends LitElement {\n protected createRenderRoot() {\n return this;\n }\n\n @property({ type: String, attribute: true, reflect: true }) value = '';\n @property({ type: Boolean, attribute: true, reflect: true }) noStyles = false;\n @property({ type: Boolean, attribute: 'singlelineeditor', reflect: true }) singleLineEditor =\n false;\n @property({ type: String }) placeholder = '';\n\n\n @property({\n attribute: 'mentions',\n reflect: true,\n converter: {\n fromAttribute: (value: string): MentionsConfig => {\n try {\n const parsed = JSON.parse(value);\n const out: MentionsConfig = {};\n for (const trig of Object.keys(parsed)) {\n const arr = parsed[trig];\n if (Array.isArray(arr)) {\n out[trig] = arr\n .filter(\n i =>\n i &&\n typeof i.key === 'string' &&\n typeof i.label === 'string'\n )\n .map(i => ({ key: i.key, label: i.label }));\n }\n }\n return out;\n } catch {\n return {};\n }\n },\n toAttribute: (v: MentionsConfig) => JSON.stringify(v),\n },\n })\n mentions: MentionsConfig = {};\n\n @property({\n attribute: 'whitelist',\n reflect: false,\n converter: {\n fromAttribute: (value: string): string[] => {\n try {\n const parsed = JSON.parse(value);\n return Array.isArray(parsed) ? parsed.filter(v => typeof v === 'string') : [];\n } catch {\n return [];\n }\n },\n },\n })\n whitelist: string[] = [];\n\n @state() private content = '';\n private editorEl!: HTMLElement;\n private previewEl: HTMLElement | null = null;\n private toolbarEl: HTMLElement | null = null;\n\n private lastRange: Range | null = null;\n\n private buttonMap = new Map<string, HTMLElement[]>();\n private headingSelect: HTMLSelectElement | null = null;\n private fontSelect: HTMLSelectElement | null = null;\n private colorInput: HTMLInputElement | null = null;\n private bgColorInput: HTMLInputElement | null = null;\n private colorSwatchEl: HTMLElement | null = null;\n private bgSwatchEl: HTMLElement | null = null;\n private containerEl: HTMLElement | null = null;\n\n private mentionsEl: HTMLElement | null = null;\n\n private injectCss(cssText: string) {\n if (this.querySelector('style[data-rte-style]')) return;\n const style = document.createElement('style');\n style.setAttribute('data-rte-style', 'true');\n style.textContent = cssText;\n this.insertBefore(style, this.firstChild);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.injectCss(styles.cssText);\n this.ensureStructure();\n if (this.placeholder && this.editorEl) {\n this.editorEl.dataset.placeholder = this.placeholder;\n }\n\n\n if (this.value && !this.editorEl.innerHTML.trim()) {\n this.editorEl.innerHTML = this.value;\n }\n this.content = this.editorEl.innerHTML;\n\n if (this.toolbarEl) this.wireAuthoredToolbar(this.toolbarEl);\n this.mentionsEl = this.querySelector('nile-rte-mentions');\n if (this.mentionsEl) {\n (this.mentionsEl as any).attach?.(this.editorEl, this as HTMLElement);\n (this.mentionsEl as any).setExternalConfig?.(this.mentions);\n }\n\n this.wireEditor();\n document.addEventListener('selectionchange', this.onSelectionChange, {\n passive: true,\n });\n this.updateToolbarState();\n this.syncPreview();\n }\n\n private ensureStructure() {\n this.toolbarEl = this.querySelector('nile-rte-toolbar');\n this.previewEl = this.querySelector('nile-rte-preview');\n\n // container for toolbar + editor\n this.containerEl = this.querySelector('.rte-container') as HTMLElement;\n if (!this.containerEl) {\n this.containerEl = document.createElement('div');\n this.containerEl.className = 'rte-container';\n this.appendChild(this.containerEl);\n }\n\n // ensure editor\n this.ensureEditor();\n\n // put toolbar + editor inside container\n if (this.toolbarEl && this.toolbarEl.parentElement !== this.containerEl) {\n this.containerEl.appendChild(this.toolbarEl);\n }\n if (this.editorEl.parentElement !== this.containerEl) {\n this.containerEl.appendChild(this.editorEl);\n }\n\n if (this.previewEl) {\n if (this.previewEl.parentElement !== this) {\n this.appendChild(this.previewEl);\n }\n\n if (this.previewEl.previousElementSibling !== this.containerEl) {\n this.insertBefore(this.previewEl, this.containerEl.nextSibling);\n }\n }\n }\n\n private updateContentWithMention(mentionDetail: any) {\n this.updateContent();\n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: {\n content: this.content,\n mention: mentionDetail,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n disconnectedCallback(): void {\n document.removeEventListener('selectionchange', this.onSelectionChange);\n\n if (this.mentionsEl && (this.mentionsEl as any).detach) {\n (this.mentionsEl as any).detach();\n }\n super.disconnectedCallback();\n }\n protected updated(changed: Map<string, any>) {\n if (changed.has('value')) {\n if (this.editorEl && this.value !== this.editorEl.innerHTML) {\n this.editorEl.innerHTML = this.value || '<p><br></p>';\n this.content = this.editorEl.innerHTML;\n this.syncPreview();\n }\n }\n if (changed.has('singleLineEditor')) {\n if (this.editorEl) {\n this.editorEl.classList.toggle('single-line', this.singleLineEditor);\n }\n if (this.previewEl) {\n this.previewEl.classList.toggle('single-line', this.singleLineEditor);\n }\n }\n }\n\n private ensureEditor() {\n this.editorEl = this.querySelector('.editor') as HTMLElement;\n if (!this.editorEl) {\n const editor = document.createElement('article');\n editor.className = 'editor';\n editor.setAttribute('contenteditable', 'true');\n this.editorEl = editor;\n }\n if (this.placeholder) {\n this.editorEl.dataset.placeholder = this.placeholder;\n }\n \n if (!this.editorEl.innerHTML.trim()) {\n this.editorEl.innerHTML = '<p><br></p>';\n }\n }\n\n private unwrapMention(span: HTMLElement, preserveText = true) {\n const parent = span.parentNode;\n if (!parent) return;\n\n const txt = preserveText\n ? (span.textContent ?? '').replace(/\\u200B/g, '')\n : '';\n const textNode = document.createTextNode(txt);\n parent.insertBefore(textNode, span);\n parent.removeChild(span);\n const r = document.createRange();\n r.setStartAfter(textNode);\n r.collapse(true);\n const sel = window.getSelection();\n sel?.removeAllRanges();\n sel?.addRange(r);\n }\n\n private scrubBrokenMentions() {\n if (!this.editorEl) return;\n const mentions = this.editorEl.querySelectorAll('span.mention');\n\n mentions.forEach(m => {\n const span = m as HTMLElement;\n const key = span.getAttribute('data-mention-key');\n const label = span.getAttribute('data-mention-label');\n const trigger = span.getAttribute('data-mention-trigger') || '';\n const text = (span.textContent ?? '').replace(/\\u200B/g, '').trim();\n\n const looksValid =\n !!key &&\n !!label &&\n text.length > 0 &&\n text.startsWith(trigger) &&\n text.includes(label);\n\n if (!text || !looksValid) {\n this.unwrapMention(span, true);\n return;\n }\n });\n }\n\n private wireEditor() {\n this.editorEl.addEventListener('input', () => {\n this.ensureAtLeastOneParagraph();\n this.scrubBrokenMentions();\n this.updateContent();\n this.updateToolbarState();\n });\n this.editorEl.addEventListener('mouseup', () => {\n this.saveSelection();\n this.updateToolbarState();\n });\n this.editorEl.addEventListener('keyup', e => {\n this.saveSelection();\n\n if (\n [\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ].includes(e.key)\n ) {\n this.updateToolbarState();\n }\n });\n this.editorEl.addEventListener('keydown', this.onEditorKeydown);\n }\n\n private onEditorKeydown = (e: KeyboardEvent) => {\n if (this.singleLineEditor && e.key === 'Enter' && e.shiftKey) {\n e.preventDefault();\n return;\n }\n if (e.ctrlKey && e.key.toLowerCase() === 'i') {\n e.preventDefault();\n toggleInlineTag(this.editorEl, 'em');\n this.updateContent();\n this.updateToolbarState();\n }\n\n if (this.singleLineEditor && e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n if (e.key !== 'Tab') return;\n\n e.preventDefault();\n this.focusAndRestore();\n\n const sel = window.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n\n if (e.shiftKey) {\n if (range.collapsed && range.startContainer.nodeType === Node.TEXT_NODE) {\n const t = range.startContainer as Text;\n const off = range.startOffset;\n const before = t.data.slice(0, off);\n\n const removed = before.replace(/(\\t|[ \\u00a0]{2})$/, '');\n if (removed.length !== before.length) {\n t.data = removed + t.data.slice(off);\n const r = document.createRange();\n r.setStart(t, removed.length);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n this.updateContent();\n this.updateToolbarState();\n }\n }\n return;\n }\n\n range.deleteContents();\n const tabNode = document.createTextNode('\\t');\n range.insertNode(tabNode);\n\n const r = document.createRange();\n r.setStartAfter(tabNode);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n\n this.updateContent();\n this.updateToolbarState();\n };\n\n private wireAuthoredToolbar(tb: HTMLElement) {\n this.buttonMap.clear();\n this.headingSelect = null;\n this.fontSelect = null;\n this.colorInput = null;\n\n Array.from(tb.children).forEach(child => {\n const tag = child.tagName.toLowerCase();\n\n if (tag === 'nile-rte-select' && child.getAttribute('type') === 'align') {\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n const alignment = e.detail as 'left' | 'center' | 'right' | 'justify';\n setAlignment(this.editorEl, alignment);\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n if (tag === 'nile-rte-link') {\n (child as any).editorEl = this.editorEl;\n child.addEventListener('link-changed', () => {\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n\n if (tag === 'nile-rte-toolbar-item') {\n let btn = child.querySelector(\n ':scope > nile-button'\n ) as HTMLElement | null;\n\n const cmd = child.getAttribute('name') || '';\n const label = child.getAttribute('label') || cmd;\n const iconAttr = child.getAttribute('icon');\n const authoredHasContent = child.innerHTML.trim().length > 0;\n\n if (!btn) {\n btn = document.createElement('nile-button');\n (btn as any).variant = 'tertiary';\n (btn as any).size = 'small';\n }\n\n if (iconAttr) {\n btn.innerHTML = `<nile-icon name=\"${iconAttr}\" aria-label=\"${label}\"></nile-icon>`;\n child.innerHTML = '';\n } else if (!authoredHasContent) {\n const defaultIcon = DEFAULT_ICONS[cmd];\n if (defaultIcon) {\n btn.innerHTML = `<nile-icon name=\"${defaultIcon}\" size=\"20\" color=\"black\" aria-label=\"${label}\"></nile-icon>`;\n } else {\n btn.textContent = label || cmd;\n }\n child.innerHTML = '';\n } else {\n btn.innerHTML = child.innerHTML;\n child.innerHTML = '';\n }\n\n if (!btn.isConnected) {\n const tooltip = document.createElement('nile-lite-tooltip');\n tooltip.setAttribute('content', label);\n tooltip.appendChild(btn);\n child.appendChild(tooltip);\n }\n\n btn.setAttribute('aria-label', label);\n btn.addEventListener('mousedown', e => e.preventDefault());\n btn.addEventListener('click', () => this.onToolbarCommand(cmd));\n\n const arr = this.buttonMap.get(cmd) ?? [];\n arr.push(btn);\n this.buttonMap.set(cmd, arr);\n\n return;\n }\n if (tag === 'nile-rte-select') {\n const type = child.getAttribute('type') || '';\n\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n\n const val = e.detail as string;\n\n if (type === 'heading') {\n setBlockTag(this.editorEl, val as any);\n } else if (type === 'font') {\n setFontFamily(this.editorEl, val);\n }\n\n this.updateContent();\n this.updateToolbarState();\n });\n\n return;\n }\n\n if (tag === 'nile-rte-color') {\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n const { mode, value } = e.detail;\n\n if (mode === 'backColor') {\n setBackColor(this.editorEl, value);\n } else {\n setForeColor(this.editorEl, value);\n }\n\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n });\n }\n private onSelectionChange = () => {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (this.editorEl.contains(range.commonAncestorContainer)) {\n this.lastRange = range.cloneRange();\n this.updateToolbarState();\n }\n };\n private saveSelection() {\n const sel = window.getSelection();\n if (sel && sel.rangeCount) this.lastRange = sel.getRangeAt(0).cloneRange();\n }\n private restoreSelection() {\n if (!this.lastRange) return;\n const sel = document.getSelection();\n if (!sel) return;\n sel.removeAllRanges();\n sel.addRange(this.lastRange);\n }\n private focusAndRestore() {\n this.editorEl?.focus();\n this.restoreSelection();\n }\n private getCleanContent(): string {\n const clone = this.editorEl.cloneNode(true) as HTMLElement;\n clone.querySelectorAll<HTMLElement>('*').forEach(el => {\n el.removeAttribute('style');\n });\n \n return clone.innerHTML;\n }\n \n private insertList(type: 'ul' | 'ol') {\n this.restoreSelection();\n if (!this.lastRange) return;\n\n const list = document.createElement(type);\n\n // grab the selected fragment\n const frag = this.lastRange.extractContents();\n const temp = document.createElement('div');\n temp.appendChild(frag);\n\n // wrap each top-level node in an <li>\n Array.from(temp.childNodes).forEach(n => {\n // skip empty whitespace text nodes\n if (n.nodeType === Node.TEXT_NODE && !n.textContent?.trim()) return;\n const li = document.createElement('li');\n li.appendChild(n);\n list.appendChild(li);\n });\n\n this.lastRange.insertNode(list);\n this.afterListEdit(list);\n }\n\n private afterListEdit(node: Node) {\n const range = document.createRange();\n range.setStartAfter(node);\n range.collapse(true);\n const sel = window.getSelection();\n sel?.removeAllRanges();\n sel?.addRange(range);\n\n this.saveSelection();\n this.updateContent();\n this.updateToolbarState();\n }\n\n private ensureAtLeastOneParagraph() {\n const el = this.editorEl;\n if (!el) return;\n\n const onlyWhitespace =\n (el.textContent ?? '').replace(/\\u200B/g, '').trim() === '';\n if (el.childNodes.length === 0 || onlyWhitespace) {\n el.innerHTML = '<p><br></p>';\n return;\n }\n\n const hasBlock = el.querySelector(\n 'p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre'\n );\n if (!hasBlock) {\n const p = document.createElement('p');\n while (el.firstChild) p.appendChild(el.firstChild);\n if (!p.hasChildNodes()) p.appendChild(document.createElement('br'));\n el.appendChild(p);\n return;\n }\n\n el.querySelectorAll('p').forEach(p => {\n if ((p.textContent ?? '').replace(/\\u200B/g, '') === '') {\n if (!p.innerHTML.toLowerCase().includes('<br')) p.innerHTML = '<br>';\n }\n });\n }\n\n // ---------- Toolbar/commands ----------\n private onToolbarCommand(cmd: string) {\n this.focusAndRestore();\n switch (cmd) {\n case 'bold':\n toggleInlineTag(this.editorEl, 'strong');\n break;\n case 'italic':\n toggleInlineTag(this.editorEl, 'em');\n break;\n case 'underline':\n toggleInlineTag(this.editorEl, 'u');\n break;\n case 'left':\n setAlignment(this.editorEl, 'left');\n break;\n case 'center':\n setAlignment(this.editorEl, 'center');\n break;\n case 'right':\n setAlignment(this.editorEl, 'right');\n break;\n case 'justify':\n setAlignment(this.editorEl, 'justify');\n break;\n case 'ul':\n toggleList(this.editorEl, 'ul');\n this.updateContent();\n this.updateToolbarState();\n break;\n case 'ol':\n toggleList(this.editorEl, 'ol');\n this.updateContent();\n this.updateToolbarState();\n break;\n\n case 'link':\n break;\n case 'clear':\n const walker = document.createTreeWalker(\n this.editorEl,\n NodeFilter.SHOW_ELEMENT\n );\n const toUnwrap: HTMLElement[] = [];\n while (walker.nextNode()) {\n const el = walker.currentNode as HTMLElement;\n el.removeAttribute('style');\n if (\n ['B', 'STRONG', 'I', 'EM', 'U', 'SPAN', 'FONT'].includes(el.tagName)\n ) {\n toUnwrap.push(el);\n }\n }\n for (const el of toUnwrap) {\n while (el.firstChild) el.parentNode?.insertBefore(el.firstChild, el);\n el.remove();\n }\n this.ensureAtLeastOneParagraph();\n break;\n\n default:\n break;\n }\n this.updateContent();\n this.updateToolbarState();\n }\n\n private setBtnActive(cmd: string, active: boolean) {\n const arr = this.buttonMap.get(cmd);\n if (!arr) return;\n for (const btn of arr) btn.toggleAttribute('data-active', !!active);\n }\n\n private updateToolbarState() {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (!this.editorEl.contains(range.commonAncestorContainer)) return;\n\n const startElm = nearestElement(range.startContainer) || this.editorEl;\n const comp = getComputedStyle(startElm);\n const block =\n closestBlock(range.startContainer, this.editorEl) || this.editorEl;\n\n const isBold = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const t = n.tagName.toLowerCase();\n if (t === 'strong' || t === 'b') return true;\n const w = getComputedStyle(n).fontWeight;\n if (parseInt(w, 10) >= 600) return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const isItalic = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const t = n.tagName.toLowerCase();\n if (t === 'em' || t === 'i') return true;\n if (getComputedStyle(n).fontStyle === 'italic') return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const isUnderline = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const tdl = getComputedStyle(n).textDecorationLine;\n if (tdl && tdl.includes('underline')) return true;\n if (n.tagName.toLowerCase() === 'u') return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const inLink = !!startElm.closest('a');\n\n const align = (block.style.textAlign ||\n getComputedStyle(block).textAlign ||\n 'start') as string;\n const alignNorm = align === 'start' ? 'left' : align;\n\n const inLi = !!startElm.closest('li');\n const listType = inLi\n ? startElm.closest('ul,ol')?.tagName.toLowerCase() || ''\n : '';\n\n this.setBtnActive('bold', isBold);\n this.setBtnActive('italic', isItalic);\n this.setBtnActive('underline', isUnderline);\n this.setBtnActive('link', inLink);\n\n this.setBtnActive(\n 'left',\n alignNorm === 'left' &&\n !['center', 'right', 'justify'].includes(alignNorm)\n );\n this.setBtnActive('center', alignNorm === 'center');\n this.setBtnActive('right', alignNorm === 'right');\n this.setBtnActive('justify', alignNorm === 'justify');\n\n this.setBtnActive('ul', listType === 'ul');\n this.setBtnActive('ol', listType === 'ol');\n\n if (this.headingSelect) {\n const tag = block.tagName.toLowerCase();\n const v = ['h1', 'h2', 'h3'].includes(tag) ? tag : 'p';\n if (this.headingSelect.value !== v) this.headingSelect.value = v;\n }\n\n if (this.fontSelect) {\n const ff = (comp.fontFamily || '')\n .replace(/[\"']/g, '')\n .split(',')[0]\n .trim()\n .toLowerCase();\n if (ff) {\n for (const opt of Array.from(this.fontSelect.options)) {\n if (opt.value.toLowerCase() === ff) {\n this.fontSelect.value = opt.value;\n break;\n }\n }\n }\n }\n\n if (this.colorInput) {\n const hex = rgbToHex(comp.color);\n if (hex && this.colorInput.value.toLowerCase() !== hex.toLowerCase()) {\n this.colorInput.value = hex;\n }\n if (this.colorSwatchEl)\n this.colorSwatchEl.style.backgroundColor = this.colorInput.value;\n }\n\n if (this.bgColorInput) {\n const bg = getComputedStyle(startElm).backgroundColor;\n if (\n bg &&\n !/transparent|rgba\\(\\s*0\\s*,\\s*0\\s*,\\s*0\\s*,\\s*0\\s*\\)/i.test(bg)\n ) {\n const bgHex = rgbToHex(bg);\n if (\n bgHex &&\n this.bgColorInput.value.toLowerCase() !== bgHex.toLowerCase()\n ) {\n this.bgColorInput.value = bgHex;\n }\n }\n if (this.bgSwatchEl)\n this.bgSwatchEl.style.backgroundColor = this.bgColorInput.value;\n }\n }\n\n private syncPreview() {\n this.updateContent();\n }\n\n private getComputedImportantProps(): string[] {\n return Array.from(\n new Set([\n ...DEFAULT_IMPORTANT_PROPS,\n ...(this.whitelist ?? []),\n ])\n );\n }\n \n\n private updateContent() {\n if (!this.editorEl) return;\n this.ensureAtLeastOneParagraph();\n const isEmpty = (this.editorEl.textContent ?? '').trim() === '';\n this.editorEl.classList.toggle('empty', isEmpty);\n const clone = this.editorEl.cloneNode(true) as HTMLElement;\n \n if (!this.noStyles) {\n const origWalker = document.createTreeWalker(\n this.editorEl,\n NodeFilter.SHOW_ELEMENT\n );\n const cloneWalker = document.createTreeWalker(\n clone,\n NodeFilter.SHOW_ELEMENT\n );\n \n \n const importantProps = this.getComputedImportantProps();\n\n while (origWalker.nextNode() && cloneWalker.nextNode()) {\n const origEl = origWalker.currentNode as HTMLElement;\n const cloneEl = cloneWalker.currentNode as HTMLElement;\n const computed = window.getComputedStyle(origEl);\n \n const cssText = importantProps\n .map(prop => `${prop}:${computed.getPropertyValue(prop)}`)\n .join(';');\n \n if (cssText.trim()) {\n cloneEl.setAttribute('style', cssText);\n }\n }\n } else {\n clone.querySelectorAll<HTMLElement>('[style]').forEach(el =>\n el.removeAttribute('style')\n );\n }\n this.content = clone.innerHTML; \n if (this.previewEl) this.previewEl.innerHTML = this.content;\n \n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { content: this.content },\n bubbles: true,\n composed: true,\n })\n );\n }\n \n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-rich-text-editor': NileRichTextEditor;\n }\n}\n"],"names":["DEFAULT_ICONS","bold","italic","underline","link","left","center","right","justify","ul","ol","clear","DEFAULT_IMPORTANT_PROPS","_export","NileRichTextEditor","y","constructor","this","value","noStyles","singleLineEditor","placeholder","mentions","whitelist","content","previewEl","toolbarEl","lastRange","buttonMap","Map","headingSelect","fontSelect","colorInput","bgColorInput","colorSwatchEl","bgSwatchEl","containerEl","mentionsEl","onEditorKeydown","e","key","shiftKey","preventDefault","ctrlKey","toLowerCase","toggleInlineTag","editorEl","updateContent","updateToolbarState","focusAndRestore","sel","window","getSelection","rangeCount","range","getRangeAt","collapsed","startContainer","nodeType","Node","TEXT_NODE","t","off","startOffset","before","data","slice","removed","replace","length","r","document","createRange","setStart","collapse","removeAllRanges","addRange","deleteContents","tabNode","createTextNode","insertNode","setStartAfter","onSelectionChange","contains","commonAncestorContainer","cloneRange","_this","_inherits","_i","_createClass","createRenderRoot","injectCss","cssText","querySelector","style","createElement","setAttribute","textContent","insertBefore","firstChild","connectedCallback","super","styles","ensureStructure","dataset","innerHTML","trim","wireAuthoredToolbar","attach","setExternalConfig","wireEditor","addEventListener","passive","syncPreview","className","appendChild","ensureEditor","parentElement","previousElementSibling","nextSibling","updateContentWithMention","mentionDetail","dispatchEvent","CustomEvent","detail","mention","bubbles","composed","disconnectedCallback","removeEventListener","detach","updated","changed","has","classList","toggle","editor","unwrapMention","span","preserveText","_t$textContent","parent","parentNode","txt","textNode","removeChild","scrubBrokenMentions","_this2","querySelectorAll","forEach","m","getAttribute","label","trigger","text","looksValid","startsWith","includes","ensureAtLeastOneParagraph","saveSelection","tb","Array","from","children","child","tag","tagName","_this4$buttonMap$get","btn","cmd","iconAttr","authoredHasContent","variant","size","concat","defaultIcon","isConnected","tooltip","onToolbarCommand","arr","get","push","set","_t$detail","mode","setBackColor","setForeColor","type","val","setBlockTag","setFontFamily","alignment","setAlignment","restoreSelection","focus","getCleanContent","clone","cloneNode","el","removeAttribute","insertList","list","frag","extractContents","temp","childNodes","n","li","afterListEdit","node","onlyWhitespace","_t$textContent3","p","hasChildNodes","_t$textContent4","toggleList","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","toUnwrap","nextNode","currentNode","_i7","_i6","remove","setBtnActive","active","_iterator","_createForOfIteratorHelper","s","_step","done","toggleAttribute","err","f","startElm","nearestElement","comp","getComputedStyle","block","closestBlock","isBold","HTMLElement","w","fontWeight","parseInt","isItalic","fontStyle","isUnderline","tdl","textDecorationLine","inLink","closest","align","textAlign","alignNorm","listType","_s$closest","v","ff","fontFamily","split","_i12","_Array$from","options","opt","hex","rgbToHex","color","backgroundColor","bg","test","bgHex","getComputedImportantProps","_this$whitelist","Set","_this$editorEl$textCo","isEmpty","origWalker","cloneWalker","importantProps","_loop","origEl","cloneEl","computed","map","prop","getPropertyValue","join","__decorate","LitElement","property","String","attribute","reflect","prototype","Boolean","converter","fromAttribute","parsed","JSON","parse","out","_i16","_Object$keys","Object","keys","trig","isArray","filter","i","_unused","toAttribute","stringify","_unused2","state","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"nile-rich-text-editor.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rich-text-editor.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport './nile-rte-toolbar';\nimport './nile-rte-toolbar-item';\nimport './nile-rte-select';\nimport './nile-rte-color';\nimport './nile-rte-divider';\nimport './nile-rte-preview';\nimport './nile-rte-mentions';\nimport './nile-rte-link';\n\nimport {\n closestBlock,\n nearestElement,\n rgbToHex,\n toggleInlineTag,\n setBlockTag,\n setAlignment,\n setFontFamily,\n setForeColor,\n setBackColor,\n toggleList,\n} from './utils/index';\n\nimport { styles } from './nile-rich-text-editor.css';\n\ntype MentionsConfig = Record<string, { key: string; label: string }[]>;\n\nconst DEFAULT_ICONS: Record<string, string> = {\n bold: 'format_bold',\n italic: 'format_italic',\n underline: 'format_underline',\n link: 'link_2',\n left: 'format_align_left',\n center: 'format_align_middle',\n right: 'format_align_right',\n justify: 'format_align_justify',\n ul: 'format_list_bulleted',\n ol: 'format_list_numbered',\n clear: 'format_clear'\n};\n\nconst DEFAULT_IMPORTANT_PROPS = [\n 'font-weight',\n 'font-style',\n 'text-decoration',\n 'color',\n 'background-color',\n 'font-size',\n 'font-family',\n 'text-align',\n 'line-height',\n 'letter-spacing',\n 'white-space',\n 'vertical-align',\n 'list-style-position',\n 'padding-inline-start',\n];\n\n@customElement('nile-rich-text-editor')\nexport class NileRichTextEditor extends LitElement {\n protected createRenderRoot() {\n return this;\n }\n\n @property({ type: String, attribute: true, reflect: true }) value = '';\n @property({ type: Boolean, attribute: true, reflect: true }) noStyles = false;\n @property({ type: Boolean, attribute: true, reflect: true }) disabled = false; \n @property({ type: Boolean, attribute: 'singlelineeditor', reflect: true }) singleLineEditor =\n false;\n @property({ type: String }) placeholder = '';\n\n\n @property({\n attribute: 'mentions',\n reflect: true,\n converter: {\n fromAttribute: (value: string): MentionsConfig => {\n try {\n const parsed = JSON.parse(value);\n const out: MentionsConfig = {};\n for (const trig of Object.keys(parsed)) {\n const arr = parsed[trig];\n if (Array.isArray(arr)) {\n out[trig] = arr\n .filter(\n i =>\n i &&\n typeof i.key === 'string' &&\n typeof i.label === 'string'\n )\n .map(i => ({ key: i.key, label: i.label }));\n }\n }\n return out;\n } catch {\n return {};\n }\n },\n toAttribute: (v: MentionsConfig) => JSON.stringify(v),\n },\n })\n mentions: MentionsConfig = {};\n\n @property({\n attribute: 'whitelist',\n reflect: false,\n converter: {\n fromAttribute: (value: string): string[] => {\n try {\n const parsed = JSON.parse(value);\n return Array.isArray(parsed) ? parsed.filter(v => typeof v === 'string') : [];\n } catch {\n return [];\n }\n },\n },\n })\n whitelist: string[] = [];\n\n @state() private content = '';\n private editorEl!: HTMLElement;\n private previewEl: HTMLElement | null = null;\n private toolbarEl: HTMLElement | null = null;\n\n private lastRange: Range | null = null;\n\n private buttonMap = new Map<string, HTMLElement[]>();\n private headingSelect: HTMLSelectElement | null = null;\n private fontSelect: HTMLSelectElement | null = null;\n private colorInput: HTMLInputElement | null = null;\n private bgColorInput: HTMLInputElement | null = null;\n private colorSwatchEl: HTMLElement | null = null;\n private bgSwatchEl: HTMLElement | null = null;\n private containerEl: HTMLElement | null = null;\n\n private mentionsEl: HTMLElement | null = null;\n\n private injectCss(cssText: string) {\n if (this.querySelector('style[data-rte-style]')) return;\n const style = document.createElement('style');\n style.setAttribute('data-rte-style', 'true');\n style.textContent = cssText;\n this.insertBefore(style, this.firstChild);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.injectCss(styles.cssText);\n this.ensureStructure();\n if (this.placeholder && this.editorEl) {\n this.editorEl.dataset.placeholder = this.placeholder;\n }\n\n\n if (this.value && !this.editorEl.innerHTML.trim()) {\n this.editorEl.innerHTML = this.value;\n }\n this.content = this.editorEl.innerHTML;\n\n if (this.toolbarEl) this.wireAuthoredToolbar(this.toolbarEl);\n this.mentionsEl = this.querySelector('nile-rte-mentions');\n if (this.mentionsEl) {\n (this.mentionsEl as any).attach?.(this.editorEl, this as HTMLElement);\n (this.mentionsEl as any).setExternalConfig?.(this.mentions);\n }\n\n this.wireEditor();\n document.addEventListener('selectionchange', this.onSelectionChange, {\n passive: true,\n });\n this.updateToolbarState();\n this.syncPreview();\n }\n\n private ensureStructure() {\n this.toolbarEl = this.querySelector('nile-rte-toolbar');\n this.previewEl = this.querySelector('nile-rte-preview');\n\n // container for toolbar + editor\n this.containerEl = this.querySelector('.rte-container') as HTMLElement;\n if (!this.containerEl) {\n this.containerEl = document.createElement('div');\n this.containerEl.className = 'rte-container';\n this.appendChild(this.containerEl);\n }\n\n // ensure editor\n this.ensureEditor();\n\n // put toolbar + editor inside container\n if (this.toolbarEl && this.toolbarEl.parentElement !== this.containerEl) {\n this.containerEl.appendChild(this.toolbarEl);\n }\n if (this.editorEl.parentElement !== this.containerEl) {\n this.containerEl.appendChild(this.editorEl);\n }\n\n if (this.previewEl) {\n if (this.previewEl.parentElement !== this) {\n this.appendChild(this.previewEl);\n }\n\n if (this.previewEl.previousElementSibling !== this.containerEl) {\n this.insertBefore(this.previewEl, this.containerEl.nextSibling);\n }\n }\n }\n\n private updateContentWithMention(mentionDetail: any) {\n this.updateContent();\n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: {\n content: this.content,\n mention: mentionDetail,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n disconnectedCallback(): void {\n document.removeEventListener('selectionchange', this.onSelectionChange);\n\n if (this.mentionsEl && (this.mentionsEl as any).detach) {\n (this.mentionsEl as any).detach();\n }\n super.disconnectedCallback();\n }\n protected updated(changed: Map<string, any>) {\n if (changed.has('value')) {\n if (this.editorEl && this.value !== this.editorEl.innerHTML) {\n this.editorEl.innerHTML = this.value || '<p><br></p>';\n this.content = this.editorEl.innerHTML;\n this.syncPreview();\n }\n }\n if (changed.has('singleLineEditor')) {\n if (this.editorEl) {\n this.editorEl.classList.toggle('single-line', this.singleLineEditor);\n }\n if (this.previewEl) {\n this.previewEl.classList.toggle('single-line', this.singleLineEditor);\n }\n }\n \n }\n\n private ensureEditor() {\n this.editorEl = this.querySelector('.editor') as HTMLElement;\n if (!this.editorEl) {\n const editor = document.createElement('article');\n editor.className = 'editor';\n editor.setAttribute('contenteditable', 'true');\n this.editorEl = editor;\n }\n if (this.placeholder) {\n this.editorEl.dataset.placeholder = this.placeholder;\n }\n \n if (!this.editorEl.innerHTML.trim()) {\n this.editorEl.innerHTML = '<p><br></p>';\n }\n }\n\n private unwrapMention(span: HTMLElement, preserveText = true) {\n const parent = span.parentNode;\n if (!parent) return;\n\n const txt = preserveText\n ? (span.textContent ?? '').replace(/\\u200B/g, '')\n : '';\n const textNode = document.createTextNode(txt);\n parent.insertBefore(textNode, span);\n parent.removeChild(span);\n const r = document.createRange();\n r.setStartAfter(textNode);\n r.collapse(true);\n const sel = window.getSelection();\n sel?.removeAllRanges();\n sel?.addRange(r);\n }\n\n private scrubBrokenMentions() {\n if (!this.editorEl) return;\n const mentions = this.editorEl.querySelectorAll('span.mention');\n\n mentions.forEach(m => {\n const span = m as HTMLElement;\n const key = span.getAttribute('data-mention-key');\n const label = span.getAttribute('data-mention-label');\n const trigger = span.getAttribute('data-mention-trigger') || '';\n const text = (span.textContent ?? '').replace(/\\u200B/g, '').trim();\n\n const looksValid =\n !!key &&\n !!label &&\n text.length > 0 &&\n text.startsWith(trigger) &&\n text.includes(label);\n\n if (!text || !looksValid) {\n this.unwrapMention(span, true);\n return;\n }\n });\n }\n\n private wireEditor() {\n this.editorEl.addEventListener('input', () => {\n this.ensureAtLeastOneParagraph();\n this.scrubBrokenMentions();\n this.updateContent();\n this.updateToolbarState();\n });\n this.editorEl.addEventListener('mouseup', () => {\n this.saveSelection();\n this.updateToolbarState();\n });\n this.editorEl.addEventListener('keyup', e => {\n this.saveSelection();\n\n if (\n [\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ].includes(e.key)\n ) {\n this.updateToolbarState();\n }\n });\n this.editorEl.addEventListener('keydown', this.onEditorKeydown);\n }\n\n private onEditorKeydown = (e: KeyboardEvent) => {\n if (this.singleLineEditor && e.key === 'Enter' && e.shiftKey) {\n e.preventDefault();\n return;\n }\n if (e.ctrlKey && e.key.toLowerCase() === 'i') {\n e.preventDefault();\n toggleInlineTag(this.editorEl, 'em');\n this.updateContent();\n this.updateToolbarState();\n }\n\n if (this.singleLineEditor && e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n if (e.key !== 'Tab') return;\n\n e.preventDefault();\n this.focusAndRestore();\n\n const sel = window.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n\n if (e.shiftKey) {\n if (range.collapsed && range.startContainer.nodeType === Node.TEXT_NODE) {\n const t = range.startContainer as Text;\n const off = range.startOffset;\n const before = t.data.slice(0, off);\n\n const removed = before.replace(/(\\t|[ \\u00a0]{2})$/, '');\n if (removed.length !== before.length) {\n t.data = removed + t.data.slice(off);\n const r = document.createRange();\n r.setStart(t, removed.length);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n this.updateContent();\n this.updateToolbarState();\n }\n }\n return;\n }\n\n range.deleteContents();\n const tabNode = document.createTextNode('\\t');\n range.insertNode(tabNode);\n\n const r = document.createRange();\n r.setStartAfter(tabNode);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n\n this.updateContent();\n this.updateToolbarState();\n };\n\n private wireAuthoredToolbar(tb: HTMLElement) {\n this.buttonMap.clear();\n this.headingSelect = null;\n this.fontSelect = null;\n this.colorInput = null;\n\n Array.from(tb.children).forEach(child => {\n const tag = child.tagName.toLowerCase();\n\n if (tag === 'nile-rte-select' && child.getAttribute('type') === 'align') {\n (child as any).disabled = this.disabled;\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n const alignment = e.detail as 'left' | 'center' | 'right' | 'justify';\n setAlignment(this.editorEl, alignment);\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n if (tag === 'nile-rte-link') {\n (child as any).editorEl = this.editorEl;\n child.addEventListener('link-changed', () => {\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n\n if (tag === 'nile-rte-toolbar-item') {\n let btn = child.querySelector(\n ':scope > nile-button'\n ) as HTMLElement | null;\n\n const cmd = child.getAttribute('name') || '';\n const label = child.getAttribute('label') || cmd;\n const iconAttr = child.getAttribute('icon');\n const authoredHasContent = child.innerHTML.trim().length > 0;\n\n if (!btn) {\n btn = document.createElement('nile-button');\n (btn as any).variant = 'tertiary';\n (btn as any).size = 'small';\n }\n (btn as any).disabled = this.disabled;\n\n if (iconAttr) {\n btn.innerHTML = `<nile-icon name=\"${iconAttr}\" color=${this.disabled ? 'var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-text-primary-900))'} aria-label=\"${label}\"></nile-icon>`;\n child.innerHTML = '';\n } else if (!authoredHasContent) {\n const defaultIcon = DEFAULT_ICONS[cmd];\n if (defaultIcon) {\n btn.innerHTML = `<nile-icon name=\"${defaultIcon}\" size=\"20\" color=${this.disabled ? 'var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-text-primary-900))'} aria-label=\"${label}\"></nile-icon>`;\n } else {\n btn.textContent = label || cmd;\n }\n child.innerHTML = '';\n } else {\n btn.innerHTML = child.innerHTML;\n child.innerHTML = '';\n }\n\n if (!btn.isConnected) {\n if (this.disabled) {\n child.appendChild(btn);\n } else {\n const tooltip = document.createElement('nile-lite-tooltip');\n tooltip.setAttribute('content', label);\n tooltip.appendChild(btn);\n child.appendChild(tooltip);\n }\n }\n\n btn.setAttribute('aria-label', label);\n btn.addEventListener('mousedown', e => e.preventDefault());\n btn.addEventListener('click', () => this.onToolbarCommand(cmd));\n\n const arr = this.buttonMap.get(cmd) ?? [];\n arr.push(btn);\n this.buttonMap.set(cmd, arr);\n\n return;\n }\n if (tag === 'nile-rte-select') {\n const type = child.getAttribute('type') || '';\n\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n\n const val = e.detail as string;\n\n if (type === 'heading') {\n setBlockTag(this.editorEl, val as any);\n } else if (type === 'font') {\n setFontFamily(this.editorEl, val);\n }\n\n this.updateContent();\n this.updateToolbarState();\n });\n\n return;\n }\n\n if (tag === 'nile-rte-color') {\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n const { mode, value } = e.detail;\n\n if (mode === 'backColor') {\n setBackColor(this.editorEl, value);\n } else {\n setForeColor(this.editorEl, value);\n }\n\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n });\n }\n private onSelectionChange = () => {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (this.editorEl.contains(range.commonAncestorContainer)) {\n this.lastRange = range.cloneRange();\n this.updateToolbarState();\n }\n };\n private saveSelection() {\n const sel = window.getSelection();\n if (sel && sel.rangeCount) this.lastRange = sel.getRangeAt(0).cloneRange();\n }\n private restoreSelection() {\n if (!this.lastRange) return;\n const sel = document.getSelection();\n if (!sel) return;\n sel.removeAllRanges();\n sel.addRange(this.lastRange);\n }\n private focusAndRestore() {\n this.editorEl?.focus();\n this.restoreSelection();\n }\n private getCleanContent(): string {\n const clone = this.editorEl.cloneNode(true) as HTMLElement;\n clone.querySelectorAll<HTMLElement>('*').forEach(el => {\n el.removeAttribute('style');\n });\n \n return clone.innerHTML;\n }\n \n private insertList(type: 'ul' | 'ol') {\n this.restoreSelection();\n if (!this.lastRange) return;\n\n const list = document.createElement(type);\n\n // grab the selected fragment\n const frag = this.lastRange.extractContents();\n const temp = document.createElement('div');\n temp.appendChild(frag);\n\n // wrap each top-level node in an <li>\n Array.from(temp.childNodes).forEach(n => {\n // skip empty whitespace text nodes\n if (n.nodeType === Node.TEXT_NODE && !n.textContent?.trim()) return;\n const li = document.createElement('li');\n li.appendChild(n);\n list.appendChild(li);\n });\n\n this.lastRange.insertNode(list);\n this.afterListEdit(list);\n }\n\n private afterListEdit(node: Node) {\n const range = document.createRange();\n range.setStartAfter(node);\n range.collapse(true);\n const sel = window.getSelection();\n sel?.removeAllRanges();\n sel?.addRange(range);\n\n this.saveSelection();\n this.updateContent();\n this.updateToolbarState();\n }\n\n private ensureAtLeastOneParagraph() {\n const el = this.editorEl;\n if (!el) return;\n\n const onlyWhitespace =\n (el.textContent ?? '').replace(/\\u200B/g, '').trim() === '';\n if (el.childNodes.length === 0 || onlyWhitespace) {\n el.innerHTML = '<p><br></p>';\n return;\n }\n\n const hasBlock = el.querySelector(\n 'p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre'\n );\n if (!hasBlock) {\n const p = document.createElement('p');\n while (el.firstChild) p.appendChild(el.firstChild);\n if (!p.hasChildNodes()) p.appendChild(document.createElement('br'));\n el.appendChild(p);\n return;\n }\n\n el.querySelectorAll('p').forEach(p => {\n if ((p.textContent ?? '').replace(/\\u200B/g, '') === '') {\n if (!p.innerHTML.toLowerCase().includes('<br')) p.innerHTML = '<br>';\n }\n });\n }\n\n // ---------- Toolbar/commands ----------\n private onToolbarCommand(cmd: string) {\n this.focusAndRestore();\n switch (cmd) {\n case 'bold':\n toggleInlineTag(this.editorEl, 'strong');\n break;\n case 'italic':\n toggleInlineTag(this.editorEl, 'em');\n break;\n case 'underline':\n toggleInlineTag(this.editorEl, 'u');\n break;\n case 'left':\n setAlignment(this.editorEl, 'left');\n break;\n case 'center':\n setAlignment(this.editorEl, 'center');\n break;\n case 'right':\n setAlignment(this.editorEl, 'right');\n break;\n case 'justify':\n setAlignment(this.editorEl, 'justify');\n break;\n case 'ul':\n toggleList(this.editorEl, 'ul');\n this.updateContent();\n this.updateToolbarState();\n break;\n case 'ol':\n toggleList(this.editorEl, 'ol');\n this.updateContent();\n this.updateToolbarState();\n break;\n\n case 'link':\n break;\n case 'clear':\n const walker = document.createTreeWalker(\n this.editorEl,\n NodeFilter.SHOW_ELEMENT\n );\n const toUnwrap: HTMLElement[] = [];\n while (walker.nextNode()) {\n const el = walker.currentNode as HTMLElement;\n el.removeAttribute('style');\n if (\n ['B', 'STRONG', 'I', 'EM', 'U', 'SPAN', 'FONT'].includes(el.tagName)\n ) {\n toUnwrap.push(el);\n }\n }\n for (const el of toUnwrap) {\n while (el.firstChild) el.parentNode?.insertBefore(el.firstChild, el);\n el.remove();\n }\n this.ensureAtLeastOneParagraph();\n break;\n\n default:\n break;\n }\n this.updateContent();\n this.updateToolbarState();\n }\n\n private setBtnActive(cmd: string, active: boolean) {\n const arr = this.buttonMap.get(cmd);\n if (!arr) return;\n for (const btn of arr) btn.toggleAttribute('data-active', !!active);\n }\n\n private updateToolbarState() {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (!this.editorEl.contains(range.commonAncestorContainer)) return;\n\n const startElm = nearestElement(range.startContainer) || this.editorEl;\n const comp = getComputedStyle(startElm);\n const block =\n closestBlock(range.startContainer, this.editorEl) || this.editorEl;\n\n const isBold = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const t = n.tagName.toLowerCase();\n if (t === 'strong' || t === 'b') return true;\n const w = getComputedStyle(n).fontWeight;\n if (parseInt(w, 10) >= 600) return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const isItalic = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const t = n.tagName.toLowerCase();\n if (t === 'em' || t === 'i') return true;\n if (getComputedStyle(n).fontStyle === 'italic') return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const isUnderline = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const tdl = getComputedStyle(n).textDecorationLine;\n if (tdl && tdl.includes('underline')) return true;\n if (n.tagName.toLowerCase() === 'u') return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const inLink = !!startElm.closest('a');\n\n const align = (block.style.textAlign ||\n getComputedStyle(block).textAlign ||\n 'start') as string;\n const alignNorm = align === 'start' ? 'left' : align;\n\n const inLi = !!startElm.closest('li');\n const listType = inLi\n ? startElm.closest('ul,ol')?.tagName.toLowerCase() || ''\n : '';\n\n this.setBtnActive('bold', isBold);\n this.setBtnActive('italic', isItalic);\n this.setBtnActive('underline', isUnderline);\n this.setBtnActive('link', inLink);\n\n this.setBtnActive(\n 'left',\n alignNorm === 'left' &&\n !['center', 'right', 'justify'].includes(alignNorm)\n );\n this.setBtnActive('center', alignNorm === 'center');\n this.setBtnActive('right', alignNorm === 'right');\n this.setBtnActive('justify', alignNorm === 'justify');\n\n this.setBtnActive('ul', listType === 'ul');\n this.setBtnActive('ol', listType === 'ol');\n\n if (this.headingSelect) {\n const tag = block.tagName.toLowerCase();\n const v = ['h1', 'h2', 'h3'].includes(tag) ? tag : 'p';\n if (this.headingSelect.value !== v) this.headingSelect.value = v;\n }\n\n if (this.fontSelect) {\n const ff = (comp.fontFamily || '')\n .replace(/[\"']/g, '')\n .split(',')[0]\n .trim()\n .toLowerCase();\n if (ff) {\n for (const opt of Array.from(this.fontSelect.options)) {\n if (opt.value.toLowerCase() === ff) {\n this.fontSelect.value = opt.value;\n break;\n }\n }\n }\n }\n\n if (this.colorInput) {\n const hex = rgbToHex(comp.color);\n if (hex && this.colorInput.value.toLowerCase() !== hex.toLowerCase()) {\n this.colorInput.value = hex;\n }\n if (this.colorSwatchEl)\n this.colorSwatchEl.style.backgroundColor = this.colorInput.value;\n }\n\n if (this.bgColorInput) {\n const bg = getComputedStyle(startElm).backgroundColor;\n if (\n bg &&\n !/transparent|rgba\\(\\s*0\\s*,\\s*0\\s*,\\s*0\\s*,\\s*0\\s*\\)/i.test(bg)\n ) {\n const bgHex = rgbToHex(bg);\n if (\n bgHex &&\n this.bgColorInput.value.toLowerCase() !== bgHex.toLowerCase()\n ) {\n this.bgColorInput.value = bgHex;\n }\n }\n if (this.bgSwatchEl)\n this.bgSwatchEl.style.backgroundColor = this.bgColorInput.value;\n }\n }\n\n private syncPreview() {\n this.updateContent();\n }\n\n private getComputedImportantProps(): string[] {\n return Array.from(\n new Set([\n ...DEFAULT_IMPORTANT_PROPS,\n ...(this.whitelist ?? []),\n ])\n );\n }\n \n\n private updateContent() {\n if (!this.editorEl) return;\n this.ensureAtLeastOneParagraph();\n const isEmpty = (this.editorEl.textContent ?? '').trim() === '';\n this.editorEl.classList.toggle('empty', isEmpty);\n const clone = this.editorEl.cloneNode(true) as HTMLElement;\n \n if (!this.noStyles) {\n const origWalker = document.createTreeWalker(\n this.editorEl,\n NodeFilter.SHOW_ELEMENT\n );\n const cloneWalker = document.createTreeWalker(\n clone,\n NodeFilter.SHOW_ELEMENT\n );\n \n \n const importantProps = this.getComputedImportantProps();\n\n while (origWalker.nextNode() && cloneWalker.nextNode()) {\n const origEl = origWalker.currentNode as HTMLElement;\n const cloneEl = cloneWalker.currentNode as HTMLElement;\n const computed = window.getComputedStyle(origEl);\n \n const cssText = importantProps\n .map(prop => `${prop}:${computed.getPropertyValue(prop)}`)\n .join(';');\n \n if (cssText.trim()) {\n cloneEl.setAttribute('style', cssText);\n }\n }\n } else {\n clone.querySelectorAll<HTMLElement>('[style]').forEach(el =>\n el.removeAttribute('style')\n );\n }\n this.content = clone.innerHTML; \n if (this.previewEl) this.previewEl.innerHTML = this.content;\n \n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { content: this.content },\n bubbles: true,\n composed: true,\n })\n );\n }\n \n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-rich-text-editor': NileRichTextEditor;\n }\n}\n"],"names":["DEFAULT_ICONS","bold","italic","underline","link","left","center","right","justify","ul","ol","clear","DEFAULT_IMPORTANT_PROPS","_export","NileRichTextEditor","y","constructor","this","value","noStyles","disabled","singleLineEditor","placeholder","mentions","whitelist","content","previewEl","toolbarEl","lastRange","buttonMap","Map","headingSelect","fontSelect","colorInput","bgColorInput","colorSwatchEl","bgSwatchEl","containerEl","mentionsEl","onEditorKeydown","e","key","shiftKey","preventDefault","ctrlKey","toLowerCase","toggleInlineTag","editorEl","updateContent","updateToolbarState","focusAndRestore","sel","window","getSelection","rangeCount","range","getRangeAt","collapsed","startContainer","nodeType","Node","TEXT_NODE","t","off","startOffset","before","data","slice","removed","replace","length","r","document","createRange","setStart","collapse","removeAllRanges","addRange","deleteContents","tabNode","createTextNode","insertNode","setStartAfter","onSelectionChange","contains","commonAncestorContainer","cloneRange","_this","_inherits","_i","_createClass","createRenderRoot","injectCss","cssText","querySelector","style","createElement","setAttribute","textContent","insertBefore","firstChild","connectedCallback","super","styles","ensureStructure","dataset","innerHTML","trim","wireAuthoredToolbar","attach","setExternalConfig","wireEditor","addEventListener","passive","syncPreview","className","appendChild","ensureEditor","parentElement","previousElementSibling","nextSibling","updateContentWithMention","mentionDetail","dispatchEvent","CustomEvent","detail","mention","bubbles","composed","disconnectedCallback","removeEventListener","detach","updated","changed","has","classList","toggle","editor","unwrapMention","span","_t$textContent","preserveText","parent","parentNode","txt","textNode","removeChild","scrubBrokenMentions","querySelectorAll","forEach","m","getAttribute","label","trigger","text","looksValid","startsWith","includes","ensureAtLeastOneParagraph","saveSelection","tb","Array","from","children","child","tag","tagName","alignment","setAlignment","_this4$buttonMap$get","btn","cmd","iconAttr","authoredHasContent","variant","size","concat","defaultIcon","isConnected","tooltip","onToolbarCommand","arr","get","push","set","_t$detail","mode","setBackColor","setForeColor","type","val","setBlockTag","setFontFamily","restoreSelection","focus","getCleanContent","clone","cloneNode","el","removeAttribute","insertList","list","frag","extractContents","temp","childNodes","n","_t$textContent2","li","afterListEdit","node","onlyWhitespace","_t$textContent3","p","hasChildNodes","_t$textContent4","toggleList","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","toUnwrap","nextNode","currentNode","_i7","_i6","remove","setBtnActive","active","_iterator","s","_step","done","toggleAttribute","err","f","_this5","_s$closest","startElm","nearestElement","comp","getComputedStyle","block","closestBlock","isBold","HTMLElement","w","fontWeight","parseInt","isItalic","fontStyle","isUnderline","tdl","textDecorationLine","inLink","closest","align","textAlign","alignNorm","listType","v","ff","fontFamily","split","_i12","_Array$from","options","opt","hex","rgbToHex","color","backgroundColor","bg","test","bgHex","getComputedImportantProps","Set","isEmpty","_this$editorEl$textCo","origWalker","cloneWalker","importantProps","_loop","origEl","cloneEl","computed","map","prop","getPropertyValue","join","LitElement","__decorate","property","String","attribute","reflect","prototype","Boolean","converter","fromAttribute","parsed","JSON","parse","out","_i16","_Object$keys","Object","keys","trig","isArray","filter","i","_unused","toAttribute","stringify","_unused2","state","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- System.register(["lit"],function(_export,_context){"use strict";var r,_templateObject,e;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){r=_lit.css;}],execute:function execute(){_export("s",e=r(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n .editor { all: revert; }\n\n nile-rich-text-editor {\n position: relative;\n display: block;\n font-family: inherit;\n }\n\n\n .rte-container {\n width: 100%;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-sizing: border-box;\n }\n\n \n.rte-container nile-rte-toolbar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 8px 8px 0 0;\n\n width: 100%; \n box-sizing: border-box; \n}\n\n\n .rte-container .editor {\n min-height: 160px;\n width: 100%;\n padding: 12px;\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 0 0 8px 8px;\n outline: none;\n tab-size: 4;\n -moz-tab-size: 4;\n word-break: break-word;\n box-sizing: border-box;\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n }\n\n \nnile-rte-preview {\n display: block;\n width: 100%;\n margin-top: 16px; \n padding: 12px;\n border: 1px dashed var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-sizing: border-box;\n word-wrap: break-word;\n}\n\n\n\n nile-rte-toolbar-item nile-button::part(base) {\n width: 32px;\n height: 32px;\n padding: 0px 6px;\n border: none;\n }\n\n nile-rte-toolbar-item > button,\n nile-rte-toolbar button {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md));\n cursor: pointer;\n }\n\n nile-rte-toolbar-item > button nile-icon { pointer-events: none; }\n\n nile-rte-toolbar-item > button.active {\n border-color: #2563eb;\n background: var(--nile-colors-white-base);\n }\n\n \n .editor p { margin: 1em 0; }\n .editor h1, .preview h1 {\n font-size: 2em;\n margin: 0.67em 0;\n font-weight: bold;\n }\n .editor h2, .preview h2 {\n font-size: 1.5em;\n margin: 0.83em 0;\n font-weight: bold;\n }\n .editor h3 { font-size: 1.17em; }\n .editor h4 { font-size: 1em; }\n .editor h5 { font-size: 0.83em; }\n .editor h6 { font-size: 0.67em; }\n\n\n .editor.single-line {\n min-height: 50px;\n max-height: 50px;\n line-height: 1.2;\n overflow-x: auto;\n white-space: nowrap;\n padding: 0px 12px 0px 12px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n nile-rte-preview.single-line {\n min-height: 50px;\n max-height: 50px;\n line-height: 1.2;\n padding: 0px 12px 0px 12px;\n overflow-x: auto;\n white-space: nowrap;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n nile-rte-divider { \n margin: 0 4px;\n display: inline-block;\n height: 24px;\n width: 1px;\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n }\n \n .editor ul,\n.editor ol {\n list-style-position: inside; \n padding: 0px;\n}\n\n\n \n \n\n nile-rte-toolbar-item nile-button[data-active]::part(base) {\n background-color: var(--nile-colors-primary-400, var(--ng-componentcolors-utility-blue-400));\n}\n\nnile-rte-toolbar-item nile-button[data-active]::part(base):hover {\n background-color: var(--nile-colors-primary-500, var(--ng-componentcolors-utility-blue-500)); \n}\n\n.editor.empty::before {\n content: attr(data-placeholder);\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary));\n position: absolute;\n font-family: var(var(--nile-font-family-sans-serif), var(--ng-font-family-body));\n pointer-events: none;\n user-select: none;\n padding-top: 16px;\n opacity: 0.7;\n}\n\n \n\n\n\n"]))));}};});
1
+ System.register(["lit"],function(_export,_context){"use strict";var r,_templateObject,e;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){r=_lit.css;}],execute:function execute(){_export("s",e=r(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n .editor { all: revert; }\n\n nile-rich-text-editor {\n position: relative;\n display: block;\n font-family: inherit;\n }\n\n\n .rte-container {\n width: 100%;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-sizing: border-box;\n }\n\n \n .rte-container nile-rte-toolbar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 8px 8px 0 0;\n width: 100%; \n box-sizing: border-box; \n}\n\n .rte-container .editor {\n min-height: 160px;\n width: 100%;\n padding: 12px;\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 0 0 8px 8px;\n outline: none;\n tab-size: 4;\n -moz-tab-size: 4;\n word-break: break-word;\n box-sizing: border-box;\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n }\n\n nile-rich-text-editor[disabled] .rte-container {\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n cursor: not-allowed !important;\n background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n }\n\n nile-rich-text-editor[disabled] .rte-container nile-rte-toolbar {\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n cursor: not-allowed !important;\n } \n\n nile-rich-text-editor[disabled] .rte-container .editor {\n background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n pointer-events: none ;\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n }\n\nnile-rte-preview {\n display: block;\n width: 100%;\n margin-top: 16px; \n padding: 12px;\n border: 1px dashed var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-sizing: border-box;\n word-wrap: break-word;\n}\n\n nile-rich-text-editor[disabled] nile-rte-preview {\n background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n cursor: not-allowed ;\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n}\n\n nile-rte-toolbar-item nile-button::part(base) {\n width: 32px;\n height: 32px;\n padding: 0px 6px;\n border: none;\n }\n\n nile-rte-toolbar-item > button,\n nile-rte-toolbar button {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md));\n cursor: pointer;\n }\n\n nile-rte-toolbar-item > button nile-icon { pointer-events: none; }\n\n nile-rte-toolbar-item > button.active {\n border-color: #2563eb;\n background: var(--nile-colors-white-base);\n }\n\n .editor p { margin: 1em 0; }\n .editor h1, .preview h1 {\n font-size: 2em;\n margin: 0.67em 0;\n font-weight: bold;\n }\n .editor h2, .preview h2 {\n font-size: 1.5em;\n margin: 0.83em 0;\n font-weight: bold;\n }\n .editor h3 { font-size: 1.17em; }\n .editor h4 { font-size: 1em; }\n .editor h5 { font-size: 0.83em; }\n .editor h6 { font-size: 0.67em; }\n\n\n .editor.single-line {\n min-height: 50px;\n max-height: 50px;\n line-height: 1.2;\n overflow-x: auto;\n white-space: nowrap;\n padding: 0px 12px 0px 12px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n nile-rte-preview.single-line {\n min-height: 50px;\n max-height: 50px;\n line-height: 1.2;\n padding: 0px 12px 0px 12px;\n overflow-x: auto;\n white-space: nowrap;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n nile-rte-divider { \n margin: 0 4px;\n display: inline-block;\n height: 24px;\n width: 1px;\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n }\n \n .editor ul,\n.editor ol {\n list-style-position: inside; \n padding: 0px;\n}\n\n\n \n \n\n nile-rte-toolbar-item nile-button[data-active]::part(base) {\n background-color: var(--nile-colors-primary-400, var(--ng-componentcolors-utility-blue-400));\n}\n\nnile-rte-toolbar-item nile-button[data-active]::part(base):hover {\n background-color: var(--nile-colors-primary-500, var(--ng-componentcolors-utility-blue-500)); \n}\n\n.editor.empty::before {\n content: attr(data-placeholder);\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary));\n position: absolute;\n font-family: var(var(--nile-font-family-sans-serif), var(--ng-font-family-body));\n pointer-events: none;\n user-select: none;\n padding-top: 16px;\n opacity: 0.7;\n}\n\n\n\n \n\n\n\n"]))));}};});
2
2
  //# sourceMappingURL=nile-rich-text-editor.css.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-rich-text-editor.css.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rich-text-editor.css.ts"],"sourcesContent":[" \nimport { css } from 'lit';\n\nexport const styles = css`\n .editor { all: revert; }\n\n nile-rich-text-editor {\n position: relative;\n display: block;\n font-family: inherit;\n }\n\n\n .rte-container {\n width: 100%;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-sizing: border-box;\n }\n\n \n.rte-container nile-rte-toolbar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 8px 8px 0 0;\n\n width: 100%; \n box-sizing: border-box; \n}\n\n\n .rte-container .editor {\n min-height: 160px;\n width: 100%;\n padding: 12px;\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 0 0 8px 8px;\n outline: none;\n tab-size: 4;\n -moz-tab-size: 4;\n word-break: break-word;\n box-sizing: border-box;\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n }\n\n \nnile-rte-preview {\n display: block;\n width: 100%;\n margin-top: 16px; \n padding: 12px;\n border: 1px dashed var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-sizing: border-box;\n word-wrap: break-word;\n}\n\n\n\n nile-rte-toolbar-item nile-button::part(base) {\n width: 32px;\n height: 32px;\n padding: 0px 6px;\n border: none;\n }\n\n nile-rte-toolbar-item > button,\n nile-rte-toolbar button {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md));\n cursor: pointer;\n }\n\n nile-rte-toolbar-item > button nile-icon { pointer-events: none; }\n\n nile-rte-toolbar-item > button.active {\n border-color: #2563eb;\n background: var(--nile-colors-white-base);\n }\n\n \n .editor p { margin: 1em 0; }\n .editor h1, .preview h1 {\n font-size: 2em;\n margin: 0.67em 0;\n font-weight: bold;\n }\n .editor h2, .preview h2 {\n font-size: 1.5em;\n margin: 0.83em 0;\n font-weight: bold;\n }\n .editor h3 { font-size: 1.17em; }\n .editor h4 { font-size: 1em; }\n .editor h5 { font-size: 0.83em; }\n .editor h6 { font-size: 0.67em; }\n\n\n .editor.single-line {\n min-height: 50px;\n max-height: 50px;\n line-height: 1.2;\n overflow-x: auto;\n white-space: nowrap;\n padding: 0px 12px 0px 12px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n nile-rte-preview.single-line {\n min-height: 50px;\n max-height: 50px;\n line-height: 1.2;\n padding: 0px 12px 0px 12px;\n overflow-x: auto;\n white-space: nowrap;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n nile-rte-divider { \n margin: 0 4px;\n display: inline-block;\n height: 24px;\n width: 1px;\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n }\n \n .editor ul,\n.editor ol {\n list-style-position: inside; \n padding: 0px;\n}\n\n\n \n \n\n nile-rte-toolbar-item nile-button[data-active]::part(base) {\n background-color: var(--nile-colors-primary-400, var(--ng-componentcolors-utility-blue-400));\n}\n\nnile-rte-toolbar-item nile-button[data-active]::part(base):hover {\n background-color: var(--nile-colors-primary-500, var(--ng-componentcolors-utility-blue-500)); \n}\n\n.editor.empty::before {\n content: attr(data-placeholder);\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary));\n position: absolute;\n font-family: var(var(--nile-font-family-sans-serif), var(--ng-font-family-body));\n pointer-events: none;\n user-select: none;\n padding-top: 16px;\n opacity: 0.7;\n}\n\n \n\n\n\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAGaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
1
+ {"version":3,"file":"nile-rich-text-editor.css.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rich-text-editor.css.ts"],"sourcesContent":[" \nimport { css } from 'lit';\n\nexport const styles = css`\n .editor { all: revert; }\n\n nile-rich-text-editor {\n position: relative;\n display: block;\n font-family: inherit;\n }\n\n\n .rte-container {\n width: 100%;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-sizing: border-box;\n }\n\n \n .rte-container nile-rte-toolbar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 8px 8px 0 0;\n width: 100%; \n box-sizing: border-box; \n}\n\n .rte-container .editor {\n min-height: 160px;\n width: 100%;\n padding: 12px;\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 0 0 8px 8px;\n outline: none;\n tab-size: 4;\n -moz-tab-size: 4;\n word-break: break-word;\n box-sizing: border-box;\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n }\n\n nile-rich-text-editor[disabled] .rte-container {\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n cursor: not-allowed !important;\n background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n }\n\n nile-rich-text-editor[disabled] .rte-container nile-rte-toolbar {\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n cursor: not-allowed !important;\n } \n\n nile-rich-text-editor[disabled] .rte-container .editor {\n background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n pointer-events: none ;\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n }\n\nnile-rte-preview {\n display: block;\n width: 100%;\n margin-top: 16px; \n padding: 12px;\n border: 1px dashed var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: var(--nile-radius-radius-xl, var(--ng-radius-md));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-sizing: border-box;\n word-wrap: break-word;\n}\n\n nile-rich-text-editor[disabled] nile-rte-preview {\n background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));\n cursor: not-allowed ;\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));\n}\n\n nile-rte-toolbar-item nile-button::part(base) {\n width: 32px;\n height: 32px;\n padding: 0px 6px;\n border: none;\n }\n\n nile-rte-toolbar-item > button,\n nile-rte-toolbar button {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md));\n cursor: pointer;\n }\n\n nile-rte-toolbar-item > button nile-icon { pointer-events: none; }\n\n nile-rte-toolbar-item > button.active {\n border-color: #2563eb;\n background: var(--nile-colors-white-base);\n }\n\n .editor p { margin: 1em 0; }\n .editor h1, .preview h1 {\n font-size: 2em;\n margin: 0.67em 0;\n font-weight: bold;\n }\n .editor h2, .preview h2 {\n font-size: 1.5em;\n margin: 0.83em 0;\n font-weight: bold;\n }\n .editor h3 { font-size: 1.17em; }\n .editor h4 { font-size: 1em; }\n .editor h5 { font-size: 0.83em; }\n .editor h6 { font-size: 0.67em; }\n\n\n .editor.single-line {\n min-height: 50px;\n max-height: 50px;\n line-height: 1.2;\n overflow-x: auto;\n white-space: nowrap;\n padding: 0px 12px 0px 12px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n nile-rte-preview.single-line {\n min-height: 50px;\n max-height: 50px;\n line-height: 1.2;\n padding: 0px 12px 0px 12px;\n overflow-x: auto;\n white-space: nowrap;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n nile-rte-divider { \n margin: 0 4px;\n display: inline-block;\n height: 24px;\n width: 1px;\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n }\n \n .editor ul,\n.editor ol {\n list-style-position: inside; \n padding: 0px;\n}\n\n\n \n \n\n nile-rte-toolbar-item nile-button[data-active]::part(base) {\n background-color: var(--nile-colors-primary-400, var(--ng-componentcolors-utility-blue-400));\n}\n\nnile-rte-toolbar-item nile-button[data-active]::part(base):hover {\n background-color: var(--nile-colors-primary-500, var(--ng-componentcolors-utility-blue-500)); \n}\n\n.editor.empty::before {\n content: attr(data-placeholder);\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary));\n position: absolute;\n font-family: var(var(--nile-font-family-sans-serif), var(--ng-font-family-body));\n pointer-events: none;\n user-select: none;\n padding-top: 16px;\n opacity: 0.7;\n}\n\n\n\n \n\n\n\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAGaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}