@aquera/nile-elements 1.5.6 → 1.5.8

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 (335) hide show
  1. package/README.md +12 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +120 -43
  5. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  6. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  7. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
  8. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -1
  9. package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +4 -2
  10. package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
  11. package/dist/nile-badge/index.cjs.js +1 -1
  12. package/dist/nile-badge/index.esm.js +1 -1
  13. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  14. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  15. package/dist/nile-badge/nile-badge.esm.js +1 -1
  16. package/dist/nile-button/index.cjs.js +1 -1
  17. package/dist/nile-button/index.esm.js +1 -1
  18. package/dist/nile-button/nile-button.cjs.js +1 -1
  19. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  20. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  21. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  22. package/dist/nile-button/nile-button.css.esm.js +14 -11
  23. package/dist/nile-button/nile-button.esm.js +1 -1
  24. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  25. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  26. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  27. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  28. package/dist/nile-calendar/nile-calendar.css.esm.js +7 -0
  29. package/dist/nile-calendar/nile-calendar.esm.js +6 -5
  30. package/dist/nile-carousel/index.cjs.js +1 -1
  31. package/dist/nile-carousel/index.esm.js +1 -1
  32. package/dist/nile-carousel/nile-carousel.cjs.js +1 -1
  33. package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -1
  34. package/dist/nile-carousel/nile-carousel.esm.js +11 -11
  35. package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
  36. package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -1
  37. package/dist/nile-chip/nile-chip.css.esm.js +1 -0
  38. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  39. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  40. package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
  41. package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
  42. package/dist/nile-code-editor/nile-code-editor.css.esm.js +3 -0
  43. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -0
  44. package/dist/nile-dialog/index.cjs.js +1 -1
  45. package/dist/nile-dialog/index.esm.js +1 -1
  46. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  47. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  48. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  49. package/dist/nile-drawer/index.cjs.js +1 -1
  50. package/dist/nile-drawer/index.esm.js +1 -1
  51. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  52. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  53. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  54. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js +1 -1
  55. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js.map +1 -1
  56. package/dist/nile-filter-chip/nile-filter-chip.css.esm.js +8 -2
  57. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  58. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  59. package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
  60. package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
  61. package/dist/nile-grid/nile-grid.css.esm.js +0 -1
  62. package/dist/nile-grid/nile-grid.esm.js +2 -2
  63. package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
  64. package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
  65. package/dist/nile-grid/nile-grid.width.esm.js +1 -1
  66. package/dist/nile-icon/icons/svg/close.cjs.js +1 -1
  67. package/dist/nile-icon/icons/svg/close.cjs.js.map +1 -1
  68. package/dist/nile-icon/icons/svg/close.esm.js +1 -1
  69. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  70. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  71. package/dist/nile-icon/icons/svg/ng-boolean.cjs.js +2 -0
  72. package/dist/nile-icon/icons/svg/ng-boolean.cjs.js.map +1 -0
  73. package/dist/nile-icon/icons/svg/ng-boolean.esm.js +1 -0
  74. package/dist/nile-icon/icons/svg/ng-building-07.cjs.js +2 -0
  75. package/dist/nile-icon/icons/svg/ng-building-07.cjs.js.map +1 -0
  76. package/dist/nile-icon/icons/svg/ng-building-07.esm.js +1 -0
  77. package/dist/nile-icon/icons/svg/ng-clock-refresh.cjs.js +2 -0
  78. package/dist/nile-icon/icons/svg/ng-clock-refresh.cjs.js.map +1 -0
  79. package/dist/nile-icon/icons/svg/ng-clock-refresh.esm.js +1 -0
  80. package/dist/nile-icon/icons/svg/ng-dataflow-02.cjs.js +2 -0
  81. package/dist/nile-icon/icons/svg/ng-dataflow-02.cjs.js.map +1 -0
  82. package/dist/nile-icon/icons/svg/ng-dataflow-02.esm.js +1 -0
  83. package/dist/nile-icon/icons/svg/ng-folder-code.cjs.js +2 -0
  84. package/dist/nile-icon/icons/svg/ng-folder-code.cjs.js.map +1 -0
  85. package/dist/nile-icon/icons/svg/ng-folder-code.esm.js +1 -0
  86. package/dist/nile-icon/icons/svg/ng-lightbulb-05.cjs.js +2 -0
  87. package/dist/nile-icon/icons/svg/ng-lightbulb-05.cjs.js.map +1 -0
  88. package/dist/nile-icon/icons/svg/ng-lightbulb-05.esm.js +1 -0
  89. package/dist/nile-icon/icons/svg/ng-number.cjs.js +2 -0
  90. package/dist/nile-icon/icons/svg/ng-number.cjs.js.map +1 -0
  91. package/dist/nile-icon/icons/svg/ng-number.esm.js +1 -0
  92. package/dist/nile-icon/icons/svg/ng-string.cjs.js +2 -0
  93. package/dist/nile-icon/icons/svg/ng-string.cjs.js.map +1 -0
  94. package/dist/nile-icon/icons/svg/ng-string.esm.js +1 -0
  95. package/dist/nile-icon/index.cjs.js +1 -1
  96. package/dist/nile-icon/index.cjs.js.map +1 -1
  97. package/dist/nile-icon/index.esm.js +1 -1
  98. package/dist/nile-icon-button/index.cjs.js +1 -1
  99. package/dist/nile-icon-button/index.esm.js +1 -1
  100. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  101. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  102. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  103. package/dist/nile-input/index.cjs.js +1 -1
  104. package/dist/nile-input/index.esm.js +1 -1
  105. package/dist/nile-input/nile-input.cjs.js +1 -1
  106. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  107. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  108. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  109. package/dist/nile-input/nile-input.css.esm.js +11 -1
  110. package/dist/nile-input/nile-input.esm.js +3 -1
  111. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  112. package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
  113. package/dist/nile-link/nile-link.css.esm.js +5 -3
  114. package/dist/nile-loader/nile-loader.css.cjs.js +1 -1
  115. package/dist/nile-loader/nile-loader.css.cjs.js.map +1 -1
  116. package/dist/nile-loader/nile-loader.css.esm.js +1 -1
  117. package/dist/nile-menu-item/index.cjs.js +1 -1
  118. package/dist/nile-menu-item/index.esm.js +1 -1
  119. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  120. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  121. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  122. package/dist/nile-option/index.cjs.js +1 -1
  123. package/dist/nile-option/index.esm.js +1 -1
  124. package/dist/nile-option/nile-option.cjs.js +1 -1
  125. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  126. package/dist/nile-option/nile-option.esm.js +1 -1
  127. package/dist/nile-radio/nile-radio.cjs.js +1 -1
  128. package/dist/nile-radio/nile-radio.cjs.js.map +1 -1
  129. package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
  130. package/dist/nile-radio/nile-radio.css.cjs.js.map +1 -1
  131. package/dist/nile-radio/nile-radio.css.esm.js +2 -2
  132. package/dist/nile-radio/nile-radio.esm.js +2 -2
  133. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  134. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  135. package/dist/nile-radio-group/nile-radio-group.esm.js +1 -1
  136. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  137. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  138. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  139. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  140. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +6 -0
  141. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  142. package/dist/nile-select/index.cjs.js +1 -1
  143. package/dist/nile-select/index.esm.js +1 -1
  144. package/dist/nile-select/nile-select.cjs.js +1 -1
  145. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  146. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  147. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  148. package/dist/nile-select/nile-select.css.esm.js +21 -5
  149. package/dist/nile-select/nile-select.esm.js +3 -3
  150. package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
  151. package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
  152. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
  153. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
  154. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
  155. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  156. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  157. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +4 -3
  158. package/dist/nile-tab/index.cjs.js +1 -1
  159. package/dist/nile-tab/index.esm.js +1 -1
  160. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  161. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  162. package/dist/nile-tab/nile-tab.esm.js +1 -1
  163. package/dist/nile-tab-group/index.cjs.js +1 -1
  164. package/dist/nile-tab-group/index.esm.js +1 -1
  165. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  166. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  167. package/dist/nile-tab-group/nile-tab-group.esm.js +2 -2
  168. package/dist/nile-tag/index.cjs.js +1 -1
  169. package/dist/nile-tag/index.esm.js +1 -1
  170. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  171. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  172. package/dist/nile-tag/nile-tag.esm.js +1 -1
  173. package/dist/nile-textarea/nile-textarea.css.cjs.js +1 -1
  174. package/dist/nile-textarea/nile-textarea.css.cjs.js.map +1 -1
  175. package/dist/nile-textarea/nile-textarea.css.esm.js +9 -2
  176. package/dist/nile-toast/index.cjs.js +1 -1
  177. package/dist/nile-toast/index.esm.js +1 -1
  178. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  179. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  180. package/dist/nile-toast/nile-toast.esm.js +1 -1
  181. package/dist/nile-tree/index.cjs.js +1 -1
  182. package/dist/nile-tree/index.esm.js +1 -1
  183. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  184. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  185. package/dist/nile-tree/nile-tree.esm.js +1 -1
  186. package/dist/nile-tree-item/index.cjs.js +1 -1
  187. package/dist/nile-tree-item/index.esm.js +1 -1
  188. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  189. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  190. package/dist/nile-tree-item/nile-tree-item.esm.js +3 -3
  191. package/dist/nile-virtual-select/index.cjs.js +1 -1
  192. package/dist/nile-virtual-select/index.esm.js +1 -1
  193. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +3 -3
  194. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  195. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  196. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  197. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +13 -3
  198. package/dist/nile-virtual-select/nile-virtual-select.esm.js +6 -6
  199. package/dist/src/nile-auto-complete/nile-auto-complete.css.js +2 -0
  200. package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
  201. package/dist/src/nile-auto-complete/nile-auto-complete.js +1 -1
  202. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  203. package/dist/src/nile-button/nile-button.css.js +14 -11
  204. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  205. package/dist/src/nile-calendar/nile-calendar.css.js +7 -0
  206. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  207. package/dist/src/nile-calendar/nile-calendar.js +6 -5
  208. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  209. package/dist/src/nile-chip/nile-chip.css.js +1 -0
  210. package/dist/src/nile-chip/nile-chip.css.js.map +1 -1
  211. package/dist/src/nile-code-editor/nile-code-editor.css.js +3 -0
  212. package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
  213. package/dist/src/nile-code-editor/nile-code-editor.js +1 -0
  214. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  215. package/dist/src/nile-detail/nile-detail.test.js +6 -6
  216. package/dist/src/nile-detail/nile-detail.test.js.map +1 -1
  217. package/dist/src/nile-filter-chip/nile-filter-chip.css.js +6 -0
  218. package/dist/src/nile-filter-chip/nile-filter-chip.css.js.map +1 -1
  219. package/dist/src/nile-grid/nile-grid.css.js +0 -1
  220. package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
  221. package/dist/src/nile-grid/nile-grid.d.ts +5 -0
  222. package/dist/src/nile-grid/nile-grid.js +21 -1
  223. package/dist/src/nile-grid/nile-grid.js.map +1 -1
  224. package/dist/src/nile-grid/nile-grid.layout.js +4 -0
  225. package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
  226. package/dist/src/nile-icon/icons/svg/close.d.ts +1 -1
  227. package/dist/src/nile-icon/icons/svg/close.js +1 -1
  228. package/dist/src/nile-icon/icons/svg/close.js.map +1 -1
  229. package/dist/src/nile-icon/icons/svg/index.d.ts +8 -0
  230. package/dist/src/nile-icon/icons/svg/index.js +8 -0
  231. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  232. package/dist/src/nile-icon/icons/svg/ng-boolean.d.ts +5 -0
  233. package/dist/src/nile-icon/icons/svg/ng-boolean.js +5 -0
  234. package/dist/src/nile-icon/icons/svg/ng-boolean.js.map +1 -0
  235. package/dist/src/nile-icon/icons/svg/ng-building-07.d.ts +5 -0
  236. package/dist/src/nile-icon/icons/svg/ng-building-07.js +5 -0
  237. package/dist/src/nile-icon/icons/svg/ng-building-07.js.map +1 -0
  238. package/dist/src/nile-icon/icons/svg/ng-clock-refresh.d.ts +5 -0
  239. package/dist/src/nile-icon/icons/svg/ng-clock-refresh.js +5 -0
  240. package/dist/src/nile-icon/icons/svg/ng-clock-refresh.js.map +1 -0
  241. package/dist/src/nile-icon/icons/svg/ng-dataflow-02.d.ts +5 -0
  242. package/dist/src/nile-icon/icons/svg/ng-dataflow-02.js +5 -0
  243. package/dist/src/nile-icon/icons/svg/ng-dataflow-02.js.map +1 -0
  244. package/dist/src/nile-icon/icons/svg/ng-folder-code.d.ts +5 -0
  245. package/dist/src/nile-icon/icons/svg/ng-folder-code.js +5 -0
  246. package/dist/src/nile-icon/icons/svg/ng-folder-code.js.map +1 -0
  247. package/dist/src/nile-icon/icons/svg/ng-lightbulb-05.d.ts +5 -0
  248. package/dist/src/nile-icon/icons/svg/ng-lightbulb-05.js +5 -0
  249. package/dist/src/nile-icon/icons/svg/ng-lightbulb-05.js.map +1 -0
  250. package/dist/src/nile-icon/icons/svg/ng-number.d.ts +5 -0
  251. package/dist/src/nile-icon/icons/svg/ng-number.js +5 -0
  252. package/dist/src/nile-icon/icons/svg/ng-number.js.map +1 -0
  253. package/dist/src/nile-icon/icons/svg/ng-string.d.ts +5 -0
  254. package/dist/src/nile-icon/icons/svg/ng-string.js +5 -0
  255. package/dist/src/nile-icon/icons/svg/ng-string.js.map +1 -0
  256. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.js +1 -1
  257. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.js.map +1 -1
  258. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.js +5 -5
  259. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.js.map +1 -1
  260. package/dist/src/nile-input/nile-input.css.js +11 -1
  261. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  262. package/dist/src/nile-input/nile-input.js +2 -0
  263. package/dist/src/nile-input/nile-input.js.map +1 -1
  264. package/dist/src/nile-link/nile-link.css.js +3 -1
  265. package/dist/src/nile-link/nile-link.css.js.map +1 -1
  266. package/dist/src/nile-loader/nile-loader.css.js +1 -1
  267. package/dist/src/nile-loader/nile-loader.css.js.map +1 -1
  268. package/dist/src/nile-radio/nile-radio.css.js +2 -2
  269. package/dist/src/nile-radio/nile-radio.css.js.map +1 -1
  270. package/dist/src/nile-radio/nile-radio.js +15 -1
  271. package/dist/src/nile-radio/nile-radio.js.map +1 -1
  272. package/dist/src/nile-radio-group/nile-radio-group.js +8 -0
  273. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  274. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +6 -0
  275. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  276. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +8 -3
  277. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  278. package/dist/src/nile-select/nile-select.css.js +21 -5
  279. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  280. package/dist/src/nile-select/nile-select.js +2 -2
  281. package/dist/src/nile-select/nile-select.js.map +1 -1
  282. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +1 -0
  283. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  284. package/dist/src/nile-textarea/nile-textarea.css.js +9 -2
  285. package/dist/src/nile-textarea/nile-textarea.css.js.map +1 -1
  286. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +13 -3
  287. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  288. package/dist/src/nile-virtual-select/nile-virtual-select.js +2 -2
  289. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  290. package/dist/src/version.js +2 -2
  291. package/dist/src/version.js.map +1 -1
  292. package/dist/tsconfig.tsbuildinfo +1 -1
  293. package/package.json +1 -1
  294. package/src/nile-auto-complete/nile-auto-complete.css.ts +2 -0
  295. package/src/nile-auto-complete/nile-auto-complete.ts +1 -1
  296. package/src/nile-button/nile-button.css.ts +14 -11
  297. package/src/nile-calendar/nile-calendar.css.ts +7 -0
  298. package/src/nile-calendar/nile-calendar.ts +6 -5
  299. package/src/nile-chip/nile-chip.css.ts +1 -0
  300. package/src/nile-code-editor/nile-code-editor.css.ts +3 -0
  301. package/src/nile-code-editor/nile-code-editor.ts +1 -0
  302. package/src/nile-detail/nile-detail.test.ts +6 -6
  303. package/src/nile-filter-chip/nile-filter-chip.css.ts +6 -0
  304. package/src/nile-grid/nile-grid.css.ts +0 -1
  305. package/src/nile-grid/nile-grid.layout.ts +5 -0
  306. package/src/nile-grid/nile-grid.ts +22 -1
  307. package/src/nile-icon/icons/svg/close.ts +1 -1
  308. package/src/nile-icon/icons/svg/index.ts +8 -0
  309. package/src/nile-icon/icons/svg/ng-boolean.ts +5 -0
  310. package/src/nile-icon/icons/svg/ng-building-07.ts +5 -0
  311. package/src/nile-icon/icons/svg/ng-clock-refresh.ts +5 -0
  312. package/src/nile-icon/icons/svg/ng-dataflow-02.ts +5 -0
  313. package/src/nile-icon/icons/svg/ng-folder-code.ts +5 -0
  314. package/src/nile-icon/icons/svg/ng-lightbulb-05.ts +5 -0
  315. package/src/nile-icon/icons/svg/ng-number.ts +5 -0
  316. package/src/nile-icon/icons/svg/ng-string.ts +5 -0
  317. package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.ts +1 -1
  318. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.ts +5 -5
  319. package/src/nile-input/nile-input.css.ts +11 -1
  320. package/src/nile-input/nile-input.ts +2 -0
  321. package/src/nile-link/nile-link.css.ts +3 -1
  322. package/src/nile-loader/nile-loader.css.ts +1 -1
  323. package/src/nile-radio/nile-radio.css.ts +2 -2
  324. package/src/nile-radio/nile-radio.ts +17 -3
  325. package/src/nile-radio-group/nile-radio-group.ts +6 -0
  326. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +6 -0
  327. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +8 -3
  328. package/src/nile-select/nile-select.css.ts +21 -5
  329. package/src/nile-select/nile-select.ts +2 -2
  330. package/src/nile-slide-toggle/nile-slide-toggle.ts +1 -0
  331. package/src/nile-textarea/nile-textarea.css.ts +9 -2
  332. package/src/nile-virtual-select/nile-virtual-select.css.ts +13 -3
  333. package/src/nile-virtual-select/nile-virtual-select.ts +2 -2
  334. package/vscode-html-custom-data.json +5 -1
  335. package/web-test-runner.config.mjs +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"nile-radio-group.cjs.js","sources":["../../../src/nile-radio-group/nile-radio-group.ts"],"sourcesContent":["\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../internal/slot';\nimport { html } from 'lit';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport styles from './nile-radio-group.css';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type NileRadio from '../nile-radio/nile-radio';\n\n/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n *\n * @dependency nile-button-group\n *\n * @slot - The default slot where `<nile-radio>` or `<nile-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n *\n * @event change - Emitted when the radio group's selected value changes.\n * @event input - Emitted when the radio group receives user input.\n * @event invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @csspart button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */\n@customElement('nile-radio-group')\nexport class NileRadioGroup extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private customValidityMessage = '';\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n\n @state() private hasButtonGroup = false;\n\n @state() defaultValue = '';\n\n /**\n * The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\n * instead.\n */\n @property() label = '';\n\n /** The name of the radio group, submitted as a name/value pair with form data. */\n @property() name = 'option';\n\n /** The current value of the radio group, submitted as a name/value pair with form data. */\n @property({ reflect: true }) value = '';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n\n /** Used to show radio in inline or not */\n @property({ type: Boolean, reflect: true }) labelInline = false;\n\n /** Used to disabled or not */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** The radio's labelborder for whole gp. */\n @property({ type: Boolean, reflect: true }) islabelborder = false;\n\n /** Allow the radio to be unchecked. */\n @property({ type: Boolean, reflect: true, attribute: true }) allowUncheckGroup = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n this.handleInitialDisabledState();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private getAllRadios() {\n return [...this.querySelectorAll<NileRadio>('nile-radio')];\n }\n\n private handleRadioClick(event: MouseEvent) {\n const target = (event.target as HTMLElement).closest<NileRadio>('nile-radio')!;\n const radios = this.getAllRadios();\n const oldValue = this.value;\n\n if (target.disabled || this.disabled) {\n return;\n }\n\n this.value = target.value;\n if (!this.allowUncheckGroup) {\n radios.forEach(radio => {\n radio.checked = radio === target;\n });\n }\n\n if (!this.allowUncheckGroup && this.value !== oldValue) {\n this.emit('change', { value: this.value});\n this.emit('input');\n } else if (this.allowUncheckGroup) { \n this.emit('change', { value: this.value , checked: target.checked});\n this.emit('input');\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('allowUncheckGroup')) {\n if (this.allowUncheckGroup) {\n this.getAllRadios().forEach(radio => {\n radio.allowUncheck = true;\n });\n }\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = this.disabled;\n });\n }\n\n private handleInitialDisabledState() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = radio.hasAttribute('disabled') ? radio.disabled : this.disabled;\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', ' '].includes(event.key)) {\n return;\n }\n\n const radios = this.getAllRadios().filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n const incr = event.key === ' ' ? 0 : ['ArrowUp', 'ArrowLeft'].includes(event.key) ? -1 : 1;\n const oldValue = this.value;\n let index = radios.indexOf(checkedRadio) + incr;\n\n if (index < 0) {\n index = radios.length - 1;\n }\n\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this.getAllRadios().forEach(radio => {\n radio.checked = false;\n\n if (!this.hasButtonGroup) {\n radio.tabIndex = -1;\n }\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n\n if (!this.hasButtonGroup) {\n radios[index].tabIndex = 0;\n radios[index].focus();\n } else {\n radios[index].shadowRoot!.querySelector('button')!.focus();\n }\n\n if (this.value !== oldValue) {\n this.emit('change');\n this.emit('input');\n }\n\n event.preventDefault();\n }\n\n private handleLabelClick() {\n const radios = this.getAllRadios();\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n private handleSlotChange() {\n const radios = this.getAllRadios();\n\n radios.forEach(radio => {\n radio.checked = radio.value === this.value;\n if (this.islabelborder) {\n radio.islabelborder=true;\n }\n });\n const nile_radio_check='nile-radio-button';\n this.hasButtonGroup = radios.some(radio => radio.tagName.toLowerCase() === nile_radio_check);\n\n if (radios.length > 0 && !radios.some(radio => radio.checked)) {\n if (this.hasButtonGroup) {\n const buttonRadio = radios[0].shadowRoot!.querySelector('button')!;\n buttonRadio.tabIndex = 0;\n } else {\n radios[0].tabIndex = 0;\n }\n }\n\n if (this.hasButtonGroup) {\n const buttonGroup = this.shadowRoot?.querySelector('nile-button-group');\n }\n }\n\n private updateCheckedRadio() {\n const radios = this.getAllRadios();\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n }\n\n @watch('value')\n handleValueChange() {\n if (this.hasUpdated) {\n this.updateCheckedRadio();\n }\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n const defaultSlot = html`\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n `;\n\n return html`\n <fieldset\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--radio-group': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n role=\"radiogroup\"\n aria-labelledby=\"label\"\n aria-describedby=\"help-text\"\n aria-errormessage=\"error-message\"\n >\n <label\n part=\"form-control-label\"\n id=\"label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div class=\"visually-hidden\">\n <label class=\"radio-group__validation\">\n <input\n type=\"text\"\n class=\"radio-group__validation-input\"\n ?required=${this.required}\n tabindex=\"-1\"\n hidden\n />\n </label>\n </div>\n\n ${this.hasButtonGroup\n ? html`\n ${defaultSlot}\n `\n : html`\n <div part=\"options-base\" class=\"${this.labelInline ? `form-control--inline-radio`:``}\"> ${defaultSlot}</div> `}\n </div>\n\n ${\n hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``\n }\n\n ${\n hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``\n }\n\n </fieldset>\n `;\n }\n}\n\nexport default NileRadioGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-radio-group': NileRadioGroup;\n }\n}\n"],"names":["NileRadioGroup","_n","c","this","hasSlotController","HasSlotController","customValidityMessage","hasButtonGroup","defaultValue","label","name","value","form","required","labelInline","disabled","helpText","errorMessage","islabelborder","allowUncheckGroup","_this","_inherits","_createClass","key","connectedCallback","super","handleInitialDisabledState","emit","disconnectedCallback","getAllRadios","_toConsumableArray","querySelectorAll","handleRadioClick","event","target","closest","radios","oldValue","forEach","radio","checked","updated","changedProperties","has","allowUncheck","handleDisabledChange","hasAttribute","handleKeyDown","includes","filter","checkedRadio","find","incr","index","indexOf","length","tabIndex","shadowRoot","querySelector","focus","preventDefault","handleLabelClick","radioToFocus","handleSlotChange","_this5","_this$shadowRoot","some","tagName","toLowerCase","updateCheckedRadio","handleValueChange","hasUpdated","render","hasLabelSlot","test","hasLabelSuffixSlot","hasLabel","hasHelpText","hasErrorMessage","defaultSlot","html","_templateObject","_taggedTemplateLiteral","_templateObject2","classMap","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","NileElement","styles","__decorate","query","prototype","state","property","reflect","type","Boolean","attribute","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"nile-radio-group.cjs.js","sources":["../../../src/nile-radio-group/nile-radio-group.ts"],"sourcesContent":["\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../internal/slot';\nimport { html } from 'lit';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport styles from './nile-radio-group.css';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type NileRadio from '../nile-radio/nile-radio';\n\n/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n *\n * @dependency nile-button-group\n *\n * @slot - The default slot where `<nile-radio>` or `<nile-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n *\n * @event change - Emitted when the radio group's selected value changes.\n * @event input - Emitted when the radio group receives user input.\n * @event invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @csspart button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */\n@customElement('nile-radio-group')\nexport class NileRadioGroup extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private customValidityMessage = '';\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n\n @state() private hasButtonGroup = false;\n\n @state() defaultValue = '';\n\n /**\n * The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\n * instead.\n */\n @property() label = '';\n\n /** The name of the radio group, submitted as a name/value pair with form data. */\n @property() name = 'option';\n\n /** The current value of the radio group, submitted as a name/value pair with form data. */\n @property({ reflect: true }) value = '';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n\n /** Used to show radio in inline or not */\n @property({ type: Boolean, reflect: true }) labelInline = false;\n\n /** Used to disabled or not */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** The radio's labelborder for whole gp. */\n @property({ type: Boolean, reflect: true }) islabelborder = false;\n\n /** Allow the radio to be unchecked. */\n @property({ type: Boolean, reflect: true, attribute: true }) allowUncheckGroup = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n this.handleInitialDisabledState();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private getAllRadios() {\n return [...this.querySelectorAll<NileRadio>('nile-radio')];\n }\n\n private handleRadioClick(event: MouseEvent) {\n const target = (event.target as HTMLElement).closest<NileRadio>('nile-radio')!;\n const radios = this.getAllRadios();\n const oldValue = this.value;\n\n if (target.disabled || this.disabled) {\n return;\n }\n\n this.value = target.value;\n if (!this.allowUncheckGroup) {\n radios.forEach(radio => {\n radio.checked = radio === target;\n });\n }\n\n if (!this.allowUncheckGroup && this.value !== oldValue) {\n this.emit('change', { value: this.value});\n this.emit('input');\n } else if (this.allowUncheckGroup) { \n this.emit('change', { value: this.value , checked: target.checked});\n this.emit('input');\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('allowUncheckGroup')) {\n if (this.allowUncheckGroup) {\n this.getAllRadios().forEach(radio => {\n radio.allowUncheck = true;\n });\n }\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = this.disabled;\n });\n }\n\n private handleInitialDisabledState() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = radio.hasAttribute('disabled') ? radio.disabled : this.disabled;\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', ' '].includes(event.key)) {\n return;\n }\n\n const radios = this.getAllRadios().filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n const incr = event.key === ' ' ? 0 : ['ArrowUp', 'ArrowLeft'].includes(event.key) ? -1 : 1;\n const oldValue = this.value;\n let index = radios.indexOf(checkedRadio) + incr;\n\n if (index < 0) {\n index = radios.length - 1;\n }\n\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this.getAllRadios().forEach(radio => {\n radio.checked = false;\n\n if (!this.hasButtonGroup) {\n radio.tabIndex = -1;\n }\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n\n if (!this.hasButtonGroup) {\n radios[index].tabIndex = 0;\n radios[index].focus();\n } else {\n radios[index].shadowRoot!.querySelector('button')!.focus();\n }\n\n if (this.value !== oldValue) {\n this.emit('change');\n this.emit('input');\n }\n\n event.preventDefault();\n }\n\n private handleLabelClick() {\n if (this.disabled) return;\n const radios = this.getAllRadios();\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n private handleSlotChange() {\n const radios = this.getAllRadios();\n\n radios.forEach(radio => {\n radio.checked = radio.value === this.value;\n if (this.islabelborder) {\n radio.islabelborder=true;\n }\n });\n if (this.disabled) {\n radios.forEach(r => (r.tabIndex = -1));\n return;\n }\n const nile_radio_check='nile-radio-button';\n this.hasButtonGroup = radios.some(radio => radio.tagName.toLowerCase() === nile_radio_check);\n\n if (radios.length > 0 && !radios.some(radio => radio.checked)) {\n if (this.hasButtonGroup) {\n const buttonRadio = radios[0].shadowRoot!.querySelector('button')!;\n buttonRadio.tabIndex = 0;\n } else {\n radios[0].tabIndex = 0;\n }\n }\n\n if (this.hasButtonGroup) {\n const buttonGroup = this.shadowRoot?.querySelector('nile-button-group');\n }\n }\n\n private updateCheckedRadio() {\n const radios = this.getAllRadios();\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n }\n\n @watch('value')\n handleValueChange() {\n if (this.hasUpdated) {\n this.updateCheckedRadio();\n }\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n const defaultSlot = html`\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n `;\n\n return html`\n <fieldset\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--radio-group': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n role=\"radiogroup\"\n aria-labelledby=\"label\"\n aria-describedby=\"help-text\"\n aria-errormessage=\"error-message\"\n >\n <label\n part=\"form-control-label\"\n id=\"label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div class=\"visually-hidden\">\n <label class=\"radio-group__validation\">\n <input\n type=\"text\"\n class=\"radio-group__validation-input\"\n ?required=${this.required}\n tabindex=\"-1\"\n hidden\n />\n </label>\n </div>\n\n ${this.hasButtonGroup\n ? html`\n ${defaultSlot}\n `\n : html`\n <div part=\"options-base\" class=\"${this.labelInline ? `form-control--inline-radio`:``}\"> ${defaultSlot}</div> `}\n </div>\n\n ${\n hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``\n }\n\n ${\n hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``\n }\n\n </fieldset>\n `;\n }\n}\n\nexport default NileRadioGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-radio-group': NileRadioGroup;\n }\n}\n"],"names":["NileRadioGroup","c","constructor","this","hasSlotController","HasSlotController","customValidityMessage","hasButtonGroup","defaultValue","label","name","value","form","required","labelInline","disabled","helpText","errorMessage","islabelborder","allowUncheckGroup","_this","_inherits","_n","_createClass","key","connectedCallback","super","handleInitialDisabledState","emit","disconnectedCallback","getAllRadios","_toConsumableArray","querySelectorAll","handleRadioClick","event","target","closest","radios","oldValue","forEach","radio","checked","updated","changedProperties","has","allowUncheck","handleDisabledChange","hasAttribute","handleKeyDown","_e$find","_this4","includes","filter","checkedRadio","find","incr","index","indexOf","length","tabIndex","shadowRoot","querySelector","focus","preventDefault","handleLabelClick","radioToFocus","handleSlotChange","r","some","tagName","toLowerCase","updateCheckedRadio","handleValueChange","hasUpdated","render","hasLabelSlot","test","hasLabelSuffixSlot","hasLabel","hasHelpText","hasErrorMessage","defaultSlot","html","_templateObject","_taggedTemplateLiteral","_templateObject2","classMap","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","NileElement","styles","__decorate","query","prototype","state","property","reflect","type","Boolean","attribute","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__decorate as t}from"tslib";import{classMap as e}from"lit/directives/class-map.js";import{query as i,state as s,property as l,customElement as o}from"lit/decorators.js";import{H as r}from"../internal/slot.esm.js";import{html as a}from"lit";import{w as h}from"../internal/watch.esm.js";import{N as n}from"../internal/nile-element.esm.js";import{s as d}from"./nile-radio-group.css.esm.js";let c=class extends n{constructor(){super(...arguments),this.hasSlotController=new r(this,"help-text","label"),this.customValidityMessage="",this.hasButtonGroup=!1,this.defaultValue="",this.label="",this.name="option",this.value="",this.form="",this.required=!1,this.labelInline=!1,this.disabled=!1,this.helpText="",this.errorMessage="",this.islabelborder=!1,this.allowUncheckGroup=!1}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.handleInitialDisabledState(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}getAllRadios(){return[...this.querySelectorAll("nile-radio")]}handleRadioClick(t){const e=t.target.closest("nile-radio"),i=this.getAllRadios(),s=this.value;e.disabled||this.disabled||(this.value=e.value,this.allowUncheckGroup||i.forEach((t=>{t.checked=t===e})),this.allowUncheckGroup||this.value===s?this.allowUncheckGroup&&(this.emit("change",{value:this.value,checked:e.checked}),this.emit("input")):(this.emit("change",{value:this.value}),this.emit("input")))}updated(t){super.updated(t),t.has("allowUncheckGroup")&&this.allowUncheckGroup&&this.getAllRadios().forEach((t=>{t.allowUncheck=!0}))}handleDisabledChange(){this.getAllRadios().forEach((t=>{t.disabled=this.disabled}))}handleInitialDisabledState(){this.getAllRadios().forEach((t=>{t.disabled=t.hasAttribute("disabled")?t.disabled:this.disabled}))}handleKeyDown(t){if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(t.key))return;const e=this.getAllRadios().filter((t=>!t.disabled)),i=e.find((t=>t.checked))??e[0],s=" "===t.key?0:["ArrowUp","ArrowLeft"].includes(t.key)?-1:1,l=this.value;let o=e.indexOf(i)+s;o<0&&(o=e.length-1),o>e.length-1&&(o=0),this.getAllRadios().forEach((t=>{t.checked=!1,this.hasButtonGroup||(t.tabIndex=-1)})),this.value=e[o].value,e[o].checked=!0,this.hasButtonGroup?e[o].shadowRoot.querySelector("button").focus():(e[o].tabIndex=0,e[o].focus()),this.value!==l&&(this.emit("change"),this.emit("input")),t.preventDefault()}handleLabelClick(){const t=this.getAllRadios(),e=t.find((t=>t.checked))||t[0];e&&e.focus()}handleSlotChange(){const t=this.getAllRadios();t.forEach((t=>{t.checked=t.value===this.value,this.islabelborder&&(t.islabelborder=!0)}));if(this.hasButtonGroup=t.some((t=>"nile-radio-button"===t.tagName.toLowerCase())),t.length>0&&!t.some((t=>t.checked)))if(this.hasButtonGroup){t[0].shadowRoot.querySelector("button").tabIndex=0}else t[0].tabIndex=0;this.hasButtonGroup&&this.shadowRoot?.querySelector("nile-button-group")}updateCheckedRadio(){this.getAllRadios().forEach((t=>t.checked=t.value===this.value))}handleValueChange(){this.hasUpdated&&this.updateCheckedRadio()}render(){const t=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const i=this.hasSlotController.test("label-suffix"),s=!!this.label||!!t,l=!!this.helpText,o=!!this.errorMessage,r=a`
1
+ import{__decorate as t}from"tslib";import{classMap as e}from"lit/directives/class-map.js";import{query as i,state as s,property as l,customElement as o}from"lit/decorators.js";import{H as r}from"../internal/slot.esm.js";import{html as a}from"lit";import{w as h}from"../internal/watch.esm.js";import{N as n}from"../internal/nile-element.esm.js";import{s as d}from"./nile-radio-group.css.esm.js";let c=class extends n{constructor(){super(...arguments),this.hasSlotController=new r(this,"help-text","label"),this.customValidityMessage="",this.hasButtonGroup=!1,this.defaultValue="",this.label="",this.name="option",this.value="",this.form="",this.required=!1,this.labelInline=!1,this.disabled=!1,this.helpText="",this.errorMessage="",this.islabelborder=!1,this.allowUncheckGroup=!1}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.handleInitialDisabledState(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}getAllRadios(){return[...this.querySelectorAll("nile-radio")]}handleRadioClick(t){const e=t.target.closest("nile-radio"),i=this.getAllRadios(),s=this.value;e.disabled||this.disabled||(this.value=e.value,this.allowUncheckGroup||i.forEach((t=>{t.checked=t===e})),this.allowUncheckGroup||this.value===s?this.allowUncheckGroup&&(this.emit("change",{value:this.value,checked:e.checked}),this.emit("input")):(this.emit("change",{value:this.value}),this.emit("input")))}updated(t){super.updated(t),t.has("allowUncheckGroup")&&this.allowUncheckGroup&&this.getAllRadios().forEach((t=>{t.allowUncheck=!0}))}handleDisabledChange(){this.getAllRadios().forEach((t=>{t.disabled=this.disabled}))}handleInitialDisabledState(){this.getAllRadios().forEach((t=>{t.disabled=t.hasAttribute("disabled")?t.disabled:this.disabled}))}handleKeyDown(t){if(this.disabled)return;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(t.key))return;const e=this.getAllRadios().filter((t=>!t.disabled)),i=e.find((t=>t.checked))??e[0],s=" "===t.key?0:["ArrowUp","ArrowLeft"].includes(t.key)?-1:1,l=this.value;let o=e.indexOf(i)+s;o<0&&(o=e.length-1),o>e.length-1&&(o=0),this.getAllRadios().forEach((t=>{t.checked=!1,this.hasButtonGroup||(t.tabIndex=-1)})),this.value=e[o].value,e[o].checked=!0,this.hasButtonGroup?e[o].shadowRoot.querySelector("button").focus():(e[o].tabIndex=0,e[o].focus()),this.value!==l&&(this.emit("change"),this.emit("input")),t.preventDefault()}handleLabelClick(){if(this.disabled)return;const t=this.getAllRadios(),e=t.find((t=>t.checked))||t[0];e&&e.focus()}handleSlotChange(){const t=this.getAllRadios();if(t.forEach((t=>{t.checked=t.value===this.value,this.islabelborder&&(t.islabelborder=!0)})),this.disabled)return void t.forEach((t=>t.tabIndex=-1));if(this.hasButtonGroup=t.some((t=>"nile-radio-button"===t.tagName.toLowerCase())),t.length>0&&!t.some((t=>t.checked)))if(this.hasButtonGroup){t[0].shadowRoot.querySelector("button").tabIndex=0}else t[0].tabIndex=0;this.hasButtonGroup&&this.shadowRoot?.querySelector("nile-button-group")}updateCheckedRadio(){this.getAllRadios().forEach((t=>t.checked=t.value===this.value))}handleValueChange(){this.hasUpdated&&this.updateCheckedRadio()}render(){const t=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const i=this.hasSlotController.test("label-suffix"),s=!!this.label||!!t,l=!!this.helpText,o=!!this.errorMessage,r=a`
2
2
  <slot
3
3
  @click=${this.handleRadioClick}
4
4
  @keydown=${this.handleKeyDown}
@@ -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.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));}};});
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)),t.has("disabled")&&this.editorEl&&(this.editorEl.setAttribute("contenteditable",this.disabled?"false":"true"),this.editorEl.tabIndex=this.disabled?-1:0);}},{key:"ensureEditor",value:function ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){var _t2=document.createElement("article");_t2.className="editor",_t2.setAttribute("contenteditable",this.disabled?"false":"true"),_t2.tabIndex=this.disabled?-1:0,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))","\" ></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))","\" ></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