@aquera/nile-elements 0.1.53 → 0.1.55-beta-1.0

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 (372) hide show
  1. package/README.md +3 -0
  2. package/dist/{fixture-fe6c932e.cjs.js → fixture-3330277d.cjs.js} +2 -2
  3. package/dist/{fixture-fe6c932e.cjs.js.map → fixture-3330277d.cjs.js.map} +1 -1
  4. package/dist/{fixture-e7023246.esm.js → fixture-588a3119.esm.js} +1 -1
  5. package/dist/index.js +5 -3
  6. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  7. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  8. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  9. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  10. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  11. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  12. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  13. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  14. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  15. package/dist/nile-button/nile-button.test.esm.js +1 -1
  16. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  17. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  18. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  19. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  20. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  21. package/dist/nile-card/nile-card.test.esm.js +1 -1
  22. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  23. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  24. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  25. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  26. package/dist/nile-code-editor/theme.cjs.js +1 -1
  27. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  28. package/dist/nile-code-editor/theme.esm.js +1 -1
  29. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  30. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  31. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  32. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  33. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  34. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  35. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  36. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  37. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  38. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  39. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  40. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  41. package/dist/nile-error-notification/nile-error-notification.esm.js +4 -2
  42. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  43. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  44. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  45. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  46. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  47. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  48. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  49. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  50. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  51. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  52. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  53. package/dist/nile-input/nile-input.test.esm.js +1 -1
  54. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  55. package/dist/nile-link/nile-link.test.esm.js +1 -1
  56. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  57. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  58. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  59. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  60. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  61. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  62. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  63. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  64. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  65. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  66. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  67. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  68. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  69. package/dist/nile-select/nile-select.test.esm.js +1 -1
  70. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  71. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  72. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  73. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  74. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  75. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  76. package/dist/src/nile-code-editor/theme.d.ts +17 -1
  77. package/dist/src/nile-code-editor/theme.js +27 -11
  78. package/dist/src/nile-code-editor/theme.js.map +1 -1
  79. package/dist/src/nile-error-notification/nile-error-notification.js +4 -2
  80. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  81. package/dist/src/nile-file-preview/index.d.ts +1 -0
  82. package/dist/src/nile-file-preview/index.js +2 -0
  83. package/dist/src/nile-file-preview/index.js.map +1 -0
  84. package/dist/src/nile-file-preview/nile-file-preview.css.d.ts +12 -0
  85. package/dist/src/nile-file-preview/nile-file-preview.css.js +524 -0
  86. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -0
  87. package/dist/src/nile-file-preview/nile-file-preview.d.ts +50 -0
  88. package/dist/src/nile-file-preview/nile-file-preview.js +171 -0
  89. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -0
  90. package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +13 -0
  91. package/dist/src/nile-file-preview/nile-file-preview.template.js +205 -0
  92. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -0
  93. package/dist/src/nile-file-preview/nile-file-preview.test.d.ts +7 -0
  94. package/dist/src/nile-file-preview/nile-file-preview.test.js +30 -0
  95. package/dist/src/nile-file-preview/nile-file-preview.test.js.map +1 -0
  96. package/dist/src/nile-file-preview/types/index.d.ts +2 -0
  97. package/dist/src/nile-file-preview/types/index.js +3 -0
  98. package/dist/src/nile-file-preview/types/index.js.map +1 -0
  99. package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +27 -0
  100. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +32 -0
  101. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -0
  102. package/dist/src/nile-file-preview/types/nile-file-preview.interface.d.ts +4 -0
  103. package/dist/src/nile-file-preview/types/nile-file-preview.interface.js +2 -0
  104. package/dist/src/nile-file-preview/types/nile-file-preview.interface.js.map +1 -0
  105. package/dist/src/nile-file-preview/utils/index.d.ts +1 -0
  106. package/dist/src/nile-file-preview/utils/index.js +2 -0
  107. package/dist/src/nile-file-preview/utils/index.js.map +1 -0
  108. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +5 -0
  109. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +50 -0
  110. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -0
  111. package/dist/src/nile-file-upload/index.d.ts +1 -0
  112. package/dist/src/nile-file-upload/index.js +2 -0
  113. package/dist/src/nile-file-upload/index.js.map +1 -0
  114. package/dist/src/nile-file-upload/nile-file-upload.css.d.ts +12 -0
  115. package/dist/src/nile-file-upload/nile-file-upload.css.js +550 -0
  116. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -0
  117. package/dist/src/nile-file-upload/nile-file-upload.d.ts +48 -0
  118. package/dist/src/nile-file-upload/nile-file-upload.js +162 -0
  119. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -0
  120. package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +10 -0
  121. package/dist/src/nile-file-upload/nile-file-upload.template.js +117 -0
  122. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -0
  123. package/dist/src/nile-file-upload/nile-file-upload.test.d.ts +7 -0
  124. package/dist/src/nile-file-upload/nile-file-upload.test.js +30 -0
  125. package/dist/src/nile-file-upload/nile-file-upload.test.js.map +1 -0
  126. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +36 -0
  127. package/dist/src/nile-file-upload/types/file-upload.enums.js +43 -0
  128. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -0
  129. package/dist/src/nile-file-upload/types/file-upload.type.d.ts +4 -0
  130. package/dist/src/nile-file-upload/types/file-upload.type.js +2 -0
  131. package/dist/src/nile-file-upload/types/file-upload.type.js.map +1 -0
  132. package/dist/src/nile-file-upload/types/index.d.ts +2 -0
  133. package/dist/src/nile-file-upload/types/index.js +3 -0
  134. package/dist/src/nile-file-upload/types/index.js.map +1 -0
  135. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +21 -0
  136. package/dist/src/nile-file-upload/utils/drag-drop.util.js +82 -0
  137. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -0
  138. package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +13 -0
  139. package/dist/src/nile-file-upload/utils/file-validation.util.js +148 -0
  140. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -0
  141. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +5 -0
  142. package/dist/src/nile-icon/icons/svg/ng-activity.js +5 -0
  143. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +1 -0
  144. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +5 -0
  145. package/dist/src/nile-icon/icons/svg/ng-align-center.js +5 -0
  146. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +1 -0
  147. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +5 -0
  148. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +5 -0
  149. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +1 -0
  150. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +5 -0
  151. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +5 -0
  152. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +1 -0
  153. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +5 -0
  154. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +5 -0
  155. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +1 -0
  156. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +5 -0
  157. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +5 -0
  158. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +1 -0
  159. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +5 -0
  160. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +5 -0
  161. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +1 -0
  162. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +5 -0
  163. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +5 -0
  164. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +1 -0
  165. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +5 -0
  166. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +5 -0
  167. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +1 -0
  168. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +5 -0
  169. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +5 -0
  170. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +1 -0
  171. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +5 -0
  172. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +5 -0
  173. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +1 -0
  174. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +5 -0
  175. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +5 -0
  176. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +1 -0
  177. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +5 -0
  178. package/dist/src/nile-icon/icons/svg/ng-calendar.js +5 -0
  179. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +1 -0
  180. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +5 -0
  181. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +5 -0
  182. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +1 -0
  183. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +5 -0
  184. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +5 -0
  185. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +1 -0
  186. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +5 -0
  187. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +5 -0
  188. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +1 -0
  189. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +5 -0
  190. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +5 -0
  191. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +1 -0
  192. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +5 -0
  193. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +5 -0
  194. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +1 -0
  195. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +5 -0
  196. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +5 -0
  197. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +1 -0
  198. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +5 -0
  199. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +5 -0
  200. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +1 -0
  201. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +5 -0
  202. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +5 -0
  203. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +1 -0
  204. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +5 -0
  205. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +5 -0
  206. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +1 -0
  207. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +5 -0
  208. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +5 -0
  209. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +1 -0
  210. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +5 -0
  211. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +5 -0
  212. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +1 -0
  213. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +5 -0
  214. package/dist/src/nile-icon/icons/svg/ng-download-01.js +5 -0
  215. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +1 -0
  216. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +5 -0
  217. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +5 -0
  218. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +1 -0
  219. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +5 -0
  220. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +5 -0
  221. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +1 -0
  222. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +5 -0
  223. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +5 -0
  224. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +1 -0
  225. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +5 -0
  226. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +5 -0
  227. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +1 -0
  228. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +5 -0
  229. package/dist/src/nile-icon/icons/svg/ng-file-02.js +5 -0
  230. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +1 -0
  231. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +5 -0
  232. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +5 -0
  233. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +1 -0
  234. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +5 -0
  235. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +5 -0
  236. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +1 -0
  237. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +5 -0
  238. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +5 -0
  239. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +1 -0
  240. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +5 -0
  241. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +5 -0
  242. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +1 -0
  243. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +5 -0
  244. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +5 -0
  245. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +1 -0
  246. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +5 -0
  247. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +5 -0
  248. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +1 -0
  249. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +5 -0
  250. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +5 -0
  251. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +1 -0
  252. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +5 -0
  253. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +5 -0
  254. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +1 -0
  255. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +5 -0
  256. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +5 -0
  257. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +1 -0
  258. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +5 -0
  259. package/dist/src/nile-icon/icons/svg/ng-list.js +5 -0
  260. package/dist/src/nile-icon/icons/svg/ng-list.js.map +1 -0
  261. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +5 -0
  262. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +5 -0
  263. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +1 -0
  264. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +5 -0
  265. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +5 -0
  266. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +1 -0
  267. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +5 -0
  268. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +5 -0
  269. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +1 -0
  270. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +5 -0
  271. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +5 -0
  272. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +1 -0
  273. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +5 -0
  274. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +5 -0
  275. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +1 -0
  276. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +5 -0
  277. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +5 -0
  278. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +1 -0
  279. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +5 -0
  280. package/dist/src/nile-icon/icons/svg/ng-plus.js +5 -0
  281. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +1 -0
  282. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +5 -0
  283. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +5 -0
  284. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +1 -0
  285. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +5 -0
  286. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +5 -0
  287. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +1 -0
  288. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +5 -0
  289. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +5 -0
  290. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +1 -0
  291. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +5 -0
  292. package/dist/src/nile-icon/icons/svg/ng-send-01.js +5 -0
  293. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +1 -0
  294. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +5 -0
  295. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +5 -0
  296. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +1 -0
  297. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +5 -0
  298. package/dist/src/nile-icon/icons/svg/ng-share-04.js +5 -0
  299. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +1 -0
  300. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +5 -0
  301. package/dist/src/nile-icon/icons/svg/ng-share-06.js +5 -0
  302. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +1 -0
  303. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +5 -0
  304. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +5 -0
  305. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +1 -0
  306. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +5 -0
  307. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +5 -0
  308. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +1 -0
  309. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +5 -0
  310. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +5 -0
  311. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +1 -0
  312. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +5 -0
  313. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +5 -0
  314. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +1 -0
  315. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +5 -0
  316. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +5 -0
  317. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +1 -0
  318. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +5 -0
  319. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +5 -0
  320. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +1 -0
  321. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +5 -0
  322. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +5 -0
  323. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +1 -0
  324. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +5 -0
  325. package/dist/src/nile-icon/icons/svg/ng-user-01.js +5 -0
  326. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +1 -0
  327. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +5 -0
  328. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +5 -0
  329. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +1 -0
  330. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +5 -0
  331. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +5 -0
  332. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +1 -0
  333. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +5 -0
  334. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +5 -0
  335. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +1 -0
  336. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +5 -0
  337. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +5 -0
  338. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +1 -0
  339. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +5 -0
  340. package/dist/src/nile-icon/icons/svg/ng-users-01.js +5 -0
  341. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +1 -0
  342. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +5 -0
  343. package/dist/src/nile-icon/icons/svg/ng-x-close.js +5 -0
  344. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +1 -0
  345. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +5 -0
  346. package/dist/src/nile-icon/icons/svg/ng-x-square.js +5 -0
  347. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +1 -0
  348. package/dist/src/nile-slider/index.d.ts +1 -0
  349. package/dist/src/nile-slider/index.js +2 -0
  350. package/dist/src/nile-slider/index.js.map +1 -0
  351. package/dist/src/nile-slider/nile-slider.css.d.ts +12 -0
  352. package/dist/src/nile-slider/nile-slider.css.js +110 -0
  353. package/dist/src/nile-slider/nile-slider.css.js.map +1 -0
  354. package/dist/src/nile-slider/nile-slider.d.ts +47 -0
  355. package/dist/src/nile-slider/nile-slider.js +181 -0
  356. package/dist/src/nile-slider/nile-slider.js.map +1 -0
  357. package/dist/src/nile-slider/nile-slider.template.d.ts +5 -0
  358. package/dist/src/nile-slider/nile-slider.template.js +44 -0
  359. package/dist/src/nile-slider/nile-slider.template.js.map +1 -0
  360. package/dist/src/nile-slider/types/nile-slider.enums.d.ts +10 -0
  361. package/dist/src/nile-slider/types/nile-slider.enums.js +2 -0
  362. package/dist/src/nile-slider/types/nile-slider.enums.js.map +1 -0
  363. package/dist/src/nile-slider/types/nile-slider.types.d.ts +1 -0
  364. package/dist/src/nile-slider/types/nile-slider.types.js +2 -0
  365. package/dist/src/nile-slider/types/nile-slider.types.js.map +1 -0
  366. package/dist/src/nile-slider/utils/nile-slider.utils.d.ts +11 -0
  367. package/dist/src/nile-slider/utils/nile-slider.utils.js +86 -0
  368. package/dist/src/nile-slider/utils/nile-slider.utils.js.map +1 -0
  369. package/dist/tsconfig.tsbuildinfo +1 -1
  370. package/package.json +1 -1
  371. package/src/nile-code-editor/theme.ts +27 -11
  372. package/src/nile-error-notification/nile-error-notification.ts +4 -3
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { __decorate } from "tslib";
8
+ import { styles } from './nile-file-preview.css';
9
+ import NileElement from '../internal/nile-element';
10
+ import { customElement, property } from 'lit/decorators.js';
11
+ import { generatePreviewUrl } from './utils';
12
+ import { FilePreviewState, FilePreviewVariant, FilePreviewErrorMessages, FilePreviewEvent } from './types';
13
+ import { html } from 'lit';
14
+ import { getHorizontalErrorState, getHorizontalNoPreviewState, getHorizontalPreviewState, getHorizontalUploadingState, getVerticalErrorState, getVerticalNoPreviewState, getVerticalPreviewState, getVerticalUploadingState } from './nile-file-preview.template';
15
+ /**
16
+ * Nile preview component.
17
+ *
18
+ * @tag nile-preview
19
+ *
20
+ */
21
+ let NileFilePreview = class NileFilePreview extends NileElement {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.errorMessage = "";
25
+ this.fileUrl = "";
26
+ this.uploadStatus = 0;
27
+ this.allowedTypes = [];
28
+ this.state = FilePreviewState.DEFAULT;
29
+ this.variant = FilePreviewVariant.HORIZONTAL;
30
+ this.inputFileName = "";
31
+ this.inputFileHtml = null;
32
+ this.originalUrl = "";
33
+ this.dummyFile = new File(['sdfjbs ewhf'], "dummy.txt", { type: "text/plain" });
34
+ /* #endregion */
35
+ }
36
+ /**
37
+ * The styles for nile-preview
38
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
39
+ */
40
+ static get styles() {
41
+ return [styles];
42
+ }
43
+ /**
44
+ * Render method
45
+ * @slot This is a slot test
46
+ */
47
+ connectedCallback() {
48
+ super.connectedCallback();
49
+ this.emit(FilePreviewEvent.NILE_INIT);
50
+ }
51
+ updated(changedProperties) {
52
+ if (changedProperties.has('uploadStatus') && this.uploadStatus) {
53
+ if (this.uploadStatus < 100) {
54
+ this.createUploadState(this.inputFile, this.uploadStatus);
55
+ }
56
+ else {
57
+ this.createState(this.inputFile);
58
+ }
59
+ }
60
+ else if (changedProperties.has('inputFile') && this.inputFile) {
61
+ this.createState(this.inputFile);
62
+ this.emit(FilePreviewEvent.NILE_RECEIVE);
63
+ }
64
+ else if (changedProperties.has('fileUrl') && this.fileUrl) {
65
+ this.handleFileUrl(this.fileUrl);
66
+ this.emit(FilePreviewEvent.NILE_RECEIVE);
67
+ }
68
+ else if (changedProperties.has('errorMessage')) {
69
+ this.createState(this.inputFile);
70
+ }
71
+ }
72
+ createUploadState(file, uploadStatus) {
73
+ const isHorizontal = this.variant === FilePreviewVariant.HORIZONTAL;
74
+ this.inputFileHtml = isHorizontal
75
+ ? getHorizontalUploadingState(file, uploadStatus)
76
+ : getVerticalUploadingState(file, uploadStatus);
77
+ this.requestUpdate();
78
+ }
79
+ async handleFileUrl(url) {
80
+ this.originalUrl = url;
81
+ try {
82
+ const response = await fetch(url);
83
+ const blob = await response.blob();
84
+ const fileName = this.inputFileName || url.split('/').pop() || FilePreviewErrorMessages.UNKNOWN_FILE_NAME;
85
+ const file = new File([blob], fileName, { type: blob.type });
86
+ this.createState(file);
87
+ }
88
+ catch (error) {
89
+ const dummyFile = new File([], this.inputFileName || FilePreviewErrorMessages.UNKNOWN_FILE_NAME, { type: 'application/octet-stream' });
90
+ this.errorMessage = FilePreviewErrorMessages.FAILED_TO_LOAD;
91
+ console.error(this.errorMessage);
92
+ this.inputFileHtml = this.variant === FilePreviewVariant.HORIZONTAL
93
+ ? getHorizontalErrorState(dummyFile, this.errorMessage, this.originalUrl)
94
+ : getVerticalErrorState(dummyFile, this.errorMessage, this.originalUrl);
95
+ this.requestUpdate();
96
+ }
97
+ }
98
+ async createState(file) {
99
+ const isHorizontal = this.variant === FilePreviewVariant.HORIZONTAL;
100
+ if (this.allowedTypes.includes(file.type) && !this.errorMessage) {
101
+ if (file.type.startsWith('image/')) {
102
+ try {
103
+ const url = await generatePreviewUrl(file);
104
+ this.inputFileHtml = isHorizontal
105
+ ? getHorizontalPreviewState(url, file, this.originalUrl)
106
+ : getVerticalPreviewState(url, file, this.originalUrl);
107
+ }
108
+ catch (error) {
109
+ this.inputFileHtml = isHorizontal
110
+ ? getHorizontalNoPreviewState(file, this.originalUrl)
111
+ : getVerticalNoPreviewState(file, this.originalUrl);
112
+ }
113
+ }
114
+ else {
115
+ this.inputFileHtml = isHorizontal
116
+ ? getHorizontalNoPreviewState(file, this.originalUrl)
117
+ : getVerticalNoPreviewState(file, this.originalUrl);
118
+ }
119
+ }
120
+ else {
121
+ this.errorMessage = !this.errorMessage
122
+ ? FilePreviewErrorMessages.INVALID_FORMAT
123
+ : FilePreviewErrorMessages.UPLOAD_CANCEL;
124
+ this.inputFileHtml = isHorizontal
125
+ ? getHorizontalErrorState(file, this.errorMessage, this.originalUrl)
126
+ : getVerticalErrorState(file, this.errorMessage, this.originalUrl);
127
+ }
128
+ this.requestUpdate();
129
+ }
130
+ render() {
131
+ return html `
132
+ ${this.inputFileHtml ?
133
+ this.inputFileHtml :
134
+ html ``}
135
+ `;
136
+ }
137
+ disconnectedCallback() {
138
+ super.disconnectedCallback();
139
+ this.emit(FilePreviewEvent.NILE_DESTROY);
140
+ }
141
+ };
142
+ __decorate([
143
+ property({ type: String })
144
+ ], NileFilePreview.prototype, "errorMessage", void 0);
145
+ __decorate([
146
+ property({ type: Object })
147
+ ], NileFilePreview.prototype, "inputFile", void 0);
148
+ __decorate([
149
+ property({ type: String })
150
+ ], NileFilePreview.prototype, "fileUrl", void 0);
151
+ __decorate([
152
+ property({ type: Number })
153
+ ], NileFilePreview.prototype, "uploadStatus", void 0);
154
+ __decorate([
155
+ property({ type: Array })
156
+ ], NileFilePreview.prototype, "allowedTypes", void 0);
157
+ __decorate([
158
+ property({ type: String })
159
+ ], NileFilePreview.prototype, "state", void 0);
160
+ __decorate([
161
+ property({ type: String })
162
+ ], NileFilePreview.prototype, "variant", void 0);
163
+ __decorate([
164
+ property({ type: String })
165
+ ], NileFilePreview.prototype, "inputFileName", void 0);
166
+ NileFilePreview = __decorate([
167
+ customElement('nile-file-preview')
168
+ ], NileFilePreview);
169
+ export { NileFilePreview };
170
+ export default NileFilePreview;
171
+ //# sourceMappingURL=nile-file-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-file-preview.js","sourceRoot":"","sources":["../../../src/nile-file-preview/nile-file-preview.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\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 {styles} from './nile-file-preview.css';\nimport NileElement from '../internal/nile-element';\nimport { customElement, property } from 'lit/decorators.js';\nimport { generatePreviewUrl } from './utils';\nimport { FilePreviewState, FilePreviewVariant, FilePreviewErrorMessages, FilePreviewEvent } from './types';\nimport { LitElement, html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport {\n getHorizontalErrorState,\n getHorizontalNoPreviewState,\n getHorizontalPreviewState,\n getHorizontalUploadingState,\n getVerticalErrorState,\n getVerticalNoPreviewState,\n getVerticalPreviewState,\n getVerticalUploadingState\n} from './nile-file-preview.template';\n\n\n/**\n * Nile preview component.\n *\n * @tag nile-preview\n *\n */\n@customElement('nile-file-preview')\nexport class NileFilePreview extends NileElement {\n /**\n * The styles for nile-preview\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: String }) errorMessage: string = \"\";\n\t@property({ type: Object }) inputFile: File; \n\t@property({ type: String }) fileUrl: string = \"\";\n\t@property({ type: Number }) uploadStatus: number = 0;\n @property({ type: Array }) allowedTypes: string[] = [];\n\t@property({ type: String }) state: FilePreviewState = FilePreviewState.DEFAULT;\n\t@property({ type: String }) variant: FilePreviewVariant = FilePreviewVariant.HORIZONTAL;\n @property({ type: String }) inputFileName: string = \"\";\n\tprivate inputFileHtml: TemplateResult | null = null;\n private originalUrl: string = \"\";\n\n /**\n * Render method\n * @slot This is a slot test\n */\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit(FilePreviewEvent.NILE_INIT);\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if(changedProperties.has('uploadStatus') && this.uploadStatus) {\n if(this.uploadStatus < 100) {\n this.createUploadState(this.inputFile, this.uploadStatus);\n } else {\n this.createState(this.inputFile);\n }\n } else if (changedProperties.has('inputFile') && this.inputFile) {\n this.createState(this.inputFile); \n this.emit(FilePreviewEvent.NILE_RECEIVE);\n\n } else if (changedProperties.has('fileUrl') && this.fileUrl) {\n this.handleFileUrl(this.fileUrl);\n this.emit(FilePreviewEvent.NILE_RECEIVE);\n\n } else if (changedProperties.has('errorMessage')) {\n this.createState(this.inputFile);\n }\n }\n\n private createUploadState( file: File, uploadStatus: number): void {\n const isHorizontal = this.variant === FilePreviewVariant.HORIZONTAL;\n\n this.inputFileHtml = isHorizontal \n ? getHorizontalUploadingState(file, uploadStatus)\n : getVerticalUploadingState(file, uploadStatus);\n\n this.requestUpdate();\n }\n\n private async handleFileUrl(url: string): Promise<void> {\n this.originalUrl = url;\n try {\n const response = await fetch(url);\n const blob = await response.blob();\n const fileName = this.inputFileName || url.split('/').pop() || FilePreviewErrorMessages.UNKNOWN_FILE_NAME;\n const file = new File([blob], fileName, { type: blob.type });\n\n this.createState(file);\n } catch (error) {\n const dummyFile = new File([], this.inputFileName || FilePreviewErrorMessages.UNKNOWN_FILE_NAME, { type: 'application/octet-stream' });\n this.errorMessage = FilePreviewErrorMessages.FAILED_TO_LOAD;\n console.error(this.errorMessage);\n\n this.inputFileHtml = this.variant === FilePreviewVariant.HORIZONTAL\n ? getHorizontalErrorState(dummyFile, this.errorMessage, this.originalUrl)\n : getVerticalErrorState(dummyFile, this.errorMessage, this.originalUrl);\n this.requestUpdate();\n }\n }\n\n\tpublic async createState(file: File): Promise<void> {\n const isHorizontal = this.variant === FilePreviewVariant.HORIZONTAL;\n\n if (this.allowedTypes.includes(file.type) && !this.errorMessage) { \n if (file.type.startsWith('image/')) {\n try {\n const url = await generatePreviewUrl(file);\n this.inputFileHtml = isHorizontal\n ? getHorizontalPreviewState(url, file, this.originalUrl)\n : getVerticalPreviewState(url, file, this.originalUrl);\n } catch (error) {\n this.inputFileHtml = isHorizontal\n ? getHorizontalNoPreviewState(file, this.originalUrl)\n : getVerticalNoPreviewState(file, this.originalUrl); \n }\n } else {\n this.inputFileHtml = isHorizontal\n ? getHorizontalNoPreviewState(file, this.originalUrl)\n : getVerticalNoPreviewState(file, this.originalUrl);\n }\n } else {\n this.errorMessage = !this.errorMessage\n ? FilePreviewErrorMessages.INVALID_FORMAT\n : FilePreviewErrorMessages.UPLOAD_CANCEL;\n\n this.inputFileHtml = isHorizontal\n ? getHorizontalErrorState(file, this.errorMessage, this.originalUrl)\n : getVerticalErrorState(file, this.errorMessage, this.originalUrl);\n }\n this.requestUpdate();\n }\n\n private dummyFile = new File(['sdfjbs ewhf'], \"dummy.txt\", { type: \"text/plain\" });\n\n public render(): TemplateResult {\n return html`\n\t\t\t${this.inputFileHtml ?\n\t\t\t\tthis.inputFileHtml :\n\t\t\t\thtml``\n\t\t\t}\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.emit(FilePreviewEvent.NILE_DESTROY);\n }\n\n /* #endregion */\n}\n\nexport default NileFilePreview;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-file-preview': NileFilePreview;\n }\n}"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Template File for nile-preview component
3
+ */
4
+ import './nile-file-preview.css';
5
+ import { TemplateResult } from 'lit';
6
+ export declare function getHorizontalUploadingState(file: File, uploadStatus: number): TemplateResult;
7
+ export declare function getHorizontalPreviewState(url: string, file: File, originalUrl: string): TemplateResult;
8
+ export declare function getHorizontalNoPreviewState(file: File, originalUrl: string): TemplateResult;
9
+ export declare function getHorizontalErrorState(file: File, errorMessage: string, originalUrl: string): TemplateResult;
10
+ export declare function getVerticalUploadingState(file: File, uploadStatus: number): TemplateResult;
11
+ export declare function getVerticalPreviewState(url: string, file: File, originalUrl: string): TemplateResult;
12
+ export declare function getVerticalNoPreviewState(file: File, originalUrl: string): TemplateResult;
13
+ export declare function getVerticalErrorState(file: File, errorMessage: string, originalUrl: string): TemplateResult;
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Template File for nile-preview component
3
+ */
4
+ import './nile-file-preview.css';
5
+ import { html } from 'lit';
6
+ import { removeFile, cancelFileUpload } from './utils';
7
+ import { formatFileSize } from './utils/nile-file-preview.util';
8
+ export function getHorizontalUploadingState(file, uploadStatus) {
9
+ return html `
10
+ <div class="uploading">
11
+ <nile-loader width="24" height="24"></nile-loader>
12
+ <div class="progress-bar-container">
13
+ <div class="progress-bar-percent">
14
+ <p>Uploading File...</p>
15
+ <p>${uploadStatus}%</p>
16
+ </div>
17
+ <nile-progress-bar
18
+ value="${uploadStatus}"
19
+ ></nile-progress-bar>
20
+ <p>${file.name}</p>
21
+ </div>
22
+ <slot @click=${(e) => cancelFileUpload(file, e)} name="cancelIcon">
23
+ <nile-icon
24
+ name="close"
25
+ size="14"
26
+ class="icon"
27
+ ></nile-icon>
28
+ </slot>
29
+ </div>
30
+ `;
31
+ }
32
+ export function getHorizontalPreviewState(url, file, originalUrl) {
33
+ return html `
34
+ <div class="preview horizontal-div">
35
+ <div class="preview-inner">
36
+ <div class="preview-image-container">
37
+ <img
38
+ class="image-preview"
39
+ src=${url}
40
+ alt=${file.name}
41
+ />
42
+ </div>
43
+ <div class="preview-file-info">
44
+ <p>${file.name}</p>
45
+ <p>${(file.type.split('/')[1]).toUpperCase()} &#8226; ${formatFileSize(Number(file.size))}</p>
46
+ </div>
47
+ </div>
48
+ <slot @click=${(e) => removeFile(file, e, originalUrl)} name="cancelIcon">
49
+ <nile-icon
50
+ name="trash"
51
+ size="14"
52
+ class="icon"
53
+ ></nile-icon>
54
+ </slot>
55
+ </div>
56
+ `;
57
+ }
58
+ export function getHorizontalNoPreviewState(file, originalUrl) {
59
+ return html `
60
+ <div class="no-preview horizontal-div">
61
+ <div class="no-preview-container">
62
+ <div class="document-icon">
63
+ <nile-icon name="general" size="20" color="var(--nile-colors-blue-500)"></nile-icon>
64
+ </div>
65
+ <div class="preview-file-info">
66
+ <p>${file.name}</p>
67
+ <p>${(file.type.split('/')[1]).toUpperCase()} &#8226; ${formatFileSize(Number(file.size))}</p>
68
+ </div>
69
+ </div>
70
+ <div>
71
+ <slot @click=${(e) => removeFile(file, e, originalUrl)} name="cancelIcon">
72
+ <nile-icon
73
+ name="trash"
74
+ size="14"
75
+ class="icon"
76
+ ></nile-icon>
77
+ </slot>
78
+ </div>
79
+ </div>
80
+ `;
81
+ }
82
+ export function getHorizontalErrorState(file, errorMessage, originalUrl) {
83
+ return html `
84
+ <div class="error horizontal-div">
85
+ <div class="error-container">
86
+ <div class="error-icon">
87
+ <nile-icon name="info-icon" size="20" color="var(--nile-colors-red-700)"></nile-icon>
88
+ </div>
89
+ <div class="file-info">
90
+ <p>${file.name}</p>
91
+ <nile-tooltip content=${errorMessage}>
92
+ <p>${errorMessage}</p>
93
+ </nile-tooltip>
94
+ </div>
95
+ </div>
96
+ <slot @click=${(e) => removeFile(file, e, originalUrl)} name="cancelIcon">
97
+ <nile-icon
98
+ name="close"
99
+ size="14"
100
+ class="icon"
101
+ ></nile-icon>
102
+ </slot>
103
+ </div>
104
+ `;
105
+ }
106
+ // vertical states
107
+ export function getVerticalUploadingState(file, uploadStatus) {
108
+ return html `
109
+ <div class="vertical-div vertical-uploading">
110
+ <div class="loading">
111
+ <nile-loader width="24" height="24"></nile-loader>
112
+ </div>
113
+
114
+ <div class="progress-bar-container">
115
+ <div class="progress-bar-percent">
116
+ <p>Uploading...</p>
117
+ <p>${uploadStatus}%</p>
118
+ </div>
119
+ <nile-progress-bar value=${uploadStatus}></nile-progress-bar>
120
+ <p>${file.name}</p>
121
+ </div>
122
+
123
+ <slot @click=${(e) => cancelFileUpload(file, e)} name="cancelIcon">
124
+ <nile-icon
125
+ name="close"
126
+ size="14"
127
+ class="icon corner-icon"
128
+ ></nile-icon>
129
+ </slot>
130
+ </div>
131
+ `;
132
+ }
133
+ export function getVerticalPreviewState(url, file, originalUrl) {
134
+ return html `
135
+ <div class="vertical-div vertical-preview">
136
+ <div>
137
+ <img
138
+ class="image-preview"
139
+ src=${url}
140
+ alt=${file.name}
141
+ />
142
+ </div>
143
+
144
+ <div class="content-container">
145
+ <p>${file.name}</p>
146
+ <p>${(file.type.split('/')[1]).toUpperCase()} &#8226; ${formatFileSize(Number(file.size))}</p>
147
+ </div>
148
+
149
+ <slot @click=${(e) => removeFile(file, e, originalUrl)} name="cancelIcon">
150
+ <nile-icon
151
+ name="trash"
152
+ size="14"
153
+ class="icon corner-icon"
154
+ ></nile-icon>
155
+ </slot>
156
+ </div>
157
+ `;
158
+ }
159
+ export function getVerticalNoPreviewState(file, originalUrl) {
160
+ return html `
161
+ <div class="vertical-div vertical-no-preview">
162
+ <div class="vertical-document-icon">
163
+ <nile-icon name="general" size="20" color="var(--nile-colors-blue-500)"></nile-icon>
164
+ </div>
165
+
166
+ <div class="content-container">
167
+ <p>${file.name}</p>
168
+ <p>${file.type} &#8226; ${formatFileSize(Number(file.size))}</p>
169
+ </div>
170
+
171
+ <slot @click=${(e) => removeFile(file, e, originalUrl)} name="cancelIcon">
172
+ <nile-icon
173
+ name="trash"
174
+ size="14"
175
+ class="icon corner-icon"
176
+ ></nile-icon>
177
+ </slot>
178
+ </div>
179
+ `;
180
+ }
181
+ export function getVerticalErrorState(file, errorMessage, originalUrl) {
182
+ return html `
183
+ <div class="vertical-div vertical-error">
184
+ <div class="vertical-document-icon error-bg">
185
+ <nile-icon name="info-icon" size="20" color="var(--nile-colors-red-700)"></nile-icon>
186
+ </div>
187
+
188
+ <div class="file-info-vertical-state">
189
+ <p>${file.name}</p>
190
+ <nile-tooltip content=${errorMessage}>
191
+ <p>${errorMessage}</p>
192
+ </nile-tooltip>
193
+ </div>
194
+
195
+ <slot @click=${(e) => removeFile(file, e, originalUrl)} name="cancelIcon">
196
+ <nile-icon
197
+ name="close"
198
+ size="14"
199
+ class="icon corner-icon"
200
+ ></nile-icon>
201
+ </slot>
202
+ </div>
203
+ `;
204
+ }
205
+ //# sourceMappingURL=nile-file-preview.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-file-preview.template.js","sourceRoot":"","sources":["../../../src/nile-file-preview/nile-file-preview.template.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Template File for nile-preview component\n */\n\nimport './nile-file-preview.css';\nimport { html, TemplateResult } from 'lit';\nimport { FilePreviewErrorMessages, RemoveFileDetail } from './types';\nimport { removeFile, cancelFileUpload } from './utils';\nimport { formatFileSize } from './utils/nile-file-preview.util';\n\n export function getHorizontalUploadingState(\n file: File,\n uploadStatus: number\n ): TemplateResult {\n return html`\n <div class=\"uploading\">\n <nile-loader width=\"24\" height=\"24\"></nile-loader>\n <div class=\"progress-bar-container\">\n <div class=\"progress-bar-percent\">\n <p>Uploading File...</p>\n <p>${uploadStatus}%</p>\n </div>\n <nile-progress-bar\n value=\"${uploadStatus}\"\n ></nile-progress-bar>\n <p>${file.name}</p>\n </div>\n <slot @click=${(e: CustomEvent<RemoveFileDetail>) => cancelFileUpload(file, e)} name=\"cancelIcon\">\n <nile-icon\n name=\"close\"\n size=\"14\"\n class=\"icon\"\n ></nile-icon>\n </slot>\n </div>\n `;\n }\n\nexport function getHorizontalPreviewState(\n url: string,\n file: File,\n originalUrl: string\n): TemplateResult {\n return html`\n <div class=\"preview horizontal-div\">\n <div class=\"preview-inner\">\n <div class=\"preview-image-container\">\n <img\n class=\"image-preview\"\n src=${url}\n alt=${file.name}\n />\n </div>\n <div class=\"preview-file-info\">\n <p>${file.name}</p>\n <p>${(file.type.split('/')[1]).toUpperCase()} &#8226; ${formatFileSize(Number(file.size))}</p>\n </div>\n </div>\n <slot @click=${(e: CustomEvent<RemoveFileDetail>) => removeFile(file, e, originalUrl)} name=\"cancelIcon\">\n <nile-icon\n name=\"trash\"\n size=\"14\"\n class=\"icon\"\n ></nile-icon>\n </slot>\n </div>\n `;\n}\n\nexport function getHorizontalNoPreviewState(\n file: File,\n originalUrl: string\n): TemplateResult {\n return html`\n <div class=\"no-preview horizontal-div\">\n <div class=\"no-preview-container\">\n <div class=\"document-icon\">\n <nile-icon name=\"general\" size=\"20\" color=\"var(--nile-colors-blue-500)\"></nile-icon>\n </div>\n <div class=\"preview-file-info\">\n <p>${file.name}</p>\n <p>${(file.type.split('/')[1]).toUpperCase()} &#8226; ${formatFileSize(Number(file.size))}</p>\n </div>\n </div>\n <div>\n <slot @click=${(e: CustomEvent<RemoveFileDetail>) => removeFile(file, e, originalUrl)} name=\"cancelIcon\">\n <nile-icon\n name=\"trash\"\n size=\"14\"\n class=\"icon\"\n ></nile-icon>\n </slot>\n </div>\n </div>\n `;\n}\n\nexport function getHorizontalErrorState(\n file: File,\n errorMessage: string,\n originalUrl: string\n): TemplateResult {\n return html`\n <div class=\"error horizontal-div\">\n <div class=\"error-container\">\n <div class=\"error-icon\">\n <nile-icon name=\"info-icon\" size=\"20\" color=\"var(--nile-colors-red-700)\"></nile-icon>\n </div>\n <div class=\"file-info\">\n <p>${file.name}</p>\n <nile-tooltip content=${errorMessage}>\n <p>${errorMessage}</p>\n </nile-tooltip>\n </div>\n </div>\n <slot @click=${(e: CustomEvent<RemoveFileDetail>) => removeFile(file, e, originalUrl)} name=\"cancelIcon\">\n <nile-icon\n name=\"close\"\n size=\"14\"\n class=\"icon\"\n ></nile-icon>\n </slot>\n </div>\n `;\n}\n\n// vertical states\nexport function getVerticalUploadingState(\n file: File,\n uploadStatus: number\n): TemplateResult {\n return html`\n <div class=\"vertical-div vertical-uploading\">\n <div class=\"loading\">\n <nile-loader width=\"24\" height=\"24\"></nile-loader>\n </div>\n\n <div class=\"progress-bar-container\">\n <div class=\"progress-bar-percent\">\n <p>Uploading...</p>\n <p>${uploadStatus}%</p>\n </div>\n <nile-progress-bar value=${uploadStatus}></nile-progress-bar>\n <p>${file.name}</p>\n </div>\n\n <slot @click=${(e: CustomEvent<RemoveFileDetail>) => cancelFileUpload(file, e)} name=\"cancelIcon\">\n <nile-icon\n name=\"close\"\n size=\"14\"\n class=\"icon corner-icon\"\n ></nile-icon>\n </slot>\n </div>\n `;\n}\n\n\nexport function getVerticalPreviewState(\n url: string,\n file: File,\n originalUrl: string\n): TemplateResult {\n return html`\n <div class=\"vertical-div vertical-preview\">\n <div>\n <img\n class=\"image-preview\"\n src=${url}\n alt=${file.name}\n />\n </div>\n\n <div class=\"content-container\">\n <p>${file.name}</p>\n <p>${(file.type.split('/')[1]).toUpperCase()} &#8226; ${formatFileSize(Number(file.size))}</p>\n </div>\n\n <slot @click=${(e: CustomEvent<RemoveFileDetail>) => removeFile(file, e, originalUrl)} name=\"cancelIcon\">\n <nile-icon\n name=\"trash\"\n size=\"14\"\n class=\"icon corner-icon\"\n ></nile-icon>\n </slot>\n </div>\n `;\n}\n\nexport function getVerticalNoPreviewState(\n file: File,\n originalUrl: string\n): TemplateResult {\n return html`\n <div class=\"vertical-div vertical-no-preview\">\n <div class=\"vertical-document-icon\">\n <nile-icon name=\"general\" size=\"20\" color=\"var(--nile-colors-blue-500)\"></nile-icon>\n </div>\n\n <div class=\"content-container\">\n <p>${file.name}</p>\n <p>${file.type} &#8226; ${formatFileSize(Number(file.size))}</p>\n </div>\n\n <slot @click=${(e: CustomEvent<RemoveFileDetail>) => removeFile(file, e, originalUrl)} name=\"cancelIcon\">\n <nile-icon\n name=\"trash\"\n size=\"14\"\n class=\"icon corner-icon\"\n ></nile-icon>\n </slot>\n </div>\n `;\n}\n\nexport function getVerticalErrorState(\n file: File,\n errorMessage: string,\n originalUrl: string\n): TemplateResult {\n return html`\n <div class=\"vertical-div vertical-error\">\n <div class=\"vertical-document-icon error-bg\">\n <nile-icon name=\"info-icon\" size=\"20\" color=\"var(--nile-colors-red-700)\"></nile-icon>\n </div>\n\n <div class=\"file-info-vertical-state\">\n <p>${file.name}</p>\n <nile-tooltip content=${errorMessage}>\n <p>${errorMessage}</p>\n </nile-tooltip>\n </div>\n\n <slot @click=${(e: CustomEvent<RemoveFileDetail>) => removeFile(file, e, originalUrl)} name=\"cancelIcon\">\n <nile-icon\n name=\"close\"\n size=\"14\"\n class=\"icon corner-icon\"\n ></nile-icon>\n </slot>\n </div>\n `;\n}"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import './nile-file-preview';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { fixture, assert, expect, html } from '@open-wc/testing';
8
+ import './nile-file-preview'; // Just import to register the element
9
+ describe('<nile-preview>', () => {
10
+ let element;
11
+ beforeEach(async () => {
12
+ element = await fixture(html `<nile-file-preview></nile-file-preview>`);
13
+ });
14
+ it('passes accessibility test', async () => {
15
+ await expect(element).to.be.accessible();
16
+ });
17
+ it('renders with the correct tag name', () => {
18
+ expect(element.tagName.toLowerCase()).to.equal('nile-preview');
19
+ });
20
+ it('renders with slot content when provided', async () => {
21
+ const testContent = 'Test Content';
22
+ element = await fixture(html `<nile-file-preview>${testContent}</nile-file-preview>`);
23
+ const slot = element.shadowRoot.querySelector('slot');
24
+ assert.exists(slot, 'Slot should exist');
25
+ const assignedNodes = slot.assignedNodes({ flatten: true });
26
+ expect(assignedNodes.length).to.be.greaterThan(0);
27
+ expect(assignedNodes[0].textContent?.trim()).to.equal(testContent);
28
+ });
29
+ });
30
+ //# sourceMappingURL=nile-file-preview.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-file-preview.test.js","sourceRoot":"","sources":["../../../src/nile-file-preview/nile-file-preview.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,qBAAqB,CAAC,CAAC,sCAAsC;AAEpE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,OAAoB,CAAC;IAEzB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA,yCAAyC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,WAAW,GAAG,cAAc,CAAC;QACnC,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA,sBAAsB,WAAW,sBAAsB,CAAC,CAAC;QAErF,MAAM,IAAI,GAAI,OAAO,CAAC,UAAW,CAAC,aAAa,CAAC,MAAM,CAAqB,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAEzC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\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\n \nimport { fixture, assert, expect, html } from '@open-wc/testing';\nimport './nile-file-preview'; // Just import to register the element\n\ndescribe('<nile-preview>', () => {\n let element: HTMLElement;\n\n beforeEach(async () => {\n element = await fixture(html`<nile-file-preview></nile-file-preview>`);\n });\n\n it('passes accessibility test', async () => {\n await expect(element).to.be.accessible();\n });\n\n it('renders with the correct tag name', () => {\n expect(element.tagName.toLowerCase()).to.equal('nile-preview');\n });\n\n it('renders with slot content when provided', async () => {\n const testContent = 'Test Content';\n element = await fixture(html`<nile-file-preview>${testContent}</nile-file-preview>`);\n \n const slot = (element.shadowRoot!.querySelector('slot') as HTMLSlotElement);\n assert.exists(slot, 'Slot should exist');\n\n const assignedNodes = slot.assignedNodes({ flatten: true });\n expect(assignedNodes.length).to.be.greaterThan(0);\n expect(assignedNodes[0].textContent?.trim()).to.equal(testContent);\n });\n});"]}
@@ -0,0 +1,2 @@
1
+ export * from './nile-file-preview.enums';
2
+ export * from './nile-file-preview.interface';
@@ -0,0 +1,3 @@
1
+ export * from './nile-file-preview.enums';
2
+ export * from './nile-file-preview.interface';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/nile-file-preview/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC","sourcesContent":["export * from './nile-file-preview.enums';\nexport * from './nile-file-preview.interface';"]}
@@ -0,0 +1,27 @@
1
+ export declare enum FilePreviewState {
2
+ DEFAULT = "default",
3
+ UPLOADING = "uploading",
4
+ PREVIEW = "preview",
5
+ NO_PREVIEW = "no-preview",
6
+ ERROR = "error"
7
+ }
8
+ export declare enum FilePreviewVariant {
9
+ HORIZONTAL = "horizontal",
10
+ VERTICAL = "vertical"
11
+ }
12
+ export declare enum FilePreviewErrorMessages {
13
+ INVALID_FORMAT = "Invalid File Format. Please try again.",
14
+ SIZE_LIMIT = "Size limit exceeded",
15
+ FAILED_TO_LOAD = "Failed to load file from URL",
16
+ UNKNOWN_FILE_NAME = "unknown-file",
17
+ UPLOAD_CANCEL = "File upload cancelled.",
18
+ NO_FILE_SELECTED = "No file selected.",
19
+ UNABLE_TO_GENEARTE_URL = "Unable to generate the url."
20
+ }
21
+ export declare enum FilePreviewEvent {
22
+ NILE_INIT = "nile-init",
23
+ NILE_RECEIVE = "nile-receive",
24
+ NILE_REMOVE = "nile-remove",
25
+ NILE_CANCEL_UPLOAD = "nile-cancel-upload",
26
+ NILE_DESTROY = "nile-destroy"
27
+ }
@@ -0,0 +1,32 @@
1
+ export var FilePreviewState;
2
+ (function (FilePreviewState) {
3
+ FilePreviewState["DEFAULT"] = "default";
4
+ FilePreviewState["UPLOADING"] = "uploading";
5
+ FilePreviewState["PREVIEW"] = "preview";
6
+ FilePreviewState["NO_PREVIEW"] = "no-preview";
7
+ FilePreviewState["ERROR"] = "error";
8
+ })(FilePreviewState || (FilePreviewState = {}));
9
+ export var FilePreviewVariant;
10
+ (function (FilePreviewVariant) {
11
+ FilePreviewVariant["HORIZONTAL"] = "horizontal";
12
+ FilePreviewVariant["VERTICAL"] = "vertical";
13
+ })(FilePreviewVariant || (FilePreviewVariant = {}));
14
+ export var FilePreviewErrorMessages;
15
+ (function (FilePreviewErrorMessages) {
16
+ FilePreviewErrorMessages["INVALID_FORMAT"] = "Invalid File Format. Please try again.";
17
+ FilePreviewErrorMessages["SIZE_LIMIT"] = "Size limit exceeded";
18
+ FilePreviewErrorMessages["FAILED_TO_LOAD"] = "Failed to load file from URL";
19
+ FilePreviewErrorMessages["UNKNOWN_FILE_NAME"] = "unknown-file";
20
+ FilePreviewErrorMessages["UPLOAD_CANCEL"] = "File upload cancelled.";
21
+ FilePreviewErrorMessages["NO_FILE_SELECTED"] = "No file selected.";
22
+ FilePreviewErrorMessages["UNABLE_TO_GENEARTE_URL"] = "Unable to generate the url.";
23
+ })(FilePreviewErrorMessages || (FilePreviewErrorMessages = {}));
24
+ export var FilePreviewEvent;
25
+ (function (FilePreviewEvent) {
26
+ FilePreviewEvent["NILE_INIT"] = "nile-init";
27
+ FilePreviewEvent["NILE_RECEIVE"] = "nile-receive";
28
+ FilePreviewEvent["NILE_REMOVE"] = "nile-remove";
29
+ FilePreviewEvent["NILE_CANCEL_UPLOAD"] = "nile-cancel-upload";
30
+ FilePreviewEvent["NILE_DESTROY"] = "nile-destroy";
31
+ })(FilePreviewEvent || (FilePreviewEvent = {}));
32
+ //# sourceMappingURL=nile-file-preview.enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-file-preview.enums.js","sourceRoot":"","sources":["../../../../src/nile-file-preview/types/nile-file-preview.enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,mCAAe,CAAA;AACjB,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B;AAED,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,2CAAqB,CAAA;AACvB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,CAAN,IAAY,wBAQX;AARD,WAAY,wBAAwB;IAClC,qFAAyD,CAAA;IACzD,8DAAkC,CAAA;IAClC,2EAA+C,CAAA;IAC/C,8DAAkC,CAAA;IAClC,oEAAwC,CAAA;IACxC,kEAAsC,CAAA;IACtC,kFAAsD,CAAA;AACxD,CAAC,EARW,wBAAwB,KAAxB,wBAAwB,QAQnC;AAED,MAAM,CAAN,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,2CAAuB,CAAA;IACvB,iDAA6B,CAAA;IAC7B,+CAA2B,CAAA;IAC3B,6DAAyC,CAAA;IACzC,iDAA6B,CAAA;AAC/B,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B","sourcesContent":["export enum FilePreviewState {\n DEFAULT = 'default',\n UPLOADING = 'uploading',\n PREVIEW = 'preview',\n NO_PREVIEW = 'no-preview',\n ERROR = 'error'\n}\n\nexport enum FilePreviewVariant {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical'\n}\n\nexport enum FilePreviewErrorMessages {\n INVALID_FORMAT = \"Invalid File Format. Please try again.\",\n SIZE_LIMIT = \"Size limit exceeded\",\n FAILED_TO_LOAD = \"Failed to load file from URL\",\n UNKNOWN_FILE_NAME = 'unknown-file',\n UPLOAD_CANCEL = \"File upload cancelled.\",\n NO_FILE_SELECTED = \"No file selected.\",\n UNABLE_TO_GENEARTE_URL = \"Unable to generate the url.\"\n}\n\nexport enum FilePreviewEvent {\n NILE_INIT = \"nile-init\",\n NILE_RECEIVE = \"nile-receive\",\n NILE_REMOVE = \"nile-remove\",\n NILE_CANCEL_UPLOAD = \"nile-cancel-upload\",\n NILE_DESTROY = \"nile-destroy\"\n}"]}
@@ -0,0 +1,4 @@
1
+ export type RemoveFileDetail = {
2
+ value: File;
3
+ url: string;
4
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nile-file-preview.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-file-preview.interface.js","sourceRoot":"","sources":["../../../../src/nile-file-preview/types/nile-file-preview.interface.ts"],"names":[],"mappings":"","sourcesContent":["export type RemoveFileDetail = {\n value: File;\n url: string;\n};\n"]}
@@ -0,0 +1 @@
1
+ export * from './nile-file-preview.util';
@@ -0,0 +1,2 @@
1
+ export * from './nile-file-preview.util';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/nile-file-preview/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA","sourcesContent":["export * from './nile-file-preview.util'"]}
@@ -0,0 +1,5 @@
1
+ import { RemoveFileDetail } from "../types";
2
+ export declare const generatePreviewUrl: (file: File) => Promise<string>;
3
+ export declare const removeFile: (removeFile: File, e: CustomEvent<RemoveFileDetail>, originalUrl: string) => void;
4
+ export declare const cancelFileUpload: (file: File, e: CustomEvent<RemoveFileDetail>) => void;
5
+ export declare const formatFileSize: (bytes: number) => string;