@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
@@ -1,351 +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 { classMap } from 'lit/directives/class-map';
18
-
19
- /**
20
- * Popover component
21
- *
22
- * ## Details
23
- * * has @theme facet
24
- *
25
- * @attr {String} event - the event that triggers the opening.
26
- * @attr {String} delay - the time before closing, useful for a click event
27
- * @attr {String} arrow - if need arrow
28
- * @attr {String} small - Small popover
29
- * @attr {String} medium - Medium popover
30
- * @attr {String} large - Large popover
31
- * @attr {String} width - The width of popover
32
- * @attr {String} position - The position top, right, bottom or left
33
- * @attr {Boolean} auto - to let the component choose the position
34
- *
35
- * @cssprop {Color} [--gv-popover--bgc=var(--gv-theme-neutral-color-lighter, #fafafa)] - Background color
36
- * @cssprop {Color} [--gv-popover--c=var(--gv-theme-font-color-dark, #262626)] - Color
37
- * @cssprop {Color} [--gv-popover--bdc=var(--gv-theme-neutral-color, #f5f5f5)] - Border color
38
- * @cssprop {Length} [--gv-popover--p=0.5rem] - Padding
39
- */
40
- export class GvPopover extends LitElement {
41
- static get properties() {
42
- return {
43
- event: { type: String },
44
- delay: { type: Number },
45
- arrow: { type: Boolean, reflect: true },
46
- small: { type: Boolean, reflect: true },
47
- medium: { type: Boolean, reflect: true },
48
- large: { type: Boolean, reflect: true },
49
- width: { type: String },
50
- position: { type: String, reflect: true },
51
- auto: { type: Boolean },
52
- _opened: { type: Boolean, attribute: false },
53
- };
54
- }
55
-
56
- static get styles() {
57
- return [
58
- // language=CSS
59
- css`
60
- :host {
61
- cursor: pointer;
62
- box-sizing: border-box;
63
- display: inline-block;
64
- position: relative;
65
- }
66
-
67
- .popover {
68
- --bgc: var(--gv-popover--bgc, var(--gv-theme-neutral-color-lighter, #fafafa));
69
- color: var(--gv-popover--c, var(--gv-theme-font-color-dark, #262626));
70
- position: absolute;
71
- background-color: var(--bgc);
72
- padding: var(--gv-popover--p, 0.5rem);
73
- border-radius: 4px;
74
- z-index: 1000;
75
- margin: 0 auto;
76
- text-align: center;
77
- width: auto;
78
- box-sizing: content-box;
79
- }
80
-
81
- :host([position='bottom']) .popover {
82
- top: calc(100% + 0.4rem);
83
- transform: translateX(-50%);
84
- left: 50%;
85
- box-shadow: 1px 0 0 0 var(--gv-theme-neutral-color, #f5f5f5), 0 2px 3px var(--gv-theme-neutral-color-dark, #bfbfbf);
86
- }
87
-
88
- :host([position='bottom'][arrow]) .popover {
89
- top: calc(100% + 0.4rem + 10px);
90
- }
91
-
92
- :host([position='bottom'][arrow]) .arrow {
93
- top: calc(100% - 8px);
94
- transform: translateX(-50%);
95
- left: 50%;
96
- }
97
-
98
- :host([position='top']) .popover {
99
- bottom: calc(100% + 0.4rem);
100
- transform: translateX(-50%);
101
- left: 50%;
102
- box-shadow: 1px 0 0 0 var(--gv-theme-neutral-color, #f5f5f5), 0 -2px 3px var(--gv-theme-neutral-color-dark, #bfbfbf);
103
- }
104
-
105
- :host([position='top'][arrow]) .popover {
106
- bottom: calc(100% + 0.4rem + 10px);
107
- }
108
-
109
- :host([position='top'][arrow]) .arrow {
110
- bottom: calc(100% - 8px);
111
- transform: translateX(-50%) rotate(180deg);
112
- left: 50%;
113
- }
114
-
115
- :host([position='left']) .popover {
116
- top: 50%;
117
- transform: translateY(-50%);
118
- right: calc(100% + 0.4rem);
119
- box-shadow: -1px 0 0 0 var(--gv-theme-neutral-color, #f5f5f5), -1px 2px 3px var(--gv-theme-neutral-color-dark, #bfbfbf);
120
- }
121
-
122
- :host([position='left'][arrow]) .popover {
123
- right: calc(100% + 0.4rem + 10px);
124
- }
125
-
126
- :host([position='left'][arrow]) .arrow {
127
- top: 50%;
128
- transform: translateY(-50%) rotate(90deg);
129
- right: calc(100% - 8px);
130
- }
131
-
132
- :host([position='right']) .popover {
133
- top: 50%;
134
- transform: translateY(-50%);
135
- left: calc(100% + 0.4rem);
136
- box-shadow: 1px 0 0 1px var(--gv-theme-neutral-color, #f5f5f5), 1px 1px 1px var(--gv-theme-neutral-color-dark, #bfbfbf);
137
- }
138
-
139
- :host([position='right'][arrow]) .popover {
140
- left: calc(100% + 0.4rem + 10px);
141
- }
142
-
143
- :host([position='right'][arrow]) .arrow {
144
- left: calc(100% - 8px);
145
- top: 50%;
146
- transform: translateY(-50%) rotate(-90deg);
147
- }
148
-
149
- .inline .popover {
150
- white-space: nowrap;
151
- }
152
-
153
- :host([small]) .popover {
154
- width: 200px;
155
- }
156
-
157
- :host([medium]) .popover {
158
- width: 350px;
159
- }
160
-
161
- :host([large]) .popover {
162
- width: 500px;
163
- }
164
-
165
- .content {
166
- width: 100%;
167
- }
168
-
169
- .popover,
170
- .arrow {
171
- opacity: 0;
172
- visibility: hidden;
173
- transition: opacity 0.3s ease-in-out;
174
- }
175
-
176
- .open .popover,
177
- .open .arrow {
178
- display: block;
179
- opacity: 1;
180
- visibility: visible;
181
- }
182
-
183
- .close .popover,
184
- .close .arrow {
185
- }
186
-
187
- .arrow {
188
- width: 25px;
189
- height: 25px;
190
- z-index: 101;
191
- position: absolute;
192
- overflow: hidden;
193
- }
194
-
195
- .arrow:after {
196
- content: '';
197
- position: absolute;
198
- width: 12px;
199
- height: 12px;
200
- background: var(--gv-popover--bgc, var(--gv-theme-neutral-color-lighter, #fafafa));
201
- transform: rotate(45deg);
202
- top: 19px;
203
- left: 6px;
204
- border: 1px solid var(--gv-popover--bdc, var(--gv-theme-neutral-color, #f5f5f5));
205
- }
206
- `,
207
- ];
208
- }
209
-
210
- constructor() {
211
- super();
212
- this.event = 'mouseover';
213
- this._closeHandler = this._close.bind(this);
214
- this.delay = 0;
215
- this.arrow = false;
216
- this.position = 'bottom';
217
- this.auto = false;
218
- }
219
-
220
- _open(e) {
221
- if (this.event === 'click') {
222
- window.removeEventListener(this.event, this._closeHandler);
223
- }
224
- this._opened = true;
225
- if (this.event === 'click') {
226
- setTimeout(() => window.addEventListener(this.event, this._closeHandler));
227
- }
228
-
229
- if (this.delay > 0) {
230
- setTimeout(() => this._close({}), this.delay);
231
- }
232
- }
233
-
234
- close() {
235
- this._close({});
236
- }
237
-
238
- _close(e) {
239
- if (this._opened && (e.target !== this.firstElementChild || this.event !== 'click')) {
240
- const openElement = this.shadowRoot.querySelector('.open');
241
- openElement.classList.add('close');
242
- setTimeout(() => {
243
- openElement.classList.remove('close');
244
- this._opened = false;
245
- }, 200);
246
- }
247
- }
248
-
249
- render() {
250
- const inline = this.width == null && !this.small && !this.medium && !this.large;
251
- const classes = { open: this._opened, content: true, inline };
252
- return html` <div class="${classMap(classes)}">
253
- <slot></slot>
254
- ${this.arrow ? html`<div class="arrow"></div>` : ''}
255
- <div class="popover">${this.renderContent()}</div>
256
- </div>`;
257
- }
258
-
259
- renderContent() {
260
- return html`<slot name="popover"></slot>`;
261
- }
262
-
263
- firstUpdated(_changedProperties) {
264
- setTimeout(() => {
265
- this.addEventListener(this.event, this._open.bind(this));
266
- if (this.event.startsWith('mouse') && this.delay === 0) {
267
- this.addEventListener('mouseleave', this._close.bind(this));
268
- }
269
- });
270
- }
271
-
272
- _getContentSize() {
273
- const popover = this.shadowRoot.querySelector('.popover');
274
- return {
275
- width: popover.offsetWidth,
276
- height: popover.offsetHeight,
277
- };
278
- }
279
-
280
- _getPositionPadding() {
281
- return 10;
282
- }
283
-
284
- _getCenterPosition() {
285
- return {
286
- x: this.target.x + this.target.width / 2 + window.scrollX,
287
- y: this.target.y + this.target.height / 2 + window.scrollY,
288
- };
289
- }
290
-
291
- _updatePosition() {
292
- if (this.position != null && this.auto) {
293
- const popover = this.shadowRoot.querySelector('.popover');
294
- if (popover) {
295
- this.target = this.firstElementChild.getBoundingClientRect();
296
- if (
297
- (this.position === 'top' && !this._hasTopSpace()) ||
298
- (this.position === 'bottom' && !this._hasBottomSpace()) ||
299
- (this.position === 'left' && !this._hasLeftSpace()) ||
300
- (this.position === 'right' && !this._hasRightSpace())
301
- ) {
302
- const index = [this._hasTopSpace(), this._hasRightSpace(), this._hasBottomSpace(), this._hasLeftSpace()].indexOf(true);
303
- if (index > -1) {
304
- this.position = ['top', 'right', 'bottom', 'left'][index];
305
- }
306
- }
307
- }
308
- }
309
- }
310
-
311
- _getMaxX() {
312
- return window.innerWidth - this._getPositionPadding();
313
- }
314
-
315
- _getMaxY() {
316
- return window.innerHeight - this._getPositionPadding();
317
- }
318
-
319
- _hasBottomSpace() {
320
- const y = this.target.y + this.target.height + this._getContentSize().height + this._getPositionPadding();
321
-
322
- return y <= this._getMaxY();
323
- }
324
-
325
- _hasRightSpace() {
326
- const y = this.target.x + this.target.width + this._getContentSize().width + this._getPositionPadding();
327
-
328
- return y <= this._getMaxX();
329
- }
330
-
331
- _hasTopSpace() {
332
- const y = this.target.y - this._getContentSize().height - this._getPositionPadding();
333
-
334
- return y >= this._getPositionPadding();
335
- }
336
-
337
- _hasLeftSpace() {
338
- const y = this.target.x - this._getContentSize().width - this._getPositionPadding();
339
-
340
- return y >= this._getPositionPadding();
341
- }
342
-
343
- updated(props) {
344
- if (props.has('width')) {
345
- this.shadowRoot.querySelector('.popover').style.setProperty('width', this.width);
346
- }
347
- this._updatePosition();
348
- }
349
- }
350
-
351
- window.customElements.define('gv-popover', GvPopover);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvPopover=void 0;const t=require("lit"),e=require("lit/directives/class-map");class o extends t.LitElement{static get properties(){return{event:{type:String},delay:{type:Number},arrow:{type:Boolean,reflect:!0},small:{type:Boolean,reflect:!0},medium:{type:Boolean,reflect:!0},large:{type:Boolean,reflect:!0},width:{type:String},position:{type:String,reflect:!0},auto:{type:Boolean},_opened:{type:Boolean,attribute:!1}}}static get styles(){return[t.css`:host{cursor:pointer;box-sizing:border-box;display:inline-block;position:relative}.popover{--bgc:var(--gv-popover--bgc, var(--gv-theme-neutral-color-lighter, #fafafa));color:var(--gv-popover--c,var(--gv-theme-font-color-dark,#262626));position:absolute;background-color:var(--bgc);padding:var(--gv-popover--p,.5rem);border-radius:4px;z-index:1000;margin:0 auto;text-align:center;width:auto;box-sizing:content-box}:host([position=bottom]) .popover{top:calc(100% + .4rem);transform:translateX(-50%);left:50%;box-shadow:1px 0 0 0 var(--gv-theme-neutral-color,#f5f5f5),0 2px 3px var(--gv-theme-neutral-color-dark,#bfbfbf)}:host([position=bottom][arrow]) .popover{top:calc(100% + .4rem + 10px)}:host([position=bottom][arrow]) .arrow{top:calc(100% - 8px);transform:translateX(-50%);left:50%}:host([position=top]) .popover{bottom:calc(100% + .4rem);transform:translateX(-50%);left:50%;box-shadow:1px 0 0 0 var(--gv-theme-neutral-color,#f5f5f5),0 -2px 3px var(--gv-theme-neutral-color-dark,#bfbfbf)}:host([position=top][arrow]) .popover{bottom:calc(100% + .4rem + 10px)}:host([position=top][arrow]) .arrow{bottom:calc(100% - 8px);transform:translateX(-50%) rotate(180deg);left:50%}:host([position=left]) .popover{top:50%;transform:translateY(-50%);right:calc(100% + .4rem);box-shadow:-1px 0 0 0 var(--gv-theme-neutral-color,#f5f5f5),-1px 2px 3px var(--gv-theme-neutral-color-dark,#bfbfbf)}:host([position=left][arrow]) .popover{right:calc(100% + .4rem + 10px)}:host([position=left][arrow]) .arrow{top:50%;transform:translateY(-50%) rotate(90deg);right:calc(100% - 8px)}:host([position=right]) .popover{top:50%;transform:translateY(-50%);left:calc(100% + .4rem);box-shadow:1px 0 0 1px var(--gv-theme-neutral-color,#f5f5f5),1px 1px 1px var(--gv-theme-neutral-color-dark,#bfbfbf)}:host([position=right][arrow]) .popover{left:calc(100% + .4rem + 10px)}:host([position=right][arrow]) .arrow{left:calc(100% - 8px);top:50%;transform:translateY(-50%) rotate(-90deg)}.inline .popover{white-space:nowrap}:host([small]) .popover{width:200px}:host([medium]) .popover{width:350px}:host([large]) .popover{width:500px}.content{width:100%}.arrow,.popover{opacity:0;visibility:hidden;transition:opacity .3s ease-in-out}.open .arrow,.open .popover{display:block;opacity:1;visibility:visible}.arrow{width:25px;height:25px;z-index:101;position:absolute;overflow:hidden}.arrow:after{content:'';position:absolute;width:12px;height:12px;background:var(--gv-popover--bgc,var(--gv-theme-neutral-color-lighter,#fafafa));transform:rotate(45deg);top:19px;left:6px;border:1px solid var(--gv-popover--bdc,var(--gv-theme-neutral-color,#f5f5f5))}`]}constructor(){super(),this.event="mouseover",this._closeHandler=this._close.bind(this),this.delay=0,this.arrow=!1,this.position="bottom",this.auto=!1}_open(t){"click"===this.event&&window.removeEventListener(this.event,this._closeHandler),this._opened=!0,"click"===this.event&&setTimeout((()=>window.addEventListener(this.event,this._closeHandler))),this.delay>0&&setTimeout((()=>this._close({})),this.delay)}close(){this._close({})}_close(t){if(this._opened&&(t.target!==this.firstElementChild||"click"!==this.event)){const t=this.shadowRoot.querySelector(".open");t.classList.add("close"),setTimeout((()=>{t.classList.remove("close"),this._opened=!1}),200)}}render(){const o=null==this.width&&!this.small&&!this.medium&&!this.large,i={open:this._opened,content:!0,inline:o};return t.html`<div class="${(0,e.classMap)(i)}"><slot></slot>${this.arrow?t.html`<div class="arrow"></div>`:""}<div class="popover">${this.renderContent()}</div></div>`}renderContent(){return t.html`<slot name="popover"></slot>`}firstUpdated(t){setTimeout((()=>{this.addEventListener(this.event,this._open.bind(this)),this.event.startsWith("mouse")&&0===this.delay&&this.addEventListener("mouseleave",this._close.bind(this))}))}_getContentSize(){const t=this.shadowRoot.querySelector(".popover");return{width:t.offsetWidth,height:t.offsetHeight}}_getPositionPadding(){return 10}_getCenterPosition(){return{x:this.target.x+this.target.width/2+window.scrollX,y:this.target.y+this.target.height/2+window.scrollY}}_updatePosition(){if(null!=this.position&&this.auto){if(this.shadowRoot.querySelector(".popover")&&(this.target=this.firstElementChild.getBoundingClientRect(),"top"===this.position&&!this._hasTopSpace()||"bottom"===this.position&&!this._hasBottomSpace()||"left"===this.position&&!this._hasLeftSpace()||"right"===this.position&&!this._hasRightSpace())){const t=[this._hasTopSpace(),this._hasRightSpace(),this._hasBottomSpace(),this._hasLeftSpace()].indexOf(!0);t>-1&&(this.position=["top","right","bottom","left"][t])}}}_getMaxX(){return window.innerWidth-this._getPositionPadding()}_getMaxY(){return window.innerHeight-this._getPositionPadding()}_hasBottomSpace(){return this.target.y+this.target.height+this._getContentSize().height+this._getPositionPadding()<=this._getMaxY()}_hasRightSpace(){return this.target.x+this.target.width+this._getContentSize().width+this._getPositionPadding()<=this._getMaxX()}_hasTopSpace(){return this.target.y-this._getContentSize().height-this._getPositionPadding()>=this._getPositionPadding()}_hasLeftSpace(){return this.target.x-this._getContentSize().width-this._getPositionPadding()>=this._getPositionPadding()}updated(t){t.has("width")&&this.shadowRoot.querySelector(".popover").style.setProperty("width",this.width),this._updatePosition()}}exports.GvPopover=o,window.customElements.define("gv-popover",o);
@@ -0,0 +1,108 @@
1
+ declare const GvPromote_base: {
2
+ new (): {
3
+ [x: string]: any;
4
+ _skeletonAttribute: string;
5
+ _onImageLoaded(): void;
6
+ _skeleton: boolean;
7
+ _renderImage(): "" | import("lit-html").TemplateResult<1>;
8
+ _onTagClick(tagValue: any, event: any): void;
9
+ _renderLabels(clickable: any): unknown;
10
+ _renderStates(): unknown;
11
+ _onClickToMetrics(event: any): void;
12
+ _renderMetricsWithRating(): "" | import("lit-html").TemplateResult<1>;
13
+ _renderInfoRating(): "" | import("lit-html").TemplateResult<1>;
14
+ _invisible: boolean;
15
+ _error: boolean;
16
+ _empty: boolean;
17
+ updated(changedProperties: any): void;
18
+ };
19
+ readonly properties: {
20
+ item: {
21
+ type: ObjectConstructor;
22
+ };
23
+ href: {
24
+ type: StringConstructor;
25
+ };
26
+ metrics: {
27
+ type: ObjectConstructor;
28
+ };
29
+ _item: {
30
+ type: ObjectConstructor;
31
+ attribute: boolean;
32
+ };
33
+ _invisible: {
34
+ type: BooleanConstructor;
35
+ reflect: boolean;
36
+ };
37
+ _skeleton: {
38
+ type: BooleanConstructor;
39
+ attribute: boolean;
40
+ };
41
+ _error: {
42
+ type: BooleanConstructor;
43
+ attribute: boolean;
44
+ };
45
+ _empty: {
46
+ type: BooleanConstructor;
47
+ attribute: boolean;
48
+ };
49
+ };
50
+ readonly styles: import("lit").CSSResult[];
51
+ };
52
+ /**
53
+ * Promote component
54
+ *
55
+ * ## Details
56
+ * * has @theme facet
57
+ *
58
+ * @fires gv-promote:click - When click on button for view item
59
+ * @fires gv-tag:click - When one of the label is clicked
60
+ *
61
+ * @attr {Promise<any>} item - an item.
62
+ *
63
+ * @cssprop {Color} [--gv-promote-image--bgc=var(--gv-theme-color-light, #86c3d0)] - Image background color
64
+ * @cssprop {Color} [--gv-promote--bgc=var(--gv-theme-neutral-color-lightest, #ffffff)] - Background color
65
+ * @cssprop {Length} [--gv-promote-image--h=300px] - Image height
66
+ * @cssprop {Length} [--gv-promote-image--w=300px] - Image width
67
+ * @cssprop {Length} [--gv-promote-button--p=19px 80px] - Button padding
68
+ * @cssprop {Length} [--gv-promote-button--fz=var(--gv-theme-font-size-l, 16px)] - Button font size
69
+ */
70
+ export class GvPromote extends GvPromote_base {
71
+ static get properties(): {
72
+ limit: {
73
+ type: NumberConstructor;
74
+ };
75
+ item: {
76
+ type: ObjectConstructor;
77
+ };
78
+ href: {
79
+ type: StringConstructor;
80
+ };
81
+ metrics: {
82
+ type: ObjectConstructor;
83
+ };
84
+ _item: {
85
+ type: ObjectConstructor;
86
+ attribute: boolean;
87
+ };
88
+ _invisible: {
89
+ type: BooleanConstructor;
90
+ reflect: boolean;
91
+ };
92
+ _skeleton: {
93
+ type: BooleanConstructor;
94
+ attribute: boolean;
95
+ };
96
+ _error: {
97
+ type: BooleanConstructor;
98
+ attribute: boolean;
99
+ };
100
+ _empty: {
101
+ type: BooleanConstructor;
102
+ attribute: boolean;
103
+ };
104
+ };
105
+ _onClick(): void;
106
+ render(): "" | import("lit-html").TemplateResult<1>;
107
+ }
108
+ export {};
@@ -1,209 +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 { classMap } from 'lit/directives/class-map';
18
- import { dispatchCustomEvent } from '../lib/events';
19
- import { i18n } from '../lib/i18n';
20
- import { ItemResource } from '../mixins/item-resource';
21
- import { getTitle, getDescription, getVersion, getOwner } from '../lib/item';
22
- import { truncate } from '../lib/utils';
23
-
24
- import '../atoms/gv-image';
25
- import '../atoms/gv-button';
26
- import '../molecules/gv-rating';
27
- import '../molecules/gv-metrics';
28
-
29
- /**
30
- * Promote component
31
- *
32
- * ## Details
33
- * * has @theme facet
34
- *
35
- * @fires gv-promote:click - When click on button for view item
36
- * @fires gv-tag:click - When one of the label is clicked
37
- *
38
- * @attr {Promise<any>} item - an item.
39
- *
40
- * @cssprop {Color} [--gv-promote-image--bgc=var(--gv-theme-color-light, #86c3d0)] - Image background color
41
- * @cssprop {Color} [--gv-promote--bgc=var(--gv-theme-neutral-color-lightest, #ffffff)] - Background color
42
- * @cssprop {Length} [--gv-promote-image--h=300px] - Image height
43
- * @cssprop {Length} [--gv-promote-image--w=300px] - Image width
44
- * @cssprop {Length} [--gv-promote-button--p=19px 80px] - Button padding
45
- * @cssprop {Length} [--gv-promote-button--fz=var(--gv-theme-font-size-l, 16px)] - Button font size
46
- */
47
- export class GvPromote extends ItemResource(LitElement) {
48
- static get properties() {
49
- return {
50
- ...super.properties,
51
- limit: { type: Number },
52
- };
53
- }
54
-
55
- static get styles() {
56
- return [
57
- ...super.styles,
58
- // language=CSS
59
- css`
60
- :host {
61
- box-sizing: border-box;
62
- display: inline-block;
63
- margin: 0.2rem;
64
- vertical-align: middle;
65
- --gv-button--p: var(--gv-promote-button--p, 19px 80px);
66
- --gv-button--fz: var(--gv-promote-button--fz, var(--gv-theme-font-size-l, 16px));
67
- --gv-preview-button: 'none';
68
- width: 100%;
69
- --gv-icon--s: 20px;
70
- --gv-rating--s: 20px;
71
- }
72
-
73
- gv-identity-picture {
74
- height: var(--gv-promote-image--h, 300px);
75
- width: var(--gv-promote-image--w, 300px);
76
- --gv-image--of: contain;
77
- }
78
-
79
- .container {
80
- display: flex;
81
- min-height: 420px;
82
- max-height: 420px;
83
- }
84
-
85
- .image {
86
- background-color: var(--gv-promote-image--bgc, var(--gv-theme-color-light, #86c3d0));
87
- min-height: 0;
88
- min-width: 0;
89
- width: 480px;
90
- display: flex;
91
- align-items: center;
92
- justify-content: center;
93
- border-radius: 4px 0 0 4px;
94
- }
95
-
96
- .title {
97
- text-transform: capitalize;
98
- min-height: 32px;
99
- display: flex;
100
- align-items: center;
101
- }
102
-
103
- .title h2 {
104
- font-size: var(--gv-theme-font-size-xl, 26px);
105
- flex: 1;
106
- }
107
-
108
- .title .version {
109
- font-size: var(--gv-theme-font-size-s, 12px);
110
- color: var(--gv-theme-neutral-color-dark, #d9d9d9);
111
- }
112
-
113
- .owner {
114
- --gv-icon--c: var(--gv-theme-neutral-color-dark, #bfbfbf);
115
- --gv-icon--s: 16px;
116
- color: var(--gv-theme-neutral-color-dark, #bfbfbf);
117
- display: flex;
118
- padding-bottom: 2px;
119
- margin-top: -8px;
120
- line-height: initial;
121
- }
122
-
123
- .content {
124
- flex: 1;
125
- padding: 1.5rem;
126
- background-color: var(--gv-promote--bgc, var(--gv-theme-neutral-color-lightest, #ffffff));
127
- color: var(--gv-theme-font-color-dark, #262626);
128
- font-size: var(--gv-theme-font-size-l, 16px);
129
- line-height: 24px;
130
- border-radius: 0 4px 4px 0;
131
- display: flex;
132
- flex-direction: column;
133
- }
134
-
135
- .description {
136
- margin: 24px 0px;
137
- flex-grow: 1;
138
- }
139
-
140
- .description-large {
141
- text-align: justify;
142
- }
143
-
144
- .infos {
145
- display: flex;
146
- justify-content: flex-end;
147
- margin: 0.5rem 0.2rem;
148
- align-items: center;
149
- }
150
-
151
- gv-metrics {
152
- display: flex;
153
- height: 100%;
154
- justify-content: flex-end;
155
- align-items: stretch;
156
- }
157
-
158
- .labels {
159
- text-align: right;
160
- }
161
- `,
162
- ];
163
- }
164
-
165
- _onClick() {
166
- dispatchCustomEvent(this, 'click', { data: this._item, href: this.href });
167
- }
168
-
169
- render() {
170
- if (this._invisible) {
171
- return '';
172
- }
173
- const owner = getOwner(this._item);
174
- return html`<div class="container">
175
- <div class="${classMap({ skeleton: this._skeleton, image: true })}">${this._renderImage()}</div>
176
- <div class="content">
177
- ${this._error && !this._skeleton
178
- ? html`<p class="description error">${i18n('gv-promote.error')}</p>`
179
- : html`
180
- ${this._empty && !this._skeleton
181
- ? html`<p class="description empty">${i18n('gv-promote.empty')}</p>`
182
- : html` <div class=${classMap({ skeleton: this._skeleton, title: true })}>
183
- <h2>${getTitle(this._item)}</h2>
184
- <span class="version">${getVersion(this._item)}</span>
185
- </div>
186
- ${owner != null && owner.trim().length > 0
187
- ? html`<div class="owner"><gv-icon shape="general:user" size="8px"></gv-icon>${owner}</div>`
188
- : ''}
189
- <p
190
- class=${classMap({
191
- skeleton: this._skeleton,
192
- description: true,
193
- 'description-large': getDescription(this._item).split(' ').length > 10,
194
- })}
195
- >
196
- ${truncate(getDescription(this._item), this.limit)}
197
- </p>
198
- <div class=${classMap({ skeleton: this._skeleton, infos: true })}>${this._renderMetricsWithRating()}</div>
199
- <div class="labels">${this._renderLabels(true)}</div>
200
- <gv-button ?skeleton=${this._skeleton} .href="${this.href}" @click="${this._onClick}"
201
- >${i18n('gv-promote.view')}</gv-button
202
- >`}
203
- `}
204
- </div>
205
- </div>`;
206
- }
207
- }
208
-
209
- window.customElements.define('gv-promote', GvPromote);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvPromote=void 0;const e=require("lit"),t=require("lit/directives/class-map"),i=require("../lib/events"),r=require("../lib/i18n"),s=require("../mixins/item-resource"),o=require("../lib/item"),n=require("../lib/utils");require("../atoms/gv-image"),require("../atoms/gv-button"),require("../molecules/gv-rating"),require("../molecules/gv-metrics");class l extends((0,s.ItemResource)(e.LitElement)){static get properties(){return{...super.properties,limit:{type:Number}}}static get styles(){return[...super.styles,e.css`:host{box-sizing:border-box;display:inline-block;margin:.2rem;vertical-align:middle;--gv-button--p:var(--gv-promote-button--p, 19px 80px);--gv-button--fz:var(--gv-promote-button--fz, var(--gv-theme-font-size-l, 16px));--gv-preview-button:'none';width:100%;--gv-icon--s:20px;--gv-rating--s:20px}gv-identity-picture{height:var(--gv-promote-image--h,300px);width:var(--gv-promote-image--w,300px);--gv-image--of:contain}.container{display:flex;min-height:420px;max-height:420px}.image{background-color:var(--gv-promote-image--bgc,var(--gv-theme-color-light,#86c3d0));min-height:0;min-width:0;width:480px;display:flex;align-items:center;justify-content:center;border-radius:4px 0 0 4px}.title{text-transform:capitalize;min-height:32px;display:flex;align-items:center}.title h2{font-size:var(--gv-theme-font-size-xl,26px);flex:1}.title .version{font-size:var(--gv-theme-font-size-s,12px);color:var(--gv-theme-neutral-color-dark,#d9d9d9)}.owner{--gv-icon--c:var(--gv-theme-neutral-color-dark, #bfbfbf);--gv-icon--s:16px;color:var(--gv-theme-neutral-color-dark,#bfbfbf);display:flex;padding-bottom:2px;margin-top:-8px;line-height:initial}.content{flex:1;padding:1.5rem;background-color:var(--gv-promote--bgc,var(--gv-theme-neutral-color-lightest,#fff));color:var(--gv-theme-font-color-dark,#262626);font-size:var(--gv-theme-font-size-l,16px);line-height:24px;border-radius:0 4px 4px 0;display:flex;flex-direction:column}.description{margin:24px 0;flex-grow:1}.description-large{text-align:justify}.infos{display:flex;justify-content:flex-end;margin:.5rem .2rem;align-items:center}gv-metrics{display:flex;height:100%;justify-content:flex-end;align-items:stretch}.labels{text-align:right}`]}_onClick(){(0,i.dispatchCustomEvent)(this,"click",{data:this._item,href:this.href})}render(){if(this._invisible)return"";const i=(0,o.getOwner)(this._item);return e.html`<div class="container"><div class="${(0,t.classMap)({skeleton:this._skeleton,image:!0})}">${this._renderImage()}</div><div class="content">${this._error&&!this._skeleton?e.html`<p class="description error">${(0,r.i18n)("gv-promote.error")}</p>`:e.html`${this._empty&&!this._skeleton?e.html`<p class="description empty">${(0,r.i18n)("gv-promote.empty")}</p>`:e.html`<div class="${(0,t.classMap)({skeleton:this._skeleton,title:!0})}"><h2>${(0,o.getTitle)(this._item)}</h2><span class="version">${(0,o.getVersion)(this._item)}</span></div>${null!=i&&i.trim().length>0?e.html`<div class="owner"><gv-icon shape="general:user" size="8px"></gv-icon>${i}</div>`:""}<p class="${(0,t.classMap)({skeleton:this._skeleton,description:!0,"description-large":(0,o.getDescription)(this._item).split(" ").length>10})}">${(0,n.truncate)((0,o.getDescription)(this._item),this.limit)}</p><div class="${(0,t.classMap)({skeleton:this._skeleton,infos:!0})}">${this._renderMetricsWithRating()}</div><div class="labels">${this._renderLabels(!0)}</div><gv-button ?skeleton="${this._skeleton}" .href="${this.href}" @click="${this._onClick}">${(0,r.i18n)("gv-promote.view")}</gv-button>`}`}</div></div>`}}exports.GvPromote=l,window.customElements.define("gv-promote",l);