@gravitee/ui-components 3.25.3-typescript-8a53edf → 3.25.3-typescript-e7256ca

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 (370) hide show
  1. package/package.json +3 -4
  2. package/src/atoms/gv-autocomplete.d.ts +104 -0
  3. package/src/atoms/gv-autocomplete.js +1 -461
  4. package/src/atoms/gv-button.d.ts +109 -0
  5. package/src/atoms/gv-button.js +1 -410
  6. package/src/atoms/gv-checkbox.d.ts +114 -0
  7. package/src/atoms/gv-checkbox.js +1 -187
  8. package/src/atoms/gv-date-picker-calendar.d.ts +190 -0
  9. package/src/atoms/gv-date-picker-calendar.js +1 -894
  10. package/src/atoms/gv-date-picker-cell.d.ts +80 -0
  11. package/src/atoms/gv-date-picker-cell.js +1 -190
  12. package/src/atoms/gv-date-picker.d.ts +194 -0
  13. package/src/atoms/gv-date-picker.js +1 -671
  14. package/src/atoms/gv-file-upload.d.ts +64 -0
  15. package/src/atoms/gv-file-upload.js +1 -367
  16. package/src/atoms/gv-icon.d.ts +26 -0
  17. package/src/atoms/gv-icon.js +1 -103
  18. package/src/atoms/gv-image.d.ts +45 -0
  19. package/src/atoms/gv-image.js +1 -144
  20. package/src/atoms/gv-input-message.d.ts +20 -0
  21. package/src/atoms/gv-input-message.js +1 -84
  22. package/src/atoms/gv-input.d.ts +246 -0
  23. package/src/atoms/gv-input.js +1 -561
  24. package/src/atoms/gv-link.d.ts +67 -0
  25. package/src/atoms/gv-link.js +1 -210
  26. package/src/atoms/gv-message.d.ts +23 -0
  27. package/src/atoms/gv-message.js +1 -128
  28. package/src/atoms/gv-metric.d.ts +32 -0
  29. package/src/atoms/gv-metric.js +1 -117
  30. package/src/atoms/gv-relative-time.d.ts +45 -0
  31. package/src/atoms/gv-relative-time.js +1 -156
  32. package/src/atoms/gv-select-native.d.ts +174 -0
  33. package/src/atoms/gv-select-native.js +1 -388
  34. package/src/atoms/gv-select.d.ts +71 -0
  35. package/src/atoms/gv-select.js +1 -437
  36. package/src/atoms/gv-spinner.d.ts +10 -0
  37. package/src/atoms/gv-spinner.js +1 -57
  38. package/src/atoms/gv-state.d.ts +50 -0
  39. package/src/atoms/gv-state.js +1 -130
  40. package/src/atoms/gv-switch.d.ts +60 -0
  41. package/src/atoms/gv-switch.js +1 -243
  42. package/src/atoms/gv-tag.d.ts +69 -0
  43. package/src/atoms/gv-tag.js +1 -168
  44. package/src/atoms/gv-text.d.ts +110 -0
  45. package/src/atoms/gv-text.js +1 -168
  46. package/src/charts/gv-chart-bar.d.ts +50 -0
  47. package/src/charts/gv-chart-bar.js +1 -103
  48. package/src/charts/gv-chart-gauge.d.ts +58 -0
  49. package/src/charts/gv-chart-gauge.js +1 -100
  50. package/src/charts/gv-chart-histogram.d.ts +48 -0
  51. package/src/charts/gv-chart-histogram.js +1 -83
  52. package/src/charts/gv-chart-line.d.ts +52 -0
  53. package/src/charts/gv-chart-line.js +1 -224
  54. package/src/charts/gv-chart-map.d.ts +50 -0
  55. package/src/charts/gv-chart-map.js +1 -112
  56. package/src/charts/gv-chart-pie.d.ts +50 -0
  57. package/src/charts/gv-chart-pie.js +1 -91
  58. package/src/index.d.ts +77 -0
  59. package/src/index.js +1 -77
  60. package/src/lib/cron-expression.d.ts +1 -0
  61. package/src/lib/cron-expression.js +1 -205
  62. package/src/lib/date.d.ts +1 -0
  63. package/src/lib/date.js +1 -44
  64. package/src/lib/events.d.ts +1 -0
  65. package/src/lib/events.js +1 -26
  66. package/src/lib/http-client-schema-form.d.ts +68 -0
  67. package/src/lib/http-client-schema-form.js +1 -67
  68. package/src/lib/http.d.ts +222 -0
  69. package/src/lib/http.js +1 -237
  70. package/src/lib/i18n.d.ts +30 -0
  71. package/src/lib/i18n.js +1 -103
  72. package/src/lib/item.d.ts +12 -0
  73. package/src/lib/item.js +1 -118
  74. package/src/lib/properties.d.ts +42 -0
  75. package/src/lib/properties.js +1 -189
  76. package/src/lib/schema-form.d.ts +5 -0
  77. package/src/lib/schema-form.js +1 -44
  78. package/src/lib/studio.d.ts +2 -0
  79. package/src/lib/studio.js +1 -141
  80. package/src/lib/style.d.ts +6 -0
  81. package/src/lib/style.js +1 -41
  82. package/src/lib/text-format.d.ts +6 -0
  83. package/src/lib/text-format.js +1 -69
  84. package/src/lib/theme.d.ts +4 -0
  85. package/src/lib/theme.js +1 -63
  86. package/src/lib/utils.d.ts +9 -0
  87. package/src/lib/utils.js +1 -111
  88. package/src/mixins/chart-element.d.ts +39 -0
  89. package/src/mixins/chart-element.js +1 -165
  90. package/src/mixins/input-element.d.ts +64 -0
  91. package/src/mixins/input-element.js +1 -144
  92. package/src/mixins/item-resource.d.ts +56 -0
  93. package/src/mixins/item-resource.js +1 -120
  94. package/src/mixins/keyboard-element.d.ts +25 -0
  95. package/src/mixins/keyboard-element.js +1 -69
  96. package/src/mixins/update-after-browser.d.ts +11 -0
  97. package/src/mixins/update-after-browser.js +1 -30
  98. package/src/mixins/with-resize-observer.d.ts +12 -0
  99. package/src/mixins/with-resize-observer.js +1 -68
  100. package/src/mixins/with-skeleton-attribute.d.ts +35 -0
  101. package/src/mixins/with-skeleton-attribute.js +1 -112
  102. package/src/molecules/gv-card-full.d.ts +78 -0
  103. package/src/molecules/gv-card-full.js +1 -218
  104. package/src/molecules/gv-card-list.d.ts +33 -0
  105. package/src/molecules/gv-card-list.js +1 -113
  106. package/src/molecules/gv-card.d.ts +65 -0
  107. package/src/molecules/gv-card.js +1 -133
  108. package/src/molecules/gv-category-list.d.ts +17 -0
  109. package/src/molecules/gv-category-list.js +1 -60
  110. package/src/molecules/gv-category.d.ts +64 -0
  111. package/src/molecules/gv-category.js +1 -170
  112. package/src/molecules/gv-code.d.ts +192 -0
  113. package/src/molecules/gv-code.js +1 -359
  114. package/src/molecules/gv-confirm.d.ts +60 -0
  115. package/src/molecules/gv-confirm.js +1 -188
  116. package/src/molecules/gv-cron-editor.d.ts +115 -0
  117. package/src/molecules/gv-cron-editor.js +1 -710
  118. package/src/molecules/gv-dropdown-menu.d.ts +28 -0
  119. package/src/molecules/gv-dropdown-menu.js +1 -116
  120. package/src/molecules/gv-expandable.d.ts +37 -0
  121. package/src/molecules/gv-expandable.js +1 -122
  122. package/src/molecules/gv-expression-language.d.ts +150 -0
  123. package/src/molecules/gv-expression-language.js +1 -270
  124. package/src/molecules/gv-identity-picture.d.ts +44 -0
  125. package/src/molecules/gv-identity-picture.js +1 -148
  126. package/src/molecules/gv-list.d.ts +123 -0
  127. package/src/molecules/gv-list.js +1 -227
  128. package/src/molecules/gv-metrics.d.ts +65 -0
  129. package/src/molecules/gv-metrics.js +1 -162
  130. package/src/molecules/gv-modal.d.ts +64 -0
  131. package/src/molecules/gv-modal.js +1 -213
  132. package/src/molecules/gv-nav.d.ts +41 -0
  133. package/src/molecules/gv-nav.js +1 -196
  134. package/src/molecules/gv-option.d.ts +65 -0
  135. package/src/molecules/gv-option.js +1 -242
  136. package/src/molecules/gv-plans.d.ts +73 -0
  137. package/src/molecules/gv-plans.js +1 -429
  138. package/src/molecules/gv-popover.d.ts +91 -0
  139. package/src/molecules/gv-popover.js +1 -351
  140. package/src/molecules/gv-promote.d.ts +108 -0
  141. package/src/molecules/gv-promote.js +1 -209
  142. package/src/molecules/gv-rating-list.d.ts +77 -0
  143. package/src/molecules/gv-rating-list.js +1 -365
  144. package/src/molecules/gv-rating.d.ts +55 -0
  145. package/src/molecules/gv-rating.js +1 -253
  146. package/src/molecules/gv-row-expandable.d.ts +8 -0
  147. package/src/molecules/gv-row-expandable.js +1 -45
  148. package/src/molecules/gv-row.d.ts +37 -0
  149. package/src/molecules/gv-row.js +1 -210
  150. package/src/molecules/gv-stats.d.ts +53 -0
  151. package/src/molecules/gv-stats.js +1 -121
  152. package/src/molecules/gv-stepper.d.ts +46 -0
  153. package/src/molecules/gv-stepper.js +1 -288
  154. package/src/molecules/gv-table.d.ts +159 -0
  155. package/src/molecules/gv-table.js +1 -685
  156. package/src/molecules/gv-tree.d.ts +44 -0
  157. package/src/molecules/gv-tree.js +1 -250
  158. package/src/organisms/gv-documentation.d.ts +52 -0
  159. package/src/organisms/gv-documentation.js +1 -215
  160. package/src/organisms/gv-header.d.ts +60 -0
  161. package/src/organisms/gv-header.js +1 -288
  162. package/src/organisms/gv-http-client.d.ts +57 -0
  163. package/src/organisms/gv-http-client.js +1 -275
  164. package/src/organisms/gv-menu.d.ts +74 -0
  165. package/src/organisms/gv-menu.js +1 -263
  166. package/src/organisms/gv-newsletter-subscription.d.ts +82 -0
  167. package/src/organisms/gv-newsletter-subscription.js +1 -271
  168. package/src/organisms/gv-pagination.d.ts +63 -0
  169. package/src/organisms/gv-pagination.js +1 -198
  170. package/src/organisms/gv-properties.d.ts +229 -0
  171. package/src/organisms/gv-properties.js +1 -920
  172. package/src/organisms/gv-resizable-views.d.ts +33 -0
  173. package/src/organisms/gv-resizable-views.js +1 -396
  174. package/src/organisms/gv-resources.d.ts +125 -0
  175. package/src/organisms/gv-resources.js +1 -535
  176. package/src/organisms/gv-schema-form-array.d.ts +55 -0
  177. package/src/organisms/gv-schema-form-array.js +1 -250
  178. package/src/organisms/gv-schema-form-control-object.d.ts +64 -0
  179. package/src/organisms/gv-schema-form-control-object.js +1 -154
  180. package/src/organisms/gv-schema-form-control.d.ts +90 -0
  181. package/src/organisms/gv-schema-form-control.js +1 -443
  182. package/src/organisms/gv-schema-form.d.ts +156 -0
  183. package/src/organisms/gv-schema-form.js +1 -751
  184. package/src/organisms/gv-tabs.d.ts +56 -0
  185. package/src/organisms/gv-tabs.js +1 -210
  186. package/src/organisms/gv-user-menu.d.ts +56 -0
  187. package/src/organisms/gv-user-menu.js +1 -314
  188. package/src/organisms/gv-vertical-menu.d.ts +28 -0
  189. package/src/organisms/gv-vertical-menu.js +1 -123
  190. package/src/policy-studio/gv-flow-step.d.ts +142 -0
  191. package/src/policy-studio/gv-flow-step.js +1 -464
  192. package/src/policy-studio/gv-flow.d.ts +89 -0
  193. package/src/policy-studio/gv-flow.js +1 -621
  194. package/src/policy-studio/gv-policy-studio-menu.d.ts +94 -0
  195. package/src/policy-studio/gv-policy-studio-menu.js +1 -750
  196. package/src/policy-studio/gv-policy-studio.d.ts +464 -0
  197. package/src/policy-studio/gv-policy-studio.js +1 -1842
  198. package/src/styles/empty.d.ts +1 -0
  199. package/src/styles/empty.js +1 -36
  200. package/src/styles/input.d.ts +1 -0
  201. package/src/styles/input.js +1 -263
  202. package/src/styles/link.d.ts +1 -0
  203. package/src/styles/link.js +1 -32
  204. package/src/styles/shapes.d.ts +2 -0
  205. package/src/styles/shapes.js +1 -17
  206. package/src/styles/skeleton.d.ts +1 -0
  207. package/src/styles/skeleton.js +1 -53
  208. package/src/styles/zoom.d.ts +1 -0
  209. package/src/styles/zoom.js +1 -40
  210. package/src/theme/gv-theme.d.ts +81 -0
  211. package/src/theme/gv-theme.js +1 -203
  212. package/wc/gv-autocomplete.d.ts +1 -0
  213. package/wc/gv-autocomplete.js +1 -1
  214. package/wc/gv-button.d.ts +1 -0
  215. package/wc/gv-button.js +1 -1
  216. package/wc/gv-card-full.d.ts +1 -0
  217. package/wc/gv-card-full.js +1 -1
  218. package/wc/gv-card-list.d.ts +1 -0
  219. package/wc/gv-card-list.js +1 -1
  220. package/wc/gv-card.d.ts +1 -0
  221. package/wc/gv-card.js +1 -1
  222. package/wc/gv-category-list.d.ts +1 -0
  223. package/wc/gv-category-list.js +1 -1
  224. package/wc/gv-category.d.ts +1 -0
  225. package/wc/gv-category.js +1 -1
  226. package/wc/gv-chart-bar.d.ts +1 -0
  227. package/wc/gv-chart-bar.js +1 -1
  228. package/wc/gv-chart-gauge.d.ts +1 -0
  229. package/wc/gv-chart-gauge.js +1 -1
  230. package/wc/gv-chart-histogram.d.ts +1 -0
  231. package/wc/gv-chart-histogram.js +1 -1
  232. package/wc/gv-chart-line.d.ts +1 -0
  233. package/wc/gv-chart-line.js +1 -1
  234. package/wc/gv-chart-map.d.ts +1 -0
  235. package/wc/gv-chart-map.js +1 -1
  236. package/wc/gv-chart-pie.d.ts +1 -0
  237. package/wc/gv-chart-pie.js +1 -1
  238. package/wc/gv-checkbox.d.ts +1 -0
  239. package/wc/gv-checkbox.js +1 -1
  240. package/wc/gv-code.d.ts +1 -0
  241. package/wc/gv-code.js +1 -1
  242. package/wc/gv-confirm.d.ts +1 -0
  243. package/wc/gv-confirm.js +1 -1
  244. package/wc/gv-cron-editor.d.ts +1 -0
  245. package/wc/gv-cron-editor.js +1 -1
  246. package/wc/gv-date-picker-calendar.d.ts +1 -0
  247. package/wc/gv-date-picker-calendar.js +1 -1
  248. package/wc/gv-date-picker-cell.d.ts +1 -0
  249. package/wc/gv-date-picker-cell.js +1 -1
  250. package/wc/gv-date-picker.d.ts +1 -0
  251. package/wc/gv-date-picker.js +1 -1
  252. package/wc/gv-documentation.d.ts +1 -0
  253. package/wc/gv-documentation.js +1 -1
  254. package/wc/gv-dropdown-menu.d.ts +1 -0
  255. package/wc/gv-dropdown-menu.js +1 -1
  256. package/wc/gv-expandable.d.ts +1 -0
  257. package/wc/gv-expandable.js +1 -1
  258. package/wc/gv-expression-language.d.ts +1 -0
  259. package/wc/gv-expression-language.js +1 -1
  260. package/wc/gv-file-upload.d.ts +1 -0
  261. package/wc/gv-file-upload.js +1 -1
  262. package/wc/gv-flow-step.d.ts +1 -0
  263. package/wc/gv-flow-step.js +1 -1
  264. package/wc/gv-flow.d.ts +1 -0
  265. package/wc/gv-flow.js +1 -1
  266. package/wc/gv-header.d.ts +1 -0
  267. package/wc/gv-header.js +1 -1
  268. package/wc/gv-http-client.d.ts +1 -0
  269. package/wc/gv-http-client.js +1 -1
  270. package/wc/gv-icon.d.ts +1 -0
  271. package/wc/gv-icon.js +1 -1
  272. package/wc/gv-identity-picture.d.ts +1 -0
  273. package/wc/gv-identity-picture.js +1 -1
  274. package/wc/gv-image.d.ts +1 -0
  275. package/wc/gv-image.js +1 -1
  276. package/wc/gv-input-message.d.ts +1 -0
  277. package/wc/gv-input-message.js +1 -1
  278. package/wc/gv-input.d.ts +1 -0
  279. package/wc/gv-input.js +1 -1
  280. package/wc/gv-link.d.ts +1 -0
  281. package/wc/gv-link.js +1 -1
  282. package/wc/gv-list.d.ts +1 -0
  283. package/wc/gv-list.js +1 -1
  284. package/wc/gv-menu.d.ts +1 -0
  285. package/wc/gv-menu.js +1 -1
  286. package/wc/gv-message.d.ts +1 -0
  287. package/wc/gv-message.js +1 -1
  288. package/wc/gv-metric.d.ts +1 -0
  289. package/wc/gv-metric.js +1 -1
  290. package/wc/gv-metrics.d.ts +1 -0
  291. package/wc/gv-metrics.js +1 -1
  292. package/wc/gv-modal.d.ts +1 -0
  293. package/wc/gv-modal.js +1 -1
  294. package/wc/gv-nav.d.ts +1 -0
  295. package/wc/gv-nav.js +1 -1
  296. package/wc/gv-newsletter-subscription.d.ts +1 -0
  297. package/wc/gv-newsletter-subscription.js +1 -1
  298. package/wc/gv-option.d.ts +1 -0
  299. package/wc/gv-option.js +1 -1
  300. package/wc/gv-pagination.d.ts +1 -0
  301. package/wc/gv-pagination.js +1 -1
  302. package/wc/gv-plans.d.ts +1 -0
  303. package/wc/gv-plans.js +1 -1
  304. package/wc/gv-policy-studio-menu.d.ts +1 -0
  305. package/wc/gv-policy-studio-menu.js +1 -1
  306. package/wc/gv-policy-studio.d.ts +1 -0
  307. package/wc/gv-policy-studio.js +1 -1
  308. package/wc/gv-popover.d.ts +1 -0
  309. package/wc/gv-popover.js +1 -1
  310. package/wc/gv-promote.d.ts +1 -0
  311. package/wc/gv-promote.js +1 -1
  312. package/wc/gv-properties.d.ts +1 -0
  313. package/wc/gv-properties.js +1 -1
  314. package/wc/gv-rating-list.d.ts +1 -0
  315. package/wc/gv-rating-list.js +1 -1
  316. package/wc/gv-rating.d.ts +1 -0
  317. package/wc/gv-rating.js +1 -1
  318. package/wc/gv-relative-time.d.ts +1 -0
  319. package/wc/gv-relative-time.js +1 -1
  320. package/wc/gv-resizable-views.d.ts +1 -0
  321. package/wc/gv-resizable-views.js +1 -1
  322. package/wc/gv-resources.d.ts +1 -0
  323. package/wc/gv-resources.js +1 -1
  324. package/wc/gv-row-expandable.d.ts +1 -0
  325. package/wc/gv-row-expandable.js +1 -1
  326. package/wc/gv-row.d.ts +1 -0
  327. package/wc/gv-row.js +1 -1
  328. package/wc/gv-schema-form-array.d.ts +1 -0
  329. package/wc/gv-schema-form-array.js +1 -1
  330. package/wc/gv-schema-form-control-object.d.ts +1 -0
  331. package/wc/gv-schema-form-control-object.js +1 -1
  332. package/wc/gv-schema-form-control.d.ts +1 -0
  333. package/wc/gv-schema-form-control.js +1 -1
  334. package/wc/gv-schema-form.d.ts +1 -0
  335. package/wc/gv-schema-form.js +1 -1
  336. package/wc/gv-select-native.d.ts +1 -0
  337. package/wc/gv-select-native.js +1 -1
  338. package/wc/gv-select.d.ts +1 -0
  339. package/wc/gv-select.js +1 -1
  340. package/wc/gv-spinner.d.ts +1 -0
  341. package/wc/gv-spinner.js +1 -1
  342. package/wc/gv-state.d.ts +1 -0
  343. package/wc/gv-state.js +1 -1
  344. package/wc/gv-stats.d.ts +1 -0
  345. package/wc/gv-stats.js +1 -1
  346. package/wc/gv-stepper.d.ts +1 -0
  347. package/wc/gv-stepper.js +1 -1
  348. package/wc/gv-switch.d.ts +1 -0
  349. package/wc/gv-switch.js +1 -1
  350. package/wc/gv-table.d.ts +1 -0
  351. package/wc/gv-table.js +1 -1
  352. package/wc/gv-tabs.d.ts +1 -0
  353. package/wc/gv-tabs.js +1 -1
  354. package/wc/gv-tag.d.ts +1 -0
  355. package/wc/gv-tag.js +1 -1
  356. package/wc/gv-text.d.ts +1 -0
  357. package/wc/gv-text.js +1 -1
  358. package/wc/gv-theme.d.ts +1 -0
  359. package/wc/gv-theme.js +1 -1
  360. package/wc/gv-tree.d.ts +1 -0
  361. package/wc/gv-tree.js +1 -1
  362. package/wc/gv-user-menu.d.ts +1 -0
  363. package/wc/gv-user-menu.js +1 -1
  364. package/wc/gv-vertical-menu.d.ts +1 -0
  365. package/wc/gv-vertical-menu.js +1 -1
  366. package/CHANGELOG.md +0 -1292
  367. package/LICENSE.txt +0 -202
  368. package/README.md +0 -195
  369. package/src/.eslintrc.js +0 -19
  370. package/src/theme/definition.json +0 -1762
@@ -0,0 +1,64 @@
1
+ /**
2
+ * File upload
3
+ *
4
+ * ## Details
5
+ * * has @theme facet
6
+ *
7
+ * @fires gv-file-upload:drop - Custom event when user drop file
8
+ *
9
+ * @attr {String} label - Label
10
+ * @attr {String} accept - One or more file type identifiers describing the authorized file types.
11
+ * @attr {String} except - One or more file type identifiers describing unauthorized file types.
12
+ * @attr {Number} limit - Max size limit in bytes.
13
+ * @attr {String} value - Reflected value of uploaded file
14
+ **/
15
+ export class GvFileUpload extends LitElement {
16
+ static get properties(): {
17
+ label: {
18
+ type: StringConstructor;
19
+ };
20
+ accept: {
21
+ type: StringConstructor;
22
+ };
23
+ except: {
24
+ type: StringConstructor;
25
+ };
26
+ limit: {
27
+ type: NumberConstructor;
28
+ };
29
+ value: {
30
+ type: ArrayConstructor;
31
+ reflect: boolean;
32
+ };
33
+ _preview: {
34
+ type: StringConstructor;
35
+ attribute: boolean;
36
+ };
37
+ _files: {
38
+ type: ArrayConstructor;
39
+ attribute: boolean;
40
+ };
41
+ _errors: {
42
+ type: ArrayConstructor;
43
+ attribute: boolean;
44
+ };
45
+ };
46
+ static get styles(): import("lit").CSSResult[];
47
+ reader: FileReader;
48
+ _files: any[];
49
+ _errors: any[];
50
+ _counter: number;
51
+ _onDragOver(e: any): void;
52
+ _onDragEnd(e: any): void;
53
+ _onDrop(e: any): void;
54
+ _getRegex(mimeTypes: any): string;
55
+ setFiles(files: any): void;
56
+ _preview: string | ArrayBuffer | null | undefined;
57
+ value: string | ArrayBuffer | null | undefined;
58
+ _cancelEvent(e: any): void;
59
+ _removeFile(): void;
60
+ _onChange(e: any): void;
61
+ get icon(): "general:clip" | "general:upload";
62
+ _onPreviewError(): void;
63
+ }
64
+ import { LitElement } from "lit-element/lit-element";
@@ -1,367 +1 @@
1
- /*
2
- * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { css, LitElement, html } from 'lit';
17
- import { link } from '../styles/link';
18
- import { dispatchCustomEvent } from '../lib/events';
19
- import { ifDefined } from 'lit/directives/if-defined';
20
- import { i18n } from '../lib/i18n';
21
- import { classMap } from 'lit/directives/class-map';
22
-
23
- /**
24
- * File upload
25
- *
26
- * ## Details
27
- * * has @theme facet
28
- *
29
- * @fires gv-file-upload:drop - Custom event when user drop file
30
- *
31
- * @attr {String} label - Label
32
- * @attr {String} accept - One or more file type identifiers describing the authorized file types.
33
- * @attr {String} except - One or more file type identifiers describing unauthorized file types.
34
- * @attr {Number} limit - Max size limit in bytes.
35
- * @attr {String} value - Reflected value of uploaded file
36
- **/
37
- export class GvFileUpload extends LitElement {
38
- static get properties() {
39
- return {
40
- label: { type: String },
41
- accept: { type: String },
42
- except: { type: String },
43
- limit: { type: Number },
44
- value: { type: Array, reflect: true },
45
- _preview: { type: String, attribute: false },
46
- _files: { type: Array, attribute: false },
47
- _errors: { type: Array, attribute: false },
48
- };
49
- }
50
-
51
- static get styles() {
52
- return [
53
- link,
54
- // language=CSS
55
- css`
56
- :host {
57
- box-sizing: border-box;
58
- display: block;
59
- width: 100%;
60
- color: var(--gv-theme-color-dark, #28444f);
61
- }
62
-
63
- .box {
64
- font-size: 1.25rem;
65
- background-color: var(--gv-theme-neutral-color-lighter, #fafafa);
66
- position: relative;
67
- padding: 2rem;
68
- text-align: center;
69
- display: block;
70
- border: 1px dashed #28444f;
71
- border-radius: 4px;
72
- transition: outline-offset 0.15s ease-in-out, background-color 0.15s linear;
73
- height: 100%;
74
- }
75
-
76
- .box .box__icon {
77
- width: 100%;
78
- height: 80px;
79
- display: block;
80
- margin-bottom: 40px;
81
- --gv-icon--s: 5rem;
82
- --gv-icon--c: var(--gv-theme-color-dark, #28444f);
83
- }
84
-
85
- .box__file {
86
- width: 0.1px;
87
- height: 0.1px;
88
- opacity: 0;
89
- overflow: hidden;
90
- position: absolute;
91
- z-index: -1;
92
- }
93
-
94
- .box__file + label {
95
- max-width: 80%;
96
- text-overflow: ellipsis;
97
- white-space: nowrap;
98
- cursor: pointer;
99
- display: inline-block;
100
- overflow: hidden;
101
- }
102
-
103
- .box.is-dragover {
104
- background-color: var(--gv-theme-color-light, #28444f);
105
- border: none;
106
- outline: 1px dashed #28444f;
107
- outline-offset: -10px;
108
- }
109
-
110
- .box .box__dragndrop {
111
- display: inline;
112
- }
113
-
114
- .files {
115
- box-sizing: border-box;
116
- display: flex;
117
- align-items: center;
118
- --gv-icon--s: 16px;
119
- padding: 1rem 0.5rem 0;
120
- }
121
-
122
- .filename {
123
- flex: 1;
124
- padding: 0.2rem;
125
- word-break: break-all;
126
- }
127
-
128
- .error {
129
- font-style: italic;
130
- --gv-icon--c: red;
131
- }
132
-
133
- gv-image {
134
- position: absolute;
135
- }
136
-
137
- .preview {
138
- transition: all 300ms ease-in-out;
139
- }
140
-
141
- .box__input {
142
- position: relative;
143
- display: flex;
144
- flex-direction: column;
145
- justify-content: center;
146
- height: 100%;
147
- z-index: 10;
148
- }
149
-
150
- .preview .box__input {
151
- visibility: hidden;
152
- }
153
-
154
- .preview:hover .box__input {
155
- visibility: visible;
156
- }
157
-
158
- .preview:hover gv-image {
159
- opacity: 0.3;
160
- }
161
- `,
162
- ];
163
- }
164
-
165
- constructor() {
166
- super();
167
- this.reader = new FileReader();
168
- this._files = [];
169
- this._errors = [];
170
- this._counter = 0;
171
- }
172
-
173
- _onDragOver(e) {
174
- e.preventDefault();
175
- e.stopPropagation();
176
- this._counter++;
177
- const box = this.shadowRoot.querySelector('.box');
178
- box.classList.add('is-dragover');
179
- }
180
-
181
- _onDragEnd(e) {
182
- e.preventDefault();
183
- e.stopPropagation();
184
- if (--this._counter === 0) {
185
- const box = this.shadowRoot.querySelector('.box');
186
- box.classList.remove('is-dragover');
187
- }
188
- }
189
-
190
- _onDrop(e) {
191
- e.preventDefault();
192
- e.stopPropagation();
193
- this.setFiles(e.dataTransfer.files);
194
- }
195
-
196
- _getRegex(mimeTypes) {
197
- return `(${mimeTypes.toString().replace(' ', '').replace(/,/g, '.+|').replace(/\*/g, '.+').replace('.+.+', '.+')})`;
198
- }
199
-
200
- setFiles(files) {
201
- const errors = [];
202
- this._files = [...files].filter((file) => {
203
- if (this.accept && file.type.match(this._getRegex(this.accept)) == null) {
204
- errors.push({ file, error: i18n('gv-file-upload.error.typeNotAllowed') });
205
- return false;
206
- }
207
-
208
- if (this.except && file.type.match(this._getRegex(this.except)) != null) {
209
- errors.push({ file, error: i18n('gv-file-upload.error.typeNotAllowed') });
210
- return false;
211
- }
212
- if (this.limit && file.size > parseInt(this.limit, 10)) {
213
- errors.push({ file, error: i18n('gv-file-upload.error.maxSize') });
214
- return false;
215
- }
216
- return true;
217
- });
218
- this._errors = errors;
219
- if (this._errors.length > 0) {
220
- dispatchCustomEvent(this, 'error', { errors: this._errors });
221
- this.dispatchEvent(new Event('invalid', { bubbles: true, cancelable: true }));
222
- }
223
- const box = this.shadowRoot.querySelector('.box');
224
- box.classList.remove('is-dragover');
225
- if (this._files.length > 0) {
226
- this.reader.readAsDataURL(this._files[0]);
227
- this.reader.onload = (event) => {
228
- if (this._files[0].type.match(this._getRegex('image/*'))) {
229
- this._preview = event.target.result;
230
- } else {
231
- this._preview = null;
232
- }
233
- this.value = event.target.result;
234
- this.dispatchEvent(new Event('input', { bubbles: true, cancelable: true }));
235
- dispatchCustomEvent(this, 'drop', { files: [this.value] });
236
- };
237
- }
238
- }
239
-
240
- _cancelEvent(e) {
241
- e.preventDefault();
242
- e.stopPropagation();
243
- }
244
-
245
- _removeFile() {
246
- this._errors = [];
247
- this._files = [];
248
- this._preview = null;
249
- this.value = null;
250
- this.shadowRoot.querySelector('#file').value = null;
251
- this.dispatchEvent(new Event('input', { bubbles: true, cancelable: true }));
252
- }
253
-
254
- _onChange(e) {
255
- this.setFiles(e.target.files);
256
- }
257
-
258
- get icon() {
259
- if (this._files.length > 0) {
260
- return 'general:clip';
261
- }
262
- return 'general:upload';
263
- }
264
-
265
- render() {
266
- const label =
267
- this._errors.length > 0 || this._files.length > 0 ? i18n('gv-file-upload.chooseAnotherFile') : i18n('gv-file-upload.chooseFile');
268
-
269
- const classes = {
270
- box: true,
271
- preview: this._preview != null,
272
- };
273
-
274
- return html`
275
- <label for="file">${this.label}</label>
276
- <div
277
- class="${classMap(classes)}"
278
- @drop="${this._onDrop}"
279
- @ondrop="${this._onDrop}"
280
- @drag="${this._cancelEvent}"
281
- @dragstart="${this._cancelEvent}"
282
- @dragover="${this._onDragOver}"
283
- @dragenter="${this._onDragOver}"
284
- @dragleave="${this._onDragEnd}"
285
- @dragend="${this._onDragEnd}"
286
- >
287
- ${this._preview != null ? html`<gv-image .src="${this._preview}" @error="${this._onPreviewError}"></gv-image>` : ''}
288
- <div class="box__input">
289
- <gv-icon class="box__icon" shape="${this.icon}"></gv-icon>
290
- <label for="file" class="link">
291
- <strong>${label}</strong>
292
- <span class="box__dragndrop">${i18n('gv-file-upload.orDragIt')}</span>
293
- </label>
294
- <input
295
- class="box__file"
296
- type="file"
297
- name="files[]"
298
- id="file"
299
- files="${this.files}"
300
- accept="${ifDefined(this.accept)}"
301
- @change="${this._onChange}"
302
- />
303
- </div>
304
- </div>
305
- ${this._files.length > 0
306
- ? html`
307
- <div class="files">
308
- <gv-icon shape="general:clip"></gv-icon>
309
- <div class="filename">${this._files[0].name}</div>
310
- <gv-icon class="link" @click="${this._removeFile.bind(this, 0)}" shape="general:trash"></gv-icon>
311
- </div>
312
- `
313
- : ''}
314
- ${this._errors.length > 0
315
- ? html`
316
- <div class="files">
317
- <gv-icon class="error" shape="code:stop"></gv-icon>
318
- <div class="filename">${this._errors[0].file.name} <span class="error">(${this._errors[0].error})</span></div>
319
- </div>
320
- `
321
- : ''}
322
- ${this.value && this._files.length === 0 && this._errors.length === 0
323
- ? html`
324
- <div class="files">
325
- <div class="filename"></div>
326
- <gv-button link @click="${this._removeFile.bind(this, 0)}">${i18n('gv-file-upload.removePicture')}</gv-button>
327
- </div>
328
- `
329
- : ''}
330
- `;
331
- }
332
-
333
- _onPreviewError() {
334
- this.value = null;
335
- }
336
-
337
- updated(changedProperties) {
338
- if (changedProperties.has('value')) {
339
- if (this.value) {
340
- this._preview = this.value;
341
- if (this._files && this._files[0]) {
342
- this.reader.readAsDataURL(this._files[0]);
343
- this.reader.onload = (event) => {
344
- if (this.value !== event.target.result) {
345
- this._files = [];
346
- }
347
- };
348
- }
349
- } else {
350
- this._preview = null;
351
- this._files = [];
352
- }
353
- }
354
-
355
- const preview = this.shadowRoot.querySelector('.preview');
356
- if (preview) {
357
- const { width, height } = preview.getBoundingClientRect();
358
- const img = this.shadowRoot.querySelector('gv-image');
359
- img.style.width = width - 20 + 'px';
360
- img.style.height = height - 20 + 'px';
361
- img.style.left = '10px';
362
- img.style.top = '10px';
363
- }
364
- }
365
- }
366
-
367
- window.customElements.define('gv-file-upload', GvFileUpload);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvFileUpload=void 0;const e=require("lit"),i=require("../styles/link"),t=require("../lib/events"),r=require("lit/directives/if-defined"),s=require("../lib/i18n"),l=require("lit/directives/class-map");class o extends e.LitElement{static get properties(){return{label:{type:String},accept:{type:String},except:{type:String},limit:{type:Number},value:{type:Array,reflect:!0},_preview:{type:String,attribute:!1},_files:{type:Array,attribute:!1},_errors:{type:Array,attribute:!1}}}static get styles(){return[i.link,e.css`:host{box-sizing:border-box;display:block;width:100%;color:var(--gv-theme-color-dark,#28444f)}.box{font-size:1.25rem;background-color:var(--gv-theme-neutral-color-lighter,#fafafa);position:relative;padding:2rem;text-align:center;display:block;border:1px dashed #28444f;border-radius:4px;transition:outline-offset .15s ease-in-out,background-color .15s linear;height:100%}.box .box__icon{width:100%;height:80px;display:block;margin-bottom:40px;--gv-icon--s:5rem;--gv-icon--c:var(--gv-theme-color-dark, #28444f)}.box__file{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.box__file+label{max-width:80%;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;display:inline-block;overflow:hidden}.box.is-dragover{background-color:var(--gv-theme-color-light,#28444f);border:none;outline:1px dashed #28444f;outline-offset:-10px}.box .box__dragndrop{display:inline}.files{box-sizing:border-box;display:flex;align-items:center;--gv-icon--s:16px;padding:1rem .5rem 0}.filename{flex:1;padding:.2rem;word-break:break-all}.error{font-style:italic;--gv-icon--c:red}gv-image{position:absolute}.preview{transition:all .3s ease-in-out}.box__input{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;z-index:10}.preview .box__input{visibility:hidden}.preview:hover .box__input{visibility:visible}.preview:hover gv-image{opacity:.3}`]}constructor(){super(),this.reader=new FileReader,this._files=[],this._errors=[],this._counter=0}_onDragOver(e){e.preventDefault(),e.stopPropagation(),this._counter++;this.shadowRoot.querySelector(".box").classList.add("is-dragover")}_onDragEnd(e){if(e.preventDefault(),e.stopPropagation(),0==--this._counter){this.shadowRoot.querySelector(".box").classList.remove("is-dragover")}}_onDrop(e){e.preventDefault(),e.stopPropagation(),this.setFiles(e.dataTransfer.files)}_getRegex(e){return`(${e.toString().replace(" ","").replace(/,/g,".+|").replace(/\*/g,".+").replace(".+.+",".+")})`}setFiles(e){const i=[];this._files=[...e].filter((e=>this.accept&&null==e.type.match(this._getRegex(this.accept))||this.except&&null!=e.type.match(this._getRegex(this.except))?(i.push({file:e,error:(0,s.i18n)("gv-file-upload.error.typeNotAllowed")}),!1):!(this.limit&&e.size>parseInt(this.limit,10))||(i.push({file:e,error:(0,s.i18n)("gv-file-upload.error.maxSize")}),!1))),this._errors=i,this._errors.length>0&&((0,t.dispatchCustomEvent)(this,"error",{errors:this._errors}),this.dispatchEvent(new Event("invalid",{bubbles:!0,cancelable:!0})));this.shadowRoot.querySelector(".box").classList.remove("is-dragover"),this._files.length>0&&(this.reader.readAsDataURL(this._files[0]),this.reader.onload=e=>{this._files[0].type.match(this._getRegex("image/*"))?this._preview=e.target.result:this._preview=null,this.value=e.target.result,this.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0})),(0,t.dispatchCustomEvent)(this,"drop",{files:[this.value]})})}_cancelEvent(e){e.preventDefault(),e.stopPropagation()}_removeFile(){this._errors=[],this._files=[],this._preview=null,this.value=null,this.shadowRoot.querySelector("#file").value=null,this.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}))}_onChange(e){this.setFiles(e.target.files)}get icon(){return this._files.length>0?"general:clip":"general:upload"}render(){const i=this._errors.length>0||this._files.length>0?(0,s.i18n)("gv-file-upload.chooseAnotherFile"):(0,s.i18n)("gv-file-upload.chooseFile"),t={box:!0,preview:null!=this._preview};return e.html`<label for="file">${this.label}</label><div class="${(0,l.classMap)(t)}" @drop="${this._onDrop}" @ondrop="${this._onDrop}" @drag="${this._cancelEvent}" @dragstart="${this._cancelEvent}" @dragover="${this._onDragOver}" @dragenter="${this._onDragOver}" @dragleave="${this._onDragEnd}" @dragend="${this._onDragEnd}">${null!=this._preview?e.html`<gv-image .src="${this._preview}" @error="${this._onPreviewError}"></gv-image>`:""}<div class="box__input"><gv-icon class="box__icon" shape="${this.icon}"></gv-icon><label for="file" class="link"><strong>${i}</strong> <span class="box__dragndrop">${(0,s.i18n)("gv-file-upload.orDragIt")}</span></label> <input class="box__file" type="file" name="files[]" id="file" files="${this.files}" accept="${(0,r.ifDefined)(this.accept)}" @change="${this._onChange}"></div></div>${this._files.length>0?e.html`<div class="files"><gv-icon shape="general:clip"></gv-icon><div class="filename">${this._files[0].name}</div><gv-icon class="link" @click="${this._removeFile.bind(this,0)}" shape="general:trash"></gv-icon></div>`:""} ${this._errors.length>0?e.html`<div class="files"><gv-icon class="error" shape="code:stop"></gv-icon><div class="filename">${this._errors[0].file.name} <span class="error">(${this._errors[0].error})</span></div></div>`:""} ${this.value&&0===this._files.length&&0===this._errors.length?e.html`<div class="files"><div class="filename"></div><gv-button link @click="${this._removeFile.bind(this,0)}">${(0,s.i18n)("gv-file-upload.removePicture")}</gv-button></div>`:""}`}_onPreviewError(){this.value=null}updated(e){e.has("value")&&(this.value?(this._preview=this.value,this._files&&this._files[0]&&(this.reader.readAsDataURL(this._files[0]),this.reader.onload=e=>{this.value!==e.target.result&&(this._files=[])})):(this._preview=null,this._files=[]));const i=this.shadowRoot.querySelector(".preview");if(i){const{width:e,height:t}=i.getBoundingClientRect(),r=this.shadowRoot.querySelector("gv-image");r.style.width=e-20+"px",r.style.height=t-20+"px",r.style.left="10px",r.style.top="10px"}}}exports.GvFileUpload=o,window.customElements.define("gv-file-upload",o);
@@ -0,0 +1,26 @@
1
+ /**
2
+ * An icon
3
+ *
4
+ * ## Details
5
+ * * has @theme facet
6
+ *
7
+ * @cssprop {Color} [--gv-icon--c=var(--gv-theme-font-color-dark, #262626)] - Color
8
+ * @cssprop {Color} [--gv-icon-opacity--c=var(--gv-theme-font-color-dark, #262626)] - Opacity color
9
+ * @cssprop {Length} [--gv-icon--s=32px] - Height and width
10
+ */
11
+ export class GvIcon extends LitElement {
12
+ static get properties(): {
13
+ /**
14
+ * This is a shape, an concatenation of category name and icon name.
15
+ * @type {"{category}:{iconName}"}
16
+ * @attr
17
+ * @required
18
+ */
19
+ shape: "{category}:{iconName}";
20
+ };
21
+ static get excludedShapes(): string[];
22
+ static get styles(): import("lit").CSSResult[];
23
+ static getHref(shape: any): string;
24
+ canCustomize(): boolean;
25
+ }
26
+ import { LitElement } from "lit-element/lit-element";
@@ -1,103 +1 @@
1
- /*
2
- * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { css, LitElement, html, noChange } from 'lit';
17
- import { Directive, directive } from 'lit/directive';
18
-
19
- import { classMap } from 'lit/directives/class-map';
20
-
21
- class Namespaced extends Directive {
22
- update(part, [namespace, value]) {
23
- part.element.setAttributeNS(namespace, part.name, value);
24
- return noChange;
25
- }
26
- }
27
-
28
- const namespaced = directive(Namespaced);
29
-
30
- /**
31
- * An icon
32
- *
33
- * ## Details
34
- * * has @theme facet
35
- *
36
- * @cssprop {Color} [--gv-icon--c=var(--gv-theme-font-color-dark, #262626)] - Color
37
- * @cssprop {Color} [--gv-icon-opacity--c=var(--gv-theme-font-color-dark, #262626)] - Opacity color
38
- * @cssprop {Length} [--gv-icon--s=32px] - Height and width
39
- */
40
- export class GvIcon extends LitElement {
41
- static get properties() {
42
- return {
43
- /**
44
- * This is a shape, an concatenation of category name and icon name.
45
- * @type {"{category}:{iconName}"}
46
- * @attr
47
- * @required
48
- */
49
- shape: { type: String },
50
- };
51
- }
52
-
53
- static get excludedShapes() {
54
- return ['thirdparty:google', 'thirdparty:graviteeio_am'];
55
- }
56
-
57
- canCustomize() {
58
- return ![
59
- 'thirdparty:google',
60
- 'thirdparty:graviteeio_am',
61
- 'thirdparty:http',
62
- 'thirdparty:jdbc',
63
- 'thirdparty:microsoft',
64
- 'thirdparty:mongodb',
65
- ].includes(this.shape);
66
- }
67
-
68
- static get styles() {
69
- return [
70
- // language=CSS
71
- css`
72
- :host {
73
- box-sizing: border-box;
74
- display: inline-flex;
75
- vertical-align: middle;
76
- --color: var(--gv-icon--c, var(--gv-theme-font-color-dark, #262626));
77
- --opacity: var(--gv-icon-opacity--c, var(--gv-theme-font-color-dark, #262626));
78
- --size: var(--gv-icon--s, 32px);
79
- }
80
-
81
- svg {
82
- height: var(--size);
83
- width: var(--size);
84
- fill: var(--color);
85
- }
86
- `,
87
- ];
88
- }
89
-
90
- static getHref(shape) {
91
- const [category, icon] = shape.split(':');
92
- return `./icons/${category}.svg#${icon}`;
93
- }
94
-
95
- render() {
96
- const xlinkNamespace = 'http://www.w3.org/1999/xlink';
97
- return html`<svg class="${classMap({ 'no-color': !this.canCustomize() })}">
98
- <use xlink:href="${namespaced(xlinkNamespace, GvIcon.getHref(this.shape))}" />
99
- </svg>`;
100
- }
101
- }
102
-
103
- window.customElements.define('gv-icon', GvIcon);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvIcon=void 0;const e=require("lit"),t=require("lit/directive"),r=require("lit/directives/class-map");class i extends t.Directive{update(t,[r,i]){return t.element.setAttributeNS(r,t.name,i),e.noChange}}const s=(0,t.directive)(i);class o extends e.LitElement{static get properties(){return{shape:{type:String}}}static get excludedShapes(){return["thirdparty:google","thirdparty:graviteeio_am"]}canCustomize(){return!["thirdparty:google","thirdparty:graviteeio_am","thirdparty:http","thirdparty:jdbc","thirdparty:microsoft","thirdparty:mongodb"].includes(this.shape)}static get styles(){return[e.css`:host{box-sizing:border-box;display:inline-flex;vertical-align:middle;--color:var(--gv-icon--c, var(--gv-theme-font-color-dark, #262626));--opacity:var(--gv-icon-opacity--c, var(--gv-theme-font-color-dark, #262626));--size:var(--gv-icon--s, 32px)}svg{height:var(--size);width:var(--size);fill:var(--color)}`]}static getHref(e){const[t,r]=e.split(":");return`./icons/${t}.svg#${r}`}render(){return e.html`<svg class="${(0,r.classMap)({"no-color":!this.canCustomize()})}"><use xlink:href="${s("http://www.w3.org/1999/xlink",o.getHref(this.shape))}"/></svg>`}}exports.GvIcon=o,window.customElements.define("gv-icon",o);
@@ -0,0 +1,45 @@
1
+ /**
2
+ * An image
3
+ *
4
+ * ## Details
5
+ * * has @theme facet
6
+ *
7
+ * @fires gv-image:loaded - When image is loaded
8
+ *
9
+ * @attr {String} src - Source of img
10
+ * @attr {String} alt - Alternative text of img
11
+ * @attr {Boolean} skeleton - enable skeleton screen UI pattern (loading hint)
12
+ *
13
+ * @cssprop {String} [--gv-image--of=cover] - set the object-fit of image
14
+ */
15
+ export class GvImage extends LitElement {
16
+ static get properties(): {
17
+ src: {
18
+ type: StringConstructor;
19
+ };
20
+ skeleton: {
21
+ type: BooleanConstructor;
22
+ reflect: boolean;
23
+ };
24
+ alt: {
25
+ type: StringConstructor;
26
+ };
27
+ _loaded: {
28
+ type: BooleanConstructor;
29
+ reflect: boolean;
30
+ };
31
+ _error: {
32
+ type: BooleanConstructor;
33
+ };
34
+ };
35
+ static get styles(): import("lit").CSSResult[];
36
+ skeleton: boolean;
37
+ _error: boolean;
38
+ _loaded: boolean;
39
+ set src(arg: any);
40
+ get src(): any;
41
+ _src: any;
42
+ _onLoad(e: any): void;
43
+ _onError(e: any): void;
44
+ }
45
+ import { LitElement } from "lit-element/lit-element";