@icij/murmur-next 4.0.0 → 4.0.3
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/README.md +15 -19
- package/dist/lib/components/AccordionStep.vue.d.ts +79 -0
- package/dist/lib/components/AccordionWrapper.vue.d.ts +33 -0
- package/dist/lib/components/ActiveTextTruncate.vue.d.ts +101 -0
- package/dist/lib/components/AdvancedLinkForm.vue.d.ts +168 -0
- package/dist/lib/components/Brand.vue.d.ts +55 -0
- package/dist/lib/components/BrandExpansion.vue.d.ts +105 -0
- package/dist/lib/components/ConfirmButton.vue.d.ts +158 -0
- package/dist/lib/components/ContentPlaceholder.vue.d.ts +44 -0
- package/dist/lib/components/CustomPagination.vue.d.ts +130 -0
- package/dist/lib/components/DigitsInput.vue.d.ts +66 -0
- package/dist/lib/components/DonateForm.vue.d.ts +46 -0
- package/dist/lib/components/EmbedForm.vue.d.ts +121 -0
- package/dist/lib/components/EmbeddableFooter.vue.d.ts +103 -0
- package/dist/lib/components/FollowUsPopover.vue.d.ts +16 -0
- package/dist/lib/components/GenericFooter.vue.d.ts +47 -0
- package/dist/lib/components/GenericHeader.vue.d.ts +928 -0
- package/dist/lib/components/HapticCopy.vue.d.ts +156 -0
- package/dist/lib/components/ImddbHeader.vue.d.ts +960 -0
- package/dist/lib/components/OrdinalLegend.vue.d.ts +87 -0
- package/dist/lib/components/RangePicker.vue.d.ts +196 -0
- package/dist/lib/components/ResponsiveIframe.vue.d.ts +45 -0
- package/dist/lib/components/ScaleLegend.vue.d.ts +101 -0
- package/dist/lib/components/SecretInput.vue.d.ts +99 -0
- package/dist/lib/components/SelectableDropdown.vue.d.ts +210 -0
- package/dist/lib/components/SharingOptions.vue.d.ts +153 -0
- package/dist/lib/components/SharingOptionsLink.vue.d.ts +200 -0
- package/dist/lib/components/SignUpForm.vue.d.ts +141 -0
- package/dist/lib/components/SlideUpDown.vue.d.ts +74 -0
- package/dist/lib/components/TexturedDeck.vue.d.ts +89 -0
- package/dist/lib/components/TinyPagination.vue.d.ts +188 -0
- package/dist/lib/composables/chart.d.ts +48 -0
- package/dist/lib/composables/resizeObserver.d.ts +22 -0
- package/dist/lib/composables/sendEmail.d.ts +6 -0
- package/dist/lib/config.d.ts +19 -0
- package/dist/lib/config.default.d.ts +34 -0
- package/dist/lib/datavisualisations/BarChart.vue.d.ts +234 -0
- package/dist/lib/datavisualisations/ColumnChart.vue.d.ts +404 -0
- package/dist/lib/datavisualisations/LineChart.vue.d.ts +200 -0
- package/dist/lib/datavisualisations/StackedBarChart.vue.d.ts +342 -0
- package/dist/lib/datavisualisations/StackedColumnChart.vue.d.ts +412 -0
- package/dist/lib/enums.d.ts +32 -0
- package/dist/lib/i18n.d.ts +4 -0
- package/dist/lib/keys.d.ts +2 -0
- package/dist/lib/main.d.ts +52 -0
- package/dist/lib/maps/ChoroplethMap.vue.d.ts +460 -0
- package/dist/lib/maps/ChoroplethMapAnnotation.vue.d.ts +188 -0
- package/dist/lib/maps/SymbolMap.vue.d.ts +276 -0
- package/dist/lib/murmur.css +1 -0
- package/dist/lib/murmur.js +44661 -0
- package/dist/lib/murmur.js.map +1 -0
- package/dist/lib/murmur.umd.cjs +837 -0
- package/dist/lib/murmur.umd.cjs.map +1 -0
- package/dist/lib/types.d.ts +44 -0
- package/dist/lib/utils/animation.d.ts +8 -0
- package/dist/lib/utils/assets.d.ts +2 -0
- package/dist/lib/utils/clipboard.d.ts +2 -0
- package/dist/lib/utils/iframe-resizer.d.ts +10 -0
- package/dist/lib/utils/placeholder.d.ts +12 -0
- package/dist/lib/utils/placeholderTypes.d.ts +18 -0
- package/dist/lib/utils/strings.d.ts +1 -0
- package/lib/components/AccordionStep.vue +53 -42
- package/lib/components/AccordionWrapper.vue +25 -24
- package/lib/components/ActiveTextTruncate.vue +44 -22
- package/lib/components/AdvancedLinkForm.vue +96 -46
- package/lib/components/Brand.vue +30 -23
- package/lib/components/BrandExpansion.vue +12 -3
- package/lib/components/ConfirmButton.vue +30 -26
- package/lib/components/ContentPlaceholder.vue +11 -7
- package/lib/components/CustomPagination.vue +50 -32
- package/lib/components/DigitsInput.vue +64 -60
- package/lib/components/DonateForm.vue +112 -83
- package/lib/components/EmbedForm.vue +37 -21
- package/lib/components/EmbeddableFooter.vue +14 -10
- package/lib/components/FollowUsPopover.vue +42 -40
- package/lib/components/GenericFooter.vue +98 -23
- package/lib/components/GenericHeader.vue +66 -29
- package/lib/components/HapticCopy.vue +41 -29
- package/lib/components/ImddbHeader.vue +113 -92
- package/lib/components/OrdinalLegend.vue +43 -20
- package/lib/components/RangePicker.vue +63 -42
- package/lib/components/ResponsiveIframe.vue +9 -2
- package/lib/components/ScaleLegend.vue +56 -18
- package/lib/components/SecretInput.vue +7 -8
- package/lib/components/SelectableDropdown.vue +119 -74
- package/lib/components/SharingOptions.vue +93 -36
- package/lib/components/SharingOptionsLink.vue +11 -5
- package/lib/components/SignUpForm.vue +44 -23
- package/lib/components/SlideUpDown.vue +7 -2
- package/lib/components/TexturedDeck.vue +24 -14
- package/lib/components/TinyPagination.vue +35 -22
- package/lib/composables/chart.ts +174 -157
- package/lib/composables/resizeObserver.ts +29 -29
- package/lib/composables/sendEmail.ts +53 -42
- package/lib/config.default.ts +17 -10
- package/lib/config.ts +34 -27
- package/lib/datavisualisations/BarChart.vue +48 -42
- package/lib/datavisualisations/ColumnChart.vue +133 -89
- package/lib/datavisualisations/LineChart.vue +79 -57
- package/lib/datavisualisations/StackedBarChart.vue +116 -68
- package/lib/datavisualisations/StackedColumnChart.vue +196 -115
- package/lib/enums.ts +25 -15
- package/lib/i18n.ts +3 -3
- package/lib/keys.ts +2 -2
- package/lib/main.ts +14 -10
- package/lib/maps/ChoroplethMap.vue +299 -160
- package/lib/maps/ChoroplethMapAnnotation.vue +29 -18
- package/lib/maps/SymbolMap.vue +194 -123
- package/lib/shims-bootstrap-vue.d.ts +1 -1
- package/lib/shims-vue.d.ts +3 -3
- package/lib/styles/functions.scss +10 -6
- package/lib/styles/lib.scss +2 -4
- package/lib/styles/mixins.scss +8 -8
- package/lib/styles/utilities.scss +1 -1
- package/lib/styles/variables.scss +24 -18
- package/lib/types.ts +26 -10
- package/lib/utils/animation.ts +4 -4
- package/lib/utils/assets.ts +31 -28
- package/lib/utils/clipboard.ts +16 -10
- package/lib/utils/iframe-resizer.ts +18 -13
- package/lib/utils/placeholder.ts +54 -23
- package/lib/utils/placeholderTypes.ts +3 -3
- package/package.json +21 -2
- package/.github/workflows/deploy-github-pages.yaml +0 -50
- package/.storybook/app.scss +0 -14
- package/.storybook/doc_variables.scss +0 -20
- package/.storybook/main.ts +0 -35
- package/.storybook/preview-head.html +0 -2
- package/.storybook/preview.ts +0 -32
- package/deploy.js +0 -15
- package/docs/components/ApiTable.vue +0 -171
- package/docs/components/App.vue +0 -146
- package/docs/components/CollapsibleBlock.vue +0 -122
- package/docs/components/DocsHeader.vue +0 -68
- package/docs/components/DocsMenu.vue +0 -201
- package/docs/components/DocsMenuSection.vue +0 -109
- package/docs/components/EditLink.vue +0 -49
- package/docs/components/OutboundLink.vue +0 -13
- package/docs/components/PalettePresenter.vue +0 -96
- package/docs/components/RepositoryLink.vue +0 -28
- package/docs/components/SampleCard.vue +0 -119
- package/docs/main.js +0 -42
- package/docs/pages/components/accordion/doc.md +0 -96
- package/docs/pages/components/active-text-truncate/doc.md +0 -44
- package/docs/pages/components/advanced-link-form/doc.md +0 -105
- package/docs/pages/components/brand/doc.md +0 -30
- package/docs/pages/components/brand-expansion/doc.md +0 -70
- package/docs/pages/components/confirm-button/doc.md +0 -91
- package/docs/pages/components/content-placeholder/doc.md +0 -16
- package/docs/pages/components/custom-pagination/doc.md +0 -61
- package/docs/pages/components/digits-input/doc.md +0 -28
- package/docs/pages/components/donate-form/doc.md +0 -20
- package/docs/pages/components/embed-form/doc.md +0 -22
- package/docs/pages/components/embeddable-footer/doc.md +0 -60
- package/docs/pages/components/follow-us-popover/doc.md +0 -5
- package/docs/pages/components/generic-footer/doc.md +0 -21
- package/docs/pages/components/generic-header/doc.md +0 -24
- package/docs/pages/components/haptic-copy/doc.md +0 -27
- package/docs/pages/components/imddb-header/doc.md +0 -23
- package/docs/pages/components/ordinal-legend/doc.md +0 -44
- package/docs/pages/components/range-picker/doc.md +0 -86
- package/docs/pages/components/responsive-iframe/doc.md +0 -13
- package/docs/pages/components/scale-legend/doc.md +0 -65
- package/docs/pages/components/secret-input/doc.md +0 -12
- package/docs/pages/components/selectable-dropdown/doc.md +0 -156
- package/docs/pages/components/sharing-options/doc.md +0 -13
- package/docs/pages/components/sharing-options-link/doc.md +0 -36
- package/docs/pages/components/sign-up-form/doc.md +0 -13
- package/docs/pages/components/slide-up-down/doc.md +0 -28
- package/docs/pages/components/textured-deck/doc.md +0 -78
- package/docs/pages/components/tiny-pagination/doc.md +0 -92
- package/docs/pages/datavisualisation/bars/doc.md +0 -110
- package/docs/pages/datavisualisation/columns/doc.md +0 -165
- package/docs/pages/datavisualisation/lines/doc.md +0 -139
- package/docs/pages/datavisualisation/stacked-bar/doc.md +0 -160
- package/docs/pages/datavisualisation/stacked-column/doc.md +0 -191
- package/docs/pages/getting-started/about-icij/doc.md +0 -13
- package/docs/pages/getting-started/custom-bootstrap/doc.md +0 -36
- package/docs/pages/getting-started/installation-guide/doc.md +0 -59
- package/docs/pages/getting-started/internationalization/doc.md +0 -74
- package/docs/pages/maps/choropleth-map/doc.md +0 -420
- package/docs/pages/maps/choropleth-map-annotation/doc.md +0 -373
- package/docs/pages/maps/symbol-map/doc.md +0 -203
- package/docs/pages/structure/breakpoints/doc.md +0 -3
- package/docs/pages/structure/grid/doc.md +0 -3
- package/docs/pages/utilities/assets/doc.md +0 -138
- package/docs/pages/utilities/config/doc.md +0 -52
- package/docs/pages/utilities/iframes/doc.md +0 -3
- package/docs/pages/visual/colors/doc.md +0 -31
- package/docs/pages/visual/iconography/doc.md +0 -56
- package/docs/pages/visual/states/doc.md +0 -77
- package/docs/pages/visual/themes/doc.md +0 -3
- package/docs/pages/visual/typography/doc.md +0 -71
- package/docs/routes.js +0 -25
- package/docs/store/index.js +0 -21
- package/docs/styles/app.scss +0 -36
- package/docs/styles/variables.scss +0 -20
- package/loaders/highlight-loader.js +0 -13
- package/loaders/markdown-loader.js +0 -91
- package/loaders/metadata-loader.js +0 -18
- package/loaders/sass-extract-loader.js +0 -14
- package/loaders/vue-docgen-loader.js +0 -14
- package/plugins/MdPluginTypes.ts +0 -10
- package/plugins/docs.ts +0 -50
- package/plugins/front-matter.ts +0 -36
- package/plugins/highlight.ts +0 -27
- package/plugins/markdown-it/api-table.ts +0 -25
- package/plugins/markdown-it/sample-card.ts +0 -31
- package/plugins/plugin-delete.ts +0 -47
- package/plugins/plugin-docgen.ts +0 -23
- package/plugins/sass-vars.ts +0 -25
- package/plugins/vue-docgen.ts +0 -29
- 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 +0 -3
- 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 +0 -1
- package/public/assets/topojson/paris-arrondissements.json +0 -1
- package/public/assets/topojson/world-countries-sans-antarctica.json +0 -1
- package/public/favicon-16x16.png +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/site.webmanifest +0 -1
- package/stories/assets/code-brackets.svg +0 -1
- package/stories/assets/colors.svg +0 -1
- package/stories/assets/comments.svg +0 -1
- package/stories/assets/direction.svg +0 -1
- package/stories/assets/flow.svg +0 -1
- package/stories/assets/plugin.svg +0 -1
- package/stories/assets/repo.svg +0 -1
- package/stories/assets/stackalt.svg +0 -1
- package/stories/getting-started/about-icij.mdx +0 -14
- package/stories/getting-started/custom-bootstrap.mdx +0 -23
- package/stories/getting-started/installation-guide.mdx +0 -62
- package/stories/getting-started/internationalization.mdx +0 -63
- package/stories/murmur/components/AccordionStep.stories.ts +0 -33
- package/stories/murmur/components/AccordionWrapper.stories.ts +0 -69
- package/stories/murmur/components/ActiveTextTruncate.stories.ts +0 -32
- package/stories/murmur/components/AdvancedLinkForm.stories.ts +0 -77
- package/stories/murmur/components/Brand.stories.ts +0 -30
- package/stories/murmur/components/BrandExpansion.stories.ts +0 -41
- package/stories/murmur/components/ConfirmButton.stories.ts +0 -40
- package/stories/murmur/components/ContentPlaceholder.stories.ts +0 -41
- package/stories/murmur/components/CustomPagination.stories.ts +0 -42
- package/stories/murmur/components/DigitsInput.stories.ts +0 -29
- package/stories/murmur/components/DonateForm.stories.ts +0 -29
- package/stories/murmur/components/EmbedForm.stories.ts +0 -35
- package/stories/murmur/components/EmbeddableFooter.stories.ts +0 -59
- package/stories/murmur/components/FollowUsPopover.stories.ts +0 -24
- package/stories/murmur/components/GenericFooter.stories.ts +0 -27
- package/stories/murmur/components/GenericHeader.stories.ts +0 -27
- package/stories/murmur/components/HapticCopy.stories.ts +0 -40
- package/stories/murmur/components/ImddbHeader.stories.ts +0 -27
- package/stories/murmur/components/OrdinalLegend.stories.ts +0 -49
- package/stories/murmur/components/RangePicker.stories.ts +0 -98
- package/stories/murmur/components/ResponsiveIframe.stories.ts +0 -24
- package/stories/murmur/components/ScaleLegend.stories.ts +0 -65
- package/stories/murmur/components/SecretInput.stories.ts +0 -60
- package/stories/murmur/components/SelectableDropdown.stories.ts +0 -143
- package/stories/murmur/components/SharingOptions.stories.ts +0 -32
- package/stories/murmur/components/SharingOptionsLink.stories.ts +0 -53
- package/stories/murmur/components/SignUpForm.stories.ts +0 -51
- package/stories/murmur/components/SlideUpDown.stories.ts +0 -32
- package/stories/murmur/components/TexturedDeck.stories.ts +0 -83
- package/stories/murmur/components/TinyPagination.stories.ts +0 -65
- package/stories/murmur/datavisualisations/BarChart.stories.ts +0 -54
- package/stories/murmur/datavisualisations/ColumnChart.stories.ts +0 -88
- package/stories/murmur/datavisualisations/LineChart.stories.ts +0 -139
- package/stories/murmur/datavisualisations/StackedBarChart.stories.ts +0 -199
- package/stories/murmur/datavisualisations/StackedColumnChart.stories.ts +0 -136
- package/stories/murmur/decorators.ts +0 -108
- package/stories/murmur/maps/ChoroplethMap.stories.ts +0 -440
- package/stories/murmur/maps/ChoroplethMapAnnotation.stories.ts +0 -26
- package/stories/murmur/maps/SymbolMap.stories.ts +0 -24
- package/stories/murmur/utils.ts +0 -7
- package/tests/unit/components/AccordionStep.spec.ts +0 -157
- package/tests/unit/components/AccordionWrapper.spec.ts +0 -57
- package/tests/unit/components/ActiveTextTruncate.spec.js +0 -30
- package/tests/unit/components/AdvancedLinkForm.spec.js +0 -124
- package/tests/unit/components/Brand.spec.js +0 -50
- package/tests/unit/components/ContentPlaceholder.spec.js +0 -29
- package/tests/unit/components/CustomPagination.spec.js +0 -72
- package/tests/unit/components/DigitsInput.spec.ts +0 -157
- package/tests/unit/components/DonateForm.spec.js +0 -149
- package/tests/unit/components/EmbedForm.spec.js +0 -108
- package/tests/unit/components/EmbeddableFooter.spec.js +0 -11
- package/tests/unit/components/Fa.spec.js +0 -18
- package/tests/unit/components/FollowUsPopover.spec.js +0 -29
- package/tests/unit/components/GenericFooter.spec.js +0 -29
- package/tests/unit/components/GenericHeader.spec.js +0 -104
- package/tests/unit/components/HapticCopy.spec.js +0 -123
- package/tests/unit/components/ImddbHeader.spec.js +0 -96
- package/tests/unit/components/OrdinalLegend.spec.js +0 -120
- package/tests/unit/components/RangePicker.spec.ts +0 -87
- package/tests/unit/components/ResponsiveIframe.spec.js +0 -20
- package/tests/unit/components/ScaleLegend.spec.js +0 -139
- package/tests/unit/components/SecretInput.spec.js +0 -81
- package/tests/unit/components/SelectableDropdown.spec.js +0 -160
- package/tests/unit/components/SharingOptions.spec.js +0 -125
- package/tests/unit/components/SharingOptionsLink.spec.js +0 -184
- package/tests/unit/components/SignUpForm.spec.js +0 -145
- package/tests/unit/components/SlideUpDown.spec.js +0 -59
- package/tests/unit/components/TinyPagination.spec.js +0 -46
- package/tests/unit/config.spec.js +0 -136
- package/tests/unit/datavisualisations/BarChart.spec.js +0 -63
- package/tests/unit/datavisualisations/ColumnChart.spec.js +0 -344
- package/tests/unit/datavisualisations/LineChart.spec.js +0 -155
- package/tests/unit/datavisualisations/StackedBarChart.spec.js +0 -294
- package/tests/unit/datavisualisations/StackedColumnChart.spec.js +0 -443
- package/tests/unit/i18n.spec.ts +0 -19
- package/tests/unit/main.spec.js +0 -82
- package/tests/unit/maps/ChoroplethMap.spec.js +0 -214
- package/tests/unit/maps/ChoroplethMapAnnotation.spec.ts +0 -186
- package/tests/unit/maps/SymbolMap.spec.js +0 -92
- package/tests/unit/require.spec.js +0 -22
- package/tests/unit/setup.js +0 -13
- package/tests/unit/utils/assets.spec.js +0 -61
- package/tests/unit/utils/clipboard.spec.js +0 -18
- package/tests/unit/utils/iframe-resizer.spec.js +0 -71
- package/tsconfig.json +0 -35
- package/vite.config.ts +0 -79
- package/vitest.config.ts +0 -19
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/// <reference types="@/shims-vue" />
|
|
2
|
+
/// <reference types="node_modules/vue-i18n/dist/vue-i18n" />
|
|
3
|
+
import type { StyleValue } from '../node_modules/vue';
|
|
4
|
+
import { AccordionKey, ParentKey } from './keys';
|
|
5
|
+
import { ComputedRef } from '../node_modules/vue';
|
|
6
|
+
import type { GeoProjection } from 'd3-geo';
|
|
7
|
+
import { Ref } from '../node_modules/vue';
|
|
8
|
+
export type Step = symbol | string;
|
|
9
|
+
export type Accordion = {
|
|
10
|
+
emitAccordionNextStepEvent: () => void;
|
|
11
|
+
emitAccordionPreviousStepEvent: () => void;
|
|
12
|
+
isActiveStep: (step: Step) => boolean;
|
|
13
|
+
isPreviousStep: (step: Step) => boolean;
|
|
14
|
+
isFirstStep: (step: Step) => boolean;
|
|
15
|
+
isLastStep: (step: Step) => boolean;
|
|
16
|
+
step: Step;
|
|
17
|
+
steps: Step[];
|
|
18
|
+
};
|
|
19
|
+
export type AccordionProvide = {
|
|
20
|
+
[AccordionKey]: Accordion;
|
|
21
|
+
};
|
|
22
|
+
export type BrandStyle = StyleValue & {
|
|
23
|
+
'--monochrome-color': string;
|
|
24
|
+
color: string;
|
|
25
|
+
background: string;
|
|
26
|
+
width: string;
|
|
27
|
+
};
|
|
28
|
+
export type BrandExpansionStyle = Pick<BrandStyle, '--monochrome-color' | 'background'>;
|
|
29
|
+
export type Variant = 'primary' | 'secondary' | 'danger' | 'info' | 'warning' | 'success' | 'dark' | 'light';
|
|
30
|
+
export type MapTransform = {
|
|
31
|
+
k: number;
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
rotateX: number;
|
|
35
|
+
rotateY: number;
|
|
36
|
+
};
|
|
37
|
+
export type ParentMap = {
|
|
38
|
+
mapRect: Ref<DOMRect>;
|
|
39
|
+
mapTransform: Ref<MapTransform>;
|
|
40
|
+
rotatingMapProjection: ComputedRef<GeoProjection | Function>;
|
|
41
|
+
};
|
|
42
|
+
export type ParentMapProvide = {
|
|
43
|
+
[ParentKey]: ParentMap;
|
|
44
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Child as PymChild } from 'pym.js';
|
|
2
|
+
export default class IframeResizer {
|
|
3
|
+
initializer: Promise<PymChild>;
|
|
4
|
+
constructor();
|
|
5
|
+
sendHeight(): Promise<void>;
|
|
6
|
+
static create(): IframeResizer;
|
|
7
|
+
static template(url: string, id?: string): string;
|
|
8
|
+
static deletePymParams(href?: string): string;
|
|
9
|
+
static isEmbedded(href?: string): boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BoxStyle, ContentPlaceholderStyledRows, ContentPlaceholderRows } from './placeholderTypes';
|
|
2
|
+
export declare function isFlexBasis(value: string | number): boolean;
|
|
3
|
+
export declare function isWidth(value: string | number): boolean;
|
|
4
|
+
export declare function getBoxStyle(left: number, width: number, isLast: boolean, subClass?: string): BoxStyle[];
|
|
5
|
+
export declare function formatRows(rows: ContentPlaceholderRows, subClass?: string): ContentPlaceholderStyledRows;
|
|
6
|
+
declare const _default: {
|
|
7
|
+
isFlexBasis: typeof isFlexBasis;
|
|
8
|
+
isWidth: typeof isWidth;
|
|
9
|
+
getBoxStyle: typeof getBoxStyle;
|
|
10
|
+
formatRows: typeof formatRows;
|
|
11
|
+
};
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="@/shims-vue" />
|
|
2
|
+
/// <reference types="vue-i18n" />
|
|
3
|
+
import type { StyleValue } from '../../node_modules/vue';
|
|
4
|
+
export interface BoxStyle {
|
|
5
|
+
style: StyleValue;
|
|
6
|
+
subClass?: string;
|
|
7
|
+
}
|
|
8
|
+
export type ContentPlaceholderRowBoxes = Array<Array<number | string>>;
|
|
9
|
+
export interface ContentPlaceholderRow {
|
|
10
|
+
height: number | string;
|
|
11
|
+
boxes: ContentPlaceholderRowBoxes;
|
|
12
|
+
}
|
|
13
|
+
export interface ContentPlaceholderStyledRow {
|
|
14
|
+
height: number | string;
|
|
15
|
+
boxes: Array<BoxStyle>;
|
|
16
|
+
}
|
|
17
|
+
export type ContentPlaceholderStyledRows = Array<ContentPlaceholderStyledRow>;
|
|
18
|
+
export type ContentPlaceholderRows = Array<ContentPlaceholderRow>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isUrl(value: string): boolean;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<b-card
|
|
3
|
-
|
|
3
|
+
:class="{
|
|
4
4
|
'accordion-wrapper__content__step--active': isActive,
|
|
5
5
|
'accordion-wrapper__content__step--previous': isPrevious
|
|
6
6
|
}"
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
class="accordion-wrapper__content__step"
|
|
8
|
+
no-body
|
|
9
9
|
>
|
|
10
10
|
<h4 class="card-body accordion-wrapper__content__step__heading m-0">
|
|
11
11
|
<!-- @slot Title of the step -->
|
|
@@ -13,85 +13,97 @@
|
|
|
13
13
|
{{ title }}
|
|
14
14
|
</slot>
|
|
15
15
|
</h4>
|
|
16
|
-
<
|
|
16
|
+
<slide-up-down :active="isActive">
|
|
17
17
|
<div class="accordion-wrapper__content__step__main card-body row g-0">
|
|
18
18
|
<!-- @slot Content of the step with props {isFirst:boolean, isLast:boolean, step:Step, nextStep:Function}-->
|
|
19
|
-
<slot
|
|
19
|
+
<slot
|
|
20
|
+
name="content"
|
|
21
|
+
v-bind="{ isFirst, isLast, step, previousStep, nextStep }"
|
|
22
|
+
>
|
|
20
23
|
{{ content }}
|
|
21
24
|
</slot>
|
|
22
25
|
</div>
|
|
23
26
|
<div class="card-footer">
|
|
24
27
|
<!-- @slot Previous step button with props {isFirst:boolean, isLast:boolean, step:Step, nextStep:Function} -->
|
|
25
|
-
<slot
|
|
28
|
+
<slot
|
|
29
|
+
name="previousStepButton"
|
|
30
|
+
v-bind="{ isFirst, isLast, step, previousStep }"
|
|
31
|
+
>
|
|
26
32
|
<b-button
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
v-if="!isFirst"
|
|
34
|
+
class="accordion-wrapper__content__step__back-button"
|
|
35
|
+
type="button"
|
|
36
|
+
variant="link"
|
|
37
|
+
@click="previousStep"
|
|
32
38
|
>
|
|
33
39
|
Back
|
|
34
40
|
</b-button>
|
|
35
41
|
</slot>
|
|
36
42
|
<!-- @slot Next step button with props {isFirst:boolean, isLast:boolean, step:Step, nextStep:Function} }-->
|
|
37
|
-
<slot
|
|
43
|
+
<slot
|
|
44
|
+
name="nextStepButton"
|
|
45
|
+
v-bind="{ isFirst, isLast, step, nextStep }"
|
|
46
|
+
>
|
|
38
47
|
<b-button
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
v-if="!isLast"
|
|
49
|
+
class="accordion-wrapper__content__step__continue-button"
|
|
50
|
+
type="button"
|
|
51
|
+
variant="primary"
|
|
52
|
+
@click="nextStep"
|
|
44
53
|
>
|
|
45
54
|
Continue
|
|
46
55
|
</b-button>
|
|
47
56
|
</slot>
|
|
48
57
|
</div>
|
|
49
|
-
</
|
|
58
|
+
</slide-up-down>
|
|
50
59
|
</b-card>
|
|
51
60
|
</template>
|
|
52
61
|
|
|
53
62
|
<script lang="ts">
|
|
54
|
-
import {computed, defineComponent, inject, PropType} from 'vue'
|
|
55
|
-
|
|
56
|
-
import
|
|
63
|
+
import { computed, defineComponent, inject, PropType } from 'vue'
|
|
64
|
+
|
|
65
|
+
import SlideUpDown from '@/components/SlideUpDown.vue'
|
|
66
|
+
import { AccordionKey } from '@/keys'
|
|
67
|
+
import { Accordion, Step } from '@/types'
|
|
57
68
|
|
|
58
69
|
export default defineComponent({
|
|
70
|
+
components: {
|
|
71
|
+
SlideUpDown
|
|
72
|
+
},
|
|
59
73
|
props: {
|
|
60
74
|
/**
|
|
61
75
|
* Step name
|
|
62
76
|
*/
|
|
63
|
-
step: {type: [String, Object as () => Step, Symbol], required: true},
|
|
77
|
+
step: { type: [String, Object as () => Step, Symbol], required: true },
|
|
64
78
|
/**
|
|
65
79
|
* Title of the step card
|
|
66
80
|
*/
|
|
67
|
-
title: {type: String, default:
|
|
81
|
+
title: { type: String, default: 'Step' },
|
|
68
82
|
|
|
69
83
|
/**
|
|
70
84
|
* Content of the step card
|
|
71
85
|
*/
|
|
72
|
-
content: {type: String, default:
|
|
86
|
+
content: { type: String, default: 'Step' },
|
|
73
87
|
/**
|
|
74
88
|
* Force card expansion/collapse
|
|
75
89
|
*/
|
|
76
|
-
active: {type: Boolean as PropType<boolean|undefined>, default: false}
|
|
90
|
+
active: { type: Boolean as PropType<boolean | undefined>, default: false }
|
|
77
91
|
},
|
|
78
92
|
emits: ['next-step', 'previous-step'],
|
|
79
|
-
setup(props: { step: Step
|
|
80
|
-
|
|
93
|
+
setup(props: { step: Step; active: boolean | undefined }, { emit }: any) {
|
|
81
94
|
const accordion = inject<Accordion>(AccordionKey)
|
|
82
95
|
const isActive = computed(() => {
|
|
83
|
-
const fromAccordion = !!accordion?.isActiveStep(props.step)
|
|
84
|
-
const fromSelf = props.active !== undefined ? props.active : false
|
|
85
|
-
return fromSelf || fromAccordion
|
|
86
|
-
})
|
|
87
|
-
|
|
88
|
-
const isPrevious = computed(() => !!accordion?.isPreviousStep(props.step));
|
|
89
|
-
const isFirst = computed(() => !!accordion?.isFirstStep(props.step));
|
|
90
|
-
const isLast = computed(() => !!accordion?.isLastStep(props.step));
|
|
96
|
+
const fromAccordion = !!accordion?.isActiveStep(props.step)
|
|
97
|
+
const fromSelf = props.active !== undefined ? props.active : false
|
|
98
|
+
return fromSelf || fromAccordion
|
|
99
|
+
})
|
|
91
100
|
|
|
101
|
+
const isPrevious = computed(() => !!accordion?.isPreviousStep(props.step))
|
|
102
|
+
const isFirst = computed(() => !!accordion?.isFirstStep(props.step))
|
|
103
|
+
const isLast = computed(() => !!accordion?.isLastStep(props.step))
|
|
92
104
|
|
|
93
105
|
const nextStep = () => {
|
|
94
|
-
accordion?.emitAccordionNextStepEvent()
|
|
106
|
+
accordion?.emitAccordionNextStepEvent()
|
|
95
107
|
/**
|
|
96
108
|
* Fired when the nextStep function is called
|
|
97
109
|
* either by clicking on the next button or in the next step slot
|
|
@@ -99,11 +111,11 @@ export default defineComponent({
|
|
|
99
111
|
* @event next-step
|
|
100
112
|
* @param Mixed New step value.
|
|
101
113
|
*/
|
|
102
|
-
emit('next-step')
|
|
103
|
-
}
|
|
114
|
+
emit('next-step')
|
|
115
|
+
}
|
|
104
116
|
|
|
105
117
|
const previousStep = () => {
|
|
106
|
-
accordion?.emitAccordionPreviousStepEvent()
|
|
118
|
+
accordion?.emitAccordionPreviousStepEvent()
|
|
107
119
|
/**
|
|
108
120
|
* Fired when the previousStep function is called
|
|
109
121
|
* either by clicking on the previous button or in the previous step slot
|
|
@@ -111,8 +123,8 @@ export default defineComponent({
|
|
|
111
123
|
* @event previous-step
|
|
112
124
|
* @param Mixed New step value.
|
|
113
125
|
*/
|
|
114
|
-
emit('previous-step')
|
|
115
|
-
}
|
|
126
|
+
emit('previous-step')
|
|
127
|
+
}
|
|
116
128
|
return {
|
|
117
129
|
isFirst,
|
|
118
130
|
isLast,
|
|
@@ -124,5 +136,4 @@ export default defineComponent({
|
|
|
124
136
|
}
|
|
125
137
|
}
|
|
126
138
|
})
|
|
127
|
-
|
|
128
139
|
</script>
|
|
@@ -8,40 +8,41 @@
|
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
10
|
<script lang="ts">
|
|
11
|
-
import {computed, PropType, provide, defineComponent} from 'vue'
|
|
12
|
-
import { AccordionKey } from '@/keys'
|
|
13
|
-
import {Accordion, Step} from '@/types'
|
|
11
|
+
import { computed, PropType, provide, defineComponent } from 'vue'
|
|
12
|
+
import { AccordionKey } from '@/keys'
|
|
13
|
+
import { Accordion, Step } from '@/types'
|
|
14
14
|
|
|
15
|
-
const STEP_CHANGE_EVENT: string = 'step-change'
|
|
15
|
+
const STEP_CHANGE_EVENT: string = 'step-change'
|
|
16
16
|
export default defineComponent({
|
|
17
|
-
props:{
|
|
17
|
+
props: {
|
|
18
18
|
step: {
|
|
19
19
|
type: [String, Symbol, Object as () => Step],
|
|
20
|
-
required: true
|
|
20
|
+
required: true
|
|
21
21
|
},
|
|
22
22
|
steps: {
|
|
23
23
|
type: Array as PropType<Step[]>,
|
|
24
|
-
required: true
|
|
25
|
-
}
|
|
24
|
+
required: true
|
|
25
|
+
}
|
|
26
26
|
},
|
|
27
|
-
emits:['step-change'],
|
|
28
|
-
setup(props,{emit}){
|
|
29
|
-
|
|
27
|
+
emits: ['step-change'],
|
|
28
|
+
setup(props, { emit }) {
|
|
30
29
|
const emitAccordionNextStepEvent = () => {
|
|
31
|
-
emit('step-change', props.steps[activeStepIndex.value + 1] || props.step)
|
|
32
|
-
}
|
|
30
|
+
emit('step-change', props.steps[activeStepIndex.value + 1] || props.step)
|
|
31
|
+
}
|
|
33
32
|
|
|
34
33
|
const emitAccordionPreviousStepEvent = () => {
|
|
35
|
-
emit('step-change', props.steps[activeStepIndex.value - 1] || props.step)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const activeStepIndex = computed(() => props.steps?.indexOf(props.step));
|
|
34
|
+
emit('step-change', props.steps[activeStepIndex.value - 1] || props.step)
|
|
35
|
+
}
|
|
39
36
|
|
|
40
|
-
const
|
|
41
|
-
const isLastStep = (step: Step): boolean => props.steps?.indexOf(step) === props.steps?.length - 1;
|
|
42
|
-
const isActiveStep = (step: Step): boolean => props.step === step;
|
|
43
|
-
const isPreviousStep = (step: Step): boolean => props.steps?.indexOf(step) < activeStepIndex.value;
|
|
37
|
+
const activeStepIndex = computed(() => props.steps?.indexOf(props.step))
|
|
44
38
|
|
|
39
|
+
const isFirstStep = (step: Step): boolean =>
|
|
40
|
+
props.steps?.indexOf(step) === 0
|
|
41
|
+
const isLastStep = (step: Step): boolean =>
|
|
42
|
+
props.steps?.indexOf(step) === props.steps?.length - 1
|
|
43
|
+
const isActiveStep = (step: Step): boolean => props.step === step
|
|
44
|
+
const isPreviousStep = (step: Step): boolean =>
|
|
45
|
+
props.steps?.indexOf(step) < activeStepIndex.value
|
|
45
46
|
|
|
46
47
|
provide<Accordion>(AccordionKey, {
|
|
47
48
|
emitAccordionNextStepEvent,
|
|
@@ -51,7 +52,7 @@ export default defineComponent({
|
|
|
51
52
|
isFirstStep,
|
|
52
53
|
isLastStep,
|
|
53
54
|
step: props.step,
|
|
54
|
-
steps: props.steps
|
|
55
|
+
steps: props.steps
|
|
55
56
|
})
|
|
56
57
|
return {
|
|
57
58
|
emitAccordionNextStepEvent,
|
|
@@ -65,7 +66,6 @@ export default defineComponent({
|
|
|
65
66
|
})
|
|
66
67
|
</script>
|
|
67
68
|
|
|
68
|
-
|
|
69
69
|
<style lang="scss" scoped>
|
|
70
70
|
@use 'sass:math';
|
|
71
71
|
@import '../styles/variables.scss';
|
|
@@ -83,7 +83,8 @@ export default defineComponent({
|
|
|
83
83
|
opacity: $btn-disabled-opacity;
|
|
84
84
|
transition: $transition-base;
|
|
85
85
|
|
|
86
|
-
&--active
|
|
86
|
+
&--active,
|
|
87
|
+
&--previous {
|
|
87
88
|
opacity: 1;
|
|
88
89
|
}
|
|
89
90
|
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {computed, defineComponent, ref, watch} from 'vue'
|
|
3
|
-
import useResizeObserver from
|
|
2
|
+
import { computed, defineComponent, ref, watch } from 'vue'
|
|
3
|
+
import useResizeObserver from '@/composables/resizeObserver'
|
|
4
4
|
import { RequestAnimationFrameWrapper } from '@/utils/animation'
|
|
5
5
|
|
|
6
|
-
type ActiveTextTruncateData = {
|
|
6
|
+
type ActiveTextTruncateData = {
|
|
7
|
+
textLivePosition: number
|
|
8
|
+
resizeObserverKey: string | null
|
|
9
|
+
}
|
|
7
10
|
|
|
8
11
|
export default defineComponent({
|
|
9
12
|
name: 'ActiveTextTruncate',
|
|
@@ -47,15 +50,15 @@ export default defineComponent({
|
|
|
47
50
|
validator: (value: string) => ['ltr', 'rtl'].indexOf(value) > -1
|
|
48
51
|
}
|
|
49
52
|
},
|
|
50
|
-
emits:['cancel','end','start'],
|
|
51
|
-
setup(props,{emit}){
|
|
52
|
-
const el
|
|
53
|
+
emits: ['cancel', 'end', 'start'],
|
|
54
|
+
setup(props, { emit }) {
|
|
55
|
+
const el = ref(null)
|
|
53
56
|
const textLivePosition = ref(0)
|
|
54
|
-
|
|
55
|
-
const {resizeRef,resizeState} = useResizeObserver(el)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
// This will hold a key generated every time the component is resized.
|
|
58
|
+
const { resizeRef, resizeState } = useResizeObserver(el)
|
|
59
|
+
watch(resizeState, () => {
|
|
60
|
+
onResized()
|
|
61
|
+
})
|
|
59
62
|
|
|
60
63
|
const wrapperElement = computed((): HTMLElement | null => {
|
|
61
64
|
const selector = '.active-text-truncate__wrapper'
|
|
@@ -75,7 +78,9 @@ export default defineComponent({
|
|
|
75
78
|
return `${props.delay}ms`
|
|
76
79
|
})
|
|
77
80
|
const textOffsetTransitionDuration = computed((): string => {
|
|
78
|
-
const offset = Math.abs(
|
|
81
|
+
const offset = Math.abs(
|
|
82
|
+
wrapperElementWidth.value - textElementWidth.value
|
|
83
|
+
)
|
|
79
84
|
const duration = offset / props.ppms
|
|
80
85
|
return `${duration}ms`
|
|
81
86
|
})
|
|
@@ -86,7 +91,7 @@ export default defineComponent({
|
|
|
86
91
|
const offset = wrapperElementWidth.value - textElementWidth.value
|
|
87
92
|
return `${offset}px`
|
|
88
93
|
})
|
|
89
|
-
const textOffsetValues = computed((): string
|
|
94
|
+
const textOffsetValues = computed((): string[] => {
|
|
90
95
|
if (props.direction === 'ltr') {
|
|
91
96
|
return [textInitialOffset.value, textFinalOffset.value]
|
|
92
97
|
}
|
|
@@ -103,20 +108,27 @@ export default defineComponent({
|
|
|
103
108
|
})
|
|
104
109
|
const fadingLeftWidth = computed((): string => {
|
|
105
110
|
const offset = textLivePosition.value
|
|
106
|
-
const width = Math.min(
|
|
111
|
+
const width = Math.min(
|
|
112
|
+
Math.max(props.fadingMinWidth, Math.abs(offset)),
|
|
113
|
+
props.fadingMaxWidth
|
|
114
|
+
)
|
|
107
115
|
return `${width}px`
|
|
108
116
|
})
|
|
109
117
|
const fadingRightWidth = computed((): string => {
|
|
110
118
|
const offset = parseInt(textFinalOffset.value) - textLivePosition.value
|
|
111
|
-
const width = Math.min(
|
|
119
|
+
const width = Math.min(
|
|
120
|
+
Math.max(props.fadingMinWidth, Math.abs(offset)),
|
|
121
|
+
props.fadingMaxWidth
|
|
122
|
+
)
|
|
112
123
|
return `${width}px`
|
|
113
124
|
})
|
|
114
|
-
const textLivePositionRequestAnimationFrame = computed(
|
|
115
|
-
|
|
116
|
-
|
|
125
|
+
const textLivePositionRequestAnimationFrame = computed(
|
|
126
|
+
(): RequestAnimationFrameWrapper => {
|
|
127
|
+
return new RequestAnimationFrameWrapper()
|
|
128
|
+
}
|
|
129
|
+
)
|
|
117
130
|
|
|
118
131
|
function onResized() {
|
|
119
|
-
|
|
120
132
|
textLivePosition.value = parseInt(textOffsetValues.value[0])
|
|
121
133
|
// Track transitions to update the text position in live using Request Animation Frame
|
|
122
134
|
listenOnTextElement('transitionstart', startTrackingTextLivePosition)
|
|
@@ -129,7 +141,9 @@ export default defineComponent({
|
|
|
129
141
|
}
|
|
130
142
|
function trackTextLivePosition(): void {
|
|
131
143
|
if (!textElement.value) return
|
|
132
|
-
const left = window
|
|
144
|
+
const left = window
|
|
145
|
+
.getComputedStyle(textElement.value, null)
|
|
146
|
+
.getPropertyValue('left')
|
|
133
147
|
textLivePosition.value = parseInt(left)
|
|
134
148
|
}
|
|
135
149
|
function startTrackingTextLivePosition(): void {
|
|
@@ -203,8 +217,16 @@ export default defineComponent({
|
|
|
203
217
|
.active-text-truncate {
|
|
204
218
|
--fading-left-width: 0;
|
|
205
219
|
--fading-right-width: 0;
|
|
206
|
-
--fading-left-gradient: linear-gradient(
|
|
207
|
-
|
|
220
|
+
--fading-left-gradient: linear-gradient(
|
|
221
|
+
to left,
|
|
222
|
+
black calc(100% - var(--fading-left-width)),
|
|
223
|
+
transparent 100%
|
|
224
|
+
);
|
|
225
|
+
--fading-right-gradient: linear-gradient(
|
|
226
|
+
to right,
|
|
227
|
+
black calc(100% - var(--fading-right-width)),
|
|
228
|
+
transparent 100%
|
|
229
|
+
);
|
|
208
230
|
--text-offset-transition-duration: 0ms;
|
|
209
231
|
--text-offset-transition-delay: 0ms;
|
|
210
232
|
--text-final-offset: 0;
|