@icij/murmur-next 4.0.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 (296) hide show
  1. package/.github/workflows/deploy-github-pages.yaml +50 -0
  2. package/.storybook/app.scss +14 -0
  3. package/.storybook/doc_variables.scss +20 -0
  4. package/.storybook/main.ts +35 -0
  5. package/.storybook/preview-head.html +2 -0
  6. package/.storybook/preview.ts +32 -0
  7. package/README.md +71 -0
  8. package/deploy.js +15 -0
  9. package/docs/components/ApiTable.vue +171 -0
  10. package/docs/components/App.vue +146 -0
  11. package/docs/components/CollapsibleBlock.vue +122 -0
  12. package/docs/components/DocsHeader.vue +68 -0
  13. package/docs/components/DocsMenu.vue +201 -0
  14. package/docs/components/DocsMenuSection.vue +109 -0
  15. package/docs/components/EditLink.vue +49 -0
  16. package/docs/components/OutboundLink.vue +13 -0
  17. package/docs/components/PalettePresenter.vue +96 -0
  18. package/docs/components/RepositoryLink.vue +28 -0
  19. package/docs/components/SampleCard.vue +119 -0
  20. package/docs/main.js +42 -0
  21. package/docs/pages/components/accordion/doc.md +96 -0
  22. package/docs/pages/components/active-text-truncate/doc.md +44 -0
  23. package/docs/pages/components/advanced-link-form/doc.md +105 -0
  24. package/docs/pages/components/brand/doc.md +30 -0
  25. package/docs/pages/components/brand-expansion/doc.md +70 -0
  26. package/docs/pages/components/confirm-button/doc.md +91 -0
  27. package/docs/pages/components/content-placeholder/doc.md +16 -0
  28. package/docs/pages/components/custom-pagination/doc.md +61 -0
  29. package/docs/pages/components/digits-input/doc.md +28 -0
  30. package/docs/pages/components/donate-form/doc.md +20 -0
  31. package/docs/pages/components/embed-form/doc.md +22 -0
  32. package/docs/pages/components/embeddable-footer/doc.md +60 -0
  33. package/docs/pages/components/follow-us-popover/doc.md +5 -0
  34. package/docs/pages/components/generic-footer/doc.md +21 -0
  35. package/docs/pages/components/generic-header/doc.md +24 -0
  36. package/docs/pages/components/haptic-copy/doc.md +27 -0
  37. package/docs/pages/components/imddb-header/doc.md +23 -0
  38. package/docs/pages/components/ordinal-legend/doc.md +44 -0
  39. package/docs/pages/components/range-picker/doc.md +86 -0
  40. package/docs/pages/components/responsive-iframe/doc.md +13 -0
  41. package/docs/pages/components/scale-legend/doc.md +65 -0
  42. package/docs/pages/components/secret-input/doc.md +12 -0
  43. package/docs/pages/components/selectable-dropdown/doc.md +156 -0
  44. package/docs/pages/components/sharing-options/doc.md +13 -0
  45. package/docs/pages/components/sharing-options-link/doc.md +36 -0
  46. package/docs/pages/components/sign-up-form/doc.md +13 -0
  47. package/docs/pages/components/slide-up-down/doc.md +28 -0
  48. package/docs/pages/components/textured-deck/doc.md +78 -0
  49. package/docs/pages/components/tiny-pagination/doc.md +92 -0
  50. package/docs/pages/datavisualisation/bars/doc.md +110 -0
  51. package/docs/pages/datavisualisation/columns/doc.md +165 -0
  52. package/docs/pages/datavisualisation/lines/doc.md +139 -0
  53. package/docs/pages/datavisualisation/stacked-bar/doc.md +160 -0
  54. package/docs/pages/datavisualisation/stacked-column/doc.md +191 -0
  55. package/docs/pages/getting-started/about-icij/doc.md +13 -0
  56. package/docs/pages/getting-started/custom-bootstrap/doc.md +36 -0
  57. package/docs/pages/getting-started/installation-guide/doc.md +59 -0
  58. package/docs/pages/getting-started/internationalization/doc.md +74 -0
  59. package/docs/pages/maps/choropleth-map/doc.md +420 -0
  60. package/docs/pages/maps/choropleth-map-annotation/doc.md +373 -0
  61. package/docs/pages/maps/symbol-map/doc.md +203 -0
  62. package/docs/pages/structure/breakpoints/doc.md +3 -0
  63. package/docs/pages/structure/grid/doc.md +3 -0
  64. package/docs/pages/utilities/assets/doc.md +138 -0
  65. package/docs/pages/utilities/config/doc.md +52 -0
  66. package/docs/pages/utilities/iframes/doc.md +3 -0
  67. package/docs/pages/visual/colors/doc.md +31 -0
  68. package/docs/pages/visual/iconography/doc.md +56 -0
  69. package/docs/pages/visual/states/doc.md +77 -0
  70. package/docs/pages/visual/themes/doc.md +3 -0
  71. package/docs/pages/visual/typography/doc.md +71 -0
  72. package/docs/routes.js +25 -0
  73. package/docs/store/index.js +21 -0
  74. package/docs/styles/app.scss +36 -0
  75. package/docs/styles/variables.scss +20 -0
  76. package/lib/assets/images/icij-full-white.svg +6 -0
  77. package/lib/assets/images/icij-full.svg +6 -0
  78. package/lib/assets/images/icij.png +0 -0
  79. package/lib/assets/images/icij.svg +46 -0
  80. package/lib/assets/images/icij@2x.png +0 -0
  81. package/lib/assets/images/murmur-dark.png +0 -0
  82. package/lib/assets/images/murmur-dark.svg +79 -0
  83. package/lib/assets/images/murmur-white.png +0 -0
  84. package/lib/assets/images/murmur-white.svg +68 -0
  85. package/lib/components/AccordionStep.vue +128 -0
  86. package/lib/components/AccordionWrapper.vue +138 -0
  87. package/lib/components/ActiveTextTruncate.vue +258 -0
  88. package/lib/components/AdvancedLinkForm.vue +273 -0
  89. package/lib/components/Brand.vue +150 -0
  90. package/lib/components/BrandExpansion.vue +237 -0
  91. package/lib/components/ConfirmButton.vue +204 -0
  92. package/lib/components/ContentPlaceholder.vue +100 -0
  93. package/lib/components/CustomPagination.vue +225 -0
  94. package/lib/components/DigitsInput.vue +180 -0
  95. package/lib/components/DonateForm.vue +367 -0
  96. package/lib/components/EmbedForm.vue +173 -0
  97. package/lib/components/EmbeddableFooter.vue +201 -0
  98. package/lib/components/Fa.js +3 -0
  99. package/lib/components/FollowUsPopover.vue +117 -0
  100. package/lib/components/GenericFooter.vue +218 -0
  101. package/lib/components/GenericHeader.vue +259 -0
  102. package/lib/components/HapticCopy.vue +256 -0
  103. package/lib/components/ImddbHeader.vue +336 -0
  104. package/lib/components/OrdinalLegend.vue +164 -0
  105. package/lib/components/RangePicker.vue +430 -0
  106. package/lib/components/ResponsiveIframe.vue +48 -0
  107. package/lib/components/ScaleLegend.vue +230 -0
  108. package/lib/components/SecretInput.vue +132 -0
  109. package/lib/components/SelectableDropdown.vue +368 -0
  110. package/lib/components/SharingOptions.vue +230 -0
  111. package/lib/components/SharingOptionsLink.vue +259 -0
  112. package/lib/components/SignUpForm.vue +181 -0
  113. package/lib/components/SlideUpDown.vue +131 -0
  114. package/lib/components/TexturedDeck.vue +101 -0
  115. package/lib/components/TinyPagination.vue +268 -0
  116. package/lib/components/index.js +31 -0
  117. package/lib/composables/chart.ts +182 -0
  118. package/lib/composables/resizeObserver.ts +37 -0
  119. package/lib/composables/sendEmail.ts +50 -0
  120. package/lib/config.default.ts +33 -0
  121. package/lib/config.ts +70 -0
  122. package/lib/d3-geo-projection.d.ts +1 -0
  123. package/lib/datavisualisations/BarChart.vue +275 -0
  124. package/lib/datavisualisations/ColumnChart.vue +527 -0
  125. package/lib/datavisualisations/LineChart.vue +274 -0
  126. package/lib/datavisualisations/StackedBarChart.vue +614 -0
  127. package/lib/datavisualisations/StackedColumnChart.vue +640 -0
  128. package/lib/datavisualisations/index.js +5 -0
  129. package/lib/enums.ts +25 -0
  130. package/lib/i18n.ts +16 -0
  131. package/lib/keys.ts +2 -0
  132. package/lib/locales/en.json +140 -0
  133. package/lib/locales/fr.json +117 -0
  134. package/lib/locales/locales/en.json +140 -0
  135. package/lib/locales/locales/fr.json +117 -0
  136. package/lib/main.ts +87 -0
  137. package/lib/maps/ChoroplethMap.vue +825 -0
  138. package/lib/maps/ChoroplethMapAnnotation.vue +336 -0
  139. package/lib/maps/SymbolMap.vue +628 -0
  140. package/lib/maps/index.js +3 -0
  141. package/lib/querystring-es3.d.ts +1 -0
  142. package/lib/shims-bootstrap-vue.d.ts +5 -0
  143. package/lib/shims-tsx.d.ts +11 -0
  144. package/lib/shims-vue.d.ts +14 -0
  145. package/lib/styles/functions.scss +20 -0
  146. package/lib/styles/lib.scss +19 -0
  147. package/lib/styles/mixins.scss +37 -0
  148. package/lib/styles/utilities.scss +18 -0
  149. package/lib/styles/variables.scss +94 -0
  150. package/lib/styles/variables_dark.scss +1 -0
  151. package/lib/types.ts +46 -0
  152. package/lib/utils/animation.ts +24 -0
  153. package/lib/utils/assets.ts +46 -0
  154. package/lib/utils/clipboard.ts +41 -0
  155. package/lib/utils/iframe-resizer.ts +49 -0
  156. package/lib/utils/placeholder.ts +66 -0
  157. package/lib/utils/placeholderTypes.ts +21 -0
  158. package/lib/utils/strings.ts +8 -0
  159. package/loaders/highlight-loader.js +13 -0
  160. package/loaders/markdown-loader.js +91 -0
  161. package/loaders/metadata-loader.js +18 -0
  162. package/loaders/sass-extract-loader.js +14 -0
  163. package/loaders/vue-docgen-loader.js +14 -0
  164. package/package.json +96 -0
  165. package/plugins/MdPluginTypes.ts +10 -0
  166. package/plugins/docs.ts +50 -0
  167. package/plugins/front-matter.ts +36 -0
  168. package/plugins/highlight.ts +27 -0
  169. package/plugins/markdown-it/api-table.ts +25 -0
  170. package/plugins/markdown-it/sample-card.ts +31 -0
  171. package/plugins/plugin-delete.ts +47 -0
  172. package/plugins/plugin-docgen.ts +23 -0
  173. package/plugins/sass-vars.ts +25 -0
  174. package/plugins/vue-docgen.ts +29 -0
  175. package/public/android-chrome-192x192.png +0 -0
  176. package/public/android-chrome-512x512.png +0 -0
  177. package/public/apple-touch-icon.png +0 -0
  178. package/public/assets/img/arrow-bottom.svg +3 -0
  179. package/public/assets/img/texture-brick-black.jpg +0 -0
  180. package/public/assets/img/texture-brick.jpg +0 -0
  181. package/public/assets/img/texture-carbon-black.jpg +0 -0
  182. package/public/assets/img/texture-carbon.jpg +0 -0
  183. package/public/assets/img/texture-crack-black.jpg +0 -0
  184. package/public/assets/img/texture-crack.jpg +0 -0
  185. package/public/assets/img/texture-rock-black.jpg +0 -0
  186. package/public/assets/img/texture-rock.jpg +0 -0
  187. package/public/assets/img/texture-sand-black.jpg +0 -0
  188. package/public/assets/img/texture-sand.jpg +0 -0
  189. package/public/assets/img/texture-silk-black.jpg +0 -0
  190. package/public/assets/img/texture-silk.jpg +0 -0
  191. package/public/assets/topojson/france-departments.json +1 -0
  192. package/public/assets/topojson/paris-arrondissements.json +1 -0
  193. package/public/assets/topojson/world-countries-sans-antarctica.json +1 -0
  194. package/public/favicon-16x16.png +0 -0
  195. package/public/favicon-32x32.png +0 -0
  196. package/public/favicon.ico +0 -0
  197. package/public/site.webmanifest +1 -0
  198. package/stories/assets/code-brackets.svg +1 -0
  199. package/stories/assets/colors.svg +1 -0
  200. package/stories/assets/comments.svg +1 -0
  201. package/stories/assets/direction.svg +1 -0
  202. package/stories/assets/flow.svg +1 -0
  203. package/stories/assets/plugin.svg +1 -0
  204. package/stories/assets/repo.svg +1 -0
  205. package/stories/assets/stackalt.svg +1 -0
  206. package/stories/getting-started/about-icij.mdx +14 -0
  207. package/stories/getting-started/custom-bootstrap.mdx +23 -0
  208. package/stories/getting-started/installation-guide.mdx +62 -0
  209. package/stories/getting-started/internationalization.mdx +63 -0
  210. package/stories/murmur/components/AccordionStep.stories.ts +33 -0
  211. package/stories/murmur/components/AccordionWrapper.stories.ts +69 -0
  212. package/stories/murmur/components/ActiveTextTruncate.stories.ts +32 -0
  213. package/stories/murmur/components/AdvancedLinkForm.stories.ts +77 -0
  214. package/stories/murmur/components/Brand.stories.ts +30 -0
  215. package/stories/murmur/components/BrandExpansion.stories.ts +41 -0
  216. package/stories/murmur/components/ConfirmButton.stories.ts +40 -0
  217. package/stories/murmur/components/ContentPlaceholder.stories.ts +41 -0
  218. package/stories/murmur/components/CustomPagination.stories.ts +42 -0
  219. package/stories/murmur/components/DigitsInput.stories.ts +29 -0
  220. package/stories/murmur/components/DonateForm.stories.ts +29 -0
  221. package/stories/murmur/components/EmbedForm.stories.ts +35 -0
  222. package/stories/murmur/components/EmbeddableFooter.stories.ts +59 -0
  223. package/stories/murmur/components/FollowUsPopover.stories.ts +24 -0
  224. package/stories/murmur/components/GenericFooter.stories.ts +27 -0
  225. package/stories/murmur/components/GenericHeader.stories.ts +27 -0
  226. package/stories/murmur/components/HapticCopy.stories.ts +40 -0
  227. package/stories/murmur/components/ImddbHeader.stories.ts +27 -0
  228. package/stories/murmur/components/OrdinalLegend.stories.ts +49 -0
  229. package/stories/murmur/components/RangePicker.stories.ts +98 -0
  230. package/stories/murmur/components/ResponsiveIframe.stories.ts +24 -0
  231. package/stories/murmur/components/ScaleLegend.stories.ts +65 -0
  232. package/stories/murmur/components/SecretInput.stories.ts +60 -0
  233. package/stories/murmur/components/SelectableDropdown.stories.ts +143 -0
  234. package/stories/murmur/components/SharingOptions.stories.ts +32 -0
  235. package/stories/murmur/components/SharingOptionsLink.stories.ts +53 -0
  236. package/stories/murmur/components/SignUpForm.stories.ts +51 -0
  237. package/stories/murmur/components/SlideUpDown.stories.ts +32 -0
  238. package/stories/murmur/components/TexturedDeck.stories.ts +83 -0
  239. package/stories/murmur/components/TinyPagination.stories.ts +65 -0
  240. package/stories/murmur/datavisualisations/BarChart.stories.ts +54 -0
  241. package/stories/murmur/datavisualisations/ColumnChart.stories.ts +88 -0
  242. package/stories/murmur/datavisualisations/LineChart.stories.ts +139 -0
  243. package/stories/murmur/datavisualisations/StackedBarChart.stories.ts +199 -0
  244. package/stories/murmur/datavisualisations/StackedColumnChart.stories.ts +136 -0
  245. package/stories/murmur/decorators.ts +108 -0
  246. package/stories/murmur/maps/ChoroplethMap.stories.ts +440 -0
  247. package/stories/murmur/maps/ChoroplethMapAnnotation.stories.ts +26 -0
  248. package/stories/murmur/maps/SymbolMap.stories.ts +24 -0
  249. package/stories/murmur/utils.ts +7 -0
  250. package/tests/unit/components/AccordionStep.spec.ts +157 -0
  251. package/tests/unit/components/AccordionWrapper.spec.ts +57 -0
  252. package/tests/unit/components/ActiveTextTruncate.spec.js +30 -0
  253. package/tests/unit/components/AdvancedLinkForm.spec.js +124 -0
  254. package/tests/unit/components/Brand.spec.js +50 -0
  255. package/tests/unit/components/ContentPlaceholder.spec.js +29 -0
  256. package/tests/unit/components/CustomPagination.spec.js +72 -0
  257. package/tests/unit/components/DigitsInput.spec.ts +157 -0
  258. package/tests/unit/components/DonateForm.spec.js +149 -0
  259. package/tests/unit/components/EmbedForm.spec.js +108 -0
  260. package/tests/unit/components/EmbeddableFooter.spec.js +11 -0
  261. package/tests/unit/components/Fa.spec.js +18 -0
  262. package/tests/unit/components/FollowUsPopover.spec.js +29 -0
  263. package/tests/unit/components/GenericFooter.spec.js +29 -0
  264. package/tests/unit/components/GenericHeader.spec.js +104 -0
  265. package/tests/unit/components/HapticCopy.spec.js +123 -0
  266. package/tests/unit/components/ImddbHeader.spec.js +96 -0
  267. package/tests/unit/components/OrdinalLegend.spec.js +120 -0
  268. package/tests/unit/components/RangePicker.spec.ts +87 -0
  269. package/tests/unit/components/ResponsiveIframe.spec.js +20 -0
  270. package/tests/unit/components/ScaleLegend.spec.js +139 -0
  271. package/tests/unit/components/SecretInput.spec.js +81 -0
  272. package/tests/unit/components/SelectableDropdown.spec.js +160 -0
  273. package/tests/unit/components/SharingOptions.spec.js +125 -0
  274. package/tests/unit/components/SharingOptionsLink.spec.js +184 -0
  275. package/tests/unit/components/SignUpForm.spec.js +145 -0
  276. package/tests/unit/components/SlideUpDown.spec.js +59 -0
  277. package/tests/unit/components/TinyPagination.spec.js +46 -0
  278. package/tests/unit/config.spec.js +136 -0
  279. package/tests/unit/datavisualisations/BarChart.spec.js +63 -0
  280. package/tests/unit/datavisualisations/ColumnChart.spec.js +344 -0
  281. package/tests/unit/datavisualisations/LineChart.spec.js +155 -0
  282. package/tests/unit/datavisualisations/StackedBarChart.spec.js +294 -0
  283. package/tests/unit/datavisualisations/StackedColumnChart.spec.js +443 -0
  284. package/tests/unit/i18n.spec.ts +19 -0
  285. package/tests/unit/main.spec.js +82 -0
  286. package/tests/unit/maps/ChoroplethMap.spec.js +214 -0
  287. package/tests/unit/maps/ChoroplethMapAnnotation.spec.ts +186 -0
  288. package/tests/unit/maps/SymbolMap.spec.js +92 -0
  289. package/tests/unit/require.spec.js +22 -0
  290. package/tests/unit/setup.js +13 -0
  291. package/tests/unit/utils/assets.spec.js +61 -0
  292. package/tests/unit/utils/clipboard.spec.js +18 -0
  293. package/tests/unit/utils/iframe-resizer.spec.js +71 -0
  294. package/tsconfig.json +35 -0
  295. package/vite.config.ts +79 -0
  296. package/vitest.config.ts +19 -0
@@ -0,0 +1,237 @@
1
+ <template>
2
+ <span
3
+ class="brand-expansion"
4
+ :style="style"
5
+ :class="{ 'brand-expansion--dark': dark, 'brand-expansion--animated': animated }"
6
+ >
7
+ <svg
8
+ v-if="mode === 'short'"
9
+ :width="width"
10
+ :height="height"
11
+ viewBox="0 0 106.166 52.917"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ >
14
+ <path class="triangle" d="m11.947 52.917 7.52-12.283 7.52 12.283Z" />
15
+ <path
16
+ class="globe"
17
+ d="M28.229 23.417c.298-1.504.485-3.092.554-4.726h5.091a14.367 14.367 0 0 1-1.286 4.726Zm1.474 4.105a14.488 14.488 0 0 1-4.053 2.861c.24-.388.47-.801.688-1.239.45-.897.841-1.875 1.173-2.917h3.342c-.355.45-.739.883-1.15 1.295m-8.83-4.105V18.69h5.097a27.764 27.764 0 0 1-.61 4.726Zm2.952 4.47c-.857 1.714-1.887 2.919-2.953 3.493v-5.153h3.67a16.722 16.722 0 0 1-.717 1.66m-8.716 0c-.26-.521-.5-1.076-.716-1.66h3.669v5.153c-1.066-.574-2.096-1.779-2.953-3.493m-2.145-9.196h5.098v4.726h-4.488a27.764 27.764 0 0 1-.61-4.726m-3.733 8.831a14.704 14.704 0 0 1-1.15-1.295h3.342c.332 1.042.724 2.02 1.172 2.917.22.438.449.851.689 1.24a14.48 14.48 0 0 1-4.053-2.862m-2.885-4.105a14.363 14.363 0 0 1-1.287-4.726h5.092c.069 1.634.256 3.222.554 4.726zm4.359-12.262a31.079 31.079 0 0 0-.554 4.726H5.06a14.363 14.363 0 0 1 1.287-4.726zM9.231 7.05a14.485 14.485 0 0 1 4.052-2.86c-.24.387-.469.8-.688 1.238-.448.898-.84 1.876-1.172 2.917H8.08c.355-.45.738-.883 1.15-1.295m8.83 4.105v4.726h-5.097c.075-1.652.281-3.244.61-4.726zm-2.952-4.47c.857-1.714 1.887-2.918 2.953-3.493v5.153h-3.67c.217-.583.456-1.138.717-1.66m8.716 0c.26.522.5 1.077.716 1.66h-3.669V3.192c1.066.575 2.096 1.78 2.953 3.493m2.145 9.196h-5.098v-4.726h4.488c.328 1.482.535 3.074.61 4.726m3.733-8.83c.411.411.795.844 1.15 1.294h-3.342a20.314 20.314 0 0 0-1.173-2.917 15.822 15.822 0 0 0-.688-1.239 14.49 14.49 0 0 1 4.053 2.861m2.885 4.105a14.367 14.367 0 0 1 1.286 4.726h-5.091a31.079 31.079 0 0 0-.554-4.726Zm-.898-6.092A17.173 17.173 0 0 0 19.467 0 17.173 17.173 0 0 0 7.244 5.063 17.174 17.174 0 0 0 2.18 17.286c0 4.618 1.798 8.959 5.063 12.223a17.173 17.173 0 0 0 12.223 5.064c4.617 0 8.958-1.799 12.223-5.064a17.173 17.173 0 0 0 5.063-12.223c0-4.617-1.798-8.958-5.063-12.223"
18
+ />
19
+ <path class="plate" d="M0 36.198h38.934v2.81H0Z" />
20
+ <g class="main-text">
21
+ <path d="M48.51 7.923h7.164v37.07H48.51z" />
22
+ <path
23
+ d="M60.788 42.793c-1.626-1.698-2.439-4.028-2.439-6.991v-17.09c0-3.683.734-6.459 2.201-8.33 1.468-1.87 3.769-2.804 6.905-2.804 2.733 0 4.934.748 6.603 2.244 1.668 1.496 2.503 3.654 2.503 6.473v6.387h-7.38v-5.48c0-1.065-.129-1.799-.388-2.202-.259-.402-.705-.604-1.338-.604-.662 0-1.115.23-1.36.69-.244.461-.366 1.137-.366 2.029v18.6c0 .979.144 1.69.431 2.136.288.447.72.67 1.295.67 1.15 0 1.726-.935 1.726-2.806v-6.689h7.466v6.991c0 6.215-3.122 9.322-9.365 9.322-2.704 0-4.87-.848-6.494-2.546"
24
+ />
25
+ <path d="M78.762 7.923h7.164v37.07h-7.164z" />
26
+ <path
27
+ d="M92.528 44.346a7.609 7.609 0 0 1-3.258-2.913c-.792-1.28-1.187-2.826-1.187-4.639V29.03h7.294v7.333c0 .662.136 1.186.41 1.575.273.388.697.582 1.273.582.546 0 .956-.18 1.23-.539.273-.36.41-.87.41-1.532V7.923h7.466v27.792c0 1.928-.382 3.619-1.144 5.071-.763 1.453-1.827 2.575-3.194 3.366-1.366.792-2.927 1.187-4.682 1.187-1.698 0-3.237-.331-4.618-.993"
28
+ />
29
+ </g>
30
+ </svg>
31
+
32
+ <svg
33
+ v-else-if="mode === 'medium'"
34
+ :width="width"
35
+ :height="height"
36
+ viewBox="0 0 901.24 200"
37
+ xmlns="http://www.w3.org/2000/svg"
38
+ >
39
+ <path class="triangle" d="m45.153 200 28.423-46.424L101.999 200Z" />
40
+ <path
41
+ class="globe"
42
+ d="M 106.692 88.5051 C 107.819 82.8227 108.526 76.8189 108.786 70.6453 L 128.03 70.6453 C 127.431 76.8914 125.785 82.9146 123.168 88.5051 Z M 112.263 104.021 C 107.739 108.545 102.563 112.178 96.9466 114.835 C 97.8831 113.313 98.751 111.751 99.5476 110.152 C 101.244 106.76 102.725 103.064 103.979 99.1273 L 116.611 99.1273 C 115.259 100.842 113.807 102.476 112.263 104.021 M 78.8877 88.5051 L 78.8877 70.6453 L 98.1543 70.6453 C 97.8706 76.8889 97.0908 82.9061 95.8503 88.5051 Z M 90.0467 105.401 C 86.8083 111.879 82.915 116.431 78.8877 118.601 L 78.8877 99.1273 L 92.7543 99.1273 C 91.9656 101.266 91.0617 103.36 90.0467 105.401 M 57.1059 105.401 C 56.0908 103.36 55.187 101.266 54.3983 99.1273 L 68.2649 99.1273 L 68.2649 118.601 C 64.237 116.431 60.3442 111.879 57.1059 105.401 M 48.9983 70.6453 L 68.2649 70.6453 L 68.2649 88.5051 L 51.3023 88.5051 C 50.0617 82.9061 49.282 76.8889 48.9983 70.6453 M 34.8894 104.021 C 33.3454 102.476 31.8937 100.842 30.5419 99.1273 L 43.1735 99.1273 C 44.4274 103.064 45.9091 106.76 47.6043 110.152 C 48.4014 111.751 49.2695 113.313 50.206 114.835 C 44.5894 112.179 39.4128 108.545 34.8894 104.021 M 23.9842 88.5051 C 21.3679 82.9146 19.7213 76.8914 19.1229 70.6453 L 38.367 70.6453 C 38.6263 76.8189 39.3337 82.8227 40.4604 88.5051 Z M 40.4604 42.1627 C 39.3337 47.8451 38.6263 53.8489 38.367 60.0225 L 19.1229 60.0225 C 19.7213 53.7764 21.3679 47.7532 23.9842 42.1627 Z M 34.8894 26.647 C 39.4128 22.123 44.5894 18.4895 50.206 15.8331 C 49.2695 17.3545 48.4014 18.9171 47.6043 20.516 C 45.9091 23.9078 44.4274 27.6045 43.1735 31.5405 L 30.5419 31.5405 C 31.8938 29.8255 33.3455 28.1915 34.8894 26.647 M 68.2649 42.1627 L 68.2649 60.0225 L 48.9983 60.0225 C 49.282 53.7795 50.0617 47.7617 51.3023 42.1627 Z M 57.1059 25.267 C 60.3442 18.789 64.237 14.237 68.2649 12.0663 L 68.2649 31.5405 L 54.3983 31.5405 C 55.1869 29.402 56.0907 27.3078 57.1059 25.267 M 90.0467 25.267 C 91.0619 27.3078 91.9657 29.402 92.7543 31.5405 L 78.8877 31.5405 L 78.8877 12.0663 C 82.915 14.237 86.8083 18.789 90.0467 25.267 M 98.1543 60.0225 L 78.8877 60.0225 L 78.8877 42.1627 L 95.8503 42.1627 C 97.0908 47.7617 97.8706 53.7795 98.1543 60.0225 M 112.263 26.647 C 113.807 28.1916 115.259 29.8256 116.611 31.5405 L 103.979 31.5405 C 102.725 27.6045 101.244 23.9078 99.5476 20.516 C 98.751 18.9169 97.8831 17.3544 96.9466 15.8331 C 102.563 18.4895 107.739 22.1236 112.263 26.647 M 123.168 42.1627 C 125.785 47.7532 127.431 53.7764 128.03 60.0225 L 108.786 60.0225 C 108.526 53.8489 107.819 47.8451 106.692 42.1627 Z M 119.774 19.136 C 107.434 6.79604 91.0274 0.00028712 73.576 0.00028712 C 56.1246 0.00028712 39.7178 6.79604 27.3778 19.136 C 15.0384 31.476 8.24207 47.8828 8.24207 65.3336 C 8.24207 82.7856 15.0384 99.1924 27.3778 111.532 C 39.7178 123.872 56.1246 130.668 73.576 130.668 C 91.0274 130.668 107.434 123.872 119.774 111.532 C 132.114 99.1924 138.91 82.7856 138.91 65.3336 C 138.91 47.8828 132.114 31.476 119.774 19.136"
43
+ />
44
+ <path class="plate" d="M 2e-06 136.811 L 147.151 136.811 L 147.151 147.433 L 2e-06 147.433 Z" />
45
+ <path
46
+ class="main-text"
47
+ d="M187.413 29.944h27.076v140.112h-27.076zM233.817 161.737c-6.145-6.416-9.216-15.223-9.216-26.424V70.72c0-13.918 2.773-24.41 8.318-31.48 5.546-7.067 14.244-10.602 26.098-10.602 10.33 0 18.648 2.83 24.956 8.482 6.305 5.655 9.46 13.81 9.46 24.466v24.14h-27.892V65.013c0-4.021-.488-6.794-1.467-8.318-.98-1.522-2.666-2.284-5.057-2.284-2.502 0-4.215.872-5.138 2.61-.925 1.74-1.386 4.297-1.386 7.667v70.3c0 3.697.543 6.39 1.63 8.073 1.087 1.688 2.717 2.528 4.894 2.528 4.348 0 6.524-3.532 6.524-10.602v-25.282h28.218v26.424c0 23.488-11.8 35.232-35.394 35.232-10.223 0-18.406-3.206-24.548-9.623M301.752 29.944h27.076v140.112h-27.076zM353.782 167.609c-5.22-2.5-9.326-6.17-12.315-11.01-2.992-4.837-4.485-10.684-4.485-17.534l-.001-29.344h27.566v27.712c0 2.503.515 4.486 1.55 5.954 1.032 1.469 2.635 2.202 4.811 2.202 2.065 0 3.614-.678 4.65-2.039 1.03-1.358 1.548-3.287 1.548-5.79V29.944h28.219v105.043c0 7.286-1.443 13.676-4.323 19.166-2.882 5.491-6.906 9.732-12.07 12.722-5.166 2.992-11.066 4.485-17.697 4.485-6.418 0-12.233-1.251-17.453-3.751"
48
+ />
49
+ <path
50
+ class="secondary-text"
51
+ d="M442.17 92.461c-2.644-2.948-3.965-7.703-3.965-14.262v-6.407h12.89v8.16c0 3.255 1.04 4.883 3.126 4.883 1.17 0 1.984-.344 2.441-1.03.458-.687.686-1.843.686-3.47 0-2.136-.254-3.903-.762-5.301-.509-1.399-1.158-2.567-1.945-3.51-.79-.939-2.2-2.402-4.233-4.385l-5.644-5.644c-4.374-4.27-6.56-9-6.56-14.186 0-5.593 1.284-9.851 3.852-12.776 2.567-2.923 6.318-4.385 11.25-4.385 5.898 0 10.145 1.563 12.737 4.69 2.594 3.128 3.89 8.022 3.89 14.682h-13.347l-.076-4.5c0-.863-.242-1.55-.725-2.059-.484-.507-1.157-.762-2.02-.762-1.019 0-1.782.28-2.289.839-.51.56-.763 1.322-.763 2.288 0 2.135 1.22 4.347 3.661 6.635l7.627 7.323c1.78 1.728 3.254 3.368 4.424 4.92 1.17 1.55 2.11 3.381 2.822 5.49.712 2.11 1.068 4.615 1.068 7.513 0 6.458-1.182 11.352-3.547 14.682-2.364 3.33-6.267 4.996-11.708 4.996-5.949 0-10.246-1.474-12.89-4.424M480.1 96.275V43.343h-7.779V30.758H501v12.585h-7.78v52.932ZM522.248 83.308c.406-1.016.61-2.44.61-4.27V47.003c0-1.422-.19-2.58-.572-3.47-.382-.889-1.158-1.334-2.327-1.334-2.187 0-3.279 1.652-3.279 4.957v31.958c0 1.881.229 3.306.686 4.271.457.966 1.297 1.45 2.517 1.45 1.17 0 1.957-.509 2.365-1.527m-14.415 8.734c-2.746-3.228-4.12-7.767-4.12-13.615V47.233c0-5.644 1.374-9.902 4.12-12.776 2.745-2.872 6.761-4.31 12.05-4.31 5.288 0 9.305 1.438 12.051 4.31 2.746 2.874 4.118 7.132 4.118 12.776v31.194c0 5.9-1.372 10.45-4.118 13.653-2.746 3.203-6.763 4.805-12.05 4.805-5.29 0-9.306-1.613-12.051-4.843M556.34 55.012c1.83 0 2.745-1.983 2.745-5.949 0-1.728-.076-3.025-.228-3.89-.153-.864-.433-1.46-.84-1.792-.407-.33-.99-.496-1.754-.496h-3.05v12.127Zm-16.475-24.254H560c3.204 0 5.683.725 7.437 2.174 1.754 1.449 2.937 3.483 3.547 6.101.61 2.62.915 5.963.915 10.03 0 3.713-.484 6.61-1.45 8.695-.966 2.086-2.644 3.534-5.033 4.348 1.983.407 3.419 1.399 4.309 2.974.89 1.577 1.335 3.712 1.335 6.407l-.152 24.788h-12.815V70.648c0-1.83-.356-3-1.067-3.508-.713-.509-2.01-.764-3.89-.764v29.899h-13.271zM574.965 30.758h12.66v65.517h-12.66zM591.583 96.275V30.758h26.237v12.661h-12.89v12.737h12.357v12.356H604.93v15.025h13.73v12.738ZM625.256 92.461c-2.644-2.948-3.966-7.703-3.966-14.262v-6.407h12.89v8.16c0 3.255 1.041 4.883 3.127 4.883 1.17 0 1.983-.344 2.44-1.03.458-.687.687-1.843.687-3.47 0-2.136-.255-3.903-.763-5.301-.508-1.399-1.157-2.567-1.945-3.51-.789-.939-2.2-2.402-4.232-4.385l-5.645-5.644c-4.374-4.27-6.559-9-6.559-14.186 0-5.593 1.283-9.851 3.851-12.776 2.567-2.923 6.318-4.385 11.25-4.385 5.898 0 10.145 1.563 12.738 4.69 2.593 3.128 3.89 8.022 3.89 14.682H639.67l-.076-4.5c0-.863-.242-1.55-.724-2.059-.484-.507-1.158-.762-2.021-.762-1.018 0-1.782.28-2.289.839-.51.56-.763 1.322-.763 2.288 0 2.135 1.221 4.347 3.661 6.635l7.628 7.323c1.779 1.728 3.253 3.368 4.423 4.92 1.17 1.55 2.11 3.381 2.822 5.49.712 2.11 1.068 4.615 1.068 7.513 0 6.458-1.182 11.352-3.546 14.682-2.365 3.33-6.268 4.996-11.708 4.996-5.95 0-10.246-1.474-12.89-4.424M681.239 96.275V43.343h-7.78V30.758h28.678v12.585h-7.78v52.932ZM705.126 96.275V30.758h13.042v23.415h6.178V30.758h13.043v65.517h-13.043V66.529h-6.178v29.746ZM755.12 75.224h5.95l-2.898-33.33h-.61Zm-14.49 21.05 6.33-65.516h22.195l6.254 65.517h-12.432l-.916-10.602h-7.931l-.763 10.602zM782.677 96.275V43.343h-7.78V30.758h28.679v12.585h-7.78v52.932ZM455.976 130.224c1.83 0 2.745-1.983 2.745-5.95 0-1.727-.076-3.024-.228-3.889-.153-.864-.433-1.46-.84-1.793-.407-.33-.99-.495-1.754-.495h-3.05v12.127ZM439.5 105.97h20.136c3.203 0 5.682.724 7.436 2.174 1.754 1.448 2.937 3.483 3.547 6.101.61 2.62.915 5.962.915 10.03 0 3.713-.484 6.61-1.45 8.695s-2.643 3.535-5.033 4.348c1.983.408 3.419 1.399 4.309 2.974.89 1.577 1.335 3.712 1.335 6.407l-.152 24.788h-12.815V145.86c0-1.83-.356-3-1.067-3.508-.712-.508-2.01-.763-3.89-.763v29.898h-13.271zM493.173 158.52c.406-1.016.61-2.44.61-4.27v-32.035c0-1.422-.19-2.58-.572-3.47-.382-.89-1.158-1.334-2.326-1.334-2.188 0-3.28 1.652-3.28 4.957v31.958c0 1.882.229 3.306.686 4.271.458.966 1.297 1.45 2.518 1.45 1.168 0 1.956-.509 2.364-1.526m-14.415 8.733c-2.746-3.229-4.119-7.767-4.119-13.615v-31.194c0-5.644 1.373-9.902 4.119-12.777 2.745-2.871 6.761-4.309 12.05-4.309 5.288 0 9.305 1.438 12.051 4.31 2.746 2.874 4.118 7.132 4.118 12.776v31.194c0 5.9-1.372 10.45-4.118 13.653-2.746 3.203-6.763 4.806-12.05 4.806-5.29 0-9.306-1.614-12.051-4.844M514.756 167.597c-2.873-3-4.309-7.118-4.309-12.355v-30.205c0-6.508 1.297-11.413 3.89-14.72 2.593-3.305 6.66-4.958 12.203-4.958 4.83 0 8.72 1.323 11.67 3.966 2.948 2.646 4.424 6.459 4.424 11.442v11.287H529.59v-9.686c0-1.88-.229-3.177-.686-3.89-.458-.711-1.246-1.067-2.365-1.067-1.17 0-1.97.408-2.403 1.22-.432.814-.648 2.01-.648 3.584v32.873c0 1.73.254 2.988.763 3.776.508.788 1.27 1.183 2.288 1.183 2.033 0 3.051-1.652 3.051-4.959v-11.822h13.195v12.356c0 10.983-5.518 16.476-16.55 16.476-4.78 0-8.607-1.5-11.48-4.5M546.088 171.487V105.97h12.967v26.239l6.1-26.239h13.196l-7.322 29.976 8.847 35.542H566.3l-7.17-31.729v31.73ZM605.578 171.487v-52.932H597.8V105.97h28.678v12.586h-7.78v52.932ZM629.466 171.487V105.97h13.043v23.416h6.178v-23.416h13.042v65.518h-13.042v-29.746h-6.178v29.746ZM665.93 171.487V105.97h26.238v12.662h-12.89v12.737h12.356v12.357h-12.356v15.025h13.729v12.737ZM720.31 171.487l-7.016-65.518h12.813l3.66 41.34 3.662-41.34h12.203l3.509 41.34 3.508-41.34h12.967l-7.17 65.518h-15.712l-3.28-31.577-3.126 31.577ZM786.254 158.52c.407-1.016.611-2.44.611-4.27v-32.035c0-1.422-.191-2.58-.572-3.47-.382-.89-1.158-1.334-2.327-1.334-2.187 0-3.279 1.652-3.279 4.957v31.958c0 1.882.228 3.306.686 4.271.457.966 1.297 1.45 2.517 1.45 1.169 0 1.957-.509 2.364-1.526m-14.415 8.733c-2.746-3.229-4.119-7.767-4.119-13.615v-31.194c0-5.644 1.373-9.902 4.12-12.777 2.745-2.871 6.761-4.309 12.05-4.309 5.288 0 9.305 1.438 12.051 4.31 2.745 2.874 4.118 7.132 4.118 12.776v31.194c0 5.9-1.373 10.45-4.118 13.653-2.746 3.203-6.763 4.806-12.05 4.806-5.29 0-9.306-1.614-12.052-4.844M820.347 130.224c1.83 0 2.745-1.983 2.745-5.95 0-1.727-.076-3.024-.228-3.889-.153-.864-.433-1.46-.84-1.793-.407-.33-.99-.495-1.754-.495h-3.05v12.127Zm-16.475-24.254h20.136c3.204 0 5.682.724 7.437 2.174 1.753 1.448 2.936 3.483 3.546 6.101.61 2.62.915 5.962.915 10.03 0 3.713-.484 6.61-1.449 8.695-.967 2.085-2.644 3.535-5.034 4.348 1.983.408 3.42 1.399 4.31 2.974.888 1.577 1.334 3.712 1.334 6.407l-.152 24.788H822.1V145.86c0-1.83-.356-3-1.067-3.508-.713-.508-2.01-.763-3.89-.763v29.898h-13.272zM839.246 171.487V105.97h13.12v54.382h13.499v11.136ZM884.383 159.893c2.389 0 3.584-1.168 3.584-3.508v-33.789c0-1.473-.114-2.58-.343-3.317-.229-.737-.648-1.232-1.258-1.488-.61-.253-1.552-.38-2.822-.38h-1.45v42.482Zm-15.484-53.924h18.077c4.678 0 8.186 1.297 10.525 3.891 2.338 2.593 3.534 6.433 3.585 11.516l.153 30.661c.05 6.459-1.069 11.315-3.356 14.568-2.288 3.255-6.077 4.882-11.364 4.882h-17.62z"
52
+ />
53
+ </svg>
54
+
55
+ <svg
56
+ v-else-if="mode === 'long'"
57
+ :width="width"
58
+ :height="height"
59
+ viewBox="0 0 1047.01 200"
60
+ xmlns="http://www.w3.org/2000/svg"
61
+ >
62
+ <path class="triangle" d="m45.153 200 28.423-46.424L101.999 200Z" />
63
+ <path
64
+ class="globe"
65
+ d="M 106.691 88.5051 C 107.818 82.8227 108.526 76.8189 108.785 70.6453 L 128.029 70.6453 C 127.431 76.8914 125.784 82.9146 123.168 88.5051 Z M 112.262 104.021 C 107.739 108.545 102.563 112.178 96.9465 114.835 C 97.883 113.313 98.7509 111.751 99.5475 110.152 C 101.243 106.76 102.725 103.064 103.978 99.1273 L 116.611 99.1273 C 115.259 100.842 113.807 102.476 112.263 104.021 M 78.887 88.5051 L 78.887 70.6453 L 98.1536 70.6453 C 97.8699 76.8889 97.0901 82.9061 95.8502 88.5051 Z M 90.046 105.401 C 86.8076 111.879 82.9143 116.431 78.887 118.601 L 78.887 99.1273 L 92.7536 99.1273 C 91.9649 101.266 91.061 103.36 90.046 105.401 M 57.1052 105.401 C 56.0901 103.36 55.1863 101.266 54.3976 99.1273 L 68.2642 99.1273 L 68.2642 118.601 C 64.2363 116.431 60.3435 111.879 57.1052 105.401 M 48.9976 70.6453 L 68.2642 70.6453 L 68.2642 88.5051 L 51.3028 88.5051 C 50.0623 82.9061 49.2819 76.8889 48.9988 70.6453 M 34.8899 104.021 C 33.3459 102.476 31.8942 100.842 30.5424 99.1273 L 43.1734 99.1273 C 44.4273 103.064 45.9096 106.76 47.6049 110.152 C 48.4019 111.751 49.27 113.313 50.2065 114.835 C 44.5899 112.179 39.4133 108.545 34.8899 104.021 M 23.9841 88.5051 C 21.3678 82.9146 19.7212 76.8914 19.1229 70.6453 L 38.3669 70.6453 C 38.6262 76.8189 39.3336 82.8227 40.4609 88.5051 Z M 40.4603 42.1627 C 39.3342 47.8451 38.6262 53.8489 38.3669 60.0225 L 19.1229 60.0225 C 19.7212 53.7764 21.3678 47.7532 23.9841 42.1627 Z M 34.8893 26.647 C 39.4127 22.123 44.5893 18.4895 50.2059 15.8331 C 49.2694 17.3545 48.4013 18.9171 47.6043 20.516 C 45.909 23.9078 44.4273 27.6045 43.1734 31.5405 L 30.5424 31.5405 C 31.8943 29.8255 33.346 28.1915 34.8899 26.647 M 68.2648 42.1627 L 68.2648 60.0225 L 48.9988 60.0225 C 49.2819 53.7795 50.0617 47.7617 51.3022 42.1627 Z M 57.1064 25.267 C 60.3448 18.789 64.2375 14.237 68.2654 12.0663 L 68.2654 31.5405 L 54.3988 31.5405 C 55.1872 29.402 56.0908 27.3078 57.1058 25.267 M 90.0466 25.267 C 91.0618 27.3078 91.9656 29.402 92.7542 31.5405 L 78.8876 31.5405 L 78.8876 12.0663 C 82.9149 14.237 86.8083 18.789 90.0466 25.267 M 98.1548 60.0225 L 78.8876 60.0225 L 78.8876 42.1627 L 95.8502 42.1627 C 97.0908 47.7617 97.8711 53.7795 98.1542 60.0225 M 112.263 26.647 C 113.807 28.1916 115.258 29.8256 116.611 31.5405 L 103.978 31.5405 C 102.725 27.6045 101.243 23.9078 99.5475 20.516 C 98.7509 18.9169 97.883 17.3544 96.9465 15.8331 C 102.563 18.4895 107.739 22.1236 112.263 26.647 M 123.169 42.1627 C 125.785 47.7532 127.431 53.7764 128.03 60.0225 L 108.786 60.0225 C 108.526 53.8489 107.819 47.8451 106.692 42.1627 Z M 119.775 19.136 C 107.434 6.79604 91.0273 0.00028712 73.5759 0.00028712 C 56.1245 0.00028712 39.7177 6.79604 27.3777 19.136 C 15.0389 31.476 8.24198 47.8828 8.24198 65.3336 C 8.24198 82.7856 15.0383 99.1924 27.3777 111.532 C 39.7177 123.872 56.1245 130.668 73.5759 130.668 C 91.0279 130.668 107.434 123.872 119.774 111.532 C 132.114 99.1924 138.91 82.7856 138.91 65.3336 C 138.91 47.8828 132.114 31.476 119.774 19.136"
66
+ />
67
+ <path class="plate" d="M -8.72e-05 136.811 L 147.151 136.811 L 147.151 147.433 L -8.72e-05 147.433 Z" />
68
+ <path
69
+ class="main-text"
70
+ d="M203.5 25.928h12.66v65.517H203.5zM220.118 91.445V25.928h13.5l6.026 31.348V25.928h12.661v65.517h-12.814l-6.559-32.796v32.796ZM263.073 91.445V38.513h-7.78V25.928h28.678v12.585h-7.78v52.932ZM286.96 91.445V25.928h26.237V38.59h-12.89v12.737h12.357v12.357h-12.357v15.024h13.73v12.738ZM333.813 50.183c1.83 0 2.745-1.984 2.745-5.95 0-1.728-.075-3.025-.228-3.89-.152-.864-.433-1.46-.839-1.792-.408-.33-.992-.495-1.755-.495h-3.05v12.127Zm-16.475-24.255h20.136c3.204 0 5.682.724 7.437 2.174 1.753 1.45 2.936 3.484 3.546 6.102.61 2.619.916 5.962.916 10.03 0 3.712-.485 6.61-1.45 8.694-.966 2.086-2.644 3.535-5.034 4.348 1.984.408 3.42 1.4 4.309 2.974.89 1.577 1.336 3.713 1.336 6.408l-.153 24.787h-12.814V65.818c0-1.83-.357-2.999-1.068-3.508-.712-.508-2.01-.763-3.89-.763v29.898h-13.271zM352.712 91.445V25.928h13.5l6.026 31.348V25.928H384.9v65.517h-12.815l-6.56-32.796v32.796ZM402.592 70.394h5.95l-2.898-33.33h-.61Zm-14.491 21.051 6.33-65.517h22.195l6.255 65.517h-12.433l-.915-10.601H401.6l-.762 10.601zM430.148 91.445V38.513h-7.78V25.928h28.678v12.585h-7.78v52.932ZM453.761 25.928h12.661v65.517h-12.66zM488.616 78.479c.407-1.017.611-2.441.611-4.27V42.173c0-1.423-.19-2.58-.572-3.47-.382-.89-1.158-1.335-2.327-1.335-2.187 0-3.279 1.653-3.279 4.957v31.958c0 1.881.228 3.306.687 4.272.457.966 1.296 1.448 2.517 1.448 1.168 0 1.956-.507 2.363-1.525m-14.414 8.733c-2.747-3.228-4.12-7.767-4.12-13.614V42.403c0-5.644 1.373-9.902 4.12-12.776 2.745-2.872 6.761-4.31 12.05-4.31 5.288 0 9.305 1.438 12.052 4.31 2.745 2.873 4.118 7.132 4.118 12.776v31.195c0 5.898-1.373 10.449-4.118 13.653-2.747 3.203-6.764 4.805-12.051 4.805-5.29 0-9.306-1.614-12.051-4.844M506.234 91.445V25.928h13.5l6.026 31.348V25.928h12.661v65.517h-12.814l-6.559-32.796v32.796ZM556.114 70.394h5.95l-2.898-33.33h-.61Zm-14.491 21.051 6.33-65.517h22.195l6.254 65.517H563.97l-.915-10.601h-7.932l-.763 10.601zM579.574 91.445V25.928h13.118V80.31h13.501v11.136ZM631.475 87.556c-2.873-3-4.308-7.119-4.308-12.356V44.996c0-6.508 1.296-11.414 3.89-14.72 2.592-3.305 6.659-4.958 12.202-4.958 4.83 0 8.72 1.323 11.67 3.966 2.949 2.645 4.424 6.458 4.424 11.44v11.289H646.31v-9.687c0-1.88-.23-3.176-.687-3.89-.458-.71-1.246-1.067-2.365-1.067-1.17 0-1.97.408-2.402 1.22-.433.814-.649 2.01-.649 3.585v32.873c0 1.73.255 2.988.764 3.775.507.79 1.27 1.183 2.287 1.183 2.033 0 3.052-1.652 3.052-4.958V63.225h13.194v12.356c0 10.983-5.517 16.475-16.55 16.475-4.78 0-8.607-1.5-11.48-4.5M681.097 78.479c.407-1.017.61-2.441.61-4.27V42.173c0-1.423-.19-2.58-.571-3.47-.382-.89-1.158-1.335-2.327-1.335-2.187 0-3.279 1.653-3.279 4.957v31.958c0 1.881.228 3.306.687 4.272.457.966 1.296 1.448 2.517 1.448 1.168 0 1.955-.507 2.363-1.525m-14.414 8.733c-2.747-3.228-4.12-7.767-4.12-13.614V42.403c0-5.644 1.373-9.902 4.12-12.776 2.745-2.872 6.76-4.31 12.05-4.31 5.288 0 9.305 1.438 12.051 4.31 2.746 2.873 4.118 7.132 4.118 12.776v31.195c0 5.898-1.372 10.449-4.118 13.653-2.746 3.203-6.762 4.805-12.05 4.805-5.29 0-9.306-1.614-12.051-4.844M698.716 91.445V25.928h13.5l6.025 31.348V25.928h12.661v65.517H718.09l-6.56-32.796v32.796ZM738.24 87.631c-2.645-2.947-3.967-7.703-3.967-14.262v-6.406h12.89v8.16c0 3.255 1.04 4.882 3.127 4.882 1.169 0 1.983-.343 2.44-1.03.459-.687.687-1.843.687-3.47 0-2.136-.256-3.902-.763-5.301-.508-1.398-1.157-2.567-1.945-3.509-.789-.94-2.2-2.402-4.232-4.385l-5.645-5.645c-4.373-4.27-6.56-9-6.56-14.186 0-5.592 1.284-9.85 3.851-12.776 2.568-2.922 6.319-4.385 11.25-4.385 5.9 0 10.145 1.563 12.738 4.691 2.594 3.127 3.89 8.021 3.89 14.682h-13.347l-.076-4.5c0-.864-.242-1.55-.725-2.06-.483-.507-1.156-.762-2.02-.762-1.018 0-1.782.28-2.288.84-.51.56-.764 1.322-.764 2.287 0 2.135 1.22 4.347 3.66 6.635l7.628 7.323c1.78 1.729 3.254 3.369 4.424 4.92 1.17 1.551 2.11 3.382 2.822 5.49.712 2.111 1.068 4.616 1.068 7.514 0 6.458-1.182 11.352-3.547 14.681-2.363 3.331-6.267 4.997-11.708 4.997-5.948 0-10.246-1.475-12.889-4.424M788.02 78.479c.407-1.017.611-2.441.611-4.27V42.173c0-1.423-.191-2.58-.572-3.47-.381-.89-1.158-1.335-2.326-1.335-2.187 0-3.28 1.653-3.28 4.957v31.958c0 1.881.229 3.306.686 4.272.456.966 1.296 1.448 2.517 1.448 1.169 0 1.957-.507 2.365-1.525m-14.416 8.733c-2.745-3.228-4.118-7.767-4.118-13.614V42.403c0-5.644 1.373-9.902 4.118-12.776 2.745-2.872 6.762-4.31 12.05-4.31s9.306 1.438 12.052 4.31c2.745 2.873 4.118 7.132 4.118 12.776v31.195c0 5.898-1.373 10.449-4.118 13.653-2.746 3.203-6.763 4.805-12.051 4.805-5.289 0-9.306-1.614-12.05-4.844M822.113 50.183c1.83 0 2.746-1.984 2.746-5.95 0-1.728-.076-3.025-.229-3.89-.153-.864-.432-1.46-.838-1.792-.408-.33-.993-.495-1.755-.495h-3.05v12.127Zm-16.475-24.255h20.136c3.203 0 5.682.724 7.436 2.174 1.755 1.45 2.937 3.484 3.547 6.102.61 2.619.915 5.962.915 10.03 0 3.712-.484 6.61-1.45 8.694-.965 2.086-2.643 3.535-5.033 4.348 1.983.408 3.419 1.4 4.31 2.974.888 1.577 1.334 3.713 1.334 6.408l-.152 24.787h-12.814V65.818c0-1.83-.356-2.999-1.068-3.508-.712-.508-2.009-.763-3.89-.763v29.898h-13.271zM847.709 91.445V38.513h-7.78V25.928h28.678v12.585h-7.78v52.932ZM871.322 25.928h12.66v65.517h-12.66zM891.472 87.479c-2.62-3.051-3.928-7.576-3.928-13.576V25.928h12.738v47.44c0 2.086.203 3.714.61 4.883.406 1.17 1.27 1.753 2.593 1.753s2.185-.571 2.593-1.716c.406-1.144.61-2.783.61-4.92v-47.44h12.737v47.975c0 6-1.31 10.525-3.928 13.576-2.62 3.051-6.623 4.576-12.012 4.576-5.39 0-9.395-1.525-12.013-4.576M923.17 91.445V25.928h19.983l5.493 39.966 5.49-39.966h20.136v65.517h-11.974V44.234l-7.551 47.211h-11.745l-8.01-47.212v47.212ZM222.11 153.69c.406-1.016.61-2.44.61-4.27v-32.035c0-1.422-.19-2.58-.573-3.47-.381-.89-1.157-1.334-2.326-1.334-2.187 0-3.28 1.652-3.28 4.957v31.958c0 1.881.229 3.306.687 4.271.457.966 1.296 1.45 2.517 1.45 1.17 0 1.956-.509 2.364-1.526m-14.414 8.733c-2.747-3.229-4.12-7.767-4.12-13.615v-31.194c0-5.644 1.373-9.902 4.12-12.777 2.745-2.871 6.76-4.308 12.05-4.308 5.288 0 9.305 1.437 12.051 4.308 2.746 2.875 4.118 7.133 4.118 12.777v31.194c0 5.9-1.372 10.449-4.118 13.653-2.746 3.203-6.763 4.805-12.05 4.805-5.29 0-9.306-1.613-12.051-4.843M239.728 166.657v-65.518h26.236v12.738h-13.04v10.45h12.355v12.584h-12.356v29.746ZM287.396 101.14h12.66v65.517h-12.66zM304.014 166.657v-65.518h13.5l6.026 31.35v-31.35h12.661v65.518h-12.814l-6.559-32.797v32.797ZM347.275 166.657l-8.085-65.593h12.508l4.805 44.619 4.272-44.62h12.508l-8.085 65.594ZM376.264 166.657v-65.518h26.238V113.8h-12.89v12.738h12.356v12.357h-12.356v15.024h13.73v12.738ZM409.937 162.843c-2.644-2.948-3.965-7.703-3.965-14.263v-6.406h12.89v8.161c0 3.254 1.04 4.882 3.126 4.882 1.17 0 1.983-.344 2.441-1.03.457-.686.686-1.843.686-3.47 0-2.136-.255-3.902-.762-5.3-.51-1.4-1.158-2.568-1.945-3.51-.79-.94-2.2-2.402-4.233-4.385l-5.644-5.644c-4.375-4.272-6.56-9-6.56-14.187 0-5.592 1.283-9.85 3.852-12.775 2.566-2.923 6.318-4.386 11.25-4.386 5.898 0 10.145 1.564 12.737 4.691 2.593 3.127 3.89 8.021 3.89 14.681h-13.347l-.077-4.498c0-.865-.242-1.551-.724-2.06-.484-.508-1.158-.763-2.021-.763-1.018 0-1.78.28-2.289.839-.508.56-.762 1.322-.762 2.288 0 2.136 1.22 4.348 3.661 6.636l7.627 7.323c1.78 1.727 3.253 3.367 4.424 4.918 1.169 1.552 2.11 3.383 2.822 5.492.712 2.11 1.067 4.614 1.067 7.512 0 6.458-1.182 11.353-3.546 14.683-2.365 3.33-6.268 4.996-11.708 4.996-5.949 0-10.246-1.474-12.89-4.425M447.867 166.657v-52.932h-7.78v-12.586h28.678v12.586h-7.779v52.932ZM471.48 101.14h12.661v65.517H471.48zM491.272 162.271c-2.314-3.33-3.47-8.377-3.47-15.14v-28.22c0-6.051 1.346-10.626 4.042-13.729 2.695-3.101 6.712-4.652 12.051-4.652 4.321 0 7.676.865 10.068 2.593 2.39 1.729 4.042 4.246 4.957 7.55.916 3.307 1.373 7.551 1.373 12.739h-12.814v-5.873c0-1.577-.216-2.797-.648-3.662-.433-.864-1.208-1.296-2.325-1.296-2.492 0-3.738 1.627-3.738 4.88v31.73c0 1.983.254 3.483.762 4.5.508 1.018 1.399 1.526 2.67 1.526 1.27 0 2.16-.508 2.67-1.526.507-1.017.763-2.517.763-4.5v-9.382h-3.51v-11.287h16.018v38.135h-5.263l-2.212-5.492c-2.34 4.069-5.949 6.102-10.831 6.102-4.728 0-8.25-1.665-10.563-4.996M537.56 145.606h5.949l-2.899-33.33H540Zm-14.492 21.05 6.33-65.516h22.195l6.255 65.517h-12.433l-.915-10.602h-7.932l-.763 10.602zM565.115 166.657v-52.932h-7.78v-12.586h28.679v12.586h-7.78v52.932ZM588.728 101.14h12.662v65.517h-12.662zM612.257 166.657l-8.084-65.593h12.509l4.805 44.619 4.27-44.62h12.51l-8.085 65.594ZM641.247 166.657v-65.518h26.238V113.8h-12.89v12.738h12.356v12.357h-12.357v15.024h13.73v12.738ZM696.924 165.513c-2.44-1.169-4.36-2.885-5.758-5.148-1.4-2.262-2.098-4.996-2.098-8.2v-16.398h12.89v15.635c0 1.17.241 2.099.725 2.785.482.686 1.232 1.03 2.25 1.03.965 0 1.69-.318 2.174-.954.482-.635.724-1.537.724-2.707V101.14h13.195v49.119c0 3.407-.675 6.395-2.021 8.961-1.349 2.569-3.23 4.552-5.645 5.95-2.415 1.4-5.174 2.097-8.275 2.097-3 0-5.72-.585-8.161-1.754M742.968 153.69c.407-1.016.61-2.44.61-4.27v-32.035c0-1.422-.191-2.58-.571-3.47-.382-.89-1.158-1.334-2.327-1.334-2.187 0-3.28 1.652-3.28 4.957v31.958c0 1.881.23 3.306.686 4.271.457.966 1.297 1.45 2.517 1.45 1.17 0 1.957-.509 2.365-1.526m-14.415 8.733c-2.746-3.229-4.12-7.767-4.12-13.615v-31.194c0-5.644 1.374-9.902 4.12-12.777 2.745-2.871 6.762-4.308 12.05-4.308 5.289 0 9.306 1.437 12.051 4.308 2.746 2.875 4.119 7.133 4.119 12.777v31.194c0 5.9-1.373 10.449-4.119 13.653-2.745 3.203-6.762 4.805-12.05 4.805s-9.306-1.613-12.051-4.843M764.126 162.691c-2.62-3.05-3.928-7.575-3.928-13.577V101.14h12.737v47.44c0 2.086.203 3.714.61 4.882.406 1.17 1.27 1.755 2.594 1.755 1.32 0 2.185-.573 2.593-1.717.406-1.144.61-2.783.61-4.92v-47.44h12.737v47.974c0 6.002-1.31 10.526-3.928 13.577-2.62 3.051-6.623 4.576-12.012 4.576-5.391 0-9.395-1.525-12.013-4.576M812.298 125.394c1.831 0 2.746-1.983 2.746-5.95 0-1.727-.076-3.024-.229-3.89-.152-.863-.432-1.46-.84-1.792-.406-.33-.99-.495-1.753-.495h-3.05v12.127Zm-16.474-24.255h20.135c3.205 0 5.683.726 7.438 2.175 1.753 1.448 2.935 3.483 3.545 6.101.61 2.62.917 5.962.917 10.03 0 3.713-.485 6.61-1.45 8.694-.967 2.086-2.644 3.535-5.034 4.349 1.983.407 3.42 1.398 4.309 2.974.89 1.576 1.335 3.712 1.335 6.407l-.153 24.788h-12.813V141.03c0-1.83-.357-3-1.068-3.508-.712-.509-2.01-.764-3.89-.764v29.899h-13.271zM831.197 166.657v-65.518h13.5l6.026 31.35v-31.35h12.662v65.518H850.57l-6.559-32.797v32.797ZM881.078 145.606h5.95l-2.899-33.33h-.61Zm-14.492 21.05 6.331-65.516h22.194l6.255 65.517h-12.432l-.915-10.602h-7.932l-.763 10.602zM904.538 166.657v-65.518h13.118v54.381h13.5v11.137ZM933.91 101.14h12.66v65.517h-12.66zM953.7 162.843c-2.644-2.948-3.965-7.703-3.965-14.263v-6.406h12.89v8.161c0 3.254 1.04 4.882 3.126 4.882 1.17 0 1.983-.344 2.441-1.03.457-.686.686-1.843.686-3.47 0-2.136-.255-3.902-.762-5.3-.51-1.4-1.158-2.568-1.945-3.51-.79-.94-2.2-2.402-4.233-4.385l-5.644-5.644c-4.375-4.272-6.56-9-6.56-14.187 0-5.592 1.283-9.85 3.852-12.775 2.566-2.923 6.318-4.386 11.25-4.386 5.898 0 10.145 1.564 12.737 4.691 2.593 3.127 3.89 8.021 3.89 14.681h-13.347l-.077-4.498c0-.865-.242-1.551-.724-2.06-.485-.508-1.158-.763-2.02-.763-1.02 0-1.782.28-2.29.839-.509.56-.762 1.322-.762 2.288 0 2.136 1.22 4.348 3.661 6.636l7.627 7.323c1.78 1.727 3.253 3.367 4.423 4.918 1.17 1.552 2.11 3.383 2.823 5.492.712 2.11 1.067 4.614 1.067 7.512 0 6.458-1.182 11.353-3.546 14.683-2.365 3.33-6.268 4.996-11.709 4.996-5.948 0-10.244-1.474-12.89-4.425M991.63 166.657v-52.932h-7.78v-12.586h28.678v12.586h-7.78v52.932ZM1018.866 162.843c-2.645-2.948-3.967-7.703-3.967-14.263v-6.406h12.89v8.161c0 3.254 1.042 4.882 3.128 4.882 1.168 0 1.983-.344 2.44-1.03.458-.686.687-1.843.687-3.47 0-2.136-.256-3.902-.764-5.3-.507-1.4-1.156-2.568-1.945-3.51-.788-.94-2.199-2.402-4.231-4.385l-5.645-5.644c-4.374-4.272-6.56-9-6.56-14.187 0-5.592 1.285-9.85 3.852-12.775 2.567-2.923 6.318-4.386 11.25-4.386 5.899 0 10.144 1.564 12.737 4.691 2.594 3.127 3.89 8.021 3.89 14.681h-13.348l-.075-4.498c0-.865-.242-1.551-.725-2.06-.484-.508-1.156-.763-2.02-.763-1.018 0-1.782.28-2.289.839-.509.56-.764 1.322-.764 2.288 0 2.136 1.221 4.348 3.662 6.636l7.627 7.323c1.78 1.727 3.254 3.367 4.424 4.918 1.17 1.552 2.109 3.383 2.822 5.492.712 2.11 1.068 4.614 1.068 7.512 0 6.458-1.182 11.353-3.547 14.683-2.364 3.33-6.267 4.996-11.708 4.996-5.949 0-10.246-1.474-12.89-4.425"
71
+ />
72
+ </svg>
73
+ </span>
74
+ </template>
75
+
76
+ <script lang="ts">
77
+ import { defineComponent, PropType } from 'vue'
78
+ import { isString } from 'lodash'
79
+
80
+ import { BrandMode } from '@/enums'
81
+ import type { BrandExpansionStyle } from '@/types'
82
+
83
+ /**
84
+ * A component to create variations of ICIJ logo with text
85
+ */
86
+ export default defineComponent({
87
+ name: 'BrandExpansion',
88
+ props: {
89
+ /**
90
+ * Add a balancing effect to the globe
91
+ */
92
+ animated: {
93
+ type: Boolean
94
+ },
95
+ /**
96
+ * Monochromatic logo's color
97
+ */
98
+ color: {
99
+ type: String,
100
+ default: null
101
+ },
102
+ /**
103
+ * Logo's background color
104
+ */
105
+ background: {
106
+ type: String,
107
+ default: null
108
+ },
109
+ /**
110
+ * Logo's size
111
+ */
112
+ size: {
113
+ type: [Number, String],
114
+ default: '70px'
115
+ },
116
+ /**
117
+ * Brand mode ("short", "medium", "long")
118
+ */
119
+ mode: {
120
+ type: String as PropType<BrandMode>,
121
+ default: BrandMode.Short
122
+ },
123
+ /**
124
+ * Reverse color of the main text to white if no `color` is given
125
+ */
126
+ dark: {
127
+ type: Boolean
128
+ }
129
+ },
130
+ computed: {
131
+ baseWidth(): number {
132
+ const widths = {
133
+ [BrandMode.Short]: 401.256,
134
+ [BrandMode.Medium]: 901.24,
135
+ [BrandMode.Long]: 1047.01
136
+ }
137
+ return widths[this.mode]
138
+ },
139
+ width(): string {
140
+ return `${(this.baseWidth / 200) * this.sizeAsNumber}px`
141
+ },
142
+ height(): string {
143
+ return `${this.sizeAsNumber}px`
144
+ },
145
+ sizeAsNumber(): number {
146
+ return isString(this.size) ? parseInt(this.size) : this.size
147
+ },
148
+ style(): BrandExpansionStyle {
149
+ return {
150
+ '--monochrome-color': this.color,
151
+ background: this.background
152
+ }
153
+ }
154
+ }
155
+ })
156
+ </script>
157
+
158
+ <style scoped lang="scss">
159
+ @keyframes balancing-plate {
160
+ 0% {
161
+ transform: rotate(0deg);
162
+ }
163
+ 25% {
164
+ transform: rotate(7deg);
165
+ }
166
+ 50% {
167
+ transform: rotate(-7deg);
168
+ }
169
+ 75% {
170
+ transform: rotate(0deg);
171
+ }
172
+ 100% {
173
+ transform: rotate(0deg);
174
+ }
175
+ }
176
+
177
+ @keyframes balancing-globe {
178
+ 0% {
179
+ transform: rotate(0deg);
180
+ }
181
+ 35% {
182
+ transform: rotate(7deg);
183
+ }
184
+ 65% {
185
+ transform: rotate(-7deg);
186
+ }
187
+ 85% {
188
+ transform: rotate(3deg);
189
+ }
190
+ 100% {
191
+ transform: rotate(0deg);
192
+ }
193
+ }
194
+
195
+ .brand-expansion {
196
+ display: inline-flex;
197
+ align-items: center;
198
+ justify-content: center;
199
+
200
+ svg {
201
+ .triangle,
202
+ .globe,
203
+ .secondary-text {
204
+ fill: var(--monochrome-color, #f00);
205
+ }
206
+
207
+ .plate {
208
+ fill: var(--monochrome-color, #999);
209
+ }
210
+
211
+ .main-text {
212
+ fill: var(--monochrome-color, #000);
213
+ }
214
+ }
215
+
216
+ &--dark svg .main-text {
217
+ fill: var(--monochrome-color, #fff);
218
+ }
219
+
220
+ &--animated svg {
221
+ .plate {
222
+ animation: balancing-plate 5s infinite cubic-bezier(0.37, 0, 0.63, 1);
223
+ }
224
+ .globe {
225
+ animation: balancing-globe 5s infinite cubic-bezier(0.37, 0, 0.63, 1);
226
+ }
227
+
228
+ .plate,
229
+ .globe {
230
+ animation-direction: repeat;
231
+ transform: rotate(0deg);
232
+ transform-origin: bottom center;
233
+ transform-box: fill-box;
234
+ }
235
+ }
236
+ }
237
+ </style>
@@ -0,0 +1,204 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ :id="uniqComponentId"
5
+ class="confirm-button"
6
+ @click.stop="toggleConfirmationTooltip">
7
+ <!-- @slot Main content of the button -->
8
+ <slot>-</slot>
9
+ <b-tooltip
10
+ ref="confirmationTooltip"
11
+ :model-value="showTooltip"
12
+ :placement="placement"
13
+ :target="uniqComponentId"
14
+ manual
15
+ >
16
+ <div class="confirm-button__tooltip">
17
+ <button
18
+ v-if="!noCloseButton"
19
+ class="confirm-button__tooltip__cancel btn btn-sm btn-link text-light p-0 float-end"
20
+ @click="cancel"
21
+ >
22
+ <fa icon="times"/>
23
+ </button>
24
+ <p class="confirm-button__tooltip__label mb-2">
25
+ {{ label }}
26
+ </p>
27
+ <p v-if="description" class="confirm-button__tooltip__description mb-2">
28
+ {{ description }}
29
+ </p>
30
+ <div class="confirm-button__tooltip__actions text-end">
31
+ <button class="confirm-button__tooltip__actions__cancel btn btn-sm btn-link text-light" @click="cancel">
32
+ {{ no }}
33
+ </button>
34
+ <button
35
+ class="confirm-button__tooltip__actions__confirm btn btn-sm btn-link text-light fw-bold"
36
+ @click="confirm"
37
+ >
38
+ {{ yes }}
39
+ </button>
40
+ </div>
41
+ </div>
42
+ </b-tooltip>
43
+ </component>
44
+ </template>
45
+
46
+ <script lang="ts">
47
+ import noop from 'lodash/noop'
48
+ import uniqueId from 'lodash/uniqueId'
49
+ import {faTimes} from '@fortawesome/free-solid-svg-icons/faTimes'
50
+ import {BTooltip, PopoverPlacement} from 'bootstrap-vue-next'
51
+ import {ComponentPublicInstance, defineComponent, PropType, ref} from 'vue'
52
+
53
+ import {default as Fa, library} from './Fa'
54
+ import {onBeforeMount} from "@vue/runtime-core";
55
+
56
+ /**
57
+ * ConfirmButton
58
+ */
59
+ export default defineComponent({
60
+ name: 'ConfirmButton',
61
+ components: {
62
+ BTooltip,
63
+ Fa
64
+ },
65
+ props: {
66
+ /**
67
+ * Confirmation message visible in the tooltip upon user's click
68
+ */
69
+ label: {
70
+ type: String,
71
+ default: 'Are you sure?'
72
+ },
73
+ /**
74
+ * A description text to show under the confirmation label
75
+ */
76
+ description: {
77
+ type: String,
78
+ default: null
79
+ },
80
+ /**
81
+ * Disable the closing button
82
+ */
83
+ noCloseButton: {
84
+ type: Boolean
85
+ },
86
+ /**
87
+ * The confirmation callback
88
+ */
89
+ confirmed: {
90
+ type: Function,
91
+ default: noop
92
+ },
93
+ /**
94
+ * The cancellation callback
95
+ */
96
+ cancelled: {
97
+ type: Function,
98
+ default: noop
99
+ },
100
+ /**
101
+ * Label for 'Yes' button
102
+ */
103
+ yes: {
104
+ type: String,
105
+ default: 'Yes'
106
+ },
107
+ /**
108
+ * Label for 'No' button
109
+ */
110
+ no: {
111
+ type: String,
112
+ default: 'No'
113
+ },
114
+ /**
115
+ * Tooltip position
116
+ */
117
+ placement: {
118
+ type: String as PropType<PopoverPlacement>,
119
+ default: "top"
120
+ },
121
+ /**
122
+ * HTML tag to render this component to.
123
+ */
124
+ tag: {
125
+ type: String,
126
+ default: 'button'
127
+ }
128
+ },
129
+ emits: ['toggled', 'cancelled', "confirmed"],
130
+ setup(props, {emit}) {
131
+ onBeforeMount(() => {
132
+ library.add(faTimes)
133
+ })
134
+ const showTooltip = ref<Boolean>(false);
135
+ const uniqComponentId = uniqueId('murmur-confirm-button-');
136
+ const confirmationTooltip = ref<ComponentPublicInstance | null>(null)
137
+
138
+ function toggleConfirmationTooltip(): void {
139
+ showTooltip.value = !showTooltip.value
140
+ /**
141
+ * Emitted when the confirmation is toggled.
142
+ * @event toggled
143
+ * @param Boolean True if the button is shown.
144
+ */
145
+ emit('toggled', showTooltip.value)
146
+ }
147
+
148
+ function cancel(): void {
149
+ // showTooltip.value = false
150
+ props.cancelled()
151
+ /**
152
+ * Emitted when the confirmation is cancelled.
153
+ * @event cancelled
154
+ */
155
+ emit('cancelled')
156
+ }
157
+
158
+ function confirm(): void {
159
+ // showTooltip.value = false
160
+ props.confirmed()
161
+ /**
162
+ * Emitted when the confirmation is confirmed.
163
+ * @event confirmed
164
+ */
165
+ emit('confirmed')
166
+ }
167
+
168
+ return {
169
+ showTooltip,
170
+ uniqComponentId,
171
+ cancel,
172
+ confirm,
173
+ confirmationTooltip,
174
+ toggleConfirmationTooltip
175
+ }
176
+ }
177
+ })
178
+ </script>
179
+
180
+ <style lang="scss">
181
+ @import '../styles/lib';
182
+
183
+ .confirm-button {
184
+ &__tooltip {
185
+ min-width: calc(#{$tooltip-max-width} - #{$tooltip-padding-x * 2});
186
+ text-align: left;
187
+
188
+ &__label,
189
+ &__cancel {
190
+ font-weight: bold;
191
+ font-size: 1.2em;
192
+ }
193
+
194
+ &__actions {
195
+ margin-bottom: $tooltip-padding-x - $tooltip-padding-y;
196
+
197
+ &__confirm,
198
+ &__cancel {
199
+ text-transform: uppercase;
200
+ }
201
+ }
202
+ }
203
+ }
204
+ </style>
@@ -0,0 +1,100 @@
1
+ <template>
2
+ <div v-once class="content-placeholder">
3
+ <div class="content-placeholder__wrapper" :style="{ backgroundSize: size }">
4
+ <div
5
+ v-for="(row, r) in formattedRows"
6
+ :key="r"
7
+ class="content-placeholder__wrapper__row"
8
+ :style="{ height: row.height }"
9
+ >
10
+ <div v-for="(box, b) in row.boxes" :key="b" :style="box.style">
11
+ <div v-if="box.subClass" :class="box.subClass" />
12
+ </div>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ </template>
17
+
18
+ <script lang="ts">
19
+ import {computed, defineComponent, PropType} from 'vue'
20
+
21
+ import config from '@/config'
22
+ import { formatRows } from '@/utils/placeholder'
23
+ import type { ContentPlaceholderRows, ContentPlaceholderStyledRows } from '@/utils/placeholderTypes'
24
+
25
+ /**
26
+ * A component to fill empty spaces with animated placeholders until content is loaded.
27
+ */
28
+ export default defineComponent({
29
+ name: 'ContentPlaceholder',
30
+ props: {
31
+ /**
32
+ * An array of lines describing a series of cell sizes and margin sizes.
33
+ */
34
+ rows: {
35
+ type: Array as PropType<ContentPlaceholderRows>,
36
+ default: () => config.get('content-placeholder.rows')
37
+ },
38
+ /**
39
+ * The size of the background gradient with the elapsing effect.
40
+ */
41
+ size: {
42
+ type: String,
43
+ default: '250%'
44
+ }
45
+ },
46
+ setup(props){
47
+ const formattedRows = computed(():ContentPlaceholderStyledRows=>{
48
+ return props.rows ? formatRows(props.rows, 'content-placeholder__wrapper__row__box'):[]
49
+
50
+ })
51
+ return {formattedRows}
52
+ }
53
+ })
54
+ </script>
55
+
56
+ <style scoped lang="scss">
57
+ @import '../styles/lib';
58
+
59
+ @keyframes placeHolderShimmer {
60
+ 0% {
61
+ background-position: 100% 0;
62
+ }
63
+ 100% {
64
+ background-position: -100% 0;
65
+ }
66
+ }
67
+
68
+ .content-placeholder {
69
+ overflow: hidden;
70
+
71
+ &__wrapper {
72
+ animation-duration: 1s;
73
+ animation-fill-mode: forwards;
74
+ animation-iteration-count: infinite;
75
+ animation-name: placeHolderShimmer;
76
+ animation-timing-function: linear;
77
+ background: #f6f7f8;
78
+ background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
79
+ position: relative;
80
+
81
+ &__row {
82
+ width: 100%;
83
+ box-sizing: border-box;
84
+ display: flex;
85
+ flex: 0 1 auto;
86
+ flex-direction: row;
87
+ flex-wrap: wrap;
88
+
89
+ &__box {
90
+ box-sizing: border-box;
91
+ position: relative;
92
+ height: 100%;
93
+ margin-bottom: 0;
94
+ background-color: white;
95
+ overflow: hidden;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ </style>