@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.
- package/.github/workflows/deploy-github-pages.yaml +50 -0
- package/.storybook/app.scss +14 -0
- package/.storybook/doc_variables.scss +20 -0
- package/.storybook/main.ts +35 -0
- package/.storybook/preview-head.html +2 -0
- package/.storybook/preview.ts +32 -0
- package/README.md +71 -0
- package/deploy.js +15 -0
- package/docs/components/ApiTable.vue +171 -0
- package/docs/components/App.vue +146 -0
- package/docs/components/CollapsibleBlock.vue +122 -0
- package/docs/components/DocsHeader.vue +68 -0
- package/docs/components/DocsMenu.vue +201 -0
- package/docs/components/DocsMenuSection.vue +109 -0
- package/docs/components/EditLink.vue +49 -0
- package/docs/components/OutboundLink.vue +13 -0
- package/docs/components/PalettePresenter.vue +96 -0
- package/docs/components/RepositoryLink.vue +28 -0
- package/docs/components/SampleCard.vue +119 -0
- package/docs/main.js +42 -0
- package/docs/pages/components/accordion/doc.md +96 -0
- package/docs/pages/components/active-text-truncate/doc.md +44 -0
- package/docs/pages/components/advanced-link-form/doc.md +105 -0
- package/docs/pages/components/brand/doc.md +30 -0
- package/docs/pages/components/brand-expansion/doc.md +70 -0
- package/docs/pages/components/confirm-button/doc.md +91 -0
- package/docs/pages/components/content-placeholder/doc.md +16 -0
- package/docs/pages/components/custom-pagination/doc.md +61 -0
- package/docs/pages/components/digits-input/doc.md +28 -0
- package/docs/pages/components/donate-form/doc.md +20 -0
- package/docs/pages/components/embed-form/doc.md +22 -0
- package/docs/pages/components/embeddable-footer/doc.md +60 -0
- package/docs/pages/components/follow-us-popover/doc.md +5 -0
- package/docs/pages/components/generic-footer/doc.md +21 -0
- package/docs/pages/components/generic-header/doc.md +24 -0
- package/docs/pages/components/haptic-copy/doc.md +27 -0
- package/docs/pages/components/imddb-header/doc.md +23 -0
- package/docs/pages/components/ordinal-legend/doc.md +44 -0
- package/docs/pages/components/range-picker/doc.md +86 -0
- package/docs/pages/components/responsive-iframe/doc.md +13 -0
- package/docs/pages/components/scale-legend/doc.md +65 -0
- package/docs/pages/components/secret-input/doc.md +12 -0
- package/docs/pages/components/selectable-dropdown/doc.md +156 -0
- package/docs/pages/components/sharing-options/doc.md +13 -0
- package/docs/pages/components/sharing-options-link/doc.md +36 -0
- package/docs/pages/components/sign-up-form/doc.md +13 -0
- package/docs/pages/components/slide-up-down/doc.md +28 -0
- package/docs/pages/components/textured-deck/doc.md +78 -0
- package/docs/pages/components/tiny-pagination/doc.md +92 -0
- package/docs/pages/datavisualisation/bars/doc.md +110 -0
- package/docs/pages/datavisualisation/columns/doc.md +165 -0
- package/docs/pages/datavisualisation/lines/doc.md +139 -0
- package/docs/pages/datavisualisation/stacked-bar/doc.md +160 -0
- package/docs/pages/datavisualisation/stacked-column/doc.md +191 -0
- package/docs/pages/getting-started/about-icij/doc.md +13 -0
- package/docs/pages/getting-started/custom-bootstrap/doc.md +36 -0
- package/docs/pages/getting-started/installation-guide/doc.md +59 -0
- package/docs/pages/getting-started/internationalization/doc.md +74 -0
- package/docs/pages/maps/choropleth-map/doc.md +420 -0
- package/docs/pages/maps/choropleth-map-annotation/doc.md +373 -0
- package/docs/pages/maps/symbol-map/doc.md +203 -0
- package/docs/pages/structure/breakpoints/doc.md +3 -0
- package/docs/pages/structure/grid/doc.md +3 -0
- package/docs/pages/utilities/assets/doc.md +138 -0
- package/docs/pages/utilities/config/doc.md +52 -0
- package/docs/pages/utilities/iframes/doc.md +3 -0
- package/docs/pages/visual/colors/doc.md +31 -0
- package/docs/pages/visual/iconography/doc.md +56 -0
- package/docs/pages/visual/states/doc.md +77 -0
- package/docs/pages/visual/themes/doc.md +3 -0
- package/docs/pages/visual/typography/doc.md +71 -0
- package/docs/routes.js +25 -0
- package/docs/store/index.js +21 -0
- package/docs/styles/app.scss +36 -0
- package/docs/styles/variables.scss +20 -0
- package/lib/assets/images/icij-full-white.svg +6 -0
- package/lib/assets/images/icij-full.svg +6 -0
- package/lib/assets/images/icij.png +0 -0
- package/lib/assets/images/icij.svg +46 -0
- package/lib/assets/images/icij@2x.png +0 -0
- package/lib/assets/images/murmur-dark.png +0 -0
- package/lib/assets/images/murmur-dark.svg +79 -0
- package/lib/assets/images/murmur-white.png +0 -0
- package/lib/assets/images/murmur-white.svg +68 -0
- package/lib/components/AccordionStep.vue +128 -0
- package/lib/components/AccordionWrapper.vue +138 -0
- package/lib/components/ActiveTextTruncate.vue +258 -0
- package/lib/components/AdvancedLinkForm.vue +273 -0
- package/lib/components/Brand.vue +150 -0
- package/lib/components/BrandExpansion.vue +237 -0
- package/lib/components/ConfirmButton.vue +204 -0
- package/lib/components/ContentPlaceholder.vue +100 -0
- package/lib/components/CustomPagination.vue +225 -0
- package/lib/components/DigitsInput.vue +180 -0
- package/lib/components/DonateForm.vue +367 -0
- package/lib/components/EmbedForm.vue +173 -0
- package/lib/components/EmbeddableFooter.vue +201 -0
- package/lib/components/Fa.js +3 -0
- package/lib/components/FollowUsPopover.vue +117 -0
- package/lib/components/GenericFooter.vue +218 -0
- package/lib/components/GenericHeader.vue +259 -0
- package/lib/components/HapticCopy.vue +256 -0
- package/lib/components/ImddbHeader.vue +336 -0
- package/lib/components/OrdinalLegend.vue +164 -0
- package/lib/components/RangePicker.vue +430 -0
- package/lib/components/ResponsiveIframe.vue +48 -0
- package/lib/components/ScaleLegend.vue +230 -0
- package/lib/components/SecretInput.vue +132 -0
- package/lib/components/SelectableDropdown.vue +368 -0
- package/lib/components/SharingOptions.vue +230 -0
- package/lib/components/SharingOptionsLink.vue +259 -0
- package/lib/components/SignUpForm.vue +181 -0
- package/lib/components/SlideUpDown.vue +131 -0
- package/lib/components/TexturedDeck.vue +101 -0
- package/lib/components/TinyPagination.vue +268 -0
- package/lib/components/index.js +31 -0
- package/lib/composables/chart.ts +182 -0
- package/lib/composables/resizeObserver.ts +37 -0
- package/lib/composables/sendEmail.ts +50 -0
- package/lib/config.default.ts +33 -0
- package/lib/config.ts +70 -0
- package/lib/d3-geo-projection.d.ts +1 -0
- package/lib/datavisualisations/BarChart.vue +275 -0
- package/lib/datavisualisations/ColumnChart.vue +527 -0
- package/lib/datavisualisations/LineChart.vue +274 -0
- package/lib/datavisualisations/StackedBarChart.vue +614 -0
- package/lib/datavisualisations/StackedColumnChart.vue +640 -0
- package/lib/datavisualisations/index.js +5 -0
- package/lib/enums.ts +25 -0
- package/lib/i18n.ts +16 -0
- package/lib/keys.ts +2 -0
- package/lib/locales/en.json +140 -0
- package/lib/locales/fr.json +117 -0
- package/lib/locales/locales/en.json +140 -0
- package/lib/locales/locales/fr.json +117 -0
- package/lib/main.ts +87 -0
- package/lib/maps/ChoroplethMap.vue +825 -0
- package/lib/maps/ChoroplethMapAnnotation.vue +336 -0
- package/lib/maps/SymbolMap.vue +628 -0
- package/lib/maps/index.js +3 -0
- package/lib/querystring-es3.d.ts +1 -0
- package/lib/shims-bootstrap-vue.d.ts +5 -0
- package/lib/shims-tsx.d.ts +11 -0
- package/lib/shims-vue.d.ts +14 -0
- package/lib/styles/functions.scss +20 -0
- package/lib/styles/lib.scss +19 -0
- package/lib/styles/mixins.scss +37 -0
- package/lib/styles/utilities.scss +18 -0
- package/lib/styles/variables.scss +94 -0
- package/lib/styles/variables_dark.scss +1 -0
- package/lib/types.ts +46 -0
- package/lib/utils/animation.ts +24 -0
- package/lib/utils/assets.ts +46 -0
- package/lib/utils/clipboard.ts +41 -0
- package/lib/utils/iframe-resizer.ts +49 -0
- package/lib/utils/placeholder.ts +66 -0
- package/lib/utils/placeholderTypes.ts +21 -0
- package/lib/utils/strings.ts +8 -0
- package/loaders/highlight-loader.js +13 -0
- package/loaders/markdown-loader.js +91 -0
- package/loaders/metadata-loader.js +18 -0
- package/loaders/sass-extract-loader.js +14 -0
- package/loaders/vue-docgen-loader.js +14 -0
- package/package.json +96 -0
- package/plugins/MdPluginTypes.ts +10 -0
- package/plugins/docs.ts +50 -0
- package/plugins/front-matter.ts +36 -0
- package/plugins/highlight.ts +27 -0
- package/plugins/markdown-it/api-table.ts +25 -0
- package/plugins/markdown-it/sample-card.ts +31 -0
- package/plugins/plugin-delete.ts +47 -0
- package/plugins/plugin-docgen.ts +23 -0
- package/plugins/sass-vars.ts +25 -0
- package/plugins/vue-docgen.ts +29 -0
- package/public/android-chrome-192x192.png +0 -0
- package/public/android-chrome-512x512.png +0 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/assets/img/arrow-bottom.svg +3 -0
- package/public/assets/img/texture-brick-black.jpg +0 -0
- package/public/assets/img/texture-brick.jpg +0 -0
- package/public/assets/img/texture-carbon-black.jpg +0 -0
- package/public/assets/img/texture-carbon.jpg +0 -0
- package/public/assets/img/texture-crack-black.jpg +0 -0
- package/public/assets/img/texture-crack.jpg +0 -0
- package/public/assets/img/texture-rock-black.jpg +0 -0
- package/public/assets/img/texture-rock.jpg +0 -0
- package/public/assets/img/texture-sand-black.jpg +0 -0
- package/public/assets/img/texture-sand.jpg +0 -0
- package/public/assets/img/texture-silk-black.jpg +0 -0
- package/public/assets/img/texture-silk.jpg +0 -0
- package/public/assets/topojson/france-departments.json +1 -0
- package/public/assets/topojson/paris-arrondissements.json +1 -0
- package/public/assets/topojson/world-countries-sans-antarctica.json +1 -0
- package/public/favicon-16x16.png +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/site.webmanifest +1 -0
- package/stories/assets/code-brackets.svg +1 -0
- package/stories/assets/colors.svg +1 -0
- package/stories/assets/comments.svg +1 -0
- package/stories/assets/direction.svg +1 -0
- package/stories/assets/flow.svg +1 -0
- package/stories/assets/plugin.svg +1 -0
- package/stories/assets/repo.svg +1 -0
- package/stories/assets/stackalt.svg +1 -0
- package/stories/getting-started/about-icij.mdx +14 -0
- package/stories/getting-started/custom-bootstrap.mdx +23 -0
- package/stories/getting-started/installation-guide.mdx +62 -0
- package/stories/getting-started/internationalization.mdx +63 -0
- package/stories/murmur/components/AccordionStep.stories.ts +33 -0
- package/stories/murmur/components/AccordionWrapper.stories.ts +69 -0
- package/stories/murmur/components/ActiveTextTruncate.stories.ts +32 -0
- package/stories/murmur/components/AdvancedLinkForm.stories.ts +77 -0
- package/stories/murmur/components/Brand.stories.ts +30 -0
- package/stories/murmur/components/BrandExpansion.stories.ts +41 -0
- package/stories/murmur/components/ConfirmButton.stories.ts +40 -0
- package/stories/murmur/components/ContentPlaceholder.stories.ts +41 -0
- package/stories/murmur/components/CustomPagination.stories.ts +42 -0
- package/stories/murmur/components/DigitsInput.stories.ts +29 -0
- package/stories/murmur/components/DonateForm.stories.ts +29 -0
- package/stories/murmur/components/EmbedForm.stories.ts +35 -0
- package/stories/murmur/components/EmbeddableFooter.stories.ts +59 -0
- package/stories/murmur/components/FollowUsPopover.stories.ts +24 -0
- package/stories/murmur/components/GenericFooter.stories.ts +27 -0
- package/stories/murmur/components/GenericHeader.stories.ts +27 -0
- package/stories/murmur/components/HapticCopy.stories.ts +40 -0
- package/stories/murmur/components/ImddbHeader.stories.ts +27 -0
- package/stories/murmur/components/OrdinalLegend.stories.ts +49 -0
- package/stories/murmur/components/RangePicker.stories.ts +98 -0
- package/stories/murmur/components/ResponsiveIframe.stories.ts +24 -0
- package/stories/murmur/components/ScaleLegend.stories.ts +65 -0
- package/stories/murmur/components/SecretInput.stories.ts +60 -0
- package/stories/murmur/components/SelectableDropdown.stories.ts +143 -0
- package/stories/murmur/components/SharingOptions.stories.ts +32 -0
- package/stories/murmur/components/SharingOptionsLink.stories.ts +53 -0
- package/stories/murmur/components/SignUpForm.stories.ts +51 -0
- package/stories/murmur/components/SlideUpDown.stories.ts +32 -0
- package/stories/murmur/components/TexturedDeck.stories.ts +83 -0
- package/stories/murmur/components/TinyPagination.stories.ts +65 -0
- package/stories/murmur/datavisualisations/BarChart.stories.ts +54 -0
- package/stories/murmur/datavisualisations/ColumnChart.stories.ts +88 -0
- package/stories/murmur/datavisualisations/LineChart.stories.ts +139 -0
- package/stories/murmur/datavisualisations/StackedBarChart.stories.ts +199 -0
- package/stories/murmur/datavisualisations/StackedColumnChart.stories.ts +136 -0
- package/stories/murmur/decorators.ts +108 -0
- package/stories/murmur/maps/ChoroplethMap.stories.ts +440 -0
- package/stories/murmur/maps/ChoroplethMapAnnotation.stories.ts +26 -0
- package/stories/murmur/maps/SymbolMap.stories.ts +24 -0
- package/stories/murmur/utils.ts +7 -0
- package/tests/unit/components/AccordionStep.spec.ts +157 -0
- package/tests/unit/components/AccordionWrapper.spec.ts +57 -0
- package/tests/unit/components/ActiveTextTruncate.spec.js +30 -0
- package/tests/unit/components/AdvancedLinkForm.spec.js +124 -0
- package/tests/unit/components/Brand.spec.js +50 -0
- package/tests/unit/components/ContentPlaceholder.spec.js +29 -0
- package/tests/unit/components/CustomPagination.spec.js +72 -0
- package/tests/unit/components/DigitsInput.spec.ts +157 -0
- package/tests/unit/components/DonateForm.spec.js +149 -0
- package/tests/unit/components/EmbedForm.spec.js +108 -0
- package/tests/unit/components/EmbeddableFooter.spec.js +11 -0
- package/tests/unit/components/Fa.spec.js +18 -0
- package/tests/unit/components/FollowUsPopover.spec.js +29 -0
- package/tests/unit/components/GenericFooter.spec.js +29 -0
- package/tests/unit/components/GenericHeader.spec.js +104 -0
- package/tests/unit/components/HapticCopy.spec.js +123 -0
- package/tests/unit/components/ImddbHeader.spec.js +96 -0
- package/tests/unit/components/OrdinalLegend.spec.js +120 -0
- package/tests/unit/components/RangePicker.spec.ts +87 -0
- package/tests/unit/components/ResponsiveIframe.spec.js +20 -0
- package/tests/unit/components/ScaleLegend.spec.js +139 -0
- package/tests/unit/components/SecretInput.spec.js +81 -0
- package/tests/unit/components/SelectableDropdown.spec.js +160 -0
- package/tests/unit/components/SharingOptions.spec.js +125 -0
- package/tests/unit/components/SharingOptionsLink.spec.js +184 -0
- package/tests/unit/components/SignUpForm.spec.js +145 -0
- package/tests/unit/components/SlideUpDown.spec.js +59 -0
- package/tests/unit/components/TinyPagination.spec.js +46 -0
- package/tests/unit/config.spec.js +136 -0
- package/tests/unit/datavisualisations/BarChart.spec.js +63 -0
- package/tests/unit/datavisualisations/ColumnChart.spec.js +344 -0
- package/tests/unit/datavisualisations/LineChart.spec.js +155 -0
- package/tests/unit/datavisualisations/StackedBarChart.spec.js +294 -0
- package/tests/unit/datavisualisations/StackedColumnChart.spec.js +443 -0
- package/tests/unit/i18n.spec.ts +19 -0
- package/tests/unit/main.spec.js +82 -0
- package/tests/unit/maps/ChoroplethMap.spec.js +214 -0
- package/tests/unit/maps/ChoroplethMapAnnotation.spec.ts +186 -0
- package/tests/unit/maps/SymbolMap.spec.js +92 -0
- package/tests/unit/require.spec.js +22 -0
- package/tests/unit/setup.js +13 -0
- package/tests/unit/utils/assets.spec.js +61 -0
- package/tests/unit/utils/clipboard.spec.js +18 -0
- package/tests/unit/utils/iframe-resizer.spec.js +71 -0
- package/tsconfig.json +35 -0
- package/vite.config.ts +79 -0
- package/vitest.config.ts +19 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
badge: unstable
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
<div class="bg-dark text-light p-3 mb-5 sticky-top">
|
|
7
|
+
<b-form-checkbox class="text-nowrap" switch v-model="black">
|
|
8
|
+
Use black monochromic version of each texture.
|
|
9
|
+
</b-form-checkbox>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
:::sample-card
|
|
13
|
+
<div>
|
|
14
|
+
<textured-deck class="p-5 m-4" :black="black">
|
|
15
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
16
|
+
</textured-deck>
|
|
17
|
+
</div>
|
|
18
|
+
:::
|
|
19
|
+
|
|
20
|
+
:::sample-card
|
|
21
|
+
<div>
|
|
22
|
+
<textured-deck value="brick" class="p-5 m-4 row no-gutters align-items-center" :black="black">
|
|
23
|
+
<div class="col">
|
|
24
|
+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
|
25
|
+
</div>
|
|
26
|
+
<div class="col-4 text-center">
|
|
27
|
+
<b-button variant="primary" class="text-dark">
|
|
28
|
+
Donate now
|
|
29
|
+
</b-button>
|
|
30
|
+
</div>
|
|
31
|
+
</textured-deck>
|
|
32
|
+
</div>
|
|
33
|
+
:::
|
|
34
|
+
|
|
35
|
+
:::sample-card
|
|
36
|
+
<div>
|
|
37
|
+
<textured-deck value="rock" class="p-5 m-4" :black="black">
|
|
38
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
39
|
+
</textured-deck>
|
|
40
|
+
</div>
|
|
41
|
+
:::
|
|
42
|
+
|
|
43
|
+
:::sample-card
|
|
44
|
+
<div>
|
|
45
|
+
<textured-deck tag="router-link" value="sand" class="p-5 m-4 d-block" to="/" :black="black">
|
|
46
|
+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
|
47
|
+
</textured-deck>
|
|
48
|
+
</div>
|
|
49
|
+
:::
|
|
50
|
+
|
|
51
|
+
:::sample-card
|
|
52
|
+
<div>
|
|
53
|
+
<textured-deck value="crack" class="p-5 m-4 d-flex align-items-center" :black="black">
|
|
54
|
+
<brand class="mr-5" />
|
|
55
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
56
|
+
</textured-deck>
|
|
57
|
+
</div>
|
|
58
|
+
:::
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
:::sample-card
|
|
62
|
+
<div>
|
|
63
|
+
<textured-deck value="carbon" class="p-5 m-4" :black="black">
|
|
64
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
65
|
+
</textured-deck>
|
|
66
|
+
</div>
|
|
67
|
+
:::
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
::: api-table components/TexturedDeck.vue :::
|
|
71
|
+
|
|
72
|
+
<script>
|
|
73
|
+
export default {
|
|
74
|
+
data () {
|
|
75
|
+
return { black: false }
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
</script>
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Tiny Pagination
|
|
3
|
+
description: A tiny pagination component with the option to jump ahead to a specific page using a form input.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Default styling:
|
|
7
|
+
|
|
8
|
+
:::sample-card
|
|
9
|
+
<div class="p-2 text-center">
|
|
10
|
+
<tiny-pagination v-model="currentPage" :per-page="10" :total-rows="200" />
|
|
11
|
+
</div>
|
|
12
|
+
:::
|
|
13
|
+
|
|
14
|
+
Different sizes:
|
|
15
|
+
|
|
16
|
+
:::sample-card
|
|
17
|
+
<div class="p-2 text-center">
|
|
18
|
+
<p>
|
|
19
|
+
<tiny-pagination v-model="currentPage" size="sm" :per-page="10" :total-rows="200" />
|
|
20
|
+
</p>
|
|
21
|
+
<p>
|
|
22
|
+
<tiny-pagination v-model="currentPage" size="md" :per-page="10" :total-rows="200" />
|
|
23
|
+
</p>
|
|
24
|
+
<p>
|
|
25
|
+
<tiny-pagination v-model="currentPage" size="lg" :per-page="10" :total-rows="200" />
|
|
26
|
+
</p>
|
|
27
|
+
</div>
|
|
28
|
+
:::
|
|
29
|
+
|
|
30
|
+
Hide navigations buttons:
|
|
31
|
+
|
|
32
|
+
:::sample-card
|
|
33
|
+
<div class="p-2 text-center">
|
|
34
|
+
<tiny-pagination v-model="currentPage" no-nav :per-page="10" :total-rows="200" />
|
|
35
|
+
</div>
|
|
36
|
+
:::
|
|
37
|
+
|
|
38
|
+
Use compact mode:
|
|
39
|
+
|
|
40
|
+
:::sample-card
|
|
41
|
+
<div class="p-2 text-center">
|
|
42
|
+
<tiny-pagination v-model="currentPage" compact :per-page="10" :total-rows="200" />
|
|
43
|
+
</div>
|
|
44
|
+
:::
|
|
45
|
+
|
|
46
|
+
Or display as a block (here with some additional background and border):
|
|
47
|
+
|
|
48
|
+
:::sample-card
|
|
49
|
+
<div class="p-5 text-center">
|
|
50
|
+
<tiny-pagination v-model="currentPage" block class="border bg-white p-1 shadow" :per-page="10" :total-rows="200" />
|
|
51
|
+
</div>
|
|
52
|
+
:::
|
|
53
|
+
|
|
54
|
+
And finally, with custom navigation button icons and variant:
|
|
55
|
+
|
|
56
|
+
:::sample-card
|
|
57
|
+
<div class="p-5 text-center">
|
|
58
|
+
<tiny-pagination
|
|
59
|
+
v-model="currentPage"
|
|
60
|
+
block
|
|
61
|
+
class="border bg-dark text-light p-1 shadow"
|
|
62
|
+
previous-page-icon="arrow-left"
|
|
63
|
+
next-page-icon="arrow-right"
|
|
64
|
+
nav-variant="dark"
|
|
65
|
+
size="sm"
|
|
66
|
+
:per-page="10"
|
|
67
|
+
:total-rows="200" />
|
|
68
|
+
</div>
|
|
69
|
+
:::
|
|
70
|
+
|
|
71
|
+
::: api-table components/TinyPagination.vue :::
|
|
72
|
+
|
|
73
|
+
<script>
|
|
74
|
+
import { faArrowRight, faArrowLeft } from '@fortawesome/free-solid-svg-icons'
|
|
75
|
+
import { library } from '@/components/Fa'
|
|
76
|
+
|
|
77
|
+
export default {
|
|
78
|
+
data () {
|
|
79
|
+
return {
|
|
80
|
+
currentPage: 1
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
beforeMount() {
|
|
84
|
+
library.add(faArrowRight, faArrowLeft)
|
|
85
|
+
},
|
|
86
|
+
watch: {
|
|
87
|
+
currentPage (page) {
|
|
88
|
+
this.$router.push({ query: { page } })
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
</script>
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
badge: unstable
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Component do draw dead simple bar charts.
|
|
6
|
+
|
|
7
|
+
:::sample-card
|
|
8
|
+
<div class="m-4">
|
|
9
|
+
<h4>Breast implant patients kept in the dark about potential risks</h4>
|
|
10
|
+
<p class="text-muted">
|
|
11
|
+
More than 300 people around the world who responded to an ICIJ survey said they were not aware of the dangers of breast implants prior to their surgeries.
|
|
12
|
+
</p>
|
|
13
|
+
<bar-chart :data="dataUrl" class="mt-4" />
|
|
14
|
+
</div>
|
|
15
|
+
:::
|
|
16
|
+
|
|
17
|
+
<collapsible-block label="Show the data structure">
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
[
|
|
21
|
+
{
|
|
22
|
+
"label": "Warned about local complications",
|
|
23
|
+
"value": 52
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"label": "Not warned",
|
|
27
|
+
"value": 42
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"label": "Warned thoroughly",
|
|
31
|
+
"value": 1
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"label": "Other",
|
|
35
|
+
"value": 6
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
</collapsible-block>
|
|
41
|
+
|
|
42
|
+
It's also possible to highlight a value:
|
|
43
|
+
|
|
44
|
+
:::sample-card
|
|
45
|
+
<div class="m-4">
|
|
46
|
+
<h4>Breast implant patients kept in the dark about potential risks</h4>
|
|
47
|
+
<p class="text-muted">
|
|
48
|
+
More than 300 people around the world who responded to an ICIJ survey said they were not aware of the dangers of breast implants prior to their surgeries.
|
|
49
|
+
</p>
|
|
50
|
+
<bar-chart :data="dataWithHighlight" class="mt-4" />
|
|
51
|
+
</div>
|
|
52
|
+
:::
|
|
53
|
+
|
|
54
|
+
<collapsible-block label="Show the data structure">
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
[
|
|
58
|
+
{
|
|
59
|
+
"label": "Warned about local complications",
|
|
60
|
+
"value": 52
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"label": "Not warned",
|
|
64
|
+
"value": 42,
|
|
65
|
+
"highlight": true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"label": "Warned thoroughly",
|
|
69
|
+
"value": 1
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"label": "Other",
|
|
73
|
+
"value": 6
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</collapsible-block>
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
::: api-table datavisualisations/BarChart.vue :::
|
|
82
|
+
|
|
83
|
+
<script>
|
|
84
|
+
export default {
|
|
85
|
+
data () {
|
|
86
|
+
return {
|
|
87
|
+
dataUrl: "https://gist.githubusercontent.com/pirhoo/2308336d5f067ef7d84fec348fd63e29/raw/c0135f11e54e757187163dd0722b149a456c64b1/bars-icij-survey.json",
|
|
88
|
+
dataWithHighlight: [
|
|
89
|
+
{
|
|
90
|
+
"label": "Warned about local complications",
|
|
91
|
+
"value": 52
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"label": "Not warned",
|
|
95
|
+
"value": 42,
|
|
96
|
+
"highlight": true
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"label": "Warned thoroughly",
|
|
100
|
+
"value": 1
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"label": "Other",
|
|
104
|
+
"value": 6
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
</script>
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
Component do draw dead simple column charts.
|
|
2
|
+
|
|
3
|
+
:::sample-card
|
|
4
|
+
<div class="m-4">
|
|
5
|
+
<h4>Breast implant companies buried evidence of injuries for years</h4>
|
|
6
|
+
<p class="text-muted">
|
|
7
|
+
Incidents were reported as routine events that did not require public disclosure. After the U.S. Food and Drug Administration tightened enforcement of its reporting rules in 2017, reports of injuries soared.
|
|
8
|
+
</p>
|
|
9
|
+
<column-chart :data="dataUrl" class="my-4" x-axis-tick-collapse hover></column-chart>
|
|
10
|
+
<p class="text-muted small">
|
|
11
|
+
Note: 2018 data includes January to June. Source: U.S. Food and Drug Administration, ICIJ analysis
|
|
12
|
+
</p>
|
|
13
|
+
</div>
|
|
14
|
+
:::
|
|
15
|
+
|
|
16
|
+
<collapsible-block label="Show the data structure">
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
[
|
|
20
|
+
{
|
|
21
|
+
"date": 2008,
|
|
22
|
+
"value": 371
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"date": 2009,
|
|
26
|
+
"value": 187
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"date": 2010,
|
|
30
|
+
"value": 188
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"date": 2011,
|
|
34
|
+
"value": 191
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"date": 2012,
|
|
38
|
+
"value": 237
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"date": 2013,
|
|
42
|
+
"value": 193
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"date": 2014,
|
|
46
|
+
"value": 171
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"date": 2015,
|
|
50
|
+
"value": 206
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"date": 2016,
|
|
54
|
+
"value": 339
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"date": 2017,
|
|
58
|
+
"value": 4642,
|
|
59
|
+
"highlight": true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"date": 2018,
|
|
63
|
+
"value": 8345,
|
|
64
|
+
"highlight": true
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
</collapsible-block>
|
|
70
|
+
|
|
71
|
+
Or with discrete series:
|
|
72
|
+
|
|
73
|
+
:::sample-card
|
|
74
|
+
<div class="m-4">
|
|
75
|
+
<h4>Leaks size</h4>
|
|
76
|
+
<p class="text-muted">
|
|
77
|
+
Size of each ICIJ's leak.
|
|
78
|
+
</p>
|
|
79
|
+
<column-chart :data="discreteData" series-name="size" timeseries-key="leak" :y-axis-tick-format="humanReadableGb" :y-axis-ticks="4" :max-value="3000" class="my-4">
|
|
80
|
+
<template #tooltip="{ datum: { leak, size } }">
|
|
81
|
+
<span v-html="`The ${leak} investigation is ${humanReadableGb(size)}`"></span>
|
|
82
|
+
</template>
|
|
83
|
+
</column-chart>
|
|
84
|
+
<p class="text-muted small">
|
|
85
|
+
Source: ICIJ
|
|
86
|
+
</p>
|
|
87
|
+
</div>
|
|
88
|
+
:::
|
|
89
|
+
|
|
90
|
+
<collapsible-block label="Show the data structure">
|
|
91
|
+
|
|
92
|
+
```json
|
|
93
|
+
[
|
|
94
|
+
{ "leak": "Paradise Papers", "size": 1400 },
|
|
95
|
+
{ "leak": "Panama Papers", "size": 2600 },
|
|
96
|
+
{ "leak": "Swiss Leaks", "size": 3.3 },
|
|
97
|
+
{ "leak": "LuxLeaks", "size": 4 },
|
|
98
|
+
{ "leak": "Offshore Leaks", "size": 260 }
|
|
99
|
+
]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
</collapsible-block>
|
|
103
|
+
|
|
104
|
+
It also works with dynamic height
|
|
105
|
+
|
|
106
|
+
:::sample-card
|
|
107
|
+
<div class="m-4">
|
|
108
|
+
<h4>Leaks size</h4>
|
|
109
|
+
<p class="text-muted">
|
|
110
|
+
Size of each ICIJ's leak.
|
|
111
|
+
</p>
|
|
112
|
+
<column-chart
|
|
113
|
+
stripped
|
|
114
|
+
series-name="size"
|
|
115
|
+
timeseries-key="leak"
|
|
116
|
+
@select="clicked = $event"
|
|
117
|
+
:fixed-height="fixedHeight"
|
|
118
|
+
:data="discreteData"
|
|
119
|
+
:y-axis-tick-format="humanReadableGb"
|
|
120
|
+
:y-axis-ticks="4"
|
|
121
|
+
:max-value="3000" class="my-4">
|
|
122
|
+
<template #tooltip="{ datum: { leak, size } }">
|
|
123
|
+
<span v-html="`The ${leak} investigation is ${humanReadableGb(size)}`"></span>
|
|
124
|
+
</template>
|
|
125
|
+
</column-chart>
|
|
126
|
+
<p class="text-muted form-inline align-items-center">
|
|
127
|
+
<span class="ml-auto mr-3 d-inline-flex align-items-center">
|
|
128
|
+
Height:
|
|
129
|
+
<b-form-select class="ml-2" size="sm" v-model="fixedHeight" :options="[150, 300, 450]" />
|
|
130
|
+
</span>
|
|
131
|
+
Source: ICIJ
|
|
132
|
+
</p>
|
|
133
|
+
</div>
|
|
134
|
+
:::
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
::: api-table datavisualisations/ColumnChart.vue :::
|
|
138
|
+
|
|
139
|
+
<script>
|
|
140
|
+
export default {
|
|
141
|
+
data () {
|
|
142
|
+
return {
|
|
143
|
+
clicked: null,
|
|
144
|
+
fixedHeight: 300,
|
|
145
|
+
dataUrl: "https://gist.githubusercontent.com/pirhoo/259a1a5159db4a665d0c043fac71beef/raw/e74087b06cd12be2b2d3a8ca995730e38719cd4b/colums-incidents.json",
|
|
146
|
+
discreteData: [
|
|
147
|
+
{ leak: 'Paradise Papers', size: 1.4 * 1e3 },
|
|
148
|
+
{ leak: 'Panama Papers', size: 2.6 * 1e3 },
|
|
149
|
+
{ leak: 'Swiss Leaks', size: 3.3 },
|
|
150
|
+
{ leak: 'LuxLeaks', size: 4 },
|
|
151
|
+
{ leak: 'Offshore Leaks', size: 260 }
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
methods: {
|
|
156
|
+
humanReadableGb (size) {
|
|
157
|
+
if (size >= 1e3) {
|
|
158
|
+
return `${size/1e3}TB`
|
|
159
|
+
} else {
|
|
160
|
+
return `${size}GB`
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
</script>
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
Component do draw dead simple line charts.
|
|
2
|
+
|
|
3
|
+
:::sample-card
|
|
4
|
+
<div class="p-4">
|
|
5
|
+
<div class="d-flex align-items-baseline">
|
|
6
|
+
<h4>
|
|
7
|
+
High-risk devices are being approved faster in the US
|
|
8
|
+
</h4>
|
|
9
|
+
<b-form-checkbox class="text-nowrap ml-4" switch v-model="socialMode">
|
|
10
|
+
Social mode
|
|
11
|
+
</b-form-checkbox>
|
|
12
|
+
</div>
|
|
13
|
+
<p class="text-muted">
|
|
14
|
+
The average time that it takes the Food and Drug Administration to review and approve a device through its pre-market approval process has dropped by more than 200 days since 1996.
|
|
15
|
+
</p>
|
|
16
|
+
<line-chart :data="dataUrl" class="my-4" :social-mode="socialMode" />
|
|
17
|
+
<p class="text-muted small">
|
|
18
|
+
Note: This chart shows the time, in days, between an application being received by the FDA and the device being approved. Source: U.S. Food and Drug Administration, ICIJ and AP analysis
|
|
19
|
+
</p>
|
|
20
|
+
</div>
|
|
21
|
+
:::
|
|
22
|
+
|
|
23
|
+
<collapsible-block label="Show the data structure">
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
[
|
|
27
|
+
{
|
|
28
|
+
"date": "1995",
|
|
29
|
+
"value": 284.1733871
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"date": "1996",
|
|
33
|
+
"value": 262.2768595
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"date": "1997",
|
|
37
|
+
"value": 196.8200456
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"date": "1998",
|
|
41
|
+
"value": 162.8752475
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"date": "1999",
|
|
45
|
+
"value": 136.9506399
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"date": "2000",
|
|
49
|
+
"value": 124.3350877
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"date": "2001",
|
|
53
|
+
"value": 125.4939024
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"date": "2002",
|
|
57
|
+
"value": 122.1694656
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"date": "2003",
|
|
61
|
+
"value": 111.5
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"date": "2004",
|
|
65
|
+
"value": 127.8108974
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"date": "2005",
|
|
69
|
+
"value": 96.66352624
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"date": "2006",
|
|
73
|
+
"value": 94.98603352
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"date": "2007",
|
|
77
|
+
"value": 104.7544803
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"date": "2008",
|
|
81
|
+
"value": 100.3127517
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"date": "2009",
|
|
85
|
+
"value": 96.34450402
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"date": "2010",
|
|
89
|
+
"value": 85.1799458
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"date": "2011",
|
|
93
|
+
"value": 96.70278777
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"date": "2012",
|
|
97
|
+
"value": 88.19991705
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"date": "2013",
|
|
101
|
+
"value": 79.83682187
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"date": "2014",
|
|
105
|
+
"value": 78.45282258
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"date": "2015",
|
|
109
|
+
"value": 84.64591978
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"date": "2016",
|
|
113
|
+
"value": 79.61724542
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"date": "2017",
|
|
117
|
+
"value": 68.62495399
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"date": "2018",
|
|
121
|
+
"value": 67.30243261
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
</collapsible-block>
|
|
127
|
+
|
|
128
|
+
::: api-table datavisualisations/ColumnChart.vue :::
|
|
129
|
+
|
|
130
|
+
<script>
|
|
131
|
+
export default {
|
|
132
|
+
data () {
|
|
133
|
+
return {
|
|
134
|
+
dataUrl: "https://gist.githubusercontent.com/pirhoo/a2cdb6de5e3e816c0e9d80226806a688/raw/da3fdf3488d6bd68c6cfd9b89943b750ac65fd33/line-approvals.json",
|
|
135
|
+
socialMode: false
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
</script>
|