@nuraly/lumenui 0.1.0 → 0.2.1

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 (312) hide show
  1. package/dist/nuralyui.bundle.js +23024 -17355
  2. package/dist/nuralyui.bundle.js.gz +0 -0
  3. package/dist/src/components/alert/alert.component.d.ts +8 -5
  4. package/dist/src/components/alert/alert.component.js +24 -20
  5. package/dist/src/components/alert/alert.style.d.ts +0 -7
  6. package/dist/src/components/alert/alert.style.js +48 -90
  7. package/dist/src/components/alert/bundle.js +82 -108
  8. package/dist/src/components/alert/bundle.js.gz +0 -0
  9. package/dist/src/components/badge/badge.component.d.ts +9 -8
  10. package/dist/src/components/badge/badge.component.js +17 -14
  11. package/dist/src/components/badge/badge.style.d.ts +0 -7
  12. package/dist/src/components/badge/badge.style.js +49 -107
  13. package/dist/src/components/badge/bundle.js +81 -119
  14. package/dist/src/components/badge/bundle.js.gz +0 -0
  15. package/dist/src/components/breadcrumb/breadcrumb.component.d.ts +8 -10
  16. package/dist/src/components/breadcrumb/breadcrumb.component.js +16 -15
  17. package/dist/src/components/breadcrumb/breadcrumb.style.d.ts +0 -7
  18. package/dist/src/components/breadcrumb/breadcrumb.style.js +42 -60
  19. package/dist/src/components/breadcrumb/bundle.js +96 -93
  20. package/dist/src/components/breadcrumb/bundle.js.gz +0 -0
  21. package/dist/src/components/button/bundle.js +221 -470
  22. package/dist/src/components/button/bundle.js.gz +0 -0
  23. package/dist/src/components/button/button.component.d.ts +2 -1
  24. package/dist/src/components/button/button.component.js +6 -6
  25. package/dist/src/components/button/button.style.d.ts +0 -7
  26. package/dist/src/components/button/button.style.js +167 -433
  27. package/dist/src/components/canvas/base-canvas.component.d.ts +2 -1
  28. package/dist/src/components/canvas/base-canvas.component.js +1 -0
  29. package/dist/src/components/canvas/bundle.js +16919 -9595
  30. package/dist/src/components/canvas/bundle.js.gz +0 -0
  31. package/dist/src/components/canvas/canvas.constants.d.ts +1 -1
  32. package/dist/src/components/canvas/canvas.constants.js +1 -1
  33. package/dist/src/components/canvas/chatbot-panel.style.js +31 -31
  34. package/dist/src/components/canvas/index.d.ts +2 -0
  35. package/dist/src/components/canvas/index.js +3 -0
  36. package/dist/src/components/canvas/whiteboard-canvas.component.d.ts +3 -1
  37. package/dist/src/components/canvas/whiteboard-canvas.component.js +19 -1
  38. package/dist/src/components/canvas/whiteboard-canvas.style.js +159 -138
  39. package/dist/src/components/canvas/whiteboard-node.component.d.ts +2 -1
  40. package/dist/src/components/canvas/whiteboard-node.component.js +2 -1
  41. package/dist/src/components/canvas/whiteboard-node.style.js +44 -44
  42. package/dist/src/components/canvas/workflow-canvas-only.d.ts +4 -0
  43. package/dist/src/components/canvas/workflow-canvas-only.js +5 -0
  44. package/dist/src/components/canvas/workflow-canvas.component.d.ts +3 -1
  45. package/dist/src/components/canvas/workflow-canvas.component.js +24 -2
  46. package/dist/src/components/canvas/workflow-canvas.style.js +776 -648
  47. package/dist/src/components/canvas/workflow-canvas.types.d.ts +113 -4
  48. package/dist/src/components/canvas/workflow-canvas.types.js +646 -3
  49. package/dist/src/components/canvas/workflow-node.component.d.ts +3 -2
  50. package/dist/src/components/canvas/workflow-node.component.js +5 -5
  51. package/dist/src/components/canvas/workflow-node.style.js +183 -181
  52. package/dist/src/components/card/bundle.js +43 -35
  53. package/dist/src/components/card/bundle.js.gz +0 -0
  54. package/dist/src/components/card/card.component.d.ts +6 -1
  55. package/dist/src/components/card/card.component.js +8 -2
  56. package/dist/src/components/card/card.style.js +26 -30
  57. package/dist/src/components/carousel/bundle.js +8 -8
  58. package/dist/src/components/carousel/bundle.js.gz +0 -0
  59. package/dist/src/components/carousel/carousel.component.d.ts +12 -0
  60. package/dist/src/components/carousel/carousel.component.js +16 -4
  61. package/dist/src/components/chatbot/bundle.js +422 -406
  62. package/dist/src/components/chatbot/bundle.js.gz +0 -0
  63. package/dist/src/components/chatbot/chatbot.component.d.ts +2 -1
  64. package/dist/src/components/chatbot/chatbot.component.js +1 -0
  65. package/dist/src/components/chatbot/chatbot.style.js +277 -277
  66. package/dist/src/components/checkbox/bundle.js +86 -245
  67. package/dist/src/components/checkbox/bundle.js.gz +0 -0
  68. package/dist/src/components/checkbox/checkbox.component.d.ts +5 -2
  69. package/dist/src/components/checkbox/checkbox.component.js +11 -13
  70. package/dist/src/components/checkbox/checkbox.style.js +56 -231
  71. package/dist/src/components/code-editor/bundle.js +151 -25
  72. package/dist/src/components/code-editor/bundle.js.gz +0 -0
  73. package/dist/src/components/code-editor/code-editor.component.d.ts +18 -56
  74. package/dist/src/components/code-editor/code-editor.component.js +141 -394
  75. package/dist/src/components/code-editor/code-editor.style.js +139 -15
  76. package/dist/src/components/collapse/bundle.js +97 -84
  77. package/dist/src/components/collapse/bundle.js.gz +0 -0
  78. package/dist/src/components/collapse/collapse.component.d.ts +7 -1
  79. package/dist/src/components/collapse/collapse.component.js +11 -2
  80. package/dist/src/components/collapse/collapse.style.js +60 -60
  81. package/dist/src/components/colorpicker/bundle.js +85 -48
  82. package/dist/src/components/colorpicker/bundle.js.gz +0 -0
  83. package/dist/src/components/colorpicker/color-holder.component.d.ts +2 -4
  84. package/dist/src/components/colorpicker/color-holder.component.js +5 -6
  85. package/dist/src/components/colorpicker/color-holder.style.js +11 -11
  86. package/dist/src/components/colorpicker/color-picker.component.d.ts +2 -1
  87. package/dist/src/components/colorpicker/color-picker.component.js +1 -0
  88. package/dist/src/components/colorpicker/color-picker.style.js +12 -12
  89. package/dist/src/components/colorpicker/default-color-sets.component.d.ts +2 -2
  90. package/dist/src/components/colorpicker/default-color-sets.component.js +4 -3
  91. package/dist/src/components/colorpicker/default-color-sets.style.js +5 -5
  92. package/dist/src/components/container/bundle.js +24 -14
  93. package/dist/src/components/container/bundle.js.gz +0 -0
  94. package/dist/src/components/container/container.component.d.ts +4 -1
  95. package/dist/src/components/container/container.component.js +7 -5
  96. package/dist/src/components/container/container.style.js +9 -9
  97. package/dist/src/components/datepicker/bundle.js +193 -177
  98. package/dist/src/components/datepicker/bundle.js.gz +0 -0
  99. package/dist/src/components/datepicker/datepicker.component.d.ts +2 -1
  100. package/dist/src/components/datepicker/datepicker.component.js +1 -0
  101. package/dist/src/components/datepicker/datepicker.style.js +65 -65
  102. package/dist/src/components/datepicker/datepicker.style.variables.js +91 -91
  103. package/dist/src/components/db-connection-select/bundle.js +7 -6
  104. package/dist/src/components/db-connection-select/bundle.js.gz +0 -0
  105. package/dist/src/components/db-connection-select/db-connection-select.component.d.ts +3 -0
  106. package/dist/src/components/db-connection-select/db-connection-select.component.js +4 -0
  107. package/dist/src/components/divider/bundle.js +61 -35
  108. package/dist/src/components/divider/bundle.js.gz +0 -0
  109. package/dist/src/components/divider/divider.component.d.ts +4 -6
  110. package/dist/src/components/divider/divider.component.js +10 -14
  111. package/dist/src/components/divider/divider.style.js +41 -31
  112. package/dist/src/components/document/bundle.js +50 -48
  113. package/dist/src/components/document/bundle.js.gz +0 -0
  114. package/dist/src/components/document/document.component.d.ts +12 -1
  115. package/dist/src/components/document/document.component.js +18 -6
  116. package/dist/src/components/document/document.style.js +21 -36
  117. package/dist/src/components/dropdown/bundle.js +117 -101
  118. package/dist/src/components/dropdown/bundle.js.gz +0 -0
  119. package/dist/src/components/dropdown/dropdown.component.d.ts +2 -1
  120. package/dist/src/components/dropdown/dropdown.component.js +1 -0
  121. package/dist/src/components/dropdown/dropdown.style.js +68 -68
  122. package/dist/src/components/file-upload/bundle.js +82 -76
  123. package/dist/src/components/file-upload/bundle.js.gz +0 -0
  124. package/dist/src/components/file-upload/file-upload.component.d.ts +2 -1
  125. package/dist/src/components/file-upload/file-upload.component.js +1 -0
  126. package/dist/src/components/file-upload/styles.js +59 -59
  127. package/dist/src/components/flex/bundle.js +18 -8
  128. package/dist/src/components/flex/bundle.js.gz +0 -0
  129. package/dist/src/components/flex/flex.component.d.ts +4 -1
  130. package/dist/src/components/flex/flex.component.js +7 -4
  131. package/dist/src/components/flex/flex.style.js +2 -2
  132. package/dist/src/components/form/bundle.js +22 -10
  133. package/dist/src/components/form/bundle.js.gz +0 -0
  134. package/dist/src/components/form/form.component.d.ts +4 -1
  135. package/dist/src/components/form/form.component.js +5 -1
  136. package/dist/src/components/form/form.style.js +2 -2
  137. package/dist/src/components/grid/bundle.js +26 -14
  138. package/dist/src/components/grid/bundle.js.gz +0 -0
  139. package/dist/src/components/grid/col.component.d.ts +4 -1
  140. package/dist/src/components/grid/col.component.js +4 -1
  141. package/dist/src/components/grid/col.style.js +2 -2
  142. package/dist/src/components/grid/row.component.d.ts +4 -1
  143. package/dist/src/components/grid/row.component.js +4 -1
  144. package/dist/src/components/grid/row.style.js +2 -2
  145. package/dist/src/components/icon/bundle.js +78 -252
  146. package/dist/src/components/icon/bundle.js.gz +0 -0
  147. package/dist/src/components/icon/icon-paths.d.ts +2 -0
  148. package/dist/src/components/icon/icon-paths.js +141 -0
  149. package/dist/src/components/icon/icon.component.d.ts +10 -12
  150. package/dist/src/components/icon/icon.component.js +42 -93
  151. package/dist/src/components/icon/icon.style.js +42 -130
  152. package/dist/src/components/icon/icon.variables.js +9 -9
  153. package/dist/src/components/iconpicker/bundle.js +859 -1511
  154. package/dist/src/components/iconpicker/bundle.js.gz +0 -0
  155. package/dist/src/components/iconpicker/icon-picker.component.d.ts +2 -1
  156. package/dist/src/components/iconpicker/icon-picker.component.js +1 -0
  157. package/dist/src/components/iconpicker/icon-picker.style.js +13 -13
  158. package/dist/src/components/image/bundle.js +43 -33
  159. package/dist/src/components/image/bundle.js.gz +0 -0
  160. package/dist/src/components/image/image.component.d.ts +10 -1
  161. package/dist/src/components/image/image.component.js +13 -3
  162. package/dist/src/components/image/image.style.js +19 -26
  163. package/dist/src/components/input/bundle.js +420 -644
  164. package/dist/src/components/input/bundle.js.gz +0 -0
  165. package/dist/src/components/input/input.component.d.ts +16 -3
  166. package/dist/src/components/input/input.component.js +43 -27
  167. package/dist/src/components/input/input.style.d.ts +1 -1
  168. package/dist/src/components/input/input.style.js +331 -634
  169. package/dist/src/components/kv-secret-select/bundle.js +2 -1
  170. package/dist/src/components/kv-secret-select/bundle.js.gz +0 -0
  171. package/dist/src/components/kv-secret-select/kv-secret-select.component.d.ts +3 -0
  172. package/dist/src/components/kv-secret-select/kv-secret-select.component.js +4 -0
  173. package/dist/src/components/label/bundle.js +37 -60
  174. package/dist/src/components/label/bundle.js.gz +0 -0
  175. package/dist/src/components/label/label.component.d.ts +8 -4
  176. package/dist/src/components/label/label.component.js +9 -14
  177. package/dist/src/components/label/label.style.js +17 -25
  178. package/dist/src/components/label/label.style.variables.js +18 -18
  179. package/dist/src/components/layout/bundle.js +86 -70
  180. package/dist/src/components/layout/bundle.js.gz +0 -0
  181. package/dist/src/components/layout/content.component.d.ts +2 -1
  182. package/dist/src/components/layout/content.component.js +2 -1
  183. package/dist/src/components/layout/content.style.js +3 -3
  184. package/dist/src/components/layout/footer.component.d.ts +2 -1
  185. package/dist/src/components/layout/footer.component.js +3 -2
  186. package/dist/src/components/layout/footer.style.js +7 -7
  187. package/dist/src/components/layout/header.component.d.ts +2 -1
  188. package/dist/src/components/layout/header.component.js +3 -2
  189. package/dist/src/components/layout/header.style.js +7 -7
  190. package/dist/src/components/layout/layout.component.d.ts +4 -7
  191. package/dist/src/components/layout/layout.component.js +9 -22
  192. package/dist/src/components/layout/layout.style.js +1 -1
  193. package/dist/src/components/layout/sider.component.d.ts +3 -1
  194. package/dist/src/components/layout/sider.component.js +3 -1
  195. package/dist/src/components/layout/sider.style.js +29 -29
  196. package/dist/src/components/menu/bundle.js +135 -125
  197. package/dist/src/components/menu/bundle.js.gz +0 -0
  198. package/dist/src/components/menu/menu.component.d.ts +2 -1
  199. package/dist/src/components/menu/menu.component.js +1 -0
  200. package/dist/src/components/menu/menu.style.js +87 -87
  201. package/dist/src/components/modal/bundle.js +105 -96
  202. package/dist/src/components/modal/bundle.js.gz +0 -0
  203. package/dist/src/components/modal/modal.component.d.ts +2 -1
  204. package/dist/src/components/modal/modal.component.js +1 -0
  205. package/dist/src/components/modal/modal.style.js +69 -71
  206. package/dist/src/components/panel/bundle.js +190 -391
  207. package/dist/src/components/panel/bundle.js.gz +0 -0
  208. package/dist/src/components/panel/panel.component.d.ts +2 -1
  209. package/dist/src/components/panel/panel.component.js +1 -0
  210. package/dist/src/components/panel/panel.style.js +65 -65
  211. package/dist/src/components/popconfirm/bundle.js +107 -93
  212. package/dist/src/components/popconfirm/bundle.js.gz +0 -0
  213. package/dist/src/components/popconfirm/popconfirm-manager.component.d.ts +2 -1
  214. package/dist/src/components/popconfirm/popconfirm-manager.component.js +1 -0
  215. package/dist/src/components/popconfirm/popconfirm-manager.style.js +16 -16
  216. package/dist/src/components/popconfirm/popconfirm.component.d.ts +2 -1
  217. package/dist/src/components/popconfirm/popconfirm.component.js +9 -5
  218. package/dist/src/components/popconfirm/popconfirm.style.js +43 -43
  219. package/dist/src/components/radio/bundle.js +56 -86
  220. package/dist/src/components/radio/bundle.js.gz +0 -0
  221. package/dist/src/components/radio/radio.component.d.ts +8 -2
  222. package/dist/src/components/radio/radio.component.js +17 -9
  223. package/dist/src/components/radio/radio.style.js +30 -77
  224. package/dist/src/components/radio-group/bundle.js +125 -89
  225. package/dist/src/components/radio-group/bundle.js.gz +0 -0
  226. package/dist/src/components/radio-group/radio-group.component.d.ts +5 -1
  227. package/dist/src/components/radio-group/radio-group.component.js +18 -10
  228. package/dist/src/components/radio-group/radio-group.style.js +44 -44
  229. package/dist/src/components/select/bundle.js +260 -367
  230. package/dist/src/components/select/bundle.js.gz +0 -0
  231. package/dist/src/components/select/select.component.d.ts +12 -17
  232. package/dist/src/components/select/select.component.js +35 -35
  233. package/dist/src/components/select/select.style.js +184 -324
  234. package/dist/src/components/skeleton/bundle.js +82 -162
  235. package/dist/src/components/skeleton/bundle.js.gz +0 -0
  236. package/dist/src/components/skeleton/skeleton.component.d.ts +10 -5
  237. package/dist/src/components/skeleton/skeleton.component.js +20 -7
  238. package/dist/src/components/skeleton/skeleton.style.js +34 -133
  239. package/dist/src/components/slider-input/bundle.js +89 -88
  240. package/dist/src/components/slider-input/bundle.js.gz +0 -0
  241. package/dist/src/components/slider-input/slider-input.component.d.ts +11 -0
  242. package/dist/src/components/slider-input/slider-input.component.js +20 -8
  243. package/dist/src/components/slider-input/slider-input.style.js +47 -47
  244. package/dist/src/components/slider-input/slider-input.style.variables.js +32 -32
  245. package/dist/src/components/table/bundle.js +149 -128
  246. package/dist/src/components/table/bundle.js.gz +0 -0
  247. package/dist/src/components/table/table.component.d.ts +2 -1
  248. package/dist/src/components/table/table.component.js +1 -0
  249. package/dist/src/components/table/table.style.js +79 -79
  250. package/dist/src/components/tabs/bundle.js +462 -663
  251. package/dist/src/components/tabs/bundle.js.gz +0 -0
  252. package/dist/src/components/tabs/tabs.component.d.ts +6 -1
  253. package/dist/src/components/tabs/tabs.component.js +8 -1
  254. package/dist/src/components/tabs/tabs.style.js +200 -201
  255. package/dist/src/components/tag/bundle.js +44 -36
  256. package/dist/src/components/tag/bundle.js.gz +0 -0
  257. package/dist/src/components/tag/tag.component.d.ts +7 -6
  258. package/dist/src/components/tag/tag.component.js +10 -19
  259. package/dist/src/components/tag/tag.style.js +20 -24
  260. package/dist/src/components/textarea/bundle.js +131 -94
  261. package/dist/src/components/textarea/bundle.js.gz +0 -0
  262. package/dist/src/components/textarea/textarea.component.d.ts +7 -1
  263. package/dist/src/components/textarea/textarea.component.js +10 -3
  264. package/dist/src/components/textarea/textarea.style.d.ts +1 -13
  265. package/dist/src/components/textarea/textarea.style.js +79 -91
  266. package/dist/src/components/timeline/bundle.js +71 -134
  267. package/dist/src/components/timeline/bundle.js.gz +0 -0
  268. package/dist/src/components/timeline/timeline.component.d.ts +9 -6
  269. package/dist/src/components/timeline/timeline.component.js +16 -13
  270. package/dist/src/components/timeline/timeline.style.d.ts +0 -7
  271. package/dist/src/components/timeline/timeline.style.js +41 -122
  272. package/dist/src/components/timepicker/bundle.js +196 -166
  273. package/dist/src/components/timepicker/bundle.js.gz +0 -0
  274. package/dist/src/components/timepicker/timepicker.component.d.ts +2 -1
  275. package/dist/src/components/timepicker/timepicker.component.js +1 -0
  276. package/dist/src/components/timepicker/timepicker.style.js +42 -42
  277. package/dist/src/components/timepicker/timepicker.style.variables.js +91 -91
  278. package/dist/src/components/toast/bundle.js +97 -81
  279. package/dist/src/components/toast/bundle.js.gz +0 -0
  280. package/dist/src/components/toast/toast.component.d.ts +2 -1
  281. package/dist/src/components/toast/toast.component.js +1 -0
  282. package/dist/src/components/toast/toast.style.js +62 -62
  283. package/dist/src/components/tooltips/bundle.js +10 -10
  284. package/dist/src/components/tooltips/bundle.js.gz +0 -0
  285. package/dist/src/components/tooltips/tooltips.component.d.ts +8 -0
  286. package/dist/src/components/tooltips/tooltips.component.js +9 -1
  287. package/dist/src/components/tooltips/tooltips.style.js +6 -6
  288. package/dist/src/components/video/bundle.js +47 -36
  289. package/dist/src/components/video/bundle.js.gz +0 -0
  290. package/dist/src/components/video/video.component.d.ts +12 -1
  291. package/dist/src/components/video/video.component.js +18 -6
  292. package/dist/src/components/video/video.style.js +18 -24
  293. package/package.json +25 -12
  294. package/packages/common/dist/VERSIONS.md +2 -2
  295. package/packages/common/dist/shared/base-mixin.d.ts +21 -19
  296. package/packages/common/dist/shared/base-mixin.d.ts.map +1 -1
  297. package/packages/common/dist/shared/base-mixin.js +102 -18
  298. package/packages/common/dist/shared/base-mixin.js.map +1 -1
  299. package/packages/common/dist/shared/index.d.ts +1 -0
  300. package/packages/common/dist/shared/index.d.ts.map +1 -1
  301. package/packages/common/dist/shared/index.js +2 -0
  302. package/packages/common/dist/shared/index.js.map +1 -1
  303. package/packages/common/dist/shared/style-injector.d.ts +11 -0
  304. package/packages/common/dist/shared/style-injector.d.ts.map +1 -0
  305. package/packages/common/dist/shared/style-injector.js +53 -0
  306. package/packages/common/dist/shared/style-injector.js.map +1 -0
  307. package/packages/common/dist/shared/theme-mixin.d.ts +2 -24
  308. package/packages/common/dist/shared/theme-mixin.d.ts.map +1 -1
  309. package/packages/common/dist/shared/theme-mixin.js +5 -38
  310. package/packages/common/dist/shared/theme-mixin.js.map +1 -1
  311. package/packages/themes/dist/default.css +0 -10
  312. package/packages/themes/dist/package.json +1 -1
@@ -1,8 +1,29 @@
1
- import{css as e,LitElement as o,html as i}from"lit";import{property as t,state as r,customElement as s}from"lit/decorators.js";import{classMap as n}from"lit/directives/class-map.js";import{styleMap as a}from"lit/directives/style-map.js";import{NuralyUIBaseMixin as d}from"@nuralyui/common/mixins";var l=e`
1
+ import{css as e,html as t,LitElement as i}from"lit";import{property as o,state as r,customElement as s}from"lit/decorators.js";import{classMap as n}from"lit/directives/class-map.js";import{styleMap as a}from"lit/directives/style-map.js";
2
+ /**
3
+ * @license
4
+ * Copyright 2023 Nuraly, Laabidi Aymen
5
+ * SPDX-License-Identifier: MIT
6
+ */const d=e=>class extends e{constructor(){super(...arguments),this.handleSystemThemeChange=()=>{this.closest("[data-theme]")||document.documentElement.hasAttribute("data-theme")||this.requestUpdate()}}connectedCallback(){super.connectedCallback(),this.setupThemeObserver(),this.setupDesignSystemObserver(),this.setupSystemThemeListener()}disconnectedCallback(){var e,t,i;super.disconnectedCallback(),null===(e=this.themeObserver)||void 0===e||e.disconnect(),null===(t=this.designSystemObserver)||void 0===t||t.disconnect(),null===(i=this.mediaQuery)||void 0===i||i.removeEventListener("change",this.handleSystemThemeChange)}get currentTheme(){var e,t;const i=(null===(e=this.closest("[data-theme]"))||void 0===e?void 0:e.getAttribute("data-theme"))||document.documentElement.getAttribute("data-theme");return i||((null===(t=window.matchMedia)||void 0===t?void 0:t.call(window,"(prefers-color-scheme: dark)").matches)?"dark":"light")}get currentDesignSystem(){var e;const t=(null===(e=this.closest("[design-system]"))||void 0===e?void 0:e.getAttribute("design-system"))||document.documentElement.getAttribute("design-system");return"carbon"===t?t:"default"}setupThemeObserver(){this.themeObserver=new MutationObserver(()=>{this.requestUpdate()}),this.themeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]})}setupDesignSystemObserver(){this.designSystemObserver=new MutationObserver(()=>{this.requestUpdate()}),this.designSystemObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["design-system"]})}setupSystemThemeListener(){window.matchMedia&&(this.mediaQuery=window.matchMedia("(prefers-color-scheme: dark)"),this.mediaQuery.addEventListener("change",this.handleSystemThemeChange))}},c=()=>{var e;return void 0!==globalThis.litElementVersions||"undefined"!=typeof process&&"development"===(null===(e=process.env)||void 0===e?void 0:e.NODE_ENV)||"undefined"!=typeof window&&("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname)},l=e=>class extends e{constructor(){super(...arguments),this.requiredComponents=[]}validateDependencies(){if(c())for(const e of this.requiredComponents)if(!this.isComponentAvailable(e))throw new Error(`Required component "${e}" is not registered. Please import and register the component before using ${this.tagName.toLowerCase()}. Example: import '@nuralyui/${e}';`)}validateDependenciesWithHandler(e){if(!c())return!0;let t=!0;for(const i of this.requiredComponents)if(!this.isComponentAvailable(i)){t=!1;const o=new Error(`Required component "${i}" is not registered. Please import and register the component before using ${this.tagName.toLowerCase()}.`);e?e(i,o):console.error(o.message)}return t}isComponentAvailable(e){return!!customElements.get(e)}getMissingDependencies(){return this.requiredComponents.filter(e=>!this.isComponentAvailable(e))}areDependenciesAvailable(){return this.requiredComponents.every(e=>this.isComponentAvailable(e))}addRequiredComponent(e){this.requiredComponents.includes(e)||this.requiredComponents.push(e)}removeRequiredComponent(e){const t=this.requiredComponents.indexOf(e);t>-1&&this.requiredComponents.splice(t,1)}},h=e=>class extends e{dispatchCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}dispatchEventWithMetadata(e,t){var i;const o=Object.assign(Object.assign({},t),{timestamp:Date.now(),componentName:(null===(i=this.tagName)||void 0===i?void 0:i.toLowerCase())||"unknown"});this.dispatchCustomEvent(e,o)}dispatchInputEvent(e,t){const i=Object.assign({target:t.target||this,value:t.value,originalEvent:t.originalEvent},t);this.dispatchCustomEvent(e,i)}dispatchFocusEvent(e,t){const i=Object.assign({target:t.target||this,value:t.value,focused:t.focused,cursorPosition:t.cursorPosition,selectedText:t.selectedText},t);this.dispatchCustomEvent(e,i)}dispatchValidationEvent(e,t){var i;const o=Object.assign({target:t.target||this,value:t.value,isValid:null!==(i=t.isValid)&&void 0!==i&&i,error:t.error},t);this.dispatchCustomEvent(e,o)}dispatchActionEvent(e,t){const i=Object.assign({target:t.target||this,action:t.action,previousValue:t.previousValue,newValue:t.newValue},t);this.dispatchCustomEvent(e,i)}isReadonlyKeyAllowed(e){if(e.ctrlKey||e.metaKey){return["KeyA","KeyC"].includes(e.code)}return["Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(e.key)}isActivationKey(e){return"Enter"===e.key||" "===e.key}},p=new Set,u=new Map;
7
+ /**
8
+ * @license
9
+ * Copyright 2023 Nuraly, Laabidi Aymen
10
+ * SPDX-License-Identifier: MIT
11
+ */
12
+ /**
13
+ * @license
14
+ * Copyright 2023 Nuraly, Laabidi Aymen
15
+ * SPDX-License-Identifier: MIT
16
+ */
17
+ const m=e=>{class t extends e{constructor(){super(...arguments),this.t=null}createRenderRoot(){return this.constructor.useShadowDom?super.createRenderRoot():this}connectedCallback(){const e=this.constructor.useShadowDom;if(!e&&null===this.t)for(this.t=[];this.firstChild;)this.t.push(this.removeChild(this.firstChild));if(super.connectedCallback(),!e){const e=this.constructor,t=this.tagName.toLowerCase(),i=e.styles;if(i){const e=g(i);e&&function(e,t,i){var o;if(!u.has(e)){const i=new CSSStyleSheet;i.replaceSync(t),u.set(e,i)}const r=u.get(e),s=`doc:${e}`;if(p.has(s)||(document.adoptedStyleSheets=[...document.adoptedStyleSheets,r],p.add(s)),i){let t=i;for(;t;){const i=t.getRootNode();if(!(i instanceof ShadowRoot))break;{const s=`shadow:${((null===(o=i.host)||void 0===o?void 0:o.tagName)||"").toLowerCase()}:${e}`;p.has(s)||(i.adoptedStyleSheets=[...i.adoptedStyleSheets,r],p.add(s)),t=i.host}}}}(t,e,this)}}}get lightChildren(){return this.t?this.t.filter(e=>!(e instanceof Element&&e.hasAttribute("slot"))):[]}lightChildrenNamed(e){return this.t?this.t.filter(t=>t instanceof Element&&t.getAttribute("slot")===e):[]}}return t.useShadowDom=!1,t};function g(e){return Array.isArray(e)?e.map(e=>g(e)).filter(Boolean).join("\n"):e&&"string"==typeof e.cssText?e.cssText:"string"==typeof e?e:""}var v=e`
2
18
  :host {
3
19
  display: block;
4
20
  }
5
21
 
22
+ :host([block]) {
23
+ display: block;
24
+ width: 100%;
25
+ }
26
+
6
27
  .document-container {
7
28
  width: 100%;
8
29
  height: 100%;
@@ -54,7 +75,7 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
54
75
  .preview-button:hover {
55
76
  background-color: #fff;
56
77
  }
57
-
78
+
58
79
  .pdf-container {
59
80
  display: flex;
60
81
  flex-direction: column;
@@ -64,7 +85,7 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
64
85
  background-color: #f5f5f5;
65
86
  position: relative;
66
87
  }
67
-
88
+
68
89
  .toolbar {
69
90
  display: flex;
70
91
  align-items: center;
@@ -73,7 +94,7 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
73
94
  border-bottom: 1px solid #ddd;
74
95
  gap: 8px;
75
96
  }
76
-
97
+
77
98
  .toolbar button {
78
99
  background-color: #fff;
79
100
  border: 1px solid #ccc;
@@ -82,21 +103,10 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
82
103
  cursor: pointer;
83
104
  font-size: 14px;
84
105
  }
85
-
86
- .toolbar button:hover {
87
- background-color: #e6e6e6;
88
- }
89
-
90
- .toolbar button:disabled {
91
- opacity: 0.5;
92
- cursor: not-allowed;
93
- }
94
-
95
- .toolbar span {
96
- margin: 0 4px;
97
- font-size: 14px;
98
- }
99
-
106
+ .toolbar button:hover { background-color: #e6e6e6; }
107
+ .toolbar button:disabled { opacity: 0.5; cursor: not-allowed; }
108
+ .toolbar span { margin: 0 4px; font-size: 14px; }
109
+
100
110
  .canvas-container {
101
111
  flex: 1;
102
112
  overflow: auto;
@@ -107,12 +117,12 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
107
117
  padding: 16px;
108
118
  min-height: 200px;
109
119
  }
110
-
120
+
111
121
  canvas {
112
122
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
113
123
  background-color: white;
114
124
  }
115
-
125
+
116
126
  .preview-modal {
117
127
  position: fixed;
118
128
  top: 0;
@@ -131,7 +141,7 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
131
141
  height: 100%;
132
142
  border: none;
133
143
  }
134
-
144
+
135
145
  .preview-content {
136
146
  position: relative;
137
147
  display: flex;
@@ -142,7 +152,7 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
142
152
  border-radius: 8px;
143
153
  overflow: hidden;
144
154
  }
145
-
155
+
146
156
  .preview-toolbar {
147
157
  display: flex;
148
158
  align-items: center;
@@ -151,7 +161,6 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
151
161
  border-bottom: 1px solid #ddd;
152
162
  gap: 12px;
153
163
  }
154
-
155
164
  .preview-toolbar button {
156
165
  background-color: #fff;
157
166
  border: 1px solid #ccc;
@@ -160,12 +169,8 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
160
169
  cursor: pointer;
161
170
  font-size: 16px;
162
171
  }
163
-
164
- .preview-toolbar span {
165
- margin: 0 6px;
166
- font-size: 16px;
167
- }
168
-
172
+ .preview-toolbar span { margin: 0 6px; font-size: 16px; }
173
+
169
174
  .preview-close {
170
175
  position: absolute;
171
176
  top: 10px;
@@ -183,11 +188,7 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
183
188
  align-items: center;
184
189
  justify-content: center;
185
190
  }
186
-
187
- .preview-close:hover {
188
- background-color: #fff;
189
- color: #000;
190
- }
191
+ .preview-close:hover { background-color: #fff; color: #000; }
191
192
 
192
193
  .preview-header {
193
194
  position: absolute;
@@ -196,33 +197,34 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
196
197
  z-index: 1010;
197
198
  padding: 10px;
198
199
  }
199
-
200
+
200
201
  .preview-modal canvas {
201
202
  max-width: 100%;
202
- max-height: calc(100% - 60px); /* Account for toolbar height */
203
+ max-height: calc(100% - 60px);
203
204
  object-fit: contain;
204
205
  margin: auto;
205
206
  display: block;
206
207
  flex: 1;
207
208
  }
208
- `,c=function(e,o,i,t){for(var r,s=arguments.length,n=s<3?o:null===t?t=Object.getOwnPropertyDescriptor(o,i):t,a=e.length-1;a>=0;a--)(r=e[a])&&(n=(s<3?r(n):s>3?r(o,i,n):r(o,i))||n);return s>3&&n&&Object.defineProperty(o,i,n),n};let p=class extends(d(o)){constructor(){super(...arguments),this.type="pdf",this.width="auto",this.height="500px",this.previewable=!1,this.block=!1,this.showPreview=!1,this.hasError=!1,this.defaultFallback="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEyMCAxMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxMjAiIGZpbGw9IiNFRkYxRjMiLz48cGF0aCBkPSJNNTkuNCA2Mi44VjgwLjRINDguMlY0MS42SDYzLjRDNjcuMSA0MS42IDcwLjEgNDIuNiA3Mi40IDQ0LjdDNzQuNyA0Ni44IDc1LjggNDkuNiA3NS44IDUzQzc1LjggNTYuNSA3NC43IDU5LjIgNzIuNCA2MS4zQzcwLjIgNjMuNCA2Ny4yIDY0LjQgNjMuNCA2NC40SDU5LjRWNjIuOFpNNTkuNCA1NC42SDYzLjRDNjUgNTQuNiA2Ni4zIDU0LjEgNjcuMiA1M0M2OC4xIDUxLjkgNjguNiA1MC42IDY4LjYgNDlDNjguNiA0Ny41IDY4LjEgNDYuMiA2Ny4yIDQ1LjFDNjYuMyA0NCA2NSA0My40IDYzLjQgNDMuNEg1OS40VjU0LjZaIiBmaWxsPSIjNjg3Nzg3Ii8+PC9zdmc+"}handleError(){this.hasError=!0,this.dispatchEvent(new CustomEvent("nr-document-error",{bubbles:!0,composed:!0,detail:{error:`Error loading document: ${this.src}`,src:this.src,type:this.type}}))}handleLoad(){this.dispatchEvent(new CustomEvent("nr-document-load",{bubbles:!0,composed:!0,detail:{src:this.src,type:this.type}}))}showPreviewModal(){this.previewable&&!this.hasError&&(this.showPreview=!0,this.dispatchEvent(new CustomEvent("nr-document-preview-open",{bubbles:!0,composed:!0,detail:{src:this.src,type:this.type}})))}closePreviewModal(){this.showPreview=!1,this.dispatchEvent(new CustomEvent("nr-document-preview-close",{bubbles:!0,composed:!0,detail:{src:this.src,type:this.type}}))}render(){const e={"document-container":!0,"document--error":this.hasError},o={width:"number"==typeof this.width?`${this.width}px`:this.width,height:"number"==typeof this.height?`${this.height}px`:this.height};return this.hasError?i`
209
- <div class=${n(e)} style=${a(o)}>
210
- <div class="error-message">
209
+ `,b=function(e,t,i,o){for(var r,s=arguments.length,n=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o,a=e.length-1;a>=0;a--)(r=e[a])&&(n=(s<3?r(n):s>3?r(t,i,n):r(t,i))||n);return s>3&&n&&Object.defineProperty(t,i,n),n};let f=class extends((e=>l(d(h(m(e)))))(i)){constructor(){super(...arguments),this.type="pdf",this.width="auto",this.height="500px",this.previewable=!1,this.block=!1,this.showPreview=!1,this.hasError=!1,this.defaultFallback="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEyMCAxMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxMjAiIGZpbGw9IiNFRkYxRjMiLz48cGF0aCBkPSJNNTkuNCA2Mi44VjgwLjRINDguMlY0MS42SDYzLjRDNjcuMSA0MS42IDcwLjEgNDIuNiA3Mi40IDQ0LjdDNzQuNyA0Ni44IDc1LjggNDkuNiA3NS44IDUzQzc1LjggNTYuNSA3NC43IDU5LjIgNzIuNCA2MS4zQzcwLjIgNjMuNCA2Ny4yIDY0LjQgNjMuNCA2NC40SDU5LjRWNjIuOFpNNTkuNCA1NC42SDYzLjRDNjUgNTQuNiA2Ni4zIDU0LjEgNjcuMiA1M0M2OC4xIDUxLjkgNjguNiA1MC42IDY4LjYgNDlDNjguNiA0Ny41IDY4LjEgNDYuMiA2Ny4yIDQ1LjFDNjYuMyA0NCA2NSA0My40IDYzLjQgNDMuNEg1OS40VjU0LjZaIiBmaWxsPSIjNjg3Nzg3Ii8+PC9zdmc+"}handleError(){this.hasError=!0,this.dispatchEvent(new CustomEvent("nr-document-error",{bubbles:!0,composed:!0,detail:{error:`Error loading document: ${this.src}`,src:this.src,type:this.type}}))}handleLoad(){this.dispatchEvent(new CustomEvent("nr-document-load",{bubbles:!0,composed:!0,detail:{src:this.src,type:this.type}}))}showPreviewModal(){this.previewable&&!this.hasError&&(this.showPreview=!0,this.dispatchEvent(new CustomEvent("nr-document-preview-open",{bubbles:!0,composed:!0,detail:{src:this.src,type:this.type}})))}closePreviewModal(){this.showPreview=!1,this.dispatchEvent(new CustomEvent("nr-document-preview-close",{bubbles:!0,composed:!0,detail:{src:this.src,type:this.type}}))}render(){const e={"document-container":!0,"document--error":this.hasError},i={width:"number"==typeof this.width?`${this.width}px`:this.width,height:"number"==typeof this.height?`${this.height}px`:this.height};return this.hasError?t`
210
+ <div part="container" class=${n(e)} style=${a(i)}>
211
+ <div part="error-message" class="error-message">
211
212
  <img class="error-icon" src=${this.defaultFallback} alt="Document error" />
212
213
  <p>Unable to load document</p>
213
214
  </div>
214
215
  </div>
215
- `:i`
216
- <div class=${n(e)} style=${a(o)}>
216
+ `:t`
217
+ <div part="container" class=${n(e)} style=${a(i)}>
217
218
  <iframe
219
+ part="iframe"
218
220
  class="document-iframe"
219
221
  src=${this.src}
220
222
  @error=${this.handleError}
221
223
  @load=${this.handleLoad}
222
224
  title="Document viewer"
223
225
  ></iframe>
224
- ${this.previewable?i`
225
- <button class="preview-button" @click=${this.showPreviewModal}>
226
+ ${this.previewable?t`
227
+ <button part="preview-button" class="preview-button" @click=${this.showPreviewModal}>
226
228
  <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
227
229
  <path d="M5.5 5.5A.5.5 0 0 1 6 6v3a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0V6z"/>
228
230
  <path d="M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zM1 2a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2z"/>
@@ -230,13 +232,13 @@ import{css as e,LitElement as o,html as i}from"lit";import{property as t,state a
230
232
  Fullscreen
231
233
  </button>
232
234
  `:""}
233
- ${this.showPreview?i`
234
- <div class="preview-modal">
235
+ ${this.showPreview?t`
236
+ <div part="preview-modal" class="preview-modal">
235
237
  <div class="preview-header">
236
- <button class="preview-close" @click=${this.closePreviewModal} aria-label="Close preview">×</button>
238
+ <button part="preview-close" class="preview-close" @click=${this.closePreviewModal} aria-label="Close preview">×</button>
237
239
  </div>
238
240
  <iframe src=${this.src} title="Document viewer fullscreen"></iframe>
239
241
  </div>
240
242
  `:""}
241
243
  </div>
242
- `}};p.styles=l,c([t({type:String})],p.prototype,"src",void 0),c([t({type:String})],p.prototype,"type",void 0),c([t({type:String})],p.prototype,"width",void 0),c([t({type:String})],p.prototype,"height",void 0),c([t({type:Boolean})],p.prototype,"previewable",void 0),c([t({type:Boolean,reflect:!0})],p.prototype,"block",void 0),c([r()],p.prototype,"showPreview",void 0),c([r()],p.prototype,"hasError",void 0),p=c([s("nr-document")],p);export{p as NrDocumentElement};
244
+ `}};f.styles=v,f.useShadowDom=!0,b([o({type:String})],f.prototype,"src",void 0),b([o({type:String})],f.prototype,"type",void 0),b([o({type:String})],f.prototype,"width",void 0),b([o({type:String})],f.prototype,"height",void 0),b([o({type:Boolean})],f.prototype,"previewable",void 0),b([o({type:Boolean,reflect:!0})],f.prototype,"block",void 0),b([r()],f.prototype,"showPreview",void 0),b([r()],f.prototype,"hasError",void 0),f=b([s("nr-document")],f);export{f as NrDocumentElement};
@@ -1,8 +1,19 @@
1
1
  import { LitElement } from "lit";
2
2
  import { DocumentType } from "./document.types.js";
3
- declare const NrDocumentElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & typeof LitElement;
3
+ declare const NrDocumentElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement;
4
+ /**
5
+ * Document viewer component for embedding PDFs and other documents via iframe.
6
+ *
7
+ * @csspart container - The root wrapper div of the document viewer
8
+ * @csspart iframe - The native iframe element rendering the document
9
+ * @csspart preview-button - The button that opens the fullscreen preview modal
10
+ * @csspart preview-modal - The fullscreen preview overlay
11
+ * @csspart preview-close - The close button inside the preview modal
12
+ * @csspart error-message - The error state container shown when the document fails to load
13
+ */
4
14
  export declare class NrDocumentElement extends NrDocumentElement_base {
5
15
  static styles: import("lit").CSSResult;
16
+ static useShadowDom: boolean;
6
17
  src: string;
7
18
  type: DocumentType;
8
19
  width: string;
@@ -10,6 +10,16 @@ import { classMap } from "lit/directives/class-map.js";
10
10
  import { styleMap } from "lit/directives/style-map.js";
11
11
  import { NuralyUIBaseMixin } from '@nuralyui/common/mixins';
12
12
  import styles from "./document.style.js";
13
+ /**
14
+ * Document viewer component for embedding PDFs and other documents via iframe.
15
+ *
16
+ * @csspart container - The root wrapper div of the document viewer
17
+ * @csspart iframe - The native iframe element rendering the document
18
+ * @csspart preview-button - The button that opens the fullscreen preview modal
19
+ * @csspart preview-modal - The fullscreen preview overlay
20
+ * @csspart preview-close - The close button inside the preview modal
21
+ * @csspart error-message - The error state container shown when the document fails to load
22
+ */
13
23
  let NrDocumentElement = class NrDocumentElement extends NuralyUIBaseMixin(LitElement) {
14
24
  constructor() {
15
25
  super(...arguments);
@@ -66,8 +76,8 @@ let NrDocumentElement = class NrDocumentElement extends NuralyUIBaseMixin(LitEle
66
76
  };
67
77
  if (this.hasError) {
68
78
  return html `
69
- <div class=${classMap(containerClasses)} style=${styleMap(containerStyles)}>
70
- <div class="error-message">
79
+ <div part="container" class=${classMap(containerClasses)} style=${styleMap(containerStyles)}>
80
+ <div part="error-message" class="error-message">
71
81
  <img class="error-icon" src=${this.defaultFallback} alt="Document error" />
72
82
  <p>Unable to load document</p>
73
83
  </div>
@@ -75,8 +85,9 @@ let NrDocumentElement = class NrDocumentElement extends NuralyUIBaseMixin(LitEle
75
85
  `;
76
86
  }
77
87
  return html `
78
- <div class=${classMap(containerClasses)} style=${styleMap(containerStyles)}>
88
+ <div part="container" class=${classMap(containerClasses)} style=${styleMap(containerStyles)}>
79
89
  <iframe
90
+ part="iframe"
80
91
  class="document-iframe"
81
92
  src=${this.src}
82
93
  @error=${this.handleError}
@@ -84,7 +95,7 @@ let NrDocumentElement = class NrDocumentElement extends NuralyUIBaseMixin(LitEle
84
95
  title="Document viewer"
85
96
  ></iframe>
86
97
  ${this.previewable ? html `
87
- <button class="preview-button" @click=${this.showPreviewModal}>
98
+ <button part="preview-button" class="preview-button" @click=${this.showPreviewModal}>
88
99
  <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
89
100
  <path d="M5.5 5.5A.5.5 0 0 1 6 6v3a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0V6z"/>
90
101
  <path d="M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zM1 2a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2z"/>
@@ -93,9 +104,9 @@ let NrDocumentElement = class NrDocumentElement extends NuralyUIBaseMixin(LitEle
93
104
  </button>
94
105
  ` : ''}
95
106
  ${this.showPreview ? html `
96
- <div class="preview-modal">
107
+ <div part="preview-modal" class="preview-modal">
97
108
  <div class="preview-header">
98
- <button class="preview-close" @click=${this.closePreviewModal} aria-label="Close preview">×</button>
109
+ <button part="preview-close" class="preview-close" @click=${this.closePreviewModal} aria-label="Close preview">×</button>
99
110
  </div>
100
111
  <iframe src=${this.src} title="Document viewer fullscreen"></iframe>
101
112
  </div>
@@ -105,6 +116,7 @@ let NrDocumentElement = class NrDocumentElement extends NuralyUIBaseMixin(LitEle
105
116
  }
106
117
  };
107
118
  NrDocumentElement.styles = styles;
119
+ NrDocumentElement.useShadowDom = true;
108
120
  __decorate([
109
121
  property({ type: String })
110
122
  ], NrDocumentElement.prototype, "src", void 0);
@@ -4,6 +4,11 @@ export default css `
4
4
  display: block;
5
5
  }
6
6
 
7
+ :host([block]) {
8
+ display: block;
9
+ width: 100%;
10
+ }
11
+
7
12
  .document-container {
8
13
  width: 100%;
9
14
  height: 100%;
@@ -55,7 +60,7 @@ export default css `
55
60
  .preview-button:hover {
56
61
  background-color: #fff;
57
62
  }
58
-
63
+
59
64
  .pdf-container {
60
65
  display: flex;
61
66
  flex-direction: column;
@@ -65,7 +70,7 @@ export default css `
65
70
  background-color: #f5f5f5;
66
71
  position: relative;
67
72
  }
68
-
73
+
69
74
  .toolbar {
70
75
  display: flex;
71
76
  align-items: center;
@@ -74,7 +79,7 @@ export default css `
74
79
  border-bottom: 1px solid #ddd;
75
80
  gap: 8px;
76
81
  }
77
-
82
+
78
83
  .toolbar button {
79
84
  background-color: #fff;
80
85
  border: 1px solid #ccc;
@@ -83,21 +88,10 @@ export default css `
83
88
  cursor: pointer;
84
89
  font-size: 14px;
85
90
  }
86
-
87
- .toolbar button:hover {
88
- background-color: #e6e6e6;
89
- }
90
-
91
- .toolbar button:disabled {
92
- opacity: 0.5;
93
- cursor: not-allowed;
94
- }
95
-
96
- .toolbar span {
97
- margin: 0 4px;
98
- font-size: 14px;
99
- }
100
-
91
+ .toolbar button:hover { background-color: #e6e6e6; }
92
+ .toolbar button:disabled { opacity: 0.5; cursor: not-allowed; }
93
+ .toolbar span { margin: 0 4px; font-size: 14px; }
94
+
101
95
  .canvas-container {
102
96
  flex: 1;
103
97
  overflow: auto;
@@ -108,12 +102,12 @@ export default css `
108
102
  padding: 16px;
109
103
  min-height: 200px;
110
104
  }
111
-
105
+
112
106
  canvas {
113
107
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
114
108
  background-color: white;
115
109
  }
116
-
110
+
117
111
  .preview-modal {
118
112
  position: fixed;
119
113
  top: 0;
@@ -132,7 +126,7 @@ export default css `
132
126
  height: 100%;
133
127
  border: none;
134
128
  }
135
-
129
+
136
130
  .preview-content {
137
131
  position: relative;
138
132
  display: flex;
@@ -143,7 +137,7 @@ export default css `
143
137
  border-radius: 8px;
144
138
  overflow: hidden;
145
139
  }
146
-
140
+
147
141
  .preview-toolbar {
148
142
  display: flex;
149
143
  align-items: center;
@@ -152,7 +146,6 @@ export default css `
152
146
  border-bottom: 1px solid #ddd;
153
147
  gap: 12px;
154
148
  }
155
-
156
149
  .preview-toolbar button {
157
150
  background-color: #fff;
158
151
  border: 1px solid #ccc;
@@ -161,12 +154,8 @@ export default css `
161
154
  cursor: pointer;
162
155
  font-size: 16px;
163
156
  }
164
-
165
- .preview-toolbar span {
166
- margin: 0 6px;
167
- font-size: 16px;
168
- }
169
-
157
+ .preview-toolbar span { margin: 0 6px; font-size: 16px; }
158
+
170
159
  .preview-close {
171
160
  position: absolute;
172
161
  top: 10px;
@@ -184,11 +173,7 @@ export default css `
184
173
  align-items: center;
185
174
  justify-content: center;
186
175
  }
187
-
188
- .preview-close:hover {
189
- background-color: #fff;
190
- color: #000;
191
- }
176
+ .preview-close:hover { background-color: #fff; color: #000; }
192
177
 
193
178
  .preview-header {
194
179
  position: absolute;
@@ -197,10 +182,10 @@ export default css `
197
182
  z-index: 1010;
198
183
  padding: 10px;
199
184
  }
200
-
185
+
201
186
  .preview-modal canvas {
202
187
  max-width: 100%;
203
- max-height: calc(100% - 60px); /* Account for toolbar height */
188
+ max-height: calc(100% - 60px);
204
189
  object-fit: contain;
205
190
  margin: auto;
206
191
  display: block;