@aquera/nile-elements 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +11 -0
  2. package/demo/nxtgen-dark.css +2 -2
  3. package/dist/{index-ccff99d6.esm.js → index-0fe57384.esm.js} +1 -1
  4. package/dist/index-f6944844.cjs.js +2 -0
  5. package/dist/{index-e43755f5.cjs.js.map → index-f6944844.cjs.js.map} +1 -1
  6. package/dist/index.cjs.js +1 -1
  7. package/dist/index.esm.js +1 -1
  8. package/dist/index.js +1127 -741
  9. package/dist/nile-code-editor/extensionSetup.cjs.js +1 -1
  10. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  11. package/dist/nile-code-editor/index.cjs.js +1 -1
  12. package/dist/nile-code-editor/index.esm.js +1 -1
  13. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  14. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  15. package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
  16. package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
  17. package/dist/nile-code-editor/nile-code-editor.css.esm.js +2 -2
  18. package/dist/nile-code-editor/nile-code-editor.esm.js +4 -4
  19. package/dist/nile-code-editor/theme.cjs.js +1 -1
  20. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  21. package/dist/nile-code-editor/theme.esm.js +1 -1
  22. package/dist/nile-combobox/nile-combobox.css.cjs.js +1 -1
  23. package/dist/nile-combobox/nile-combobox.css.cjs.js.map +1 -1
  24. package/dist/nile-combobox/nile-combobox.css.esm.js +1 -1
  25. package/dist/nile-detail/nile-detail.css.cjs.js +1 -1
  26. package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -1
  27. package/dist/nile-detail/nile-detail.css.esm.js +1 -1
  28. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
  29. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
  30. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +3 -3
  31. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
  32. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
  33. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +13 -7
  34. package/dist/nile-timestamp-builder/index.cjs.js +2 -0
  35. package/dist/nile-timestamp-builder/index.cjs.js.map +1 -0
  36. package/dist/nile-timestamp-builder/index.esm.js +1 -0
  37. package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.cjs.js +2 -0
  38. package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.cjs.js.map +1 -0
  39. package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.esm.js +1 -0
  40. package/dist/nile-timestamp-builder/nile-timestamp-builder.cjs.js +2 -0
  41. package/dist/nile-timestamp-builder/nile-timestamp-builder.cjs.js.map +1 -0
  42. package/dist/nile-timestamp-builder/nile-timestamp-builder.css.cjs.js +2 -0
  43. package/dist/nile-timestamp-builder/nile-timestamp-builder.css.cjs.js.map +1 -0
  44. package/dist/nile-timestamp-builder/nile-timestamp-builder.css.esm.js +195 -0
  45. package/dist/nile-timestamp-builder/nile-timestamp-builder.esm.js +154 -0
  46. package/dist/nile-timestamp-builder/timezones.cjs.js +2 -0
  47. package/dist/nile-timestamp-builder/timezones.cjs.js.map +1 -0
  48. package/dist/nile-timestamp-builder/timezones.esm.js +1 -0
  49. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
  50. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js.map +1 -1
  51. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js +1 -1
  52. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js.map +1 -1
  53. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.esm.js +91 -58
  54. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +1 -1
  55. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js +1 -1
  56. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js.map +1 -1
  57. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.esm.js +19 -19
  58. package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js +1 -1
  59. package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js.map +1 -1
  60. package/dist/nile-wysiwyg-editor/ui/bookmark-panel.esm.js +14 -14
  61. package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js +1 -1
  62. package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js.map +1 -1
  63. package/dist/nile-wysiwyg-editor/ui/bubble-menu.esm.js +13 -13
  64. package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
  65. package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js.map +1 -1
  66. package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +12 -12
  67. package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js +1 -1
  68. package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js.map +1 -1
  69. package/dist/nile-wysiwyg-editor/ui/embed-menu.esm.js +10 -10
  70. package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js +1 -1
  71. package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js.map +1 -1
  72. package/dist/nile-wysiwyg-editor/ui/embed-panel.esm.js +4 -4
  73. package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js +1 -1
  74. package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js.map +1 -1
  75. package/dist/nile-wysiwyg-editor/ui/emoji-picker.esm.js +11 -11
  76. package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js +1 -1
  77. package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js.map +1 -1
  78. package/dist/nile-wysiwyg-editor/ui/find-replace.esm.js +9 -9
  79. package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js +1 -1
  80. package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js.map +1 -1
  81. package/dist/nile-wysiwyg-editor/ui/image-menu.esm.js +11 -11
  82. package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js +1 -1
  83. package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js.map +1 -1
  84. package/dist/nile-wysiwyg-editor/ui/image-panel.esm.js +6 -6
  85. package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js +1 -1
  86. package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js.map +1 -1
  87. package/dist/nile-wysiwyg-editor/ui/insert-menu.esm.js +14 -14
  88. package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js +1 -1
  89. package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js.map +1 -1
  90. package/dist/nile-wysiwyg-editor/ui/link-editor.esm.js +16 -16
  91. package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js +1 -1
  92. package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js.map +1 -1
  93. package/dist/nile-wysiwyg-editor/ui/markdown-panel.esm.js +8 -8
  94. package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js +1 -1
  95. package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js.map +1 -1
  96. package/dist/nile-wysiwyg-editor/ui/math-panel.esm.js +4 -4
  97. package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js +1 -1
  98. package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js.map +1 -1
  99. package/dist/nile-wysiwyg-editor/ui/shortcut-help.esm.js +16 -16
  100. package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +1 -1
  101. package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js.map +1 -1
  102. package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +29 -29
  103. package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js +1 -1
  104. package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js.map +1 -1
  105. package/dist/nile-wysiwyg-editor/ui/special-chars.esm.js +8 -8
  106. package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js +1 -1
  107. package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js.map +1 -1
  108. package/dist/nile-wysiwyg-editor/ui/suggest-list.esm.js +9 -9
  109. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js +1 -1
  110. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js.map +1 -1
  111. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.esm.js +23 -23
  112. package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js +1 -1
  113. package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js.map +1 -1
  114. package/dist/nile-wysiwyg-editor/ui/table-menu.esm.js +7 -7
  115. package/dist/src/index.d.ts +1 -0
  116. package/dist/src/index.js +1 -0
  117. package/dist/src/index.js.map +1 -1
  118. package/dist/src/nile-code-editor/nile-code-editor.css.js +2 -2
  119. package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
  120. package/dist/src/nile-code-editor/nile-code-editor.d.ts +15 -0
  121. package/dist/src/nile-code-editor/nile-code-editor.js +65 -6
  122. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  123. package/dist/src/nile-code-editor/theme.d.ts +6 -117
  124. package/dist/src/nile-code-editor/theme.js +100 -147
  125. package/dist/src/nile-code-editor/theme.js.map +1 -1
  126. package/dist/src/nile-combobox/nile-combobox.css.js +1 -1
  127. package/dist/src/nile-combobox/nile-combobox.css.js.map +1 -1
  128. package/dist/src/nile-detail/nile-detail.css.js +1 -1
  129. package/dist/src/nile-detail/nile-detail.css.js.map +1 -1
  130. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +3 -3
  131. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
  132. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +11 -5
  133. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
  134. package/dist/src/nile-timestamp-builder/index.d.ts +1 -0
  135. package/dist/src/nile-timestamp-builder/index.js +2 -0
  136. package/dist/src/nile-timestamp-builder/index.js.map +1 -0
  137. package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.d.ts +54 -0
  138. package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.js +254 -0
  139. package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.js.map +1 -0
  140. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.d.ts +7 -0
  141. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.js +203 -0
  142. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.js.map +1 -0
  143. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.d.ts +94 -0
  144. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.js +578 -0
  145. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.js.map +1 -0
  146. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.d.ts +1 -0
  147. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.js +890 -0
  148. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.js.map +1 -0
  149. package/dist/src/nile-timestamp-builder/timezones.d.ts +8 -0
  150. package/dist/src/nile-timestamp-builder/timezones.js +357 -0
  151. package/dist/src/nile-timestamp-builder/timezones.js.map +1 -0
  152. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +91 -58
  153. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js.map +1 -1
  154. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.d.ts +2 -1
  155. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +23 -1
  156. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -1
  157. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js +19 -19
  158. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js.map +1 -1
  159. package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js +10 -10
  160. package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js.map +1 -1
  161. package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +7 -7
  162. package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -1
  163. package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js +5 -5
  164. package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js.map +1 -1
  165. package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js +6 -6
  166. package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js.map +1 -1
  167. package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +4 -4
  168. package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -1
  169. package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js +6 -6
  170. package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js.map +1 -1
  171. package/dist/src/nile-wysiwyg-editor/ui/find-replace.js +7 -7
  172. package/dist/src/nile-wysiwyg-editor/ui/find-replace.js.map +1 -1
  173. package/dist/src/nile-wysiwyg-editor/ui/image-menu.js +6 -6
  174. package/dist/src/nile-wysiwyg-editor/ui/image-menu.js.map +1 -1
  175. package/dist/src/nile-wysiwyg-editor/ui/image-panel.js +6 -6
  176. package/dist/src/nile-wysiwyg-editor/ui/image-panel.js.map +1 -1
  177. package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js +7 -7
  178. package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js.map +1 -1
  179. package/dist/src/nile-wysiwyg-editor/ui/link-editor.js +9 -9
  180. package/dist/src/nile-wysiwyg-editor/ui/link-editor.js.map +1 -1
  181. package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js +8 -8
  182. package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js.map +1 -1
  183. package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +4 -4
  184. package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -1
  185. package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js +9 -9
  186. package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js.map +1 -1
  187. package/dist/src/nile-wysiwyg-editor/ui/source-view.js +24 -24
  188. package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -1
  189. package/dist/src/nile-wysiwyg-editor/ui/special-chars.js +4 -4
  190. package/dist/src/nile-wysiwyg-editor/ui/special-chars.js.map +1 -1
  191. package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +7 -7
  192. package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -1
  193. package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +16 -16
  194. package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -1
  195. package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +4 -4
  196. package/dist/src/nile-wysiwyg-editor/ui/table-menu.js.map +1 -1
  197. package/dist/src/version.js +2 -2
  198. package/dist/src/version.js.map +1 -1
  199. package/dist/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +1 -1
  201. package/src/index.ts +1 -0
  202. package/src/nile-code-editor/nile-code-editor.css.ts +2 -2
  203. package/src/nile-code-editor/nile-code-editor.ts +68 -5
  204. package/src/nile-code-editor/theme.ts +129 -162
  205. package/src/nile-combobox/nile-combobox.css.ts +1 -1
  206. package/src/nile-detail/nile-detail.css.ts +1 -1
  207. package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +3 -3
  208. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +11 -5
  209. package/src/nile-timestamp-builder/index.ts +1 -0
  210. package/src/nile-timestamp-builder/nile-timestamp-builder-utils.ts +321 -0
  211. package/src/nile-timestamp-builder/nile-timestamp-builder.css.ts +204 -0
  212. package/src/nile-timestamp-builder/nile-timestamp-builder.test.ts +1089 -0
  213. package/src/nile-timestamp-builder/nile-timestamp-builder.ts +625 -0
  214. package/src/nile-timestamp-builder/timezones.ts +356 -0
  215. package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +91 -58
  216. package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +21 -1
  217. package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.ts +19 -19
  218. package/src/nile-wysiwyg-editor/ui/bookmark-panel.ts +10 -10
  219. package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +7 -7
  220. package/src/nile-wysiwyg-editor/ui/code-block-menu.ts +5 -5
  221. package/src/nile-wysiwyg-editor/ui/embed-menu.ts +6 -6
  222. package/src/nile-wysiwyg-editor/ui/embed-panel.ts +4 -4
  223. package/src/nile-wysiwyg-editor/ui/emoji-picker.ts +6 -6
  224. package/src/nile-wysiwyg-editor/ui/find-replace.ts +7 -7
  225. package/src/nile-wysiwyg-editor/ui/image-menu.ts +6 -6
  226. package/src/nile-wysiwyg-editor/ui/image-panel.ts +6 -6
  227. package/src/nile-wysiwyg-editor/ui/insert-menu.ts +7 -7
  228. package/src/nile-wysiwyg-editor/ui/link-editor.ts +9 -9
  229. package/src/nile-wysiwyg-editor/ui/markdown-panel.ts +8 -8
  230. package/src/nile-wysiwyg-editor/ui/math-panel.ts +4 -4
  231. package/src/nile-wysiwyg-editor/ui/shortcut-help.ts +9 -9
  232. package/src/nile-wysiwyg-editor/ui/source-view.ts +24 -24
  233. package/src/nile-wysiwyg-editor/ui/special-chars.ts +4 -4
  234. package/src/nile-wysiwyg-editor/ui/suggest-list.ts +7 -7
  235. package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +16 -16
  236. package/src/nile-wysiwyg-editor/ui/table-menu.ts +4 -4
  237. package/vscode-html-custom-data.json +94 -2
  238. package/dist/index-e43755f5.cjs.js +0 -2
@@ -15,8 +15,8 @@ import{css as o}from"lit";const r=o`
15
15
  gap: 6px;
16
16
  padding: 8px;
17
17
  border-bottom: 1px solid
18
- var(--nile-colors-neutral-400, var(--ng-colors-border-neutral, #d0d5dd));
19
- background: var(--nile-colors-white-base, var(--ng-colors-bg-primary, #ffffff));
18
+ var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));
19
+ background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
20
20
  border-radius: 8px 8px 0 0;
21
21
  box-sizing: border-box;
22
22
  }
@@ -25,7 +25,7 @@ import{css as o}from"lit";const r=o`
25
25
  width: 1px;
26
26
  height: 24px;
27
27
  margin: 0 4px;
28
- background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral, #d0d5dd));
28
+ background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));
29
29
  }
30
30
 
31
31
  button.toolbar__button {
@@ -40,18 +40,18 @@ import{css as o}from"lit";const r=o`
40
40
  background: transparent;
41
41
  border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md, 8px));
42
42
  cursor: pointer;
43
- color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900, #101828));
43
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
44
44
  font-family: inherit;
45
45
  font-size: 14px;
46
46
  font-weight: 600;
47
47
  }
48
48
 
49
49
  button.toolbar__button:hover:not(:disabled) {
50
- background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary, #f2f4f7));
50
+ background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
51
51
  }
52
52
 
53
53
  button.toolbar__button[data-active] {
54
- background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50, #eff4ff));
54
+ background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50));
55
55
  }
56
56
 
57
57
  button.toolbar__button:disabled {
@@ -77,14 +77,14 @@ import{css as o}from"lit";const r=o`
77
77
  background: transparent;
78
78
  border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md, 8px));
79
79
  cursor: pointer;
80
- color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900, #101828));
80
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
81
81
  font-family: inherit;
82
82
  font-size: 13px;
83
83
  white-space: nowrap;
84
84
  }
85
85
 
86
86
  button.toolbar__dd-trigger:hover:not(:disabled) {
87
- background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary, #f2f4f7));
87
+ background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
88
88
  }
89
89
 
90
90
  button.toolbar__dd-trigger:disabled {
@@ -101,9 +101,9 @@ import{css as o}from"lit";const r=o`
101
101
  max-height: 260px;
102
102
  overflow-y: auto;
103
103
  padding: 4px;
104
- background: var(--nile-colors-white-base, var(--ng-colors-bg-primary, #ffffff));
104
+ background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
105
105
  border: 1px solid
106
- var(--nile-colors-neutral-300, var(--ng-colors-border-secondary, #e4e7ec));
106
+ var(--nile-colors-neutral-300, var(--ng-colors-border-secondary));
107
107
  border-radius: 8px;
108
108
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.12);
109
109
  box-sizing: border-box;
@@ -116,20 +116,20 @@ import{css as o}from"lit";const r=o`
116
116
  border-radius: 6px;
117
117
  cursor: pointer;
118
118
  font-size: 13px;
119
- color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900, #101828));
119
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
120
120
  white-space: nowrap;
121
121
  }
122
122
 
123
123
  .toolbar__dd-item:hover {
124
- background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary, #f2f4f7));
124
+ background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
125
125
  }
126
126
 
127
127
  .toolbar__dd-item[data-active] {
128
128
  background: var(
129
129
  --nile-colors-primary-50,
130
- var(--ng-componentcolors-utility-blue-50, #eff4ff)
130
+ var(--ng-componentcolors-utility-blue-50)
131
131
  );
132
- color: var(--nile-colors-primary-700, #1d4ed8);
132
+ color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));
133
133
  }
134
134
 
135
135
  /* --- Color pickers, nile-rte-color style --- */
@@ -173,9 +173,9 @@ import{css as o}from"lit";const r=o`
173
173
  top: calc(100% + 6px);
174
174
  left: 0;
175
175
  z-index: 30;
176
- background: var(--nile-colors-white-base, #ffffff);
176
+ background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
177
177
  border: 1px solid
178
- var(--nile-colors-neutral-300, var(--ng-colors-border-secondary, #e4e7ec));
178
+ var(--nile-colors-neutral-300, var(--ng-colors-border-secondary));
179
179
  border-radius: 8px;
180
180
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.12);
181
181
  box-sizing: border-box;
@@ -206,9 +206,9 @@ import{css as o}from"lit";const r=o`
206
206
  align-items: center;
207
207
  gap: 6px;
208
208
  padding: 8px;
209
- background: var(--nile-colors-white-base, var(--ng-colors-bg-primary, #ffffff));
209
+ background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
210
210
  border: 1px solid
211
- var(--nile-colors-neutral-300, var(--ng-colors-border-secondary, #e4e7ec));
211
+ var(--nile-colors-neutral-300, var(--ng-colors-border-secondary));
212
212
  border-radius: 8px;
213
213
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.12);
214
214
  box-sizing: border-box;
@@ -218,6 +218,6 @@ import{css as o}from"lit";const r=o`
218
218
  width: 1px;
219
219
  height: 24px;
220
220
  margin: 0 4px;
221
- background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral, #d0d5dd));
221
+ background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));
222
222
  }
223
223
  `;export{r as s};
@@ -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","../../internal/nile-element.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var o,r,i,e,t,n,s,a,_templateObject,_templateObject2,_templateObject3,_templateObject4,l;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _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){o=_tslib.__decorate;},function(_lit){r=_lit.css;i=_lit.html;},function(_litDecoratorsJs){e=_litDecoratorsJs.property;t=_litDecoratorsJs.state;n=_litDecoratorsJs.query;s=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){a=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){l=/*#__PURE__*/function(_a){function l(){var _this;_classCallCheck(this,l);_this=_callSuper(this,l,arguments),_this.open=!1,_this.error="";return _this;}_inherits(l,_a);return _createClass(l,[{key:"focusInput",value:function focusInput(){var _this2=this;this.error="",this.updateComplete.then(function(){var _this2$nameInput;_this2.nameInput&&(_this2.nameInput.value=""),(_this2$nameInput=_this2.nameInput)===null||_this2$nameInput===void 0?void 0:_this2$nameInput.focus();});}},{key:"handleSubmit",value:function handleSubmit(o){var _this$nameInput$value,_this$nameInput;o.preventDefault();var r=((_this$nameInput$value=(_this$nameInput=this.nameInput)===null||_this$nameInput===void 0?void 0:_this$nameInput.value)!==null&&_this$nameInput$value!==void 0?_this$nameInput$value:"").trim().replace(/\s+/g,"-");r?(this.error="",this.emit("wysiwyg-bookmark-apply",{id:r})):this.error="Enter a bookmark name.";}},{key:"render",value:function render(){var _this3=this;return i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <form\n class=\"bookmark-panel\"\n part=\"bookmark-panel\"\n @submit=","\n @keydown=","\n >\n <label>\n Bookmark name\n <input class=\"bookmark-panel__name\" type=\"text\" placeholder=\"section-intro\" />\n </label>\n ","\n <div class=\"actions\">\n <button type=\"button\" @click=",">\n Cancel\n </button>\n <button type=\"submit\" class=\"primary\">Insert</button>\n </div>\n </form>\n "])),this.handleSubmit,function(o){"Escape"===o.key&&(o.stopPropagation(),_this3.emit("wysiwyg-bookmark-cancel"));},this.error?i(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["<div class=\"error\">","</div>"])),this.error):i(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["<div class=\"hint\">An invisible anchor you can link to with #name</div>"]))),function(){return _this3.emit("wysiwyg-bookmark-cancel");});}}],[{key:"styles",get:function get(){return[r(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 20;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bookmark-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 280px;\n padding: 12px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n font-size: 13px;\n }\n\n label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n input {\n font: inherit;\n padding: 6px 8px;\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 6px;\n outline: none;\n }\n\n input:focus {\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n }\n\n .hint {\n font-size: 12px;\n color: var(--nile-colors-neutral-500, #98a2b3);\n }\n\n .error {\n font-size: 12px;\n color: var(--nile-colors-error-600, #d92d20);\n }\n\n .actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n }\n\n button {\n font: inherit;\n padding: 6px 12px;\n border-radius: 6px;\n border: 1px solid transparent;\n cursor: pointer;\n background: transparent;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n button.primary {\n background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n color: #ffffff;\n }\n "])))];}}]);}(a);o([e({type:Boolean,reflect:!0})],l.prototype,"open",void 0),o([t()],l.prototype,"error",void 0),o([n(".bookmark-panel__name")],l.prototype,"nameInput",void 0),l=o([s("nile-wysiwyg-bookmark-panel")],l);}};});
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","../../internal/nile-element.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var o,r,i,t,e,n,a,s,_templateObject,_templateObject2,_templateObject3,_templateObject4,l;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _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){o=_tslib.__decorate;},function(_lit){r=_lit.css;i=_lit.html;},function(_litDecoratorsJs){t=_litDecoratorsJs.property;e=_litDecoratorsJs.state;n=_litDecoratorsJs.query;a=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){s=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){l=/*#__PURE__*/function(_s){function l(){var _this;_classCallCheck(this,l);_this=_callSuper(this,l,arguments),_this.open=!1,_this.error="";return _this;}_inherits(l,_s);return _createClass(l,[{key:"focusInput",value:function focusInput(){var _this2=this;this.error="",this.updateComplete.then(function(){var _this2$nameInput;_this2.nameInput&&(_this2.nameInput.value=""),(_this2$nameInput=_this2.nameInput)===null||_this2$nameInput===void 0?void 0:_this2$nameInput.focus();});}},{key:"handleSubmit",value:function handleSubmit(o){var _this$nameInput$value,_this$nameInput;o.preventDefault();var r=((_this$nameInput$value=(_this$nameInput=this.nameInput)===null||_this$nameInput===void 0?void 0:_this$nameInput.value)!==null&&_this$nameInput$value!==void 0?_this$nameInput$value:"").trim().replace(/\s+/g,"-");r?(this.error="",this.emit("wysiwyg-bookmark-apply",{id:r})):this.error="Enter a bookmark name.";}},{key:"render",value:function render(){var _this3=this;return i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <form\n class=\"bookmark-panel\"\n part=\"bookmark-panel\"\n @submit=","\n @keydown=","\n >\n <label>\n Bookmark name\n <input class=\"bookmark-panel__name\" type=\"text\" placeholder=\"section-intro\" />\n </label>\n ","\n <div class=\"actions\">\n <button type=\"button\" @click=",">\n Cancel\n </button>\n <button type=\"submit\" class=\"primary\">Insert</button>\n </div>\n </form>\n "])),this.handleSubmit,function(o){"Escape"===o.key&&(o.stopPropagation(),_this3.emit("wysiwyg-bookmark-cancel"));},this.error?i(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["<div class=\"error\">","</div>"])),this.error):i(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["<div class=\"hint\">An invisible anchor you can link to with #name</div>"]))),function(){return _this3.emit("wysiwyg-bookmark-cancel");});}}],[{key:"styles",get:function get(){return[r(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 20;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bookmark-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 280px;\n padding: 12px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n font-size: 13px;\n }\n\n label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n }\n\n input {\n font: inherit;\n padding: 6px 8px;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 6px;\n outline: none;\n }\n\n input:focus {\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n }\n\n .hint {\n font-size: 12px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));\n }\n\n .error {\n font-size: 12px;\n color: var(--nile-colors-error-600, var(--ng-componentcolors-utility-error-600));\n }\n\n .actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n }\n\n button {\n font: inherit;\n padding: 6px 12px;\n border-radius: 6px;\n border: 1px solid transparent;\n cursor: pointer;\n background: transparent;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n }\n\n button.primary {\n background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n color: var(--ng-colors-text-white);\n }\n "])))];}}]);}(s);o([t({type:Boolean,reflect:!0})],l.prototype,"open",void 0),o([e()],l.prototype,"error",void 0),o([n(".bookmark-panel__name")],l.prototype,"nameInput",void 0),l=o([a("nile-wysiwyg-bookmark-panel")],l);}};});
2
2
  //# sourceMappingURL=bookmark-panel.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bookmark-panel.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/bookmark-panel.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\n\n/**\n * Floating bookmark-insert panel: name an in-text anchor. Emits\n * `wysiwyg-bookmark-apply` detail: { id } and `wysiwyg-bookmark-cancel`.\n */\n@customElement('nile-wysiwyg-bookmark-panel')\nexport class NileWysiwygBookmarkPanel extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @state() private error = '';\n\n @query('.bookmark-panel__name') nameInput?: HTMLInputElement;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 20;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bookmark-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 280px;\n padding: 12px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n font-size: 13px;\n }\n\n label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n input {\n font: inherit;\n padding: 6px 8px;\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 6px;\n outline: none;\n }\n\n input:focus {\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n }\n\n .hint {\n font-size: 12px;\n color: var(--nile-colors-neutral-500, #98a2b3);\n }\n\n .error {\n font-size: 12px;\n color: var(--nile-colors-error-600, #d92d20);\n }\n\n .actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n }\n\n button {\n font: inherit;\n padding: 6px 12px;\n border-radius: 6px;\n border: 1px solid transparent;\n cursor: pointer;\n background: transparent;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n button.primary {\n background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n color: #ffffff;\n }\n `,\n ];\n }\n\n public focusInput(): void {\n this.error = '';\n this.updateComplete.then(() => {\n if (this.nameInput) this.nameInput.value = '';\n this.nameInput?.focus();\n });\n }\n\n private handleSubmit(event: Event): void {\n event.preventDefault();\n // Anchor ids can't contain whitespace; collapse runs to a single dash.\n const id = (this.nameInput?.value ?? '').trim().replace(/\\s+/g, '-');\n if (!id) {\n this.error = 'Enter a bookmark name.';\n return;\n }\n this.error = '';\n this.emit('wysiwyg-bookmark-apply', { id });\n }\n\n public render(): TemplateResult {\n return html`\n <form\n class=\"bookmark-panel\"\n part=\"bookmark-panel\"\n @submit=${this.handleSubmit}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n this.emit('wysiwyg-bookmark-cancel');\n }\n }}\n >\n <label>\n Bookmark name\n <input class=\"bookmark-panel__name\" type=\"text\" placeholder=\"section-intro\" />\n </label>\n ${this.error\n ? html`<div class=\"error\">${this.error}</div>`\n : html`<div class=\"hint\">An invisible anchor you can link to with #name</div>`}\n <div class=\"actions\">\n <button type=\"button\" @click=${() => this.emit('wysiwyg-bookmark-cancel')}>\n Cancel\n </button>\n <button type=\"submit\" class=\"primary\">Insert</button>\n </div>\n </form>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-bookmark-panel': NileWysiwygBookmarkPanel;\n }\n}\n"],"names":["NileWysiwygBookmarkPanel","l","constructor","this","open","error","_this","_inherits","_a","_createClass","key","value","focusInput","updateComplete","then","_this2$nameInput","nameInput","focus","handleSubmit","event","preventDefault","id","trim","replace","emit","render","_this3","html","_templateObject","_taggedTemplateLiteral","e","stopPropagation","_templateObject2","_templateObject3","get","css","_templateObject4","NileElement","__decorate","property","type","Boolean","reflect","prototype","state","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"bookmark-panel.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/bookmark-panel.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\n\n/**\n * Floating bookmark-insert panel: name an in-text anchor. Emits\n * `wysiwyg-bookmark-apply` detail: { id } and `wysiwyg-bookmark-cancel`.\n */\n@customElement('nile-wysiwyg-bookmark-panel')\nexport class NileWysiwygBookmarkPanel extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @state() private error = '';\n\n @query('.bookmark-panel__name') nameInput?: HTMLInputElement;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 20;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bookmark-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 280px;\n padding: 12px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n font-size: 13px;\n }\n\n label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n }\n\n input {\n font: inherit;\n padding: 6px 8px;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 6px;\n outline: none;\n }\n\n input:focus {\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n }\n\n .hint {\n font-size: 12px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));\n }\n\n .error {\n font-size: 12px;\n color: var(--nile-colors-error-600, var(--ng-componentcolors-utility-error-600));\n }\n\n .actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n }\n\n button {\n font: inherit;\n padding: 6px 12px;\n border-radius: 6px;\n border: 1px solid transparent;\n cursor: pointer;\n background: transparent;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n }\n\n button.primary {\n background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n color: var(--ng-colors-text-white);\n }\n `,\n ];\n }\n\n public focusInput(): void {\n this.error = '';\n this.updateComplete.then(() => {\n if (this.nameInput) this.nameInput.value = '';\n this.nameInput?.focus();\n });\n }\n\n private handleSubmit(event: Event): void {\n event.preventDefault();\n // Anchor ids can't contain whitespace; collapse runs to a single dash.\n const id = (this.nameInput?.value ?? '').trim().replace(/\\s+/g, '-');\n if (!id) {\n this.error = 'Enter a bookmark name.';\n return;\n }\n this.error = '';\n this.emit('wysiwyg-bookmark-apply', { id });\n }\n\n public render(): TemplateResult {\n return html`\n <form\n class=\"bookmark-panel\"\n part=\"bookmark-panel\"\n @submit=${this.handleSubmit}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n this.emit('wysiwyg-bookmark-cancel');\n }\n }}\n >\n <label>\n Bookmark name\n <input class=\"bookmark-panel__name\" type=\"text\" placeholder=\"section-intro\" />\n </label>\n ${this.error\n ? html`<div class=\"error\">${this.error}</div>`\n : html`<div class=\"hint\">An invisible anchor you can link to with #name</div>`}\n <div class=\"actions\">\n <button type=\"button\" @click=${() => this.emit('wysiwyg-bookmark-cancel')}>\n Cancel\n </button>\n <button type=\"submit\" class=\"primary\">Insert</button>\n </div>\n </form>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-bookmark-panel': NileWysiwygBookmarkPanel;\n }\n}\n"],"names":["NileWysiwygBookmarkPanel","l","constructor","this","open","error","_this","_inherits","_s","_createClass","key","value","focusInput","updateComplete","then","_this2$nameInput","nameInput","focus","handleSubmit","event","preventDefault","id","trim","replace","emit","render","_this3","html","_templateObject","_taggedTemplateLiteral","e","stopPropagation","_templateObject2","_templateObject3","get","css","_templateObject4","NileElement","__decorate","property","type","Boolean","reflect","prototype","state","query","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__decorate as o}from"tslib";import{css as r,html as i}from"lit";import{property as e,state as t,query as n,customElement as s}from"lit/decorators.js";import{N as a}from"../../internal/nile-element.esm.js";import"../../internal/accessibility/a11y.state.enum.esm.js";import"../../internal/accessibility/a11y.property.enum.esm.js";import"../../internal/accessibility/role.enum.esm.js";let l=class extends a{constructor(){super(...arguments),this.open=!1,this.error=""}static get styles(){return[r`
1
+ import{__decorate as o}from"tslib";import{css as r,html as e}from"lit";import{property as i,state as t,query as n,customElement as a}from"lit/decorators.js";import{N as s}from"../../internal/nile-element.esm.js";import"../../internal/accessibility/a11y.state.enum.esm.js";import"../../internal/accessibility/a11y.property.enum.esm.js";import"../../internal/accessibility/role.enum.esm.js";let l=class extends s{constructor(){super(...arguments),this.open=!1,this.error=""}static get styles(){return[r`
2
2
  :host {
3
3
  font-family: var(
4
4
  --nile-font-family-sans-serif,
@@ -19,8 +19,8 @@ import{__decorate as o}from"tslib";import{css as r,html as i}from"lit";import{pr
19
19
  gap: 8px;
20
20
  min-width: 280px;
21
21
  padding: 12px;
22
- background: var(--nile-wysiwyg-popover-bg, #ffffff);
23
- border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);
22
+ background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));
23
+ border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));
24
24
  border-radius: var(--nile-wysiwyg-radius, 8px);
25
25
  box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));
26
26
  font-size: 13px;
@@ -30,29 +30,29 @@ import{__decorate as o}from"tslib";import{css as r,html as i}from"lit";import{pr
30
30
  display: flex;
31
31
  flex-direction: column;
32
32
  gap: 4px;
33
- color: var(--nile-colors-neutral-700, #344054);
33
+ color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));
34
34
  }
35
35
 
36
36
  input {
37
37
  font: inherit;
38
38
  padding: 6px 8px;
39
- border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);
39
+ border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));
40
40
  border-radius: 6px;
41
41
  outline: none;
42
42
  }
43
43
 
44
44
  input:focus {
45
- border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));
45
+ border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));
46
46
  }
47
47
 
48
48
  .hint {
49
49
  font-size: 12px;
50
- color: var(--nile-colors-neutral-500, #98a2b3);
50
+ color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));
51
51
  }
52
52
 
53
53
  .error {
54
54
  font-size: 12px;
55
- color: var(--nile-colors-error-600, #d92d20);
55
+ color: var(--nile-colors-error-600, var(--ng-componentcolors-utility-error-600));
56
56
  }
57
57
 
58
58
  .actions {
@@ -68,14 +68,14 @@ import{__decorate as o}from"tslib";import{css as r,html as i}from"lit";import{pr
68
68
  border: 1px solid transparent;
69
69
  cursor: pointer;
70
70
  background: transparent;
71
- color: var(--nile-colors-neutral-700, #344054);
71
+ color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));
72
72
  }
73
73
 
74
74
  button.primary {
75
- background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));
76
- color: #ffffff;
75
+ background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));
76
+ color: var(--ng-colors-text-white);
77
77
  }
78
- `]}focusInput(){this.error="",this.updateComplete.then((()=>{this.nameInput&&(this.nameInput.value=""),this.nameInput?.focus()}))}handleSubmit(o){o.preventDefault();const r=(this.nameInput?.value??"").trim().replace(/\s+/g,"-");r?(this.error="",this.emit("wysiwyg-bookmark-apply",{id:r})):this.error="Enter a bookmark name."}render(){return i`
78
+ `]}focusInput(){this.error="",this.updateComplete.then((()=>{this.nameInput&&(this.nameInput.value=""),this.nameInput?.focus()}))}handleSubmit(o){o.preventDefault();const r=(this.nameInput?.value??"").trim().replace(/\s+/g,"-");r?(this.error="",this.emit("wysiwyg-bookmark-apply",{id:r})):this.error="Enter a bookmark name."}render(){return e`
79
79
  <form
80
80
  class="bookmark-panel"
81
81
  part="bookmark-panel"
@@ -86,7 +86,7 @@ import{__decorate as o}from"tslib";import{css as r,html as i}from"lit";import{pr
86
86
  Bookmark name
87
87
  <input class="bookmark-panel__name" type="text" placeholder="section-intro" />
88
88
  </label>
89
- ${this.error?i`<div class="error">${this.error}</div>`:i`<div class="hint">An invisible anchor you can link to with #name</div>`}
89
+ ${this.error?e`<div class="error">${this.error}</div>`:e`<div class="hint">An invisible anchor you can link to with #name</div>`}
90
90
  <div class="actions">
91
91
  <button type="button" @click=${()=>this.emit("wysiwyg-bookmark-cancel")}>
92
92
  Cancel
@@ -94,4 +94,4 @@ import{__decorate as o}from"tslib";import{css as r,html as i}from"lit";import{pr
94
94
  <button type="submit" class="primary">Insert</button>
95
95
  </div>
96
96
  </form>
97
- `}};o([e({type:Boolean,reflect:!0})],l.prototype,"open",void 0),o([t()],l.prototype,"error",void 0),o([n(".bookmark-panel__name")],l.prototype,"nameInput",void 0),l=o([s("nile-wysiwyg-bookmark-panel")],l);
97
+ `}};o([i({type:Boolean,reflect:!0})],l.prototype,"open",void 0),o([t()],l.prototype,"error",void 0),o([n(".bookmark-panel__name")],l.prototype,"nameInput",void 0),l=o([a("nile-wysiwyg-bookmark-panel")],l);
@@ -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","../../internal/nile-element.cjs.js","../../internal/glyph.cjs.js","../../nile-lite-tooltip/nile-lite-tooltip.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js","../../nile-lite-tooltip/nile-lite-tooltip.css.cjs.js","../../tippy.esm-78baa8f2.cjs.js","../../nile-lite-tooltip/utils.cjs.js","../../utilities/visibility-manager.cjs.js"],function(_export,_context){"use strict";var i,t,e,n,r,l,o,a,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,s,c,d;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _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){i=_tslib.__decorate;},function(_lit){t=_lit.css;e=_lit.html;n=_lit.nothing;},function(_litDecoratorsJs){r=_litDecoratorsJs.property;l=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){o=_internalNileElementCjsJs.N;},function(_internalGlyphCjsJs){a=_internalGlyphCjsJs.r;},function(_nileLiteTooltipNileLiteTooltipCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_nileLiteTooltipNileLiteTooltipCssCjsJs){},function(_tippyEsm009CjsJs){},function(_nileLiteTooltipUtilsCjsJs){},function(_utilitiesVisibilityManagerCjsJs){}],execute:function execute(){s={bold:{command:"bold",label:"Bold",icon:"format_bold",active:function active(i){return i.bold;}},italic:{command:"italic",label:"Italic",icon:"format_italic",active:function active(i){return i.italic;}},underline:{command:"underline",label:"Underline",icon:"format_underline",active:function active(i){return i.underline;}},strike:{command:"strike",label:"Strikethrough",icon:"ng-strikethrough",active:function active(i){return i.strike;}},code:{command:"code",label:"Inline code",icon:"ng-code",active:function active(i){return i.code;}},subscript:{command:"subscript",label:"Subscript",icon:"ng-subscript",active:function active(i){return i.subscript;}},superscript:{command:"superscript",label:"Superscript",icon:"ng-superscript",active:function active(i){return i.superscript;}},link:{command:"openLink",label:"Link",icon:"link_2",active:function active(i){return i.linkActive;}},bulletList:{command:"bulletList",label:"Bulleted list",icon:"format_list_bulleted",active:function active(i){return i.inBulletList;}},orderedList:{command:"orderedList",label:"Numbered list",icon:"format_list_numbered",active:function active(i){return i.inOrderedList;}},alignLeft:{command:"align",label:"Align left",icon:"format_align_left",attrs:{align:"left"},active:function active(i){return"left"===i.align;}},alignCenter:{command:"align",label:"Align center",icon:"format_align_middle",attrs:{align:"center"},active:function active(i){return"center"===i.align;}},alignRight:{command:"align",label:"Align right",icon:"format_align_right",attrs:{align:"right"},active:function active(i){return"right"===i.align;}},clearFormatting:{command:"clearFormatting",label:"Clear formatting",icon:"format_clear"}},c=["bold","italic","underline","strike","link"];d=/*#__PURE__*/function(_o){function d(){var _this;_classCallCheck(this,d);_this=_callSuper(this,d,arguments),_this.open=!1;return _this;}_inherits(d,_o);return _createClass(d,[{key:"isAuthoringContainer",get:function get(){return!!this.closest("nile-wysiwyg-editor");}},{key:"render",value:function render(){var _this2=this;if(this.isAuthoringContainer)return e(_templateObject||(_templateObject=_taggedTemplateLiteral([""])));var i=this.toolbarState,t=this.items&&this.items.length?this.items:c.map(function(i){return{name:i};});return e(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"bubble\" part=\"bubble-menu\" @mousedown=",">\n ","\n </div>\n "])),function(i){return i.preventDefault();},t.map(function(t){return _this2.renderEntry(t,i);}));}},{key:"renderEntry",value:function renderEntry(i,t){var _r$command,_this3=this;if("|"===i.name)return e(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["<span class=\"divider\" part=\"bubble-divider\"></span>"])));var r=s[i.name],l=i.label||(r===null||r===void 0?void 0:r.label)||i.name,o=i.icon||(r===null||r===void 0?void 0:r.icon);if(!o)return n;var c=(_r$command=r===null||r===void 0?void 0:r.command)!==null&&_r$command!==void 0?_r$command:i.name,_d=r===null||r===void 0?void 0:r.attrs,m=!(!(r!==null&&r!==void 0&&r.active)||!t)&&r.active(t);return e(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <nile-lite-tooltip content="," placement=\"top\">\n <button\n type=\"button\"\n aria-label=","\n ?data-active=","\n @click=","\n >\n ","\n </button>\n </nile-lite-tooltip>\n "])),l,l,m,function(){return _this3.emit("wysiwyg-command",_d?{name:c,attrs:_d}:{name:c});},a(o,16));}}],[{key:"styles",get:function get(){return[t(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bubble {\n display: flex;\n gap: 2px;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid\n var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, #d0d5dd));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(\n --nile-wysiwyg-popover-shadow,\n 0 4px 12px rgba(16, 24, 40, 0.12)\n );\n }\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n button:hover {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n\n button[data-active] {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50, #eff4ff));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700, #1d4ed8));\n }\n\n .divider {\n align-self: stretch;\n width: 1px;\n margin: 3px 2px;\n background: var(--nile-colors-neutral-300, #e4e7ec);\n }\n "])))];}}]);}(o);i([r({type:Boolean,reflect:!0})],d.prototype,"open",void 0),i([r({attribute:!1})],d.prototype,"toolbarState",void 0),i([r({attribute:!1})],d.prototype,"items",void 0),d=i([l("nile-wysiwyg-bubble-menu")],d);}};});
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","../../internal/nile-element.cjs.js","../../internal/glyph.cjs.js","../../nile-lite-tooltip/nile-lite-tooltip.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js","../../nile-lite-tooltip/nile-lite-tooltip.css.cjs.js","../../tippy.esm-78baa8f2.cjs.js","../../nile-lite-tooltip/utils.cjs.js","../../utilities/visibility-manager.cjs.js"],function(_export,_context){"use strict";var i,t,e,r,n,o,l,a,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,s,c,m;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _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){i=_tslib.__decorate;},function(_lit){t=_lit.css;e=_lit.html;r=_lit.nothing;},function(_litDecoratorsJs){n=_litDecoratorsJs.property;o=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){l=_internalNileElementCjsJs.N;},function(_internalGlyphCjsJs){a=_internalGlyphCjsJs.r;},function(_nileLiteTooltipNileLiteTooltipCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_nileLiteTooltipNileLiteTooltipCssCjsJs){},function(_tippyEsm009CjsJs){},function(_nileLiteTooltipUtilsCjsJs){},function(_utilitiesVisibilityManagerCjsJs){}],execute:function execute(){s={bold:{command:"bold",label:"Bold",icon:"format_bold",active:function active(i){return i.bold;}},italic:{command:"italic",label:"Italic",icon:"format_italic",active:function active(i){return i.italic;}},underline:{command:"underline",label:"Underline",icon:"format_underline",active:function active(i){return i.underline;}},strike:{command:"strike",label:"Strikethrough",icon:"ng-strikethrough",active:function active(i){return i.strike;}},code:{command:"code",label:"Inline code",icon:"ng-code",active:function active(i){return i.code;}},subscript:{command:"subscript",label:"Subscript",icon:"ng-subscript",active:function active(i){return i.subscript;}},superscript:{command:"superscript",label:"Superscript",icon:"ng-superscript",active:function active(i){return i.superscript;}},link:{command:"openLink",label:"Link",icon:"link_2",active:function active(i){return i.linkActive;}},bulletList:{command:"bulletList",label:"Bulleted list",icon:"format_list_bulleted",active:function active(i){return i.inBulletList;}},orderedList:{command:"orderedList",label:"Numbered list",icon:"format_list_numbered",active:function active(i){return i.inOrderedList;}},alignLeft:{command:"align",label:"Align left",icon:"format_align_left",attrs:{align:"left"},active:function active(i){return"left"===i.align;}},alignCenter:{command:"align",label:"Align center",icon:"format_align_middle",attrs:{align:"center"},active:function active(i){return"center"===i.align;}},alignRight:{command:"align",label:"Align right",icon:"format_align_right",attrs:{align:"right"},active:function active(i){return"right"===i.align;}},clearFormatting:{command:"clearFormatting",label:"Clear formatting",icon:"format_clear"}},c=["bold","italic","underline","strike","link"];m=/*#__PURE__*/function(_l){function m(){var _this;_classCallCheck(this,m);_this=_callSuper(this,m,arguments),_this.open=!1;return _this;}_inherits(m,_l);return _createClass(m,[{key:"isAuthoringContainer",get:function get(){return!!this.closest("nile-wysiwyg-editor");}},{key:"render",value:function render(){var _this2=this;if(this.isAuthoringContainer)return e(_templateObject||(_templateObject=_taggedTemplateLiteral([""])));var i=this.toolbarState,t=this.items&&this.items.length?this.items:c.map(function(i){return{name:i};});return e(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"bubble\" part=\"bubble-menu\" @mousedown=",">\n ","\n </div>\n "])),function(i){return i.preventDefault();},t.map(function(t){return _this2.renderEntry(t,i);}));}},{key:"renderEntry",value:function renderEntry(i,t){var _n$command,_this3=this;if("|"===i.name)return e(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["<span class=\"divider\" part=\"bubble-divider\"></span>"])));var n=s[i.name],o=i.label||(n===null||n===void 0?void 0:n.label)||i.name,l=i.icon||(n===null||n===void 0?void 0:n.icon);if(!l)return r;var c=(_n$command=n===null||n===void 0?void 0:n.command)!==null&&_n$command!==void 0?_n$command:i.name,_m=n===null||n===void 0?void 0:n.attrs,d=!(!(n!==null&&n!==void 0&&n.active)||!t)&&n.active(t);return e(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <nile-lite-tooltip content="," placement=\"top\">\n <button\n type=\"button\"\n aria-label=","\n ?data-active=","\n @click=","\n >\n ","\n </button>\n </nile-lite-tooltip>\n "])),o,o,d,function(){return _this3.emit("wysiwyg-command",_m?{name:c,attrs:_m}:{name:c});},a(l,16));}}],[{key:"styles",get:function get(){return[t(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bubble {\n display: flex;\n gap: 2px;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid\n var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, var(--ng-colors-border-primary)));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(\n --nile-wysiwyg-popover-shadow,\n 0 4px 12px rgba(16, 24, 40, 0.12)\n );\n }\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n }\n\n button:hover {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n\n button[data-active] {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));\n }\n\n .divider {\n align-self: stretch;\n width: 1px;\n margin: 3px 2px;\n background: var(--nile-colors-neutral-300, var(--ng-colors-border-secondary));\n }\n "])))];}}]);}(l);i([n({type:Boolean,reflect:!0})],m.prototype,"open",void 0),i([n({attribute:!1})],m.prototype,"toolbarState",void 0),i([n({attribute:!1})],m.prototype,"items",void 0),m=i([o("nile-wysiwyg-bubble-menu")],m);}};});
2
2
  //# sourceMappingURL=bubble-menu.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bubble-menu.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/bubble-menu.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\nimport { renderGlyph } from '../../internal/glyph';\nimport type { ToolbarState } from '../engine/selection-state';\nimport type { WysiwygCommandDetail } from '../types';\nimport type { AuthoredToolbarItem } from '../nile-wysiwyg-toolbar/nile-wysiwyg-toolbar';\nimport '../../nile-lite-tooltip/nile-lite-tooltip';\n\n/** A control the bubble menu knows how to render, keyed by its authored name. */\ninterface BubbleDef {\n /** The command dispatched on click. */\n command: WysiwygCommandDetail['name'];\n label: string;\n /** nile-glyph icon name (ng-* names are stroke-drawn). */\n icon: string;\n /** Static attrs sent with the command (e.g. alignment direction). */\n attrs?: WysiwygCommandDetail['attrs'];\n active?: (state: ToolbarState) => boolean;\n}\n\n/**\n * Registry of controls addressable by `<nile-wysiwyg-bubble-item name=\"…\">`.\n * Icons/labels mirror the main toolbar so both surfaces look identical.\n */\nconst BUBBLE_ITEMS: Record<string, BubbleDef> = {\n bold: { command: 'bold', label: 'Bold', icon: 'format_bold', active: s => s.bold },\n italic: { command: 'italic', label: 'Italic', icon: 'format_italic', active: s => s.italic },\n underline: {\n command: 'underline',\n label: 'Underline',\n icon: 'format_underline',\n active: s => s.underline,\n },\n strike: {\n command: 'strike',\n label: 'Strikethrough',\n icon: 'ng-strikethrough',\n active: s => s.strike,\n },\n code: { command: 'code', label: 'Inline code', icon: 'ng-code', active: s => s.code },\n subscript: {\n command: 'subscript',\n label: 'Subscript',\n icon: 'ng-subscript',\n active: s => s.subscript,\n },\n superscript: {\n command: 'superscript',\n label: 'Superscript',\n icon: 'ng-superscript',\n active: s => s.superscript,\n },\n link: { command: 'openLink', label: 'Link', icon: 'link_2', active: s => s.linkActive },\n bulletList: {\n command: 'bulletList',\n label: 'Bulleted list',\n icon: 'format_list_bulleted',\n active: s => s.inBulletList,\n },\n orderedList: {\n command: 'orderedList',\n label: 'Numbered list',\n icon: 'format_list_numbered',\n active: s => s.inOrderedList,\n },\n alignLeft: {\n command: 'align',\n label: 'Align left',\n icon: 'format_align_left',\n attrs: { align: 'left' },\n active: s => s.align === 'left',\n },\n alignCenter: {\n command: 'align',\n label: 'Align center',\n icon: 'format_align_middle',\n attrs: { align: 'center' },\n active: s => s.align === 'center',\n },\n alignRight: {\n command: 'align',\n label: 'Align right',\n icon: 'format_align_right',\n attrs: { align: 'right' },\n active: s => s.align === 'right',\n },\n clearFormatting: {\n command: 'clearFormatting',\n label: 'Clear formatting',\n icon: 'format_clear',\n },\n};\n\n/** Built-in default when no `<nile-wysiwyg-bubble-item>` children are authored. */\nconst DEFAULT_BUBBLE = ['bold', 'italic', 'underline', 'strike', 'link'];\n\n/**\n * Balloon toolbar shown over non-empty selections. The host owns positioning\n * (absolute left/top) and visibility; commands bubble up as\n * `wysiwyg-command` events, same contract as the main toolbar.\n */\n@customElement('nile-wysiwyg-bubble-menu')\nexport class NileWysiwygBubbleMenu extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: false }) toolbarState?: ToolbarState;\n\n /**\n * Structured item list authored in light DOM (from\n * `<nile-wysiwyg-bubble-item>` children). `'|'` is a separator. Falls back to\n * {@link DEFAULT_BUBBLE} when empty.\n */\n @property({ attribute: false }) items?: AuthoredToolbarItem[];\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bubble {\n display: flex;\n gap: 2px;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid\n var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, #d0d5dd));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(\n --nile-wysiwyg-popover-shadow,\n 0 4px 12px rgba(16, 24, 40, 0.12)\n );\n }\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n button:hover {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n\n button[data-active] {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50, #eff4ff));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700, #1d4ed8));\n }\n\n .divider {\n align-self: stretch;\n width: 1px;\n margin: 3px 2px;\n background: var(--nile-colors-neutral-300, #e4e7ec);\n }\n `,\n ];\n }\n\n /**\n * True when this instance is an author's declarative `<nile-wysiwyg-bubble-menu>`\n * container in an editor's light DOM (holding `<nile-wysiwyg-bubble-item>`\n * children). It renders nothing — the editor reads the items and renders the\n * real bubble menu in its own shadow DOM. The editor's internal instance\n * lives in a shadow root, so `closest` never matches it.\n */\n private get isAuthoringContainer(): boolean {\n return !!this.closest('nile-wysiwyg-editor');\n }\n\n public render(): TemplateResult {\n if (this.isAuthoringContainer) return html``;\n\n const state = this.toolbarState;\n const entries: AuthoredToolbarItem[] =\n this.items && this.items.length\n ? this.items\n : DEFAULT_BUBBLE.map(name => ({ name }));\n return html`\n <div class=\"bubble\" part=\"bubble-menu\" @mousedown=${(e: Event) => e.preventDefault()}>\n ${entries.map(entry => this.renderEntry(entry, state))}\n </div>\n `;\n }\n\n private renderEntry(\n entry: AuthoredToolbarItem,\n state?: ToolbarState\n ): TemplateResult | typeof nothing {\n if (entry.name === '|') {\n return html`<span class=\"divider\" part=\"bubble-divider\"></span>`;\n }\n const base = BUBBLE_ITEMS[entry.name];\n const label = entry.label || base?.label || entry.name;\n const icon = entry.icon || base?.icon;\n // Unknown command with no icon to draw → nothing to render.\n if (!icon) return nothing;\n const command = base?.command ?? (entry.name as WysiwygCommandDetail['name']);\n const attrs = base?.attrs;\n const isActive = base?.active && state ? base.active(state) : false;\n return html`\n <nile-lite-tooltip content=${label} placement=\"top\">\n <button\n type=\"button\"\n aria-label=${label}\n ?data-active=${isActive}\n @click=${() =>\n this.emit('wysiwyg-command', attrs ? { name: command, attrs } : { name: command })}\n >\n ${renderGlyph(icon, 16)}\n </button>\n </nile-lite-tooltip>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-bubble-menu': NileWysiwygBubbleMenu;\n }\n}\n"],"names":["BUBBLE_ITEMS","bold","command","label","icon","active","s","italic","underline","strike","code","subscript","superscript","link","linkActive","bulletList","inBulletList","orderedList","inOrderedList","alignLeft","attrs","align","alignCenter","alignRight","clearFormatting","DEFAULT_BUBBLE","NileWysiwygBubbleMenu","_o","d","constructor","this","open","_this","_inherits","_createClass","key","get","isAuthoringContainer","closest","value","render","html","_templateObject","_taggedTemplateLiteral","state","toolbarState","entries","items","length","map","name","_templateObject2","e","preventDefault","entry","renderEntry","_templateObject3","base","nothing","isActive","_templateObject4","emit","renderGlyph","styles","css","_templateObject5","NileElement","__decorate","property","type","Boolean","reflect","prototype","attribute","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"bubble-menu.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/bubble-menu.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\nimport { renderGlyph } from '../../internal/glyph';\nimport type { ToolbarState } from '../engine/selection-state';\nimport type { WysiwygCommandDetail } from '../types';\nimport type { AuthoredToolbarItem } from '../nile-wysiwyg-toolbar/nile-wysiwyg-toolbar';\nimport '../../nile-lite-tooltip/nile-lite-tooltip';\n\n/** A control the bubble menu knows how to render, keyed by its authored name. */\ninterface BubbleDef {\n /** The command dispatched on click. */\n command: WysiwygCommandDetail['name'];\n label: string;\n /** nile-glyph icon name (ng-* names are stroke-drawn). */\n icon: string;\n /** Static attrs sent with the command (e.g. alignment direction). */\n attrs?: WysiwygCommandDetail['attrs'];\n active?: (state: ToolbarState) => boolean;\n}\n\n/**\n * Registry of controls addressable by `<nile-wysiwyg-bubble-item name=\"…\">`.\n * Icons/labels mirror the main toolbar so both surfaces look identical.\n */\nconst BUBBLE_ITEMS: Record<string, BubbleDef> = {\n bold: { command: 'bold', label: 'Bold', icon: 'format_bold', active: s => s.bold },\n italic: { command: 'italic', label: 'Italic', icon: 'format_italic', active: s => s.italic },\n underline: {\n command: 'underline',\n label: 'Underline',\n icon: 'format_underline',\n active: s => s.underline,\n },\n strike: {\n command: 'strike',\n label: 'Strikethrough',\n icon: 'ng-strikethrough',\n active: s => s.strike,\n },\n code: { command: 'code', label: 'Inline code', icon: 'ng-code', active: s => s.code },\n subscript: {\n command: 'subscript',\n label: 'Subscript',\n icon: 'ng-subscript',\n active: s => s.subscript,\n },\n superscript: {\n command: 'superscript',\n label: 'Superscript',\n icon: 'ng-superscript',\n active: s => s.superscript,\n },\n link: { command: 'openLink', label: 'Link', icon: 'link_2', active: s => s.linkActive },\n bulletList: {\n command: 'bulletList',\n label: 'Bulleted list',\n icon: 'format_list_bulleted',\n active: s => s.inBulletList,\n },\n orderedList: {\n command: 'orderedList',\n label: 'Numbered list',\n icon: 'format_list_numbered',\n active: s => s.inOrderedList,\n },\n alignLeft: {\n command: 'align',\n label: 'Align left',\n icon: 'format_align_left',\n attrs: { align: 'left' },\n active: s => s.align === 'left',\n },\n alignCenter: {\n command: 'align',\n label: 'Align center',\n icon: 'format_align_middle',\n attrs: { align: 'center' },\n active: s => s.align === 'center',\n },\n alignRight: {\n command: 'align',\n label: 'Align right',\n icon: 'format_align_right',\n attrs: { align: 'right' },\n active: s => s.align === 'right',\n },\n clearFormatting: {\n command: 'clearFormatting',\n label: 'Clear formatting',\n icon: 'format_clear',\n },\n};\n\n/** Built-in default when no `<nile-wysiwyg-bubble-item>` children are authored. */\nconst DEFAULT_BUBBLE = ['bold', 'italic', 'underline', 'strike', 'link'];\n\n/**\n * Balloon toolbar shown over non-empty selections. The host owns positioning\n * (absolute left/top) and visibility; commands bubble up as\n * `wysiwyg-command` events, same contract as the main toolbar.\n */\n@customElement('nile-wysiwyg-bubble-menu')\nexport class NileWysiwygBubbleMenu extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: false }) toolbarState?: ToolbarState;\n\n /**\n * Structured item list authored in light DOM (from\n * `<nile-wysiwyg-bubble-item>` children). `'|'` is a separator. Falls back to\n * {@link DEFAULT_BUBBLE} when empty.\n */\n @property({ attribute: false }) items?: AuthoredToolbarItem[];\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bubble {\n display: flex;\n gap: 2px;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid\n var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, var(--ng-colors-border-primary)));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(\n --nile-wysiwyg-popover-shadow,\n 0 4px 12px rgba(16, 24, 40, 0.12)\n );\n }\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n }\n\n button:hover {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n\n button[data-active] {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));\n }\n\n .divider {\n align-self: stretch;\n width: 1px;\n margin: 3px 2px;\n background: var(--nile-colors-neutral-300, var(--ng-colors-border-secondary));\n }\n `,\n ];\n }\n\n /**\n * True when this instance is an author's declarative `<nile-wysiwyg-bubble-menu>`\n * container in an editor's light DOM (holding `<nile-wysiwyg-bubble-item>`\n * children). It renders nothing — the editor reads the items and renders the\n * real bubble menu in its own shadow DOM. The editor's internal instance\n * lives in a shadow root, so `closest` never matches it.\n */\n private get isAuthoringContainer(): boolean {\n return !!this.closest('nile-wysiwyg-editor');\n }\n\n public render(): TemplateResult {\n if (this.isAuthoringContainer) return html``;\n\n const state = this.toolbarState;\n const entries: AuthoredToolbarItem[] =\n this.items && this.items.length\n ? this.items\n : DEFAULT_BUBBLE.map(name => ({ name }));\n return html`\n <div class=\"bubble\" part=\"bubble-menu\" @mousedown=${(e: Event) => e.preventDefault()}>\n ${entries.map(entry => this.renderEntry(entry, state))}\n </div>\n `;\n }\n\n private renderEntry(\n entry: AuthoredToolbarItem,\n state?: ToolbarState\n ): TemplateResult | typeof nothing {\n if (entry.name === '|') {\n return html`<span class=\"divider\" part=\"bubble-divider\"></span>`;\n }\n const base = BUBBLE_ITEMS[entry.name];\n const label = entry.label || base?.label || entry.name;\n const icon = entry.icon || base?.icon;\n // Unknown command with no icon to draw → nothing to render.\n if (!icon) return nothing;\n const command = base?.command ?? (entry.name as WysiwygCommandDetail['name']);\n const attrs = base?.attrs;\n const isActive = base?.active && state ? base.active(state) : false;\n return html`\n <nile-lite-tooltip content=${label} placement=\"top\">\n <button\n type=\"button\"\n aria-label=${label}\n ?data-active=${isActive}\n @click=${() =>\n this.emit('wysiwyg-command', attrs ? { name: command, attrs } : { name: command })}\n >\n ${renderGlyph(icon, 16)}\n </button>\n </nile-lite-tooltip>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-bubble-menu': NileWysiwygBubbleMenu;\n }\n}\n"],"names":["BUBBLE_ITEMS","bold","command","label","icon","active","s","italic","underline","strike","code","subscript","superscript","link","linkActive","bulletList","inBulletList","orderedList","inOrderedList","alignLeft","attrs","align","alignCenter","alignRight","clearFormatting","DEFAULT_BUBBLE","NileWysiwygBubbleMenu","_l","m","constructor","this","open","_this","_inherits","_createClass","key","get","isAuthoringContainer","closest","value","render","html","_templateObject","_taggedTemplateLiteral","state","toolbarState","entries","items","length","map","name","_templateObject2","e","preventDefault","entry","renderEntry","_templateObject3","base","nothing","isActive","_templateObject4","emit","renderGlyph","styles","css","_templateObject5","NileElement","__decorate","property","type","Boolean","reflect","prototype","attribute","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__decorate as i}from"tslib";import{css as t,html as e,nothing as n}from"lit";import{property as r,customElement as l}from"lit/decorators.js";import{N as o}from"../../internal/nile-element.esm.js";import{r as a}from"../../internal/glyph.esm.js";import"../../nile-lite-tooltip/nile-lite-tooltip.esm.js";import"../../internal/accessibility/a11y.state.enum.esm.js";import"../../internal/accessibility/a11y.property.enum.esm.js";import"../../internal/accessibility/role.enum.esm.js";import"../../nile-lite-tooltip/nile-lite-tooltip.css.esm.js";import"../../tippy.esm-57628c2b.esm.js";import"../../nile-lite-tooltip/utils.esm.js";import"../../utilities/visibility-manager.esm.js";const s={bold:{command:"bold",label:"Bold",icon:"format_bold",active:i=>i.bold},italic:{command:"italic",label:"Italic",icon:"format_italic",active:i=>i.italic},underline:{command:"underline",label:"Underline",icon:"format_underline",active:i=>i.underline},strike:{command:"strike",label:"Strikethrough",icon:"ng-strikethrough",active:i=>i.strike},code:{command:"code",label:"Inline code",icon:"ng-code",active:i=>i.code},subscript:{command:"subscript",label:"Subscript",icon:"ng-subscript",active:i=>i.subscript},superscript:{command:"superscript",label:"Superscript",icon:"ng-superscript",active:i=>i.superscript},link:{command:"openLink",label:"Link",icon:"link_2",active:i=>i.linkActive},bulletList:{command:"bulletList",label:"Bulleted list",icon:"format_list_bulleted",active:i=>i.inBulletList},orderedList:{command:"orderedList",label:"Numbered list",icon:"format_list_numbered",active:i=>i.inOrderedList},alignLeft:{command:"align",label:"Align left",icon:"format_align_left",attrs:{align:"left"},active:i=>"left"===i.align},alignCenter:{command:"align",label:"Align center",icon:"format_align_middle",attrs:{align:"center"},active:i=>"center"===i.align},alignRight:{command:"align",label:"Align right",icon:"format_align_right",attrs:{align:"right"},active:i=>"right"===i.align},clearFormatting:{command:"clearFormatting",label:"Clear formatting",icon:"format_clear"}},c=["bold","italic","underline","strike","link"];let m=class extends o{constructor(){super(...arguments),this.open=!1}static get styles(){return[t`
1
+ import{__decorate as i}from"tslib";import{css as t,html as e,nothing as r}from"lit";import{property as n,customElement as o}from"lit/decorators.js";import{N as l}from"../../internal/nile-element.esm.js";import{r as a}from"../../internal/glyph.esm.js";import"../../nile-lite-tooltip/nile-lite-tooltip.esm.js";import"../../internal/accessibility/a11y.state.enum.esm.js";import"../../internal/accessibility/a11y.property.enum.esm.js";import"../../internal/accessibility/role.enum.esm.js";import"../../nile-lite-tooltip/nile-lite-tooltip.css.esm.js";import"../../tippy.esm-57628c2b.esm.js";import"../../nile-lite-tooltip/utils.esm.js";import"../../utilities/visibility-manager.esm.js";const s={bold:{command:"bold",label:"Bold",icon:"format_bold",active:i=>i.bold},italic:{command:"italic",label:"Italic",icon:"format_italic",active:i=>i.italic},underline:{command:"underline",label:"Underline",icon:"format_underline",active:i=>i.underline},strike:{command:"strike",label:"Strikethrough",icon:"ng-strikethrough",active:i=>i.strike},code:{command:"code",label:"Inline code",icon:"ng-code",active:i=>i.code},subscript:{command:"subscript",label:"Subscript",icon:"ng-subscript",active:i=>i.subscript},superscript:{command:"superscript",label:"Superscript",icon:"ng-superscript",active:i=>i.superscript},link:{command:"openLink",label:"Link",icon:"link_2",active:i=>i.linkActive},bulletList:{command:"bulletList",label:"Bulleted list",icon:"format_list_bulleted",active:i=>i.inBulletList},orderedList:{command:"orderedList",label:"Numbered list",icon:"format_list_numbered",active:i=>i.inOrderedList},alignLeft:{command:"align",label:"Align left",icon:"format_align_left",attrs:{align:"left"},active:i=>"left"===i.align},alignCenter:{command:"align",label:"Align center",icon:"format_align_middle",attrs:{align:"center"},active:i=>"center"===i.align},alignRight:{command:"align",label:"Align right",icon:"format_align_right",attrs:{align:"right"},active:i=>"right"===i.align},clearFormatting:{command:"clearFormatting",label:"Clear formatting",icon:"format_clear"}},c=["bold","italic","underline","strike","link"];let m=class extends l{constructor(){super(...arguments),this.open=!1}static get styles(){return[t`
2
2
  :host {
3
3
  font-family: var(
4
4
  --nile-font-family-sans-serif,
@@ -17,9 +17,9 @@ import{__decorate as i}from"tslib";import{css as t,html as e,nothing as n}from"l
17
17
  display: flex;
18
18
  gap: 2px;
19
19
  padding: 4px;
20
- background: var(--nile-wysiwyg-popover-bg, #ffffff);
20
+ background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));
21
21
  border: 1px solid
22
- var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, #d0d5dd));
22
+ var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, var(--ng-colors-border-primary)));
23
23
  border-radius: var(--nile-wysiwyg-radius, 8px);
24
24
  box-shadow: var(
25
25
  --nile-wysiwyg-popover-shadow,
@@ -39,37 +39,37 @@ import{__decorate as i}from"tslib";import{css as t,html as e,nothing as n}from"l
39
39
  cursor: pointer;
40
40
  font-size: 13px;
41
41
  font-weight: 600;
42
- color: var(--nile-colors-neutral-700, #344054);
42
+ color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));
43
43
  }
44
44
 
45
45
  button:hover {
46
- background: var(--nile-colors-neutral-100, #f2f4f7);
46
+ background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
47
47
  }
48
48
 
49
49
  button[data-active] {
50
- background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50, #eff4ff));
51
- color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700, #1d4ed8));
50
+ background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50));
51
+ color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));
52
52
  }
53
53
 
54
54
  .divider {
55
55
  align-self: stretch;
56
56
  width: 1px;
57
57
  margin: 3px 2px;
58
- background: var(--nile-colors-neutral-300, #e4e7ec);
58
+ background: var(--nile-colors-neutral-300, var(--ng-colors-border-secondary));
59
59
  }
60
60
  `]}get isAuthoringContainer(){return!!this.closest("nile-wysiwyg-editor")}render(){if(this.isAuthoringContainer)return e``;const i=this.toolbarState,t=this.items&&this.items.length?this.items:c.map((i=>({name:i})));return e`
61
61
  <div class="bubble" part="bubble-menu" @mousedown=${i=>i.preventDefault()}>
62
62
  ${t.map((t=>this.renderEntry(t,i)))}
63
63
  </div>
64
- `}renderEntry(i,t){if("|"===i.name)return e`<span class="divider" part="bubble-divider"></span>`;const r=s[i.name],l=i.label||r?.label||i.name,o=i.icon||r?.icon;if(!o)return n;const c=r?.command??i.name,m=r?.attrs,d=!(!r?.active||!t)&&r.active(t);return e`
65
- <nile-lite-tooltip content=${l} placement="top">
64
+ `}renderEntry(i,t){if("|"===i.name)return e`<span class="divider" part="bubble-divider"></span>`;const n=s[i.name],o=i.label||n?.label||i.name,l=i.icon||n?.icon;if(!l)return r;const c=n?.command??i.name,m=n?.attrs,d=!(!n?.active||!t)&&n.active(t);return e`
65
+ <nile-lite-tooltip content=${o} placement="top">
66
66
  <button
67
67
  type="button"
68
- aria-label=${l}
68
+ aria-label=${o}
69
69
  ?data-active=${d}
70
70
  @click=${()=>this.emit("wysiwyg-command",m?{name:c,attrs:m}:{name:c})}
71
71
  >
72
- ${a(o,16)}
72
+ ${a(l,16)}
73
73
  </button>
74
74
  </nile-lite-tooltip>
75
- `}};i([r({type:Boolean,reflect:!0})],m.prototype,"open",void 0),i([r({attribute:!1})],m.prototype,"toolbarState",void 0),i([r({attribute:!1})],m.prototype,"items",void 0),m=i([l("nile-wysiwyg-bubble-menu")],m);
75
+ `}};i([n({type:Boolean,reflect:!0})],m.prototype,"open",void 0),i([n({attribute:!1})],m.prototype,"toolbarState",void 0),i([n({attribute:!1})],m.prototype,"items",void 0),m=i([o("nile-wysiwyg-bubble-menu")],m);
@@ -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","../../internal/nile-element.cjs.js","../engine/plugins/code-highlight.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js","../../index-89c520e9.cjs.js","../../index-3ca67627.cjs.js","../../xml-90fd974e.cjs.js"],function(_export,_context){"use strict";var e,n,s,o,i,t,a,_templateObject,_templateObject2,_templateObject3,r;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _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){e=_tslib.__decorate;},function(_lit){n=_lit.css;s=_lit.html;},function(_litDecoratorsJs){o=_litDecoratorsJs.property;i=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){t=_internalNileElementCjsJs.N;},function(_enginePluginsCodeHighlightCjsJs){a=_enginePluginsCodeHighlightCjsJs.C;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_index00bCjsJs){},function(_index00aCjsJs){},function(_xml00cCjsJs){}],execute:function execute(){r=/*#__PURE__*/function(_t){function r(){var _this;_classCallCheck(this,r);_this=_callSuper(this,r,arguments),_this.open=!1,_this.language=null;return _this;}_inherits(r,_t);return _createClass(r,[{key:"render",value:function render(){var _this$language,_this2=this;var e=(_this$language=this.language)!==null&&_this$language!==void 0?_this$language:"";return s(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <span class=\"menu\" part=\"code-language\" @mousedown=",">\n <span class=\"label\">Language</span>\n <select\n aria-label=\"Code block language\"\n title=\"Syntax highlighting language for this code block\"\n .value=","\n @change=","\n >\n ","\n </select>\n </span>\n "])),function(e){return e.stopPropagation();},e,function(e){var n=e.target.value;_this2.emit("wysiwyg-command",{name:"setCodeBlockLanguage",attrs:{language:n||null}});},a.map(function(n){return s(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <option value="," ?selected=",">\n ","\n </option>\n "])),n.value,n.value===e,n.label);}));}}],[{key:"styles",get:function get(){return[n(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .menu {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 4px 4px 10px;\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 8px;\n background: var(--nile-colors-white-base, #ffffff);\n box-shadow: 0 4px 12px rgba(16, 24, 40, 0.12);\n }\n\n .label {\n font-size: 12px;\n color: var(--nile-colors-neutral-500, #98a2b3);\n white-space: nowrap;\n }\n\n select {\n font: inherit;\n font-size: 12px;\n height: 24px;\n padding: 0 4px;\n border: none;\n border-radius: 5px;\n background: transparent;\n color: var(--nile-colors-neutral-700, #344054);\n cursor: pointer;\n outline: none;\n }\n\n select:hover {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n "])))];}}]);}(t);e([o({type:Boolean,reflect:!0})],r.prototype,"open",void 0),e([o({type:String})],r.prototype,"language",void 0),r=e([i("nile-wysiwyg-code-menu")],r);}};});
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","../../internal/nile-element.cjs.js","../engine/plugins/code-highlight.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js","../../index-89c520e9.cjs.js","../../index-3ca67627.cjs.js","../../xml-90fd974e.cjs.js"],function(_export,_context){"use strict";var e,o,n,r,s,a,t,_templateObject,_templateObject2,_templateObject3,i;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _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){e=_tslib.__decorate;},function(_lit){o=_lit.css;n=_lit.html;},function(_litDecoratorsJs){r=_litDecoratorsJs.property;s=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){a=_internalNileElementCjsJs.N;},function(_enginePluginsCodeHighlightCjsJs){t=_enginePluginsCodeHighlightCjsJs.C;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_index00bCjsJs){},function(_index00aCjsJs){},function(_xml00cCjsJs){}],execute:function execute(){i=/*#__PURE__*/function(_a){function i(){var _this;_classCallCheck(this,i);_this=_callSuper(this,i,arguments),_this.open=!1,_this.language=null;return _this;}_inherits(i,_a);return _createClass(i,[{key:"render",value:function render(){var _this$language,_this2=this;var e=(_this$language=this.language)!==null&&_this$language!==void 0?_this$language:"";return n(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <span class=\"menu\" part=\"code-language\" @mousedown=",">\n <span class=\"label\">Language</span>\n <select\n aria-label=\"Code block language\"\n title=\"Syntax highlighting language for this code block\"\n .value=","\n @change=","\n >\n ","\n </select>\n </span>\n "])),function(e){return e.stopPropagation();},e,function(e){var o=e.target.value;_this2.emit("wysiwyg-command",{name:"setCodeBlockLanguage",attrs:{language:o||null}});},t.map(function(o){return n(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <option value="," ?selected=",">\n ","\n </option>\n "])),o.value,o.value===e,o.label);}));}}],[{key:"styles",get:function get(){return[o(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .menu {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 4px 4px 10px;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 8px;\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: 0 4px 12px rgba(16, 24, 40, 0.12);\n }\n\n .label {\n font-size: 12px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));\n white-space: nowrap;\n }\n\n select {\n font: inherit;\n font-size: 12px;\n height: 24px;\n padding: 0 4px;\n border: none;\n border-radius: 5px;\n background: transparent;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n cursor: pointer;\n outline: none;\n }\n\n select:hover {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n "])))];}}]);}(a);e([r({type:Boolean,reflect:!0})],i.prototype,"open",void 0),e([r({type:String})],i.prototype,"language",void 0),i=e([s("nile-wysiwyg-code-menu")],i);}};});
2
2
  //# sourceMappingURL=code-block-menu.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-menu.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/code-block-menu.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\nimport { CODE_LANGUAGES } from '../engine/plugins/code-highlight';\n\n/**\n * Compact floating language picker shown while the cursor is inside a code\n * block. Selection dispatches `wysiwyg-command` with setCodeBlockLanguage.\n */\n@customElement('nile-wysiwyg-code-menu')\nexport class NileWysiwygCodeMenu extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** Current language attr ('' = auto, null treated as ''). */\n @property({ type: String }) language: string | null = null;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .menu {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 4px 4px 10px;\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 8px;\n background: var(--nile-colors-white-base, #ffffff);\n box-shadow: 0 4px 12px rgba(16, 24, 40, 0.12);\n }\n\n .label {\n font-size: 12px;\n color: var(--nile-colors-neutral-500, #98a2b3);\n white-space: nowrap;\n }\n\n select {\n font: inherit;\n font-size: 12px;\n height: 24px;\n padding: 0 4px;\n border: none;\n border-radius: 5px;\n background: transparent;\n color: var(--nile-colors-neutral-700, #344054);\n cursor: pointer;\n outline: none;\n }\n\n select:hover {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n `,\n ];\n }\n\n public render(): TemplateResult {\n const value = this.language ?? '';\n return html`\n <span class=\"menu\" part=\"code-language\" @mousedown=${(e: Event) => e.stopPropagation()}>\n <span class=\"label\">Language</span>\n <select\n aria-label=\"Code block language\"\n title=\"Syntax highlighting language for this code block\"\n .value=${value}\n @change=${(e: Event) => {\n const language = (e.target as HTMLSelectElement).value;\n this.emit('wysiwyg-command', {\n name: 'setCodeBlockLanguage',\n attrs: { language: language || null },\n });\n }}\n >\n ${CODE_LANGUAGES.map(\n lang => html`\n <option value=${lang.value} ?selected=${lang.value === value}>\n ${lang.label}\n </option>\n `\n )}\n </select>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-code-menu': NileWysiwygCodeMenu;\n }\n}\n"],"names":["NileWysiwygCodeMenu","_t","r","constructor","this","open","language","_this","_inherits","_createClass","key","value","render","_this$language","html","_templateObject","_taggedTemplateLiteral","e","stopPropagation","target","emit","name","attrs","CODE_LANGUAGES","map","lang","_templateObject2","label","__decorate","get","css","_templateObject3","NileElement","property","type","Boolean","reflect","prototype","String","customElement"],"mappings":"6qHAUaA,CAAN,uBAAAC,EAAA,EAAA,SAAAC,EAAA,CAAAC,KAAAA,KAAAA,CAAAA,eAAAA,MAAAA,CAAAA,qCACuCC,KAAAA,CAAIC,IAAG,CAAA,CAAA,CAAA,CAGvBD,KAAAA,CAAQE,QAAAA,CAAkB,IAoFvD,QAAAC,KAAA,EAlFQC,SAAA,CAAAN,CAAA,CAAAD,EAAA,SAAAQ,YAAA,CAAAP,CAAA,GAAAQ,GAAA,UAAAC,KAAA,CAsDA,SAAAC,MAAAA,CAAAA,iCACL,GAAMD,CAAAA,CAAAA,EAAAA,cAAAA,CAAQP,KAAKE,QAAY,UAAAO,cAAA,UAAAA,cAAA,CAAA,EAAA,CAC/B,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,8WAC6CC,SAAAA,CAAAA,QAAaA,CAAAA,CAAEC,CAAAA,eAAAA,CAAAA,CAAAA,GAKxDP,CAAAA,CACEM,SAAAA,CAAAA,CAAAA,CACT,GAAMX,CAAAA,CAAAA,CAAYW,CAAEE,CAAAA,MAAAA,CAA6BR,MACjDP,MAAKgB,CAAAA,IAAAA,CAAK,iBAAmB,CAAA,CAC3BC,KAAM,sBACNC,CAAAA,KAAAA,CAAO,CAAEhB,QAAAA,CAAUA,GAAY,IAC/B,CAAA,CAAA,CAAA,EAAA,CAGFiB,CAAeC,CAAAA,GAAAA,CACfC,SAAAA,SAAQX,CAAAA,CAAI,CAAAY,gBAAA,GAAAA,gBAAA,CAAAV,sBAAA,oHACMS,CAAKd,CAAAA,KAAAA,CAAmBc,EAAKd,KAAUA,GAAAA,CAAAA,CACnDc,CAAKE,CAAAA,KAAAA,MAOpB,CAtF2CC,KAAAA,GAAAA,UAAAA,GAAAA,CAKrC,SAAAC,IAAA,CACL,CAAA,MAAO,CACLC,CAAG,CAAAC,gBAAA,GAAAA,gBAAA,CAAAf,sBAAA,6yCAkDN,EAEM,MA5DgCgB,GACKJ,CAAAA,CAAA,CAA3CK,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAqBpC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqC,SAAA,CAAA,MAAA,CAAA,IAAA,EAG7BT,CAAAA,CAAAA,CAAAA,CAAA,CAA3BK,CAAS,CAAA,CAAEC,IAAMI,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAyCtC,CAAAqC,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAJhDrC,CAAmB4B,CAAAA,CAAAA,CAAA,CAD/BW,CAAAA,CAAc,wBACFvC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
1
+ {"version":3,"file":"code-block-menu.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/code-block-menu.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\nimport { CODE_LANGUAGES } from '../engine/plugins/code-highlight';\n\n/**\n * Compact floating language picker shown while the cursor is inside a code\n * block. Selection dispatches `wysiwyg-command` with setCodeBlockLanguage.\n */\n@customElement('nile-wysiwyg-code-menu')\nexport class NileWysiwygCodeMenu extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** Current language attr ('' = auto, null treated as ''). */\n @property({ type: String }) language: string | null = null;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .menu {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 4px 4px 10px;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 8px;\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: 0 4px 12px rgba(16, 24, 40, 0.12);\n }\n\n .label {\n font-size: 12px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));\n white-space: nowrap;\n }\n\n select {\n font: inherit;\n font-size: 12px;\n height: 24px;\n padding: 0 4px;\n border: none;\n border-radius: 5px;\n background: transparent;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n cursor: pointer;\n outline: none;\n }\n\n select:hover {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n `,\n ];\n }\n\n public render(): TemplateResult {\n const value = this.language ?? '';\n return html`\n <span class=\"menu\" part=\"code-language\" @mousedown=${(e: Event) => e.stopPropagation()}>\n <span class=\"label\">Language</span>\n <select\n aria-label=\"Code block language\"\n title=\"Syntax highlighting language for this code block\"\n .value=${value}\n @change=${(e: Event) => {\n const language = (e.target as HTMLSelectElement).value;\n this.emit('wysiwyg-command', {\n name: 'setCodeBlockLanguage',\n attrs: { language: language || null },\n });\n }}\n >\n ${CODE_LANGUAGES.map(\n lang => html`\n <option value=${lang.value} ?selected=${lang.value === value}>\n ${lang.label}\n </option>\n `\n )}\n </select>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-code-menu': NileWysiwygCodeMenu;\n }\n}\n"],"names":["NileWysiwygCodeMenu","_a","i","constructor","this","open","language","_this","_inherits","_createClass","key","value","render","_this$language","html","_templateObject","_taggedTemplateLiteral","e","stopPropagation","target","emit","name","attrs","CODE_LANGUAGES","map","lang","_templateObject2","label","__decorate","get","css","_templateObject3","NileElement","property","type","Boolean","reflect","prototype","String","customElement"],"mappings":"6qHAUaA,CAAN,uBAAAC,EAAA,EAAA,SAAAC,EAAA,CAAAC,KAAAA,KAAAA,CAAAA,eAAAA,MAAAA,CAAAA,qCACuCC,KAAAA,CAAIC,IAAG,CAAA,CAAA,CAAA,CAGvBD,KAAAA,CAAQE,QAAAA,CAAkB,IAoFvD,QAAAC,KAAA,EAlFQC,SAAA,CAAAN,CAAA,CAAAD,EAAA,SAAAQ,YAAA,CAAAP,CAAA,GAAAQ,GAAA,UAAAC,KAAA,CAsDA,SAAAC,MAAAA,CAAAA,iCACL,GAAMD,CAAAA,CAAAA,EAAAA,cAAAA,CAAQP,KAAKE,QAAY,UAAAO,cAAA,UAAAA,cAAA,CAAA,EAAA,CAC/B,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,8WAC6CC,SAAAA,CAAAA,QAAaA,CAAAA,CAAEC,CAAAA,eAAAA,CAAAA,CAAAA,GAKxDP,CAAAA,CACEM,SAAAA,CAAAA,CAAAA,CACT,GAAMX,CAAAA,CAAAA,CAAYW,CAAEE,CAAAA,MAAAA,CAA6BR,MACjDP,MAAKgB,CAAAA,IAAAA,CAAK,iBAAmB,CAAA,CAC3BC,KAAM,sBACNC,CAAAA,KAAAA,CAAO,CAAEhB,QAAAA,CAAUA,GAAY,IAC/B,CAAA,CAAA,CAAA,EAAA,CAGFiB,CAAeC,CAAAA,GAAAA,CACfC,SAAAA,SAAQX,CAAAA,CAAI,CAAAY,gBAAA,GAAAA,gBAAA,CAAAV,sBAAA,oHACMS,CAAKd,CAAAA,KAAAA,CAAmBc,EAAKd,KAAUA,GAAAA,CAAAA,CACnDc,CAAKE,CAAAA,KAAAA,MAOpB,CAtF2CC,KAAAA,GAAAA,UAAAA,GAAAA,CAKrC,SAAAC,IAAA,CACL,CAAA,MAAO,CACLC,CAAG,CAAAC,gBAAA,GAAAA,gBAAA,CAAAf,sBAAA,w6CAkDN,EAEM,MA5DgCgB,GACKJ,CAAAA,CAAA,CAA3CK,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAqBpC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqC,SAAA,CAAA,MAAA,CAAA,IAAA,EAG7BT,CAAAA,CAAAA,CAAAA,CAAA,CAA3BK,CAAS,CAAA,CAAEC,IAAMI,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAyCtC,CAAAqC,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAJhDrC,CAAmB4B,CAAAA,CAAAA,CAAA,CAD/BW,CAAAA,CAAc,wBACFvC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}