@aquera/nile-elements 1.9.4 → 1.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/README.md +13 -0
  2. package/dist/index-5fef1a0d.esm.js +1 -0
  3. package/dist/index-8f38fae3.cjs.js +2 -0
  4. package/dist/index-8f38fae3.cjs.js.map +1 -0
  5. package/dist/index.cjs.js +1 -1
  6. package/dist/index.esm.js +1 -1
  7. package/dist/index.js +1527 -804
  8. package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
  9. package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -1
  10. package/dist/nile-chip/nile-chip.css.esm.js +8 -1
  11. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  12. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  13. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  14. package/dist/nile-combobox/index.cjs.js +1 -1
  15. package/dist/nile-combobox/index.esm.js +1 -1
  16. package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
  17. package/dist/nile-combobox/nile-combobox.esm.js +1 -1
  18. package/dist/nile-command-menu/index.cjs.js +2 -0
  19. package/dist/nile-command-menu/index.cjs.js.map +1 -0
  20. package/dist/nile-command-menu/index.esm.js +1 -0
  21. package/dist/nile-command-menu/nile-command-menu.cjs.js +2 -0
  22. package/dist/nile-command-menu/nile-command-menu.cjs.js.map +1 -0
  23. package/dist/nile-command-menu/nile-command-menu.css.cjs.js +2 -0
  24. package/dist/nile-command-menu/nile-command-menu.css.cjs.js.map +1 -0
  25. package/dist/nile-command-menu/nile-command-menu.css.esm.js +182 -0
  26. package/dist/nile-command-menu/nile-command-menu.esm.js +97 -0
  27. package/dist/nile-command-menu-group/index.cjs.js +2 -0
  28. package/dist/nile-command-menu-group/index.cjs.js.map +1 -0
  29. package/dist/nile-command-menu-group/index.esm.js +1 -0
  30. package/dist/nile-command-menu-group/nile-command-menu-group.cjs.js +2 -0
  31. package/dist/nile-command-menu-group/nile-command-menu-group.cjs.js.map +1 -0
  32. package/dist/nile-command-menu-group/nile-command-menu-group.css.cjs.js +2 -0
  33. package/dist/nile-command-menu-group/nile-command-menu-group.css.cjs.js.map +1 -0
  34. package/dist/nile-command-menu-group/nile-command-menu-group.css.esm.js +33 -0
  35. package/dist/nile-command-menu-group/nile-command-menu-group.esm.js +11 -0
  36. package/dist/nile-command-menu-item/index.cjs.js +2 -0
  37. package/dist/nile-command-menu-item/index.cjs.js.map +1 -0
  38. package/dist/nile-command-menu-item/index.esm.js +1 -0
  39. package/dist/nile-command-menu-item/nile-command-menu-item.cjs.js +2 -0
  40. package/dist/nile-command-menu-item/nile-command-menu-item.cjs.js.map +1 -0
  41. package/dist/nile-command-menu-item/nile-command-menu-item.css.cjs.js +2 -0
  42. package/dist/nile-command-menu-item/nile-command-menu-item.css.cjs.js.map +1 -0
  43. package/dist/nile-command-menu-item/nile-command-menu-item.css.esm.js +115 -0
  44. package/dist/nile-command-menu-item/nile-command-menu-item.esm.js +21 -0
  45. package/dist/nile-detail/index.cjs.js +1 -1
  46. package/dist/nile-detail/index.esm.js +1 -1
  47. package/dist/nile-detail/nile-detail.cjs.js +1 -1
  48. package/dist/nile-detail/nile-detail.esm.js +1 -1
  49. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  50. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  51. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  52. package/dist/nile-dot-stepper/index.cjs.js +2 -0
  53. package/dist/nile-dot-stepper/index.cjs.js.map +1 -0
  54. package/dist/nile-dot-stepper/index.esm.js +1 -0
  55. package/dist/nile-dot-stepper/nile-dot-stepper.cjs.js +2 -0
  56. package/dist/nile-dot-stepper/nile-dot-stepper.cjs.js.map +1 -0
  57. package/dist/nile-dot-stepper/nile-dot-stepper.css.cjs.js +2 -0
  58. package/dist/nile-dot-stepper/nile-dot-stepper.css.cjs.js.map +1 -0
  59. package/dist/nile-dot-stepper/nile-dot-stepper.css.esm.js +77 -0
  60. package/dist/nile-dot-stepper/nile-dot-stepper.esm.js +24 -0
  61. package/dist/nile-hero/nile-hero.cjs.js +1 -1
  62. package/dist/nile-hero/nile-hero.cjs.js.map +1 -1
  63. package/dist/nile-hero/nile-hero.css.cjs.js +1 -1
  64. package/dist/nile-hero/nile-hero.css.cjs.js.map +1 -1
  65. package/dist/nile-hero/nile-hero.css.esm.js +14 -14
  66. package/dist/nile-hero/nile-hero.esm.js +1 -1
  67. package/dist/nile-hero-header/nile-hero-header.cjs.js +1 -1
  68. package/dist/nile-hero-header/nile-hero-header.cjs.js.map +1 -1
  69. package/dist/nile-hero-header/nile-hero-header.css.cjs.js +1 -1
  70. package/dist/nile-hero-header/nile-hero-header.css.cjs.js.map +1 -1
  71. package/dist/nile-hero-header/nile-hero-header.css.esm.js +11 -11
  72. package/dist/nile-hero-header/nile-hero-header.esm.js +3 -3
  73. package/dist/nile-rich-text-editor/index.cjs.js +1 -1
  74. package/dist/nile-rich-text-editor/index.esm.js +1 -1
  75. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  76. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  77. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  78. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  79. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +70 -0
  80. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  81. package/dist/nile-rich-text-editor/nile-rte-image.cjs.js +3 -0
  82. package/dist/nile-rich-text-editor/nile-rte-image.cjs.js.map +1 -0
  83. package/dist/nile-rich-text-editor/nile-rte-image.esm.js +96 -0
  84. package/dist/nile-section-message/nile-section-message.css.cjs.js +1 -1
  85. package/dist/nile-section-message/nile-section-message.css.cjs.js.map +1 -1
  86. package/dist/nile-section-message/nile-section-message.css.esm.js +7 -8
  87. package/dist/src/index.d.ts +4 -0
  88. package/dist/src/index.js +4 -0
  89. package/dist/src/index.js.map +1 -1
  90. package/dist/src/nile-chip/nile-chip.css.js +8 -1
  91. package/dist/src/nile-chip/nile-chip.css.js.map +1 -1
  92. package/dist/src/nile-code-editor/nile-code-editor.js +3 -3
  93. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  94. package/dist/src/nile-command-menu/index.d.ts +1 -0
  95. package/dist/src/nile-command-menu/index.js +2 -0
  96. package/dist/src/nile-command-menu/index.js.map +1 -0
  97. package/dist/src/nile-command-menu/nile-command-menu.css.d.ts +12 -0
  98. package/dist/src/nile-command-menu/nile-command-menu.css.js +194 -0
  99. package/dist/src/nile-command-menu/nile-command-menu.css.js.map +1 -0
  100. package/dist/src/nile-command-menu/nile-command-menu.d.ts +137 -0
  101. package/dist/src/nile-command-menu/nile-command-menu.js +557 -0
  102. package/dist/src/nile-command-menu/nile-command-menu.js.map +1 -0
  103. package/dist/src/nile-command-menu/nile-command-menu.test.d.ts +3 -0
  104. package/dist/src/nile-command-menu/nile-command-menu.test.js +268 -0
  105. package/dist/src/nile-command-menu/nile-command-menu.test.js.map +1 -0
  106. package/dist/src/nile-command-menu-group/index.d.ts +1 -0
  107. package/dist/src/nile-command-menu-group/index.js +2 -0
  108. package/dist/src/nile-command-menu-group/index.js.map +1 -0
  109. package/dist/src/nile-command-menu-group/nile-command-menu-group.css.d.ts +12 -0
  110. package/dist/src/nile-command-menu-group/nile-command-menu-group.css.js +45 -0
  111. package/dist/src/nile-command-menu-group/nile-command-menu-group.css.js.map +1 -0
  112. package/dist/src/nile-command-menu-group/nile-command-menu-group.d.ts +38 -0
  113. package/dist/src/nile-command-menu-group/nile-command-menu-group.js +68 -0
  114. package/dist/src/nile-command-menu-group/nile-command-menu-group.js.map +1 -0
  115. package/dist/src/nile-command-menu-group/nile-command-menu-group.test.d.ts +2 -0
  116. package/dist/src/nile-command-menu-group/nile-command-menu-group.test.js +22 -0
  117. package/dist/src/nile-command-menu-group/nile-command-menu-group.test.js.map +1 -0
  118. package/dist/src/nile-command-menu-item/index.d.ts +1 -0
  119. package/dist/src/nile-command-menu-item/index.js +2 -0
  120. package/dist/src/nile-command-menu-item/index.js.map +1 -0
  121. package/dist/src/nile-command-menu-item/nile-command-menu-item.css.d.ts +12 -0
  122. package/dist/src/nile-command-menu-item/nile-command-menu-item.css.js +127 -0
  123. package/dist/src/nile-command-menu-item/nile-command-menu-item.css.js.map +1 -0
  124. package/dist/src/nile-command-menu-item/nile-command-menu-item.d.ts +73 -0
  125. package/dist/src/nile-command-menu-item/nile-command-menu-item.js +174 -0
  126. package/dist/src/nile-command-menu-item/nile-command-menu-item.js.map +1 -0
  127. package/dist/src/nile-command-menu-item/nile-command-menu-item.test.d.ts +1 -0
  128. package/dist/src/nile-command-menu-item/nile-command-menu-item.test.js +35 -0
  129. package/dist/src/nile-command-menu-item/nile-command-menu-item.test.js.map +1 -0
  130. package/dist/src/nile-dialog/nile-dialog.js +1 -1
  131. package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
  132. package/dist/src/nile-dot-stepper/index.d.ts +1 -0
  133. package/dist/src/nile-dot-stepper/index.js +2 -0
  134. package/dist/src/nile-dot-stepper/index.js.map +1 -0
  135. package/dist/src/nile-dot-stepper/nile-dot-stepper.css.d.ts +12 -0
  136. package/dist/src/nile-dot-stepper/nile-dot-stepper.css.js +89 -0
  137. package/dist/src/nile-dot-stepper/nile-dot-stepper.css.js.map +1 -0
  138. package/dist/src/nile-dot-stepper/nile-dot-stepper.d.ts +48 -0
  139. package/dist/src/nile-dot-stepper/nile-dot-stepper.js +153 -0
  140. package/dist/src/nile-dot-stepper/nile-dot-stepper.js.map +1 -0
  141. package/dist/src/nile-dot-stepper/nile-dot-stepper.test.d.ts +1 -0
  142. package/dist/src/nile-dot-stepper/nile-dot-stepper.test.js +319 -0
  143. package/dist/src/nile-dot-stepper/nile-dot-stepper.test.js.map +1 -0
  144. package/dist/src/nile-hero/nile-hero.css.js +12 -12
  145. package/dist/src/nile-hero/nile-hero.css.js.map +1 -1
  146. package/dist/src/nile-hero/nile-hero.js +1 -1
  147. package/dist/src/nile-hero/nile-hero.js.map +1 -1
  148. package/dist/src/nile-hero-header/nile-hero-header.css.js +9 -9
  149. package/dist/src/nile-hero-header/nile-hero-header.css.js.map +1 -1
  150. package/dist/src/nile-hero-header/nile-hero-header.js +1 -1
  151. package/dist/src/nile-hero-header/nile-hero-header.js.map +1 -1
  152. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +70 -0
  153. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  154. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +3 -0
  155. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +81 -3
  156. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  157. package/dist/src/nile-rich-text-editor/nile-rte-image.d.ts +87 -0
  158. package/dist/src/nile-rich-text-editor/nile-rte-image.js +1073 -0
  159. package/dist/src/nile-rich-text-editor/nile-rte-image.js.map +1 -0
  160. package/dist/src/nile-section-message/nile-section-message.css.js +7 -8
  161. package/dist/src/nile-section-message/nile-section-message.css.js.map +1 -1
  162. package/dist/src/version.js +1 -1
  163. package/dist/src/version.js.map +1 -1
  164. package/dist/tsconfig.tsbuildinfo +1 -1
  165. package/package.json +2 -1
  166. package/src/index.ts +4 -0
  167. package/src/nile-chip/nile-chip.css.ts +8 -1
  168. package/src/nile-code-editor/nile-code-editor.ts +3 -3
  169. package/src/nile-command-menu/index.ts +1 -0
  170. package/src/nile-command-menu/nile-command-menu.css.ts +196 -0
  171. package/src/nile-command-menu/nile-command-menu.test.ts +289 -0
  172. package/src/nile-command-menu/nile-command-menu.ts +601 -0
  173. package/src/nile-command-menu-group/index.ts +1 -0
  174. package/src/nile-command-menu-group/nile-command-menu-group.css.ts +47 -0
  175. package/src/nile-command-menu-group/nile-command-menu-group.test.ts +23 -0
  176. package/src/nile-command-menu-group/nile-command-menu-group.ts +72 -0
  177. package/src/nile-command-menu-item/index.ts +1 -0
  178. package/src/nile-command-menu-item/nile-command-menu-item.css.ts +129 -0
  179. package/src/nile-command-menu-item/nile-command-menu-item.test.ts +36 -0
  180. package/src/nile-command-menu-item/nile-command-menu-item.ts +172 -0
  181. package/src/nile-dialog/nile-dialog.ts +1 -1
  182. package/src/nile-dot-stepper/index.ts +1 -0
  183. package/src/nile-dot-stepper/nile-dot-stepper.css.ts +90 -0
  184. package/src/nile-dot-stepper/nile-dot-stepper.test.ts +493 -0
  185. package/src/nile-dot-stepper/nile-dot-stepper.ts +159 -0
  186. package/src/nile-hero/nile-hero.css.ts +12 -12
  187. package/src/nile-hero/nile-hero.ts +1 -1
  188. package/src/nile-hero-header/nile-hero-header.css.ts +9 -9
  189. package/src/nile-hero-header/nile-hero-header.ts +1 -1
  190. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +70 -0
  191. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +89 -3
  192. package/src/nile-rich-text-editor/nile-rte-image.ts +1132 -0
  193. package/src/nile-section-message/nile-section-message.css.ts +7 -8
  194. package/stories/dot-stepper.stories.ts +67 -0
  195. package/vscode-html-custom-data.json +220 -1
  196. package/dist/index-c0b5232c.cjs.js +0 -2
  197. package/dist/index-c0b5232c.cjs.js.map +0 -1
  198. package/dist/index-e43a18eb.esm.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-rte-image.js","sourceRoot":"","sources":["../../../src/nile-rich-text-editor/nile-rte-image.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\n@customElement('nile-rte-image')\nexport class NileRteImage extends LitElement {\n protected createRenderRoot() {\n return this;\n }\n\n @property({ attribute: false }) editorEl!: HTMLElement;\n @property({ type: Boolean, reflect: true, attribute: true }) disabled = false;\n @property({ type: String, reflect: true, attribute: true }) label = 'Image';\n @property({ type: String, reflect: true, attribute: true }) placeholder = 'Paste image link here';\n @property({ type: String, reflect: true, attribute: true }) altPlaceholder = 'Describe the image';\n @property({ type: String, reflect: true, attribute: true }) captionPlaceholder = 'Add a caption (optional)';\n @property({ type: Number, reflect: true, attribute: 'maxfilesize' }) maxFileSize = 2 * 1024 * 1024;\n @property({ type: Boolean, reflect: true, attribute: 'uploadfromcomputer' }) uploadFromComputer = false;\n\n @state() private srcValue = '';\n @state() private altValue = '';\n @state() private captionValue = '';\n @state() private hasActiveImage = false;\n @state() private uploadedFileName = '';\n @state() private errorMessage = '';\n @state() private popoverStyle = '';\n\n private selectionRange: Range | null = null;\n private activeFigure: HTMLElement | null = null;\n\n private ignoreBlur = false;\n private isApplying = false;\n\n private selectedFigure: HTMLElement | null = null;\n private resizeOverlay: HTMLElement | null = null;\n private dragStartX = 0;\n private dragStartWidth = 0;\n private dragDir = '';\n private isDragging = false;\n private trackingRaf = 0;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.injectCss(`\n nile-popover.rte-image-popover::part(popover) {\n min-width: 340px;\n max-width: 420px;\n background: white;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-componentcolors-utility-gray-400));\n border-radius: 8px;\n padding: 0;\n gap: 0;\n overflow: hidden;\n height: auto;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);\n }\n\n .image-popup-wrap {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n }\n\n .image-popup-wrap nile-input {\n width: 100%;\n }\n\n .image-popup-wrap .image-upload-row {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n width: 100%;\n }\n\n .image-popup-wrap .image-upload-row nile-button {\n flex-shrink: 0;\n }\n\n .image-popup-wrap .image-upload-filename {\n font-size: 12px;\n color: var(--nile-colors-neutral-600, var(--ng-colors-text-secondary));\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n }\n\n .image-popup-wrap .image-error {\n font-size: 12px;\n color: var(--nile-colors-error-600, var(--ng-colors-text-error-primary-600));\n }\n\n .image-popup-wrap .image-divider-row {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary));\n font-size: 12px;\n }\n\n .image-popup-wrap .image-divider-row::before,\n .image-popup-wrap .image-divider-row::after {\n content: '';\n flex: 1;\n height: 1px;\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n }\n\n .image-popup-wrap .image-actions-row {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n width: 100%;\n }\n\n nile-button.rte-image-button::part(base) {\n border: none;\n height: 32px;\n width: 32px;\n }\n\n nile-rte-image input[type='file'] {\n display: none;\n }\n\n .rte-image-resize-overlay {\n position: fixed;\n z-index: 999;\n pointer-events: none;\n border: 2px solid var(--nile-colors-primary-500, var(--ng-componentcolors-utility-blue-500));\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md));\n box-sizing: border-box;\n }\n\n .rte-image-resize-overlay .rte-resize-handle {\n position: absolute;\n width: 12px;\n height: 12px;\n background: var(--nile-colors-white-base, #fff);\n border: 2px solid var(--nile-colors-primary-500, var(--ng-componentcolors-utility-blue-500));\n border-radius: 50%;\n pointer-events: auto;\n box-sizing: border-box;\n }\n\n .rte-image-resize-overlay .rte-resize-handle[data-dir='nw'] { top: -7px; left: -7px; cursor: nwse-resize; }\n .rte-image-resize-overlay .rte-resize-handle[data-dir='ne'] { top: -7px; right: -7px; cursor: nesw-resize; }\n .rte-image-resize-overlay .rte-resize-handle[data-dir='sw'] { bottom: -7px; left: -7px; cursor: nesw-resize; }\n .rte-image-resize-overlay .rte-resize-handle[data-dir='se'] { bottom: -7px; right: -7px; cursor: nwse-resize; }\n\n .rte-image-resize-overlay .rte-image-align-bar {\n position: absolute;\n top: -44px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n gap: 2px;\n padding: 4px;\n background: var(--nile-colors-white-base, #fff);\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-neutral));\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n pointer-events: auto;\n }\n\n .rte-image-resize-overlay .rte-image-align-bar button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n border-radius: 6px;\n cursor: pointer;\n padding: 0;\n }\n\n .rte-image-resize-overlay .rte-image-align-bar button:hover {\n background: var(--nile-colors-neutral-200, var(--ng-componentcolors-utility-gray-200));\n }\n\n .rte-image-resize-overlay .rte-image-align-bar button[data-active] {\n background: var(--nile-colors-primary-400, var(--ng-componentcolors-utility-blue-400));\n }\n\n .rte-image-resize-overlay .rte-image-align-bar button nile-icon {\n pointer-events: none;\n }\n\n .rte-image-resize-overlay .rte-resize-size-label {\n position: absolute;\n bottom: -26px;\n right: 0;\n background: var(--nile-colors-dark-900, #101828);\n color: #fff;\n font-size: 11px;\n line-height: 1;\n padding: 4px 6px;\n border-radius: 4px;\n white-space: nowrap;\n pointer-events: none;\n }\n `);\n }\n\n private injectCss(cssText: string) {\n if (this.querySelector('style[data-rte-image-style]')) return;\n const style = document.createElement('style');\n style.setAttribute('data-rte-image-style', 'true');\n style.textContent = cssText;\n this.insertBefore(style, this.firstChild);\n }\n\n protected updated(changed: Map<string, any>) {\n if (changed.has('editorEl')) {\n const prev = changed.get('editorEl') as HTMLElement | undefined;\n prev?.removeEventListener('click', this.onEditorImageClick);\n prev?.removeEventListener('dblclick', this.onEditorImageDblClick);\n prev?.removeEventListener('input', this.onEditorInput);\n prev?.removeEventListener('paste', this.onEditorImagePaste);\n this.editorEl?.addEventListener('click', this.onEditorImageClick);\n this.editorEl?.addEventListener('dblclick', this.onEditorImageDblClick);\n this.editorEl?.addEventListener('input', this.onEditorInput);\n this.editorEl?.addEventListener('paste', this.onEditorImagePaste);\n }\n if (changed.has('disabled') && this.disabled) {\n this.deselectImage();\n }\n }\n\n disconnectedCallback(): void {\n this.editorEl?.removeEventListener('click', this.onEditorImageClick);\n this.editorEl?.removeEventListener('dblclick', this.onEditorImageDblClick);\n this.editorEl?.removeEventListener('input', this.onEditorInput);\n this.editorEl?.removeEventListener('paste', this.onEditorImagePaste);\n window.removeEventListener('scroll', this.onScroll, true);\n this.deselectImage();\n super.disconnectedCallback();\n }\n\n private onEditorInput = () => {\n // content edits can remove or reflow the figure\n if (this.selectedFigure && !this.selectedFigure.isConnected) {\n this.deselectImage();\n } else {\n this.updateOverlayPosition();\n }\n };\n\n private onEditorImagePaste = (e: ClipboardEvent) => {\n if (this.disabled) return;\n\n const items = Array.from(e.clipboardData?.items ?? []);\n const imageFiles = items\n .filter(i => i.kind === 'file' && i.type.startsWith('image/'))\n .map(i => i.getAsFile())\n .filter((f): f is File => !!f);\n if (!imageFiles.length) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n for (const file of imageFiles) {\n if (this.maxFileSize > 0 && file.size > this.maxFileSize) {\n console.warn(\n `nile-rte-image: pasted image \"${file.name}\" skipped — exceeds the ${this.maxFileSize} byte limit`\n );\n continue;\n }\n const reader = new FileReader();\n reader.onload = () => {\n this.insertPastedImage(\n String(reader.result || ''),\n file.name.replace(/\\.[^.]+$/, '')\n );\n };\n reader.readAsDataURL(file);\n }\n };\n\n private insertPastedImage(src: string, alt: string) {\n if (!src.startsWith('data:image/')) return;\n\n let range: Range;\n const sel = document.getSelection();\n if (\n sel &&\n sel.rangeCount > 0 &&\n this.editorEl.contains(sel.getRangeAt(0).commonAncestorContainer)\n ) {\n range = sel.getRangeAt(0).cloneRange();\n } else {\n range = document.createRange();\n range.selectNodeContents(this.editorEl);\n range.collapse(false);\n }\n\n const figure = this.buildFigure(src, alt);\n this.insertFigureAt(range, figure);\n this.emit(src);\n }\n\n private isSafeSrc(src: string): boolean {\n return /^(https?:\\/\\/|data:image\\/|blob:|\\/)/i.test(src);\n }\n\n private normalizeSrc(src: string): string {\n if (this.isSafeSrc(src)) return src;\n if (/^[a-z][a-z0-9+.-]*:/i.test(src)) return '';\n return `https://${src}`;\n }\n\n private getSelectionRect(): DOMRect | null {\n if (!this.selectionRange) return null;\n\n let rect = this.selectionRange.getBoundingClientRect();\n if (rect.width === 0 && rect.height === 0) {\n const span = document.createElement('span');\n span.textContent = '\\u200b';\n const tempRange = this.selectionRange.cloneRange();\n tempRange.insertNode(span);\n rect = span.getBoundingClientRect();\n span.remove();\n }\n return rect;\n }\n\n private positionPopover(anchorRect?: DOMRect | null) {\n const rect = anchorRect ?? this.getSelectionRect();\n if (!rect) return;\n\n const half = 170;\n const centerX = Math.min(\n Math.max(rect.left + rect.width / 2, half + 8),\n window.innerWidth - half - 8\n );\n\n this.popoverStyle = `\n position: fixed;\n top: ${rect.bottom + 8}px;\n left: ${centerX}px;\n transform: translateX(-50%);\n z-index: 1000;\n `;\n }\n\n private onScroll = () => {\n this.closePopover();\n };\n\n private openPopover() {\n requestAnimationFrame(() => {\n const pop = this.querySelector('nile-popover') as any;\n pop && (pop.isShow = true);\n window.addEventListener('scroll', this.onScroll, true);\n });\n }\n\n private closePopover() {\n const pop = this.querySelector('nile-popover') as any;\n pop && (pop.isShow = false);\n\n window.removeEventListener('scroll', this.onScroll, true);\n\n this.srcValue = '';\n this.altValue = '';\n this.captionValue = '';\n this.uploadedFileName = '';\n this.errorMessage = '';\n this.selectionRange = null;\n this.activeFigure = null;\n this.hasActiveImage = false;\n this.popoverStyle = '';\n }\n\n private onEditorImageClick = (e: MouseEvent) => {\n if (this.disabled) return;\n const target = e.target as HTMLElement;\n const figure = target.closest?.('figure.rte-image') as HTMLElement | null;\n if (!figure || !this.editorEl.contains(figure)) {\n this.deselectImage();\n return;\n }\n\n e.preventDefault();\n this.selectImage(figure);\n };\n\n private onEditorImageDblClick = (e: MouseEvent) => {\n if (this.disabled) return;\n const target = e.target as HTMLElement;\n const figure = target.closest?.('figure.rte-image') as HTMLElement | null;\n if (!figure || !this.editorEl.contains(figure)) return;\n\n e.preventDefault();\n this.openEditFor(figure);\n };\n\n private openEditFor(figure: HTMLElement, anchorRect?: DOMRect | null) {\n const range = document.createRange();\n range.selectNode(figure);\n this.selectionRange = range;\n\n this.activeFigure = figure;\n this.hasActiveImage = true;\n\n const img = figure.querySelector('img');\n const figcaption = figure.querySelector('figcaption');\n this.srcValue = img?.getAttribute('src') || '';\n this.altValue = img?.getAttribute('alt') || '';\n this.captionValue = figcaption?.textContent || '';\n this.uploadedFileName = '';\n this.errorMessage = '';\n\n this.positionPopover(anchorRect ?? figure.getBoundingClientRect());\n this.openPopover();\n }\n\n private getToolbarButtonRect(): DOMRect | null {\n const btn = this.querySelector('nile-button.rte-image-button');\n return btn ? btn.getBoundingClientRect() : null;\n }\n\n // ---------- resize ----------\n\n private selectImage(figure: HTMLElement) {\n if (this.selectedFigure === figure) {\n this.updateOverlayPosition();\n return;\n }\n this.deselectImage();\n this.selectedFigure = figure;\n\n const img = figure.querySelector('img');\n if (img && !img.complete) {\n img.addEventListener('load', this.onSelectedImageLoad, { once: true });\n }\n\n this.buildOverlay();\n this.syncAlignBar();\n this.updateOverlayPosition();\n this.startOverlayTracking();\n\n document.addEventListener('mousedown', this.onDocMousedown, true);\n document.addEventListener('keydown', this.onDocKeydown, true);\n }\n\n private deselectImage() {\n if (!this.selectedFigure && !this.resizeOverlay) return;\n this.selectedFigure = null;\n this.resizeOverlay?.remove();\n this.resizeOverlay = null;\n this.isDragging = false;\n this.stopOverlayTracking();\n\n document.removeEventListener('mousedown', this.onDocMousedown, true);\n document.removeEventListener('keydown', this.onDocKeydown, true);\n document.removeEventListener('mousemove', this.onDragMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n }\n\n private onDocKeydown = (e: KeyboardEvent) => {\n if (!this.selectedFigure) return;\n\n if (e.key === 'Escape') {\n this.deselectImage();\n return;\n }\n if (e.key !== 'Backspace' && e.key !== 'Delete') return;\n\n // don't hijack deletions typed into inputs (e.g. the edit popover)\n const target = e.target as HTMLElement;\n if (target?.closest?.('input, textarea, nile-input, nile-popover')) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n const figure = this.selectedFigure;\n this.deselectImage();\n const parent = figure.parentNode;\n figure.remove();\n if (parent instanceof HTMLElement && !parent.hasChildNodes()) {\n parent.innerHTML = '<br>';\n }\n this.emit('');\n };\n\n private onSelectedImageLoad = () => {\n this.updateOverlayPosition();\n };\n\n // re-sync the overlay to the image every frame while selected — this keeps\n // it glued to the image through scrolling (any container), layout shifts,\n // and image loads without needing to enumerate those events\n private startOverlayTracking() {\n this.stopOverlayTracking();\n const tick = () => {\n if (!this.selectedFigure || !this.resizeOverlay) return;\n if (!this.selectedFigure.isConnected) {\n this.deselectImage();\n return;\n }\n this.updateOverlayPosition();\n this.trackingRaf = requestAnimationFrame(tick);\n };\n this.trackingRaf = requestAnimationFrame(tick);\n }\n\n private stopOverlayTracking() {\n if (this.trackingRaf !== 0) {\n cancelAnimationFrame(this.trackingRaf);\n this.trackingRaf = 0;\n }\n }\n\n private onDocMousedown = (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n if (this.resizeOverlay?.contains(target)) return;\n if (this.selectedFigure?.contains(target)) return;\n // clicks on our own UI (toolbar image button, popover) must not clear the\n // selection, otherwise pressing the toolbar button while an image is\n // selected would drop into insert mode instead of edit mode\n if (this.contains(target)) return;\n this.deselectImage();\n };\n\n private buildOverlay() {\n const overlay = document.createElement('div');\n overlay.className = 'rte-image-resize-overlay';\n\n for (const dir of ['nw', 'ne', 'sw', 'se']) {\n const handle = document.createElement('div');\n handle.className = 'rte-resize-handle';\n handle.dataset.dir = dir;\n handle.addEventListener('mousedown', this.onHandleMousedown);\n overlay.appendChild(handle);\n }\n\n const label = document.createElement('span');\n label.className = 'rte-resize-size-label';\n overlay.appendChild(label);\n\n const alignBar = document.createElement('div');\n alignBar.className = 'rte-image-align-bar';\n const alignments: Array<{ dir: string; icon: string; title: string }> = [\n { dir: 'left', icon: 'format_align_left', title: 'Align left' },\n { dir: 'center', icon: 'format_align_middle', title: 'Align center' },\n { dir: 'right', icon: 'format_align_right', title: 'Align right' },\n { dir: 'justify', icon: 'format_align_justify', title: 'Full width' },\n ];\n for (const { dir, icon, title } of alignments) {\n const btn = document.createElement('button');\n btn.type = 'button';\n btn.dataset.dir = dir;\n btn.title = title;\n btn.setAttribute('aria-label', title);\n btn.innerHTML = `<nile-icon name=\"${icon}\" size=\"18\"></nile-icon>`;\n btn.addEventListener('mousedown', e => e.preventDefault());\n btn.addEventListener('click', this.onAlignClick);\n alignBar.appendChild(btn);\n }\n overlay.appendChild(alignBar);\n\n // append to <body>: a transformed/filtered ancestor (drawer, modal,\n // animated panel) would otherwise become the containing block for\n // position:fixed and the overlay would render far from the image\n document.body.appendChild(overlay);\n this.resizeOverlay = overlay;\n }\n\n private updateOverlayPosition() {\n if (!this.resizeOverlay || !this.selectedFigure) return;\n const img = this.selectedFigure.querySelector('img');\n if (!img) {\n this.deselectImage();\n return;\n }\n const rect = img.getBoundingClientRect();\n this.resizeOverlay.style.top = `${rect.top}px`;\n this.resizeOverlay.style.left = `${rect.left}px`;\n this.resizeOverlay.style.width = `${rect.width}px`;\n this.resizeOverlay.style.height = `${rect.height}px`;\n\n // keep the align bar reachable: above the image by default, flipped to\n // just inside the top edge when the image touches the viewport top\n const bar = this.resizeOverlay.querySelector(\n '.rte-image-align-bar'\n ) as HTMLElement | null;\n if (bar) {\n if (rect.top < 56) {\n bar.style.top = '8px';\n } else {\n bar.style.top = '-44px';\n }\n }\n\n const label = this.resizeOverlay.querySelector(\n '.rte-resize-size-label'\n ) as HTMLElement | null;\n if (label) {\n label.textContent = `${Math.round(rect.width)} × ${Math.round(rect.height)}`;\n label.style.display = this.isDragging ? '' : 'none';\n }\n }\n\n private onAlignClick = (e: Event) => {\n if (!this.selectedFigure) return;\n const dir = (e.currentTarget as HTMLElement).dataset.dir || 'left';\n\n if (dir === 'left') {\n this.selectedFigure.removeAttribute('data-align');\n } else {\n this.selectedFigure.setAttribute('data-align', dir);\n }\n this.syncAlignBar();\n this.updateOverlayPosition();\n\n const img = this.selectedFigure.querySelector('img');\n this.emit(img?.getAttribute('src') || '');\n };\n\n private syncAlignBar() {\n if (!this.resizeOverlay || !this.selectedFigure) return;\n const current = this.selectedFigure.getAttribute('data-align') || 'left';\n this.resizeOverlay\n .querySelectorAll<HTMLElement>('.rte-image-align-bar button')\n .forEach(btn => {\n btn.toggleAttribute('data-active', btn.dataset.dir === current);\n });\n }\n\n private onHandleMousedown = (e: MouseEvent) => {\n if (this.disabled || !this.selectedFigure) return;\n e.preventDefault();\n e.stopPropagation();\n\n const img = this.selectedFigure.querySelector('img');\n if (!img) return;\n\n // a full-width image can't be hand-resized — dragging implies a custom\n // width, so drop back to default alignment first\n if (this.selectedFigure.getAttribute('data-align') === 'justify') {\n this.selectedFigure.removeAttribute('data-align');\n this.syncAlignBar();\n }\n\n this.isDragging = true;\n this.dragDir = (e.currentTarget as HTMLElement).dataset.dir || 'se';\n this.dragStartX = e.clientX;\n this.dragStartWidth = img.getBoundingClientRect().width;\n\n document.addEventListener('mousemove', this.onDragMove);\n document.addEventListener('mouseup', this.onDragEnd);\n };\n\n private onDragMove = (e: MouseEvent) => {\n if (!this.isDragging || !this.selectedFigure) return;\n const img = this.selectedFigure.querySelector('img');\n if (!img) return;\n\n const dx = e.clientX - this.dragStartX;\n const growsRight = this.dragDir === 'ne' || this.dragDir === 'se';\n let width = this.dragStartWidth + (growsRight ? dx : -dx);\n\n const maxWidth = this.getEditorContentWidth();\n width = Math.max(48, Math.min(width, maxWidth));\n\n img.setAttribute('width', String(Math.round(width)));\n this.updateOverlayPosition();\n };\n\n private onDragEnd = () => {\n if (!this.isDragging) return;\n this.isDragging = false;\n document.removeEventListener('mousemove', this.onDragMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n this.updateOverlayPosition();\n\n const img = this.selectedFigure?.querySelector('img');\n this.dispatchEvent(\n new CustomEvent('nile-image-changed', {\n detail: {\n src: img?.getAttribute('src') || '',\n alt: img?.getAttribute('alt') || '',\n caption:\n this.selectedFigure?.querySelector('figcaption')?.textContent || '',\n width: img ? Number(img.getAttribute('width')) || null : null,\n },\n bubbles: true,\n composed: true,\n })\n );\n };\n\n private getEditorContentWidth(): number {\n const style = getComputedStyle(this.editorEl);\n return (\n this.editorEl.clientWidth -\n parseFloat(style.paddingLeft || '0') -\n parseFloat(style.paddingRight || '0') || Infinity\n );\n }\n\n private onOpen = () => {\n if (this.disabled) return;\n\n if (this.selectedFigure) {\n this.openEditFor(this.selectedFigure, this.getToolbarButtonRect());\n return;\n }\n\n const sel = document.getSelection();\n if (\n sel &&\n sel.rangeCount > 0 &&\n this.editorEl.contains(sel.getRangeAt(0).commonAncestorContainer)\n ) {\n this.selectionRange = sel.getRangeAt(0).cloneRange();\n } else {\n const range = document.createRange();\n range.selectNodeContents(this.editorEl);\n range.collapse(false);\n this.selectionRange = range;\n }\n\n this.activeFigure = null;\n this.hasActiveImage = false;\n this.srcValue = '';\n this.altValue = '';\n this.captionValue = '';\n this.uploadedFileName = '';\n this.errorMessage = '';\n this.positionPopover(this.getToolbarButtonRect());\n this.openPopover();\n\n requestAnimationFrame(() => {\n const input = this.querySelector('nile-input');\n (input as any)?.focus();\n });\n };\n\n private onInputKeydown = (e: KeyboardEvent) => {\n if (e.key !== 'Escape' && e.key !== 'Enter') return;\n e.preventDefault();\n e.stopPropagation();\n if (e.key === 'Escape') {\n this.closePopover();\n return;\n }\n this.isApplying = true;\n try {\n this.applyImage();\n } finally {\n this.isApplying = false;\n }\n };\n\n private onInputBlur = () => {\n if (this.ignoreBlur || this.isApplying) return;\n requestAnimationFrame(() => {\n if (this.ignoreBlur || this.isApplying) return;\n const pop = this.querySelector('nile-popover');\n if (pop?.matches(':focus-within')) return;\n this.closePopover();\n });\n };\n\n private onSrcInput = (e: CustomEvent) => {\n this.srcValue = e.detail.value;\n this.uploadedFileName = '';\n this.errorMessage = '';\n };\n\n private onAltInput = (e: CustomEvent) => {\n this.altValue = e.detail.value;\n };\n\n private onCaptionInput = (e: CustomEvent) => {\n this.captionValue = e.detail.value;\n };\n\n private onPopoverMousedown = () => {\n this.ignoreBlur = true;\n };\n\n private onPopoverMouseup = () => {\n this.ignoreBlur = false;\n };\n\n private onToolbarButtonMousedown = (e: Event) => {\n e.preventDefault();\n };\n\n private onUploadClick = () => {\n // keep the popover open while the OS file dialog steals focus\n this.ignoreBlur = true;\n const fileInput = this.querySelector(\n 'input[type=\"file\"]'\n ) as HTMLInputElement | null;\n fileInput?.click();\n window.addEventListener(\n 'focus',\n () => {\n setTimeout(() => {\n this.ignoreBlur = false;\n }, 200);\n },\n { once: true }\n );\n };\n\n private onFileChange = (e: Event) => {\n const input = e.target as HTMLInputElement;\n const file = input.files?.[0];\n input.value = '';\n if (!file) return;\n\n if (!file.type.startsWith('image/')) {\n this.errorMessage = 'Only image files are supported';\n return;\n }\n if (this.maxFileSize > 0 && file.size > this.maxFileSize) {\n const mb = (this.maxFileSize / (1024 * 1024)).toFixed(1);\n this.errorMessage = `File is too large. Maximum size is ${mb} MB`;\n return;\n }\n\n const reader = new FileReader();\n reader.onload = () => {\n this.srcValue = String(reader.result || '');\n this.uploadedFileName = file.name;\n this.errorMessage = '';\n if (!this.altValue) {\n this.altValue = file.name.replace(/\\.[^.]+$/, '');\n }\n };\n reader.onerror = () => {\n this.errorMessage = 'Could not read the selected file';\n };\n reader.readAsDataURL(file);\n };\n\n private onApplyClick = () => {\n this.isApplying = true;\n this.applyImage();\n this.isApplying = false;\n this.ignoreBlur = false;\n };\n\n private onRemoveClick = () => {\n this.isApplying = true;\n this.removeImage();\n this.isApplying = false;\n this.ignoreBlur = false;\n };\n\n private buildFigure(src: string, alt = '', caption = ''): HTMLElement {\n const figure = document.createElement('figure');\n figure.className = 'rte-image';\n figure.setAttribute('contenteditable', 'false');\n\n const img = document.createElement('img');\n img.src = src;\n if (alt.trim()) img.alt = alt.trim();\n figure.appendChild(img);\n\n if (caption.trim()) {\n const figcaption = document.createElement('figcaption');\n figcaption.textContent = caption.trim();\n figure.appendChild(figcaption);\n }\n return figure;\n }\n\n private insertFigureAt(insertRange: Range, figure: HTMLElement) {\n const sel = document.getSelection();\n if (!sel) return;\n\n // a <figure> is not valid inside <p>/<h*>, so place it after the\n // block that holds the caret instead of splitting it at the range\n let block: HTMLElement | null = null;\n let n: Node | null = insertRange.startContainer;\n while (n && n !== this.editorEl) {\n if (\n n instanceof HTMLElement &&\n /^(P|H[1-6]|UL|OL|BLOCKQUOTE|PRE|TABLE|FIGURE|DIV)$/.test(n.tagName)\n ) {\n block = n;\n break;\n }\n n = n.parentNode;\n }\n // an empty paragraph (the default '<p><br></p>' of a fresh editor) would\n // otherwise remain above the image as a blank gap — take its place instead\n const isEmptyBlock =\n block &&\n /^(P|H[1-6])$/.test(block.tagName) &&\n (block.textContent ?? '').replace(/\\u200B/g, '').trim() === '' &&\n !block.querySelector('img');\n\n if (block?.parentNode) {\n if (isEmptyBlock) {\n block.parentNode.insertBefore(figure, block);\n block.remove();\n } else {\n block.parentNode.insertBefore(figure, block.nextSibling);\n }\n } else {\n this.editorEl.appendChild(figure);\n }\n\n // keep a paragraph after the image so typing can continue below it\n let after = figure.nextElementSibling;\n if (!after) {\n const p = document.createElement('p');\n p.innerHTML = '<br>';\n figure.parentNode?.insertBefore(p, figure.nextSibling);\n after = p;\n }\n\n const range = document.createRange();\n range.setStart(after, 0);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n\n private applyImage() {\n const raw = this.srcValue.trim();\n if (!raw) {\n if (this.uploadFromComputer) {\n this.errorMessage = 'Enter an image link or upload a file';\n }\n return;\n }\n\n const src = this.normalizeSrc(raw);\n if (!src) {\n this.errorMessage = 'Enter a valid image link';\n return;\n }\n\n if (this.activeFigure) {\n const img = this.activeFigure.querySelector('img');\n if (img) {\n img.src = src;\n if (this.altValue.trim()) {\n img.alt = this.altValue.trim();\n } else {\n img.removeAttribute('alt');\n }\n }\n\n let figcaption = this.activeFigure.querySelector('figcaption');\n if (this.captionValue.trim()) {\n if (!figcaption) {\n figcaption = document.createElement('figcaption');\n this.activeFigure.appendChild(figcaption);\n }\n figcaption.textContent = this.captionValue.trim();\n } else {\n figcaption?.remove();\n }\n\n this.emit(src);\n this.closePopover();\n requestAnimationFrame(() => this.updateOverlayPosition());\n return;\n }\n\n if (!(this.selectionRange instanceof Range)) return;\n\n this.editorEl.focus();\n\n const sel = document.getSelection();\n if (!sel) return;\n sel.removeAllRanges();\n sel.addRange(this.selectionRange);\n\n const figure = this.buildFigure(src, this.altValue, this.captionValue);\n this.insertFigureAt(this.selectionRange, figure);\n\n this.emit(src);\n this.closePopover();\n }\n\n private removeImage() {\n if (!this.activeFigure) return;\n this.deselectImage();\n const parent = this.activeFigure.parentNode;\n this.activeFigure.remove();\n if (parent instanceof HTMLElement && !parent.hasChildNodes()) {\n parent.innerHTML = '<br>';\n }\n this.emit('');\n this.closePopover();\n }\n\n private emit(src: string) {\n this.dispatchEvent(\n new CustomEvent('nile-image-changed', {\n detail: {\n src,\n alt: this.altValue.trim(),\n caption: this.captionValue.trim(),\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n render() {\n const iconColor = this.disabled\n ? 'var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))'\n : 'var(--nile-colors-dark-900, var(--ng-colors-text-primary-900))';\n\n return html`\n <nile-lite-tooltip content=${this.label}>\n <nile-button\n variant=\"tertiary\"\n size=\"small\"\n ?disabled=${this.disabled}\n @mousedown=${this.onToolbarButtonMousedown}\n @click=${this.onOpen}\n class=\"rte-image-button\"\n >\n <nile-glyph name=\"image\" color=${iconColor}></nile-glyph>\n </nile-button>\n </nile-lite-tooltip>\n\n <nile-popover\n class=\"rte-image-popover\"\n .arrow=${false}\n style=${this.popoverStyle}\n @mousedown=${this.onPopoverMousedown}\n @mouseup=${this.onPopoverMouseup}\n >\n <div class=\"image-popup-wrap\">\n <nile-input\n label=\"Image URL\"\n placeholder=${this.placeholder}\n .value=${this.srcValue}\n @nile-input=${this.onSrcInput}\n @keydown=${this.onInputKeydown}\n @nile-blur=${this.onInputBlur}\n ></nile-input>\n\n ${this.uploadFromComputer\n ? html`\n <div class=\"image-divider-row\" part=\"divider\">or</div>\n\n <div class=\"image-upload-row\" part=\"upload-row\">\n <nile-button\n part=\"upload-button\"\n size=\"small\"\n variant=\"secondary\"\n @click=${this.onUploadClick}\n >\n <nile-glyph name=\"upload\" slot=\"prefix\"></nile-glyph>\n Upload from computer\n </nile-button>\n ${this.uploadedFileName\n ? html`<span class=\"image-upload-filename\" part=\"upload-filename\"\n >${this.uploadedFileName}</span\n >`\n : null}\n </div>\n <input\n part=\"upload-input\"\n type=\"file\"\n accept=\"image/*\"\n @change=${this.onFileChange}\n />\n `\n : null}\n\n ${this.errorMessage\n ? html`<span class=\"image-error\" part=\"error\">${this.errorMessage}</span>`\n : null}\n\n <nile-input\n label=\"Alt text\"\n placeholder=${this.altPlaceholder}\n .value=${this.altValue}\n @nile-input=${this.onAltInput}\n @keydown=${this.onInputKeydown}\n @nile-blur=${this.onInputBlur}\n part=\"alt-input\"\n ></nile-input>\n\n <nile-input\n label=\"Caption\"\n placeholder=${this.captionPlaceholder}\n .value=${this.captionValue}\n @nile-input=${this.onCaptionInput}\n @keydown=${this.onInputKeydown}\n @nile-blur=${this.onInputBlur}\n part=\"caption-input\"\n ></nile-input>\n\n <div class=\"image-actions-row\" part=\"actions-row\">\n ${this.hasActiveImage\n ? html`\n <nile-button\n part=\"remove-button\"\n size=\"small\"\n variant=\"secondary\"\n @click=${this.onRemoveClick}\n >\n Remove\n </nile-button>\n `\n : null}\n <nile-button part=\"apply-button\" size=\"small\" variant=\"primary\" @click=${this.onApplyClick}>\n ${this.hasActiveImage ? 'Update' : 'Insert'}\n </nile-button>\n </div>\n </div>\n </nile-popover>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-rte-image': NileRteImage;\n }\n}\n"]}
@@ -13,7 +13,7 @@ export const styles = css `
13
13
  display: block;
14
14
  width: 100%;
15
15
  box-sizing: border-box;
16
- --icon-button-background-color: var(--nile-colors-primary-600, var(--ng-colors-bg-primary-alt));
16
+ --icon-button-background-color: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));
17
17
  min-width: var(--nile-width-width-xxs, var(--ng-width-80));
18
18
  -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
19
19
  -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));
@@ -57,30 +57,29 @@ export const styles = css `
57
57
  nile-icon-button::part(base) {
58
58
  background-color: var(--icon-button-background-color, var(--ng-colors-bg-primary-alt));
59
59
  color: var(--nile-colors-dark-900, var(--ng-colors-text-brand-secondary-700));
60
+ padding: var(--nile-radius-md, var(--ng-radius-md));
61
+ border-radius: var(--nile-radius-sm, var(--ng-radius-sm));
60
62
  }
61
63
 
62
64
  .icon--primary {
63
65
  --icon-button-background-color: var(
64
66
  --nile-section-message-icon-background-color-primary,
65
- var(--ng-colors-bg-primary-alt));
67
+ var(--ng-colors-bg-brand-solid));
66
68
  }
67
69
 
68
70
  .icon--success {
69
71
  --icon-button-background-color: var(
70
- --nile-section-message-icon-background-color-success
71
- );
72
+ --nile-section-message-icon-background-color-success, var(--ng-colors-bg-success-solid));
72
73
  }
73
74
 
74
75
  .icon--warning {
75
76
  --icon-button-background-color: var(
76
- --nile-section-message-icon-background-color-warning
77
- );
77
+ --nile-section-message-icon-background-color-warning, var(--ng-colors-bg-warning-solid));
78
78
  }
79
79
 
80
80
  .icon--error {
81
81
  --icon-button-background-color: var(
82
- --nile-section-message-icon-background-color-error
83
- );
82
+ --nile-section-message-icon-background-color-error, var(--ng-colors-bg-error-solid));
84
83
  }
85
84
 
86
85
  .right__wrapper {
@@ -1 +1 @@
1
- {"version":3,"file":"nile-section-message.css.js","sourceRoot":"","sources":["../../../src/nile-section-message/nile-section-message.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * SectionMessage CSS\n */\nexport const styles = css`\n :host {\n display: block;\n width: 100%;\n box-sizing: border-box;\n --icon-button-background-color: var(--nile-colors-primary-600, var(--ng-colors-bg-primary-alt));\n min-width: var(--nile-width-width-xxs, var(--ng-width-80));\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .parent__wrapper {\n width: auto;\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-xl));\n box-sizing: border-box;\n padding: var(--nile-type-scale-4, var(--ng-spacing-xl));\n word-wrap: break-word;\n align-items: center;\n border: var(--nile-border-width-0, var(--ng-border-width-1)) solid var(--nile-section-message-background-color-primary, var(--ng-colors-border-secondary-alt));\n border-radius: var(--nile-spacing-xs, var(--ng-radius-xl));\n box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-lg));\n }\n\n .section--primary {\n background-color: var(--nile-section-message-background-color-primary, var(--ng-colors-bg-primary-alt));\n }\n\n .section--success {\n background-color: var(--nile-section-message-background-color-success, var(--ng-colors-bg-primary-alt));\n }\n\n .section--warning {\n background-color: var(--nile-section-message-background-color-warning, var(--ng-colors-bg-primary-alt));\n }\n\n .section--error {\n background-color: var(--nile-section-message-background-color-error, var(--ng-colors-bg-primary-alt));\n }\n\n .left__wrapper {\n align-self: start;\n height: auto;\n }\n\n nile-icon-button::part(base) {\n background-color: var(--icon-button-background-color, var(--ng-colors-bg-primary-alt));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-brand-secondary-700));\n }\n\n .icon--primary {\n --icon-button-background-color: var(\n --nile-section-message-icon-background-color-primary,\n var(--ng-colors-bg-primary-alt));\n }\n\n .icon--success {\n --icon-button-background-color: var(\n --nile-section-message-icon-background-color-success\n );\n }\n\n .icon--warning {\n --icon-button-background-color: var(\n --nile-section-message-icon-background-color-warning\n );\n }\n\n .icon--error {\n --icon-button-background-color: var(\n --nile-section-message-icon-background-color-error\n );\n }\n\n .right__wrapper {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n width: 100%;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n color: var(--nile-colors-dark-900, var(--ng-colors-fg-primary-900));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n line-height: 140%;\n letter-spacing: 0.2px;\n }\n\n .section__heading {\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-semibold));\n }\n\n .section__description {\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-900, var(--ng-colors-fg-secondary-700));\n }\n\n .footer__actions {\n display: flex;\n gap: var(--nile-spacing-md, var(--ng-spacing-none));\n color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-semibold));\n cursor: pointer;\n }\n\n ::slotted([slot='footer__actions']:not(:last-child)) {\n color: var(--nile-colors-primary-600, var(--ng-colors-text-tertiary-600));\n }\n\n ::slotted([slot='footer__actions']:not(:last-child))::after {\n content: '•';\n color: var(--nile-section-message-footer-color, var(--ng-componentcolors-alpha-white-100));\n margin-left: var(--nile-spacing-md, var(--ng-spacing-md));\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-section-message.css.js","sourceRoot":"","sources":["../../../src/nile-section-message/nile-section-message.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * SectionMessage CSS\n */\nexport const styles = css`\n :host {\n display: block;\n width: 100%;\n box-sizing: border-box;\n --icon-button-background-color: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n min-width: var(--nile-width-width-xxs, var(--ng-width-80));\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .parent__wrapper {\n width: auto;\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-xl));\n box-sizing: border-box;\n padding: var(--nile-type-scale-4, var(--ng-spacing-xl));\n word-wrap: break-word;\n align-items: center;\n border: var(--nile-border-width-0, var(--ng-border-width-1)) solid var(--nile-section-message-background-color-primary, var(--ng-colors-border-secondary-alt));\n border-radius: var(--nile-spacing-xs, var(--ng-radius-xl));\n box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-lg));\n }\n\n .section--primary {\n background-color: var(--nile-section-message-background-color-primary, var(--ng-colors-bg-primary-alt));\n }\n\n .section--success {\n background-color: var(--nile-section-message-background-color-success, var(--ng-colors-bg-primary-alt));\n }\n\n .section--warning {\n background-color: var(--nile-section-message-background-color-warning, var(--ng-colors-bg-primary-alt));\n }\n\n .section--error {\n background-color: var(--nile-section-message-background-color-error, var(--ng-colors-bg-primary-alt));\n }\n\n .left__wrapper {\n align-self: start;\n height: auto;\n }\n\n nile-icon-button::part(base) {\n background-color: var(--icon-button-background-color, var(--ng-colors-bg-primary-alt));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-brand-secondary-700));\n padding: var(--nile-radius-md, var(--ng-radius-md));\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n }\n\n .icon--primary {\n --icon-button-background-color: var(\n --nile-section-message-icon-background-color-primary,\n var(--ng-colors-bg-brand-solid));\n }\n\n .icon--success {\n --icon-button-background-color: var(\n --nile-section-message-icon-background-color-success, var(--ng-colors-bg-success-solid));\n }\n\n .icon--warning {\n --icon-button-background-color: var(\n --nile-section-message-icon-background-color-warning, var(--ng-colors-bg-warning-solid));\n }\n\n .icon--error {\n --icon-button-background-color: var(\n --nile-section-message-icon-background-color-error, var(--ng-colors-bg-error-solid));\n }\n\n .right__wrapper {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n width: 100%;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n color: var(--nile-colors-dark-900, var(--ng-colors-fg-primary-900));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n line-height: 140%;\n letter-spacing: 0.2px;\n }\n\n .section__heading {\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-semibold));\n }\n\n .section__description {\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-900, var(--ng-colors-fg-secondary-700));\n }\n\n .footer__actions {\n display: flex;\n gap: var(--nile-spacing-md, var(--ng-spacing-none));\n color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-semibold));\n cursor: pointer;\n }\n\n ::slotted([slot='footer__actions']:not(:last-child)) {\n color: var(--nile-colors-primary-600, var(--ng-colors-text-tertiary-600));\n }\n\n ::slotted([slot='footer__actions']:not(:last-child))::after {\n content: '•';\n color: var(--nile-section-message-footer-color, var(--ng-componentcolors-alpha-white-100));\n margin-left: var(--nile-spacing-md, var(--ng-spacing-md));\n }\n`;\n\nexport default [styles];\n"]}
@@ -1,5 +1,5 @@
1
1
  // Version utility - placeholders will be replaced during build
2
- export const NILE_ELEMENTS_VERSION = '1.9.4';
2
+ export const NILE_ELEMENTS_VERSION = '1.9.6';
3
3
  export const NILE_VERSION = '1.2.7';
4
4
  // Set global versions for runtime access
5
5
  if (typeof window !== 'undefined') {
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,yCAAyC;AACzC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACjC,MAAc,CAAC,mBAAmB,GAAG,qBAAqB,CAAC;IAC3D,MAAc,CAAC,WAAW,GAAG,YAAY,CAAC;IAC3C,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC;AACzE,CAAC","sourcesContent":["// Version utility - placeholders will be replaced during build\nexport const NILE_ELEMENTS_VERSION = '1.9.4';\nexport const NILE_VERSION = '1.2.7';\n\n// Set global versions for runtime access\nif (typeof window !== 'undefined') {\n (window as any).nileElementsVersion = NILE_ELEMENTS_VERSION;\n (window as any).nileVersion = NILE_VERSION;\n window.process = window.process || { env: { NODE_ENV: 'production' } };\n}\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,yCAAyC;AACzC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACjC,MAAc,CAAC,mBAAmB,GAAG,qBAAqB,CAAC;IAC3D,MAAc,CAAC,WAAW,GAAG,YAAY,CAAC;IAC3C,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC;AACzE,CAAC","sourcesContent":["// Version utility - placeholders will be replaced during build\nexport const NILE_ELEMENTS_VERSION = '1.9.6';\nexport const NILE_VERSION = '1.2.7';\n\n// Set global versions for runtime access\nif (typeof window !== 'undefined') {\n (window as any).nileElementsVersion = NILE_ELEMENTS_VERSION;\n (window as any).nileVersion = NILE_VERSION;\n window.process = window.process || { env: { NODE_ENV: 'production' } };\n}\n"]}