@icij/murmur-next 4.0.0 → 4.0.1

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 (273) hide show
  1. package/README.md +15 -19
  2. package/dist/lib/components/AccordionStep.vue.d.ts +79 -0
  3. package/dist/lib/components/AccordionWrapper.vue.d.ts +33 -0
  4. package/dist/lib/components/ActiveTextTruncate.vue.d.ts +101 -0
  5. package/dist/lib/components/AdvancedLinkForm.vue.d.ts +168 -0
  6. package/dist/lib/components/Brand.vue.d.ts +55 -0
  7. package/dist/lib/components/BrandExpansion.vue.d.ts +105 -0
  8. package/dist/lib/components/ConfirmButton.vue.d.ts +158 -0
  9. package/dist/lib/components/ContentPlaceholder.vue.d.ts +44 -0
  10. package/dist/lib/components/CustomPagination.vue.d.ts +130 -0
  11. package/dist/lib/components/DigitsInput.vue.d.ts +66 -0
  12. package/dist/lib/components/DonateForm.vue.d.ts +46 -0
  13. package/dist/lib/components/EmbedForm.vue.d.ts +121 -0
  14. package/dist/lib/components/EmbeddableFooter.vue.d.ts +103 -0
  15. package/dist/lib/components/FollowUsPopover.vue.d.ts +16 -0
  16. package/dist/lib/components/GenericFooter.vue.d.ts +47 -0
  17. package/dist/lib/components/GenericHeader.vue.d.ts +928 -0
  18. package/dist/lib/components/HapticCopy.vue.d.ts +156 -0
  19. package/dist/lib/components/ImddbHeader.vue.d.ts +960 -0
  20. package/dist/lib/components/OrdinalLegend.vue.d.ts +87 -0
  21. package/dist/lib/components/RangePicker.vue.d.ts +196 -0
  22. package/dist/lib/components/ResponsiveIframe.vue.d.ts +45 -0
  23. package/dist/lib/components/ScaleLegend.vue.d.ts +101 -0
  24. package/dist/lib/components/SecretInput.vue.d.ts +99 -0
  25. package/dist/lib/components/SelectableDropdown.vue.d.ts +210 -0
  26. package/dist/lib/components/SharingOptions.vue.d.ts +153 -0
  27. package/dist/lib/components/SharingOptionsLink.vue.d.ts +200 -0
  28. package/dist/lib/components/SignUpForm.vue.d.ts +141 -0
  29. package/dist/lib/components/SlideUpDown.vue.d.ts +74 -0
  30. package/dist/lib/components/TexturedDeck.vue.d.ts +89 -0
  31. package/dist/lib/components/TinyPagination.vue.d.ts +188 -0
  32. package/dist/lib/composables/chart.d.ts +48 -0
  33. package/dist/lib/composables/resizeObserver.d.ts +22 -0
  34. package/dist/lib/composables/sendEmail.d.ts +6 -0
  35. package/dist/lib/config.d.ts +19 -0
  36. package/dist/lib/config.default.d.ts +34 -0
  37. package/dist/lib/datavisualisations/BarChart.vue.d.ts +234 -0
  38. package/dist/lib/datavisualisations/ColumnChart.vue.d.ts +404 -0
  39. package/dist/lib/datavisualisations/LineChart.vue.d.ts +200 -0
  40. package/dist/lib/datavisualisations/StackedBarChart.vue.d.ts +342 -0
  41. package/dist/lib/datavisualisations/StackedColumnChart.vue.d.ts +412 -0
  42. package/dist/lib/enums.d.ts +32 -0
  43. package/dist/lib/i18n.d.ts +4 -0
  44. package/dist/lib/keys.d.ts +2 -0
  45. package/dist/lib/main.d.ts +52 -0
  46. package/dist/lib/maps/ChoroplethMap.vue.d.ts +460 -0
  47. package/dist/lib/maps/ChoroplethMapAnnotation.vue.d.ts +188 -0
  48. package/dist/lib/maps/SymbolMap.vue.d.ts +276 -0
  49. package/dist/lib/murmur.css +1 -0
  50. package/dist/lib/murmur.js +44661 -0
  51. package/dist/lib/murmur.js.map +1 -0
  52. package/dist/lib/murmur.umd.cjs +837 -0
  53. package/dist/lib/murmur.umd.cjs.map +1 -0
  54. package/dist/lib/types.d.ts +44 -0
  55. package/dist/lib/utils/animation.d.ts +8 -0
  56. package/dist/lib/utils/assets.d.ts +2 -0
  57. package/dist/lib/utils/clipboard.d.ts +2 -0
  58. package/dist/lib/utils/iframe-resizer.d.ts +10 -0
  59. package/dist/lib/utils/placeholder.d.ts +12 -0
  60. package/dist/lib/utils/placeholderTypes.d.ts +18 -0
  61. package/dist/lib/utils/strings.d.ts +1 -0
  62. package/package.json +15 -1
  63. package/.github/workflows/deploy-github-pages.yaml +0 -50
  64. package/.storybook/app.scss +0 -14
  65. package/.storybook/doc_variables.scss +0 -20
  66. package/.storybook/main.ts +0 -35
  67. package/.storybook/preview-head.html +0 -2
  68. package/.storybook/preview.ts +0 -32
  69. package/deploy.js +0 -15
  70. package/docs/components/ApiTable.vue +0 -171
  71. package/docs/components/App.vue +0 -146
  72. package/docs/components/CollapsibleBlock.vue +0 -122
  73. package/docs/components/DocsHeader.vue +0 -68
  74. package/docs/components/DocsMenu.vue +0 -201
  75. package/docs/components/DocsMenuSection.vue +0 -109
  76. package/docs/components/EditLink.vue +0 -49
  77. package/docs/components/OutboundLink.vue +0 -13
  78. package/docs/components/PalettePresenter.vue +0 -96
  79. package/docs/components/RepositoryLink.vue +0 -28
  80. package/docs/components/SampleCard.vue +0 -119
  81. package/docs/main.js +0 -42
  82. package/docs/pages/components/accordion/doc.md +0 -96
  83. package/docs/pages/components/active-text-truncate/doc.md +0 -44
  84. package/docs/pages/components/advanced-link-form/doc.md +0 -105
  85. package/docs/pages/components/brand/doc.md +0 -30
  86. package/docs/pages/components/brand-expansion/doc.md +0 -70
  87. package/docs/pages/components/confirm-button/doc.md +0 -91
  88. package/docs/pages/components/content-placeholder/doc.md +0 -16
  89. package/docs/pages/components/custom-pagination/doc.md +0 -61
  90. package/docs/pages/components/digits-input/doc.md +0 -28
  91. package/docs/pages/components/donate-form/doc.md +0 -20
  92. package/docs/pages/components/embed-form/doc.md +0 -22
  93. package/docs/pages/components/embeddable-footer/doc.md +0 -60
  94. package/docs/pages/components/follow-us-popover/doc.md +0 -5
  95. package/docs/pages/components/generic-footer/doc.md +0 -21
  96. package/docs/pages/components/generic-header/doc.md +0 -24
  97. package/docs/pages/components/haptic-copy/doc.md +0 -27
  98. package/docs/pages/components/imddb-header/doc.md +0 -23
  99. package/docs/pages/components/ordinal-legend/doc.md +0 -44
  100. package/docs/pages/components/range-picker/doc.md +0 -86
  101. package/docs/pages/components/responsive-iframe/doc.md +0 -13
  102. package/docs/pages/components/scale-legend/doc.md +0 -65
  103. package/docs/pages/components/secret-input/doc.md +0 -12
  104. package/docs/pages/components/selectable-dropdown/doc.md +0 -156
  105. package/docs/pages/components/sharing-options/doc.md +0 -13
  106. package/docs/pages/components/sharing-options-link/doc.md +0 -36
  107. package/docs/pages/components/sign-up-form/doc.md +0 -13
  108. package/docs/pages/components/slide-up-down/doc.md +0 -28
  109. package/docs/pages/components/textured-deck/doc.md +0 -78
  110. package/docs/pages/components/tiny-pagination/doc.md +0 -92
  111. package/docs/pages/datavisualisation/bars/doc.md +0 -110
  112. package/docs/pages/datavisualisation/columns/doc.md +0 -165
  113. package/docs/pages/datavisualisation/lines/doc.md +0 -139
  114. package/docs/pages/datavisualisation/stacked-bar/doc.md +0 -160
  115. package/docs/pages/datavisualisation/stacked-column/doc.md +0 -191
  116. package/docs/pages/getting-started/about-icij/doc.md +0 -13
  117. package/docs/pages/getting-started/custom-bootstrap/doc.md +0 -36
  118. package/docs/pages/getting-started/installation-guide/doc.md +0 -59
  119. package/docs/pages/getting-started/internationalization/doc.md +0 -74
  120. package/docs/pages/maps/choropleth-map/doc.md +0 -420
  121. package/docs/pages/maps/choropleth-map-annotation/doc.md +0 -373
  122. package/docs/pages/maps/symbol-map/doc.md +0 -203
  123. package/docs/pages/structure/breakpoints/doc.md +0 -3
  124. package/docs/pages/structure/grid/doc.md +0 -3
  125. package/docs/pages/utilities/assets/doc.md +0 -138
  126. package/docs/pages/utilities/config/doc.md +0 -52
  127. package/docs/pages/utilities/iframes/doc.md +0 -3
  128. package/docs/pages/visual/colors/doc.md +0 -31
  129. package/docs/pages/visual/iconography/doc.md +0 -56
  130. package/docs/pages/visual/states/doc.md +0 -77
  131. package/docs/pages/visual/themes/doc.md +0 -3
  132. package/docs/pages/visual/typography/doc.md +0 -71
  133. package/docs/routes.js +0 -25
  134. package/docs/store/index.js +0 -21
  135. package/docs/styles/app.scss +0 -36
  136. package/docs/styles/variables.scss +0 -20
  137. package/loaders/highlight-loader.js +0 -13
  138. package/loaders/markdown-loader.js +0 -91
  139. package/loaders/metadata-loader.js +0 -18
  140. package/loaders/sass-extract-loader.js +0 -14
  141. package/loaders/vue-docgen-loader.js +0 -14
  142. package/plugins/MdPluginTypes.ts +0 -10
  143. package/plugins/docs.ts +0 -50
  144. package/plugins/front-matter.ts +0 -36
  145. package/plugins/highlight.ts +0 -27
  146. package/plugins/markdown-it/api-table.ts +0 -25
  147. package/plugins/markdown-it/sample-card.ts +0 -31
  148. package/plugins/plugin-delete.ts +0 -47
  149. package/plugins/plugin-docgen.ts +0 -23
  150. package/plugins/sass-vars.ts +0 -25
  151. package/plugins/vue-docgen.ts +0 -29
  152. package/public/android-chrome-192x192.png +0 -0
  153. package/public/android-chrome-512x512.png +0 -0
  154. package/public/apple-touch-icon.png +0 -0
  155. package/public/assets/img/arrow-bottom.svg +0 -3
  156. package/public/assets/img/texture-brick-black.jpg +0 -0
  157. package/public/assets/img/texture-brick.jpg +0 -0
  158. package/public/assets/img/texture-carbon-black.jpg +0 -0
  159. package/public/assets/img/texture-carbon.jpg +0 -0
  160. package/public/assets/img/texture-crack-black.jpg +0 -0
  161. package/public/assets/img/texture-crack.jpg +0 -0
  162. package/public/assets/img/texture-rock-black.jpg +0 -0
  163. package/public/assets/img/texture-rock.jpg +0 -0
  164. package/public/assets/img/texture-sand-black.jpg +0 -0
  165. package/public/assets/img/texture-sand.jpg +0 -0
  166. package/public/assets/img/texture-silk-black.jpg +0 -0
  167. package/public/assets/img/texture-silk.jpg +0 -0
  168. package/public/assets/topojson/france-departments.json +0 -1
  169. package/public/assets/topojson/paris-arrondissements.json +0 -1
  170. package/public/assets/topojson/world-countries-sans-antarctica.json +0 -1
  171. package/public/favicon-16x16.png +0 -0
  172. package/public/favicon-32x32.png +0 -0
  173. package/public/favicon.ico +0 -0
  174. package/public/site.webmanifest +0 -1
  175. package/stories/assets/code-brackets.svg +0 -1
  176. package/stories/assets/colors.svg +0 -1
  177. package/stories/assets/comments.svg +0 -1
  178. package/stories/assets/direction.svg +0 -1
  179. package/stories/assets/flow.svg +0 -1
  180. package/stories/assets/plugin.svg +0 -1
  181. package/stories/assets/repo.svg +0 -1
  182. package/stories/assets/stackalt.svg +0 -1
  183. package/stories/getting-started/about-icij.mdx +0 -14
  184. package/stories/getting-started/custom-bootstrap.mdx +0 -23
  185. package/stories/getting-started/installation-guide.mdx +0 -62
  186. package/stories/getting-started/internationalization.mdx +0 -63
  187. package/stories/murmur/components/AccordionStep.stories.ts +0 -33
  188. package/stories/murmur/components/AccordionWrapper.stories.ts +0 -69
  189. package/stories/murmur/components/ActiveTextTruncate.stories.ts +0 -32
  190. package/stories/murmur/components/AdvancedLinkForm.stories.ts +0 -77
  191. package/stories/murmur/components/Brand.stories.ts +0 -30
  192. package/stories/murmur/components/BrandExpansion.stories.ts +0 -41
  193. package/stories/murmur/components/ConfirmButton.stories.ts +0 -40
  194. package/stories/murmur/components/ContentPlaceholder.stories.ts +0 -41
  195. package/stories/murmur/components/CustomPagination.stories.ts +0 -42
  196. package/stories/murmur/components/DigitsInput.stories.ts +0 -29
  197. package/stories/murmur/components/DonateForm.stories.ts +0 -29
  198. package/stories/murmur/components/EmbedForm.stories.ts +0 -35
  199. package/stories/murmur/components/EmbeddableFooter.stories.ts +0 -59
  200. package/stories/murmur/components/FollowUsPopover.stories.ts +0 -24
  201. package/stories/murmur/components/GenericFooter.stories.ts +0 -27
  202. package/stories/murmur/components/GenericHeader.stories.ts +0 -27
  203. package/stories/murmur/components/HapticCopy.stories.ts +0 -40
  204. package/stories/murmur/components/ImddbHeader.stories.ts +0 -27
  205. package/stories/murmur/components/OrdinalLegend.stories.ts +0 -49
  206. package/stories/murmur/components/RangePicker.stories.ts +0 -98
  207. package/stories/murmur/components/ResponsiveIframe.stories.ts +0 -24
  208. package/stories/murmur/components/ScaleLegend.stories.ts +0 -65
  209. package/stories/murmur/components/SecretInput.stories.ts +0 -60
  210. package/stories/murmur/components/SelectableDropdown.stories.ts +0 -143
  211. package/stories/murmur/components/SharingOptions.stories.ts +0 -32
  212. package/stories/murmur/components/SharingOptionsLink.stories.ts +0 -53
  213. package/stories/murmur/components/SignUpForm.stories.ts +0 -51
  214. package/stories/murmur/components/SlideUpDown.stories.ts +0 -32
  215. package/stories/murmur/components/TexturedDeck.stories.ts +0 -83
  216. package/stories/murmur/components/TinyPagination.stories.ts +0 -65
  217. package/stories/murmur/datavisualisations/BarChart.stories.ts +0 -54
  218. package/stories/murmur/datavisualisations/ColumnChart.stories.ts +0 -88
  219. package/stories/murmur/datavisualisations/LineChart.stories.ts +0 -139
  220. package/stories/murmur/datavisualisations/StackedBarChart.stories.ts +0 -199
  221. package/stories/murmur/datavisualisations/StackedColumnChart.stories.ts +0 -136
  222. package/stories/murmur/decorators.ts +0 -108
  223. package/stories/murmur/maps/ChoroplethMap.stories.ts +0 -440
  224. package/stories/murmur/maps/ChoroplethMapAnnotation.stories.ts +0 -26
  225. package/stories/murmur/maps/SymbolMap.stories.ts +0 -24
  226. package/stories/murmur/utils.ts +0 -7
  227. package/tests/unit/components/AccordionStep.spec.ts +0 -157
  228. package/tests/unit/components/AccordionWrapper.spec.ts +0 -57
  229. package/tests/unit/components/ActiveTextTruncate.spec.js +0 -30
  230. package/tests/unit/components/AdvancedLinkForm.spec.js +0 -124
  231. package/tests/unit/components/Brand.spec.js +0 -50
  232. package/tests/unit/components/ContentPlaceholder.spec.js +0 -29
  233. package/tests/unit/components/CustomPagination.spec.js +0 -72
  234. package/tests/unit/components/DigitsInput.spec.ts +0 -157
  235. package/tests/unit/components/DonateForm.spec.js +0 -149
  236. package/tests/unit/components/EmbedForm.spec.js +0 -108
  237. package/tests/unit/components/EmbeddableFooter.spec.js +0 -11
  238. package/tests/unit/components/Fa.spec.js +0 -18
  239. package/tests/unit/components/FollowUsPopover.spec.js +0 -29
  240. package/tests/unit/components/GenericFooter.spec.js +0 -29
  241. package/tests/unit/components/GenericHeader.spec.js +0 -104
  242. package/tests/unit/components/HapticCopy.spec.js +0 -123
  243. package/tests/unit/components/ImddbHeader.spec.js +0 -96
  244. package/tests/unit/components/OrdinalLegend.spec.js +0 -120
  245. package/tests/unit/components/RangePicker.spec.ts +0 -87
  246. package/tests/unit/components/ResponsiveIframe.spec.js +0 -20
  247. package/tests/unit/components/ScaleLegend.spec.js +0 -139
  248. package/tests/unit/components/SecretInput.spec.js +0 -81
  249. package/tests/unit/components/SelectableDropdown.spec.js +0 -160
  250. package/tests/unit/components/SharingOptions.spec.js +0 -125
  251. package/tests/unit/components/SharingOptionsLink.spec.js +0 -184
  252. package/tests/unit/components/SignUpForm.spec.js +0 -145
  253. package/tests/unit/components/SlideUpDown.spec.js +0 -59
  254. package/tests/unit/components/TinyPagination.spec.js +0 -46
  255. package/tests/unit/config.spec.js +0 -136
  256. package/tests/unit/datavisualisations/BarChart.spec.js +0 -63
  257. package/tests/unit/datavisualisations/ColumnChart.spec.js +0 -344
  258. package/tests/unit/datavisualisations/LineChart.spec.js +0 -155
  259. package/tests/unit/datavisualisations/StackedBarChart.spec.js +0 -294
  260. package/tests/unit/datavisualisations/StackedColumnChart.spec.js +0 -443
  261. package/tests/unit/i18n.spec.ts +0 -19
  262. package/tests/unit/main.spec.js +0 -82
  263. package/tests/unit/maps/ChoroplethMap.spec.js +0 -214
  264. package/tests/unit/maps/ChoroplethMapAnnotation.spec.ts +0 -186
  265. package/tests/unit/maps/SymbolMap.spec.js +0 -92
  266. package/tests/unit/require.spec.js +0 -22
  267. package/tests/unit/setup.js +0 -13
  268. package/tests/unit/utils/assets.spec.js +0 -61
  269. package/tests/unit/utils/clipboard.spec.js +0 -18
  270. package/tests/unit/utils/iframe-resizer.spec.js +0 -71
  271. package/tsconfig.json +0 -35
  272. package/vite.config.ts +0 -79
  273. 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,8 @@
1
+ export declare class RequestAnimationFrameWrapper {
2
+ live: boolean;
3
+ callback: () => void;
4
+ constructor();
5
+ start(callback: () => void): void;
6
+ stop(): void;
7
+ schedule(): void;
8
+ }
@@ -0,0 +1,2 @@
1
+ export declare const injectAsset: ((file: string, id?: string) => Promise<unknown>) & import("lodash").MemoizedFunction;
2
+ export declare const injectAssets: (...args: string[]) => Promise<void>;
@@ -0,0 +1,2 @@
1
+ export declare function copyText(text: string, container: Element): Promise<void>;
2
+ export declare function copyHtml(html: string, plain: string): void;
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icij/murmur-next",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "private": false,
5
5
  "description": "Murmur is ICIJ's Design System for Bootstrap 5 and Vue.js",
6
6
  "author": "promera@icij.org",
@@ -23,6 +23,20 @@
23
23
  "test": "vitest",
24
24
  "test:unit": "vitest run"
25
25
  },
26
+ "main": "./dist/lib/murmur.umd.cjs",
27
+ "module": "./dist/lib/murmur.js",
28
+ "files": [
29
+ "lib/**/*",
30
+ "dist/lib/**/*"
31
+ ],
32
+ "exports": {
33
+ ".": {
34
+ "import": "./dist/lib/murmur.js",
35
+ "require": "./dist/lib/murmur.umd.cjs"
36
+ },
37
+ "./lib/": "./lib/",
38
+ "./dist/": "./dist/"
39
+ },
26
40
  "type": "module",
27
41
  "dependencies": {
28
42
  "@fortawesome/fontawesome": "^1.1.8",
@@ -1,50 +0,0 @@
1
- # Workflow name
2
- name: Build and Publish Storybook to GitHub Pages
3
-
4
- on:
5
- # Event for the workflow to run on
6
- push:
7
- branches:
8
- - 'main' # Replace with the branch you want to deploy from
9
-
10
- permissions:
11
- contents: read
12
- pages: write
13
- id-token: write
14
-
15
- # List of jobs
16
- jobs:
17
- deploy:
18
- runs-on: ubuntu-latest
19
- # Job steps
20
- steps:
21
- # Manual Checkout
22
- - uses: actions/checkout@v3
23
-
24
- # Set up Node
25
- - uses: actions/setup-node@v3
26
- with:
27
- node-version: '18.x'
28
- cache: 'yarn'
29
-
30
- - name: Install Node dependencies
31
- run: yarn --frozen-lockfile
32
-
33
- - name: Run tests
34
- run: yarn test
35
-
36
- - name: Build Murmur
37
- run: yarn build
38
-
39
- - name: Build storybook artifacts
40
- run: yarn build-storybook
41
-
42
- # Upload storybook to repository's artifacts
43
- - name: Upload storybook artifacts
44
- uses: actions/upload-pages-artifact@v3
45
- with:
46
- path: storybook-static
47
-
48
- - uses: actions/deploy-pages@v4
49
-
50
-
@@ -1,14 +0,0 @@
1
- @import './doc_variables.scss';
2
- @import '../lib/styles/lib';
3
- @import 'node_modules/bootstrap/scss/bootstrap';
4
- @import 'node_modules/bootstrap-vue-next/dist/bootstrap-vue-next';
5
- .bg-striped {
6
- background: repeating-linear-gradient(45deg, #dfdddd, #dfdddd 10px, #cfcccc 10px, #cfcccc 20px);
7
- width:500px
8
- }
9
- @include color-mode(dark) {
10
- .bg-striped {
11
- background: repeating-linear-gradient(45deg, #222, #333 10px, #444 10px, #444 20px);
12
-
13
- }
14
- }
@@ -1,20 +0,0 @@
1
- @import '@/styles/variables.scss';
2
-
3
- $docs-menu-bg: #000;
4
- $docs-menu-color: #fff;
5
- $docs-menu-muted: mix($docs-menu-bg, $docs-menu-color, 50%);
6
-
7
- $docs-header-bg: $jumbotron-bg;
8
- $docs-header-border-color: darken($docs-header-bg, 10%);
9
-
10
- $pre-color: $light;
11
- $app-menu-max-width: 300px;
12
- $app-main-max-width: 770px;
13
-
14
- $modal-backdrop-bg: rgba(darken($dark, 10%), .5);
15
- $code-color: $info;
16
-
17
- $link-color: #000;
18
- $link-decoration: none;
19
- $link-hover-color: $primary;
20
- $link-hover-decoration: none;
@@ -1,35 +0,0 @@
1
- import type { StorybookConfig } from "@storybook/vue3-vite";
2
- import { mergeConfig } from "vite";
3
-
4
- const config:StorybookConfig = {
5
- core: {
6
- disableTelemetry: true, // 👈 Disables telemetry
7
- },
8
- stories: ["../stories/**/*.mdx", "../stories/**/*.stories.@(js|jsx|ts|tsx)"],
9
- staticDirs: ["../public"],
10
- addons: [
11
- "@storybook/addon-links",
12
- "@storybook/addon-essentials",
13
- "@storybook/addon-interactions",
14
- "@storybook/addon-mdx-gfm",
15
- "@storybook/preset-scss",
16
- "@storybook/addon-themes"
17
- ],
18
- framework: {
19
- name: "@storybook/vue3-vite",
20
- options: {},
21
- },
22
- docs: {
23
- autodocs: "tag",
24
- },
25
- viteFinal: (config, options) => {
26
- return mergeConfig(config, {
27
- // This is needed because the copy plugin can't copy files outside of the root directory
28
- // The files are copied back to the root by the post script
29
- build: {
30
- outDir: 'storybook-static'
31
- }
32
- });
33
- }
34
- };
35
- export default config;
@@ -1,2 +0,0 @@
1
- <link rel="preload" href="https://fonts.googleapis.com/css?family=Poppins:400,700,800|Anton:300,400,400italic&display=swap" as="style">
2
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:400,700,800|Anton:300,400,400italic&display=swap">
@@ -1,32 +0,0 @@
1
- import {setup, Preview} from '@storybook/vue3'
2
- import './app.scss';
3
- import Murmur from "@/main";
4
- import { withThemeByDataAttribute } from '@storybook/addon-themes';
5
-
6
- setup((app)=>{
7
- app.use(Murmur)
8
- })
9
- export const decorators = [
10
- withThemeByDataAttribute({
11
- themes: {
12
- light: 'light',
13
- dark: 'dark',
14
- },
15
- defaultTheme: 'light',
16
- attributeName: 'data-bs-theme',
17
- }),
18
- ];
19
- export const parameters = {
20
- actions: { argTypesRegex: "^on[A-Z].*" },
21
- controls: {
22
- matchers: {
23
- color: /(background|color)$/i,
24
- date: /Date$/,
25
- },
26
- },
27
- };
28
-
29
- const preview: Preview = {
30
- parameters
31
- };
32
- export default preview;
package/deploy.js DELETED
@@ -1,15 +0,0 @@
1
- import gh from 'gh-pages'
2
- import path from 'path'
3
- import ora from 'ora'
4
- import chalk from 'chalk'
5
-
6
- process.env.NODE_ENV = 'production'
7
-
8
- const spinner = ora('push dist folder to gh-pages branch...')
9
- const message = 'Updates [ci skip]'
10
- spinner.start()
11
-
12
- gh.publish(path.join(process.cwd(), 'dist', 'docs'), { message }, () => {
13
- spinner.stop()
14
- console.log(chalk.cyan(' Push complete.\n'))
15
- });
@@ -1,171 +0,0 @@
1
- <template>
2
- <section class="api-table">
3
- <h3 class="api-table__heading mb-3">
4
- API
5
- </h3>
6
- <div :key="docgen.title" class="api-table__component">
7
- <b-tabs class="api-table__component__tabs">
8
- <b-tab v-if="hasItems(docgen.props)" title="Properties" class="api-table__component__tabs__container">
9
- <b-table :items="toItems(docgen.props)" :fields="propsFields" small class="m-0 small">
10
- <template v-for="{ key } in propsFields" v-slot:[`cell(${key})`]="{ value }">
11
- <span v-html="value" :key="key"></span>
12
- </template>
13
- </b-table>
14
- </b-tab>
15
-
16
- <b-tab v-if="hasItems(docgen.slots)" title="Slots" class="api-table__component__tabs__container">
17
- <b-table :items="toItems(docgen.slots)" :fields="slotsFields" small class="m-0 small">
18
- <template v-for="{ key } in slotsFields" v-slot:[`cell(${key})`]="{ value }">
19
- <span v-html="value" :key="key"></span>
20
- </template>
21
- </b-table>
22
- </b-tab>
23
-
24
- <b-tab v-if="hasItems(docgen.events)" title="Events" class="api-table__component__tabs__container">
25
- <b-table :items="toItems(docgen.events)" :fields="eventsFields" small class="m-0 small">
26
- <template v-for="{ key } in eventsFields" v-slot:[`cell(${key})`]="{ value }">
27
- <span v-html="value" :key="key"></span>
28
- </template>
29
- </b-table>
30
- </b-tab>
31
-
32
- <b-tab v-if="hasItems(docgen.methods)" title="Methods" class="api-table__component__tabs__container">
33
- <b-table :items="toItems(docgen.methods)" :fields="methodsFields" small class="m-0 small">
34
- <template v-for="{ key } in methodsFields" v-slot:[`cell(${key})`]="{ value }">
35
- <span v-html="value" :key="key"></span>
36
- </template>
37
- </b-table>
38
- </b-tab>
39
- </b-tabs>
40
- </div>
41
- </section>
42
- </template>
43
-
44
- <script>
45
- import reduce from 'lodash/reduce'
46
- import sortBy from 'lodash/sortBy'
47
- import keys from 'lodash/keys'
48
- import isObject from 'lodash/isObject'
49
-
50
- import { BTabs } from 'bootstrap-vue/esm/components/tabs/tabs'
51
- import { BTab } from 'bootstrap-vue/esm/components/tabs/tab'
52
- import { BTable } from 'bootstrap-vue/esm/components/table/table'
53
-
54
- export default {
55
- components: {
56
- BTabs,
57
- BTab,
58
- BTable,
59
- },
60
- props: {
61
- api: {
62
- type: [Object, String],
63
- default: () => {}
64
- },
65
- path: {
66
- type: String,
67
- default: null
68
- }
69
- },
70
- methods: {
71
- toItems(docgen = {}) {
72
- return sortBy(reduce(keys(docgen), (items, name) => {
73
- items.push({ name, ...docgen[name] })
74
- return items
75
- }, []), 'name')
76
- },
77
- hasItems(docgen = {}) {
78
- return !!keys(docgen).length
79
- },
80
- codeFormatter (v = '—') {
81
- return `<code>${v}</code>`
82
- },
83
- varFormatter (v = '—') {
84
- if (v && (v.indexOf('function() {') === 0 || v.indexOf('() =>') === 0)) {
85
- return '<span class="text-muted">computed</span>'
86
- }
87
- return `<var>${v}</var>`
88
- }
89
- },
90
- async mounted () {
91
- if (this.path) {
92
- const path = this.path.replace(/\.vue$/i, '')
93
- const docgens = import.meta.glob('@/**/*.vue', { as: 'vue-docgen' })
94
- this.docgen = (await docgens[`/lib/${path}.vue`]()).default
95
- } else if (this.api) {
96
- this.docgen = isObject(this.api) ? this.api : JSON.parse(this.api)
97
- }
98
- },
99
- data () {
100
- return {
101
- docgen: {},
102
- propsFields: [
103
- { label: 'Name', key: 'name', formatter: this.codeFormatter },
104
- { label: 'Description', key: 'description', class: 'description' },
105
- { label: 'Type', key: 'type.name' },
106
- { label: 'Default', key: 'defaultValue.value', formatter: this.varFormatter }
107
- ],
108
- slotsFields: [
109
- { label: 'Slot name', key: 'name', slot: 'cell(name)', formatter: this.codeFormatter },
110
- { label: 'Description', key: 'description', class: 'description' }
111
- ],
112
- eventsFields: [
113
- { label: 'Name', key: 'name', slot: 'cell(name)', formatter: this.codeFormatter },
114
- { label: 'Description', key: 'description' , class: 'description'},
115
- { label: 'Parameters', key: 'type.names', formatter: this.varFormatter }
116
- ],
117
- methodsFields: [
118
- { label: 'Name', key: 'name', slot: 'cell(name)', formatter: this.codeFormatter },
119
- { label: 'Description', key: 'description', class: 'description' },
120
- { label: 'Return', key: 'return', formatter: this.varFormatter }
121
- ]
122
- }
123
- }
124
- }
125
- </script>
126
-
127
- <style lang="scss">
128
- @import '../../lib/styles/lib.scss';
129
-
130
- .api-table {
131
-
132
- &__component {
133
-
134
- &__tabs {
135
-
136
- .nav-item {
137
- text-transform: uppercase;
138
- font-size: 0.9rem;
139
-
140
- .active {
141
- font-weight: bolder;
142
- }
143
- }
144
-
145
- &__container {
146
- padding: $spacer * 0.5;
147
- overflow: auto;
148
- width: 100%;
149
- border: 1px solid $table-border-color;
150
- border-top: 0;
151
-
152
- .table {
153
- white-space: nowrap;
154
- thead th {
155
- border-top: 0;
156
-
157
- &.description {
158
- min-width: 330px;
159
- max-width: 450px;
160
- }
161
- }
162
-
163
- td > span > code {
164
- white-space: nowrap;
165
- }
166
- }
167
- }
168
- }
169
- }
170
- }
171
- </style>
@@ -1,146 +0,0 @@
1
- <template>
2
- <div id="app" class="app">
3
- <div class="app__navbar d-block d-lg-none bg-dark p-3 clearfix">
4
- <router-link to="/">
5
- <img
6
- src="@/assets/images/murmur-white.svg"
7
- alt="ICIJ"
8
- class="border border-primary d-inline-block"
9
- height="30px"
10
- />
11
- </router-link>
12
- <button class="btn btn-link text-white float-end" @click="toggleMenu">
13
- <fa icon="bars" />
14
- </button>
15
- </div>
16
- <transition name="fade">
17
- <div v-if="!collapseMenu" class="app__overlay" @click="toggleMenu"></div>
18
- </transition>
19
- <div class="row no-gutters flex-nowrap">
20
- <div class="col app__menu" :class="{ 'app__menu--collapse': collapseMenu }">
21
- <docs-menu></docs-menu>
22
- </div>
23
- <div class="col">
24
- <div class="app__main">
25
- <docs-header></docs-header>
26
- <router-view class="app__main__view py-4"></router-view>
27
- <edit-link></edit-link>
28
- </div>
29
- </div>
30
- </div>
31
- </div>
32
- </template>
33
-
34
- <script>
35
- import { faBars } from '@fortawesome/free-solid-svg-icons/faBars'
36
- import { mapState } from 'vuex'
37
-
38
- import DocsHeader from './DocsHeader.vue'
39
- import DocsMenu from './DocsMenu.vue'
40
- import EditLink from './EditLink.vue'
41
-
42
- import { library } from '@/components/Fa'
43
-
44
- export default {
45
- name: 'App',
46
- components: {
47
- DocsHeader,
48
- DocsMenu,
49
- EditLink
50
- },
51
- watch: {
52
- '$route.name': function () {
53
- this.$store.commit('collapseMenu')
54
- },
55
- collapseMenu: function () {
56
- // Use bootstrap's class to disable scrolling on the body
57
- document.body.classList.toggle('modal-open', !this.collapseMenu)
58
- }
59
- },
60
- beforeCreate() {
61
- library.add(faBars)
62
- },
63
- computed: {
64
- ...mapState(['collapseMenu'])
65
- },
66
- methods: {
67
- toggleMenu() {
68
- this.$store.commit('toggleMenu')
69
- }
70
- }
71
- }
72
- </script>
73
-
74
- <style lang="scss" scoped>
75
- @import '../styles/variables.scss';
76
- @import 'node_modules/bootstrap/scss/_mixins.scss';
77
-
78
- .app {
79
- &:deep(.hljs) {
80
- background: $dark;
81
- padding: $spacer;
82
- display: block;
83
- }
84
-
85
- .fade-enter-active,
86
- .fade-leave-active {
87
- transition: opacity 300ms;
88
- }
89
- .fade-enter,
90
- .fade-leave-to {
91
- opacity: 0;
92
- }
93
-
94
- @include media-breakpoint-down(md) {
95
- &__overlay {
96
- z-index: $zindex-modal-backdrop;
97
- position: fixed;
98
- top: 0;
99
- left: 0;
100
- right: 0;
101
- bottom: 0;
102
- background: $modal-backdrop-bg;
103
- }
104
- }
105
-
106
- &__menu {
107
- max-width: $app-menu-max-width;
108
- min-width: $app-menu-max-width;
109
- background: $docs-menu-bg;
110
-
111
- @include media-breakpoint-down(md) {
112
- z-index: $zindex-modal;
113
- position: fixed;
114
- top: 0;
115
- left: 0;
116
- bottom: 0;
117
- width: auto;
118
- overflow: auto;
119
- transform: translateX(0%);
120
- transition: transform 300ms;
121
-
122
- &--collapse {
123
- pointer-events: none;
124
- transform: translateX(-100%);
125
- }
126
- }
127
- }
128
-
129
- &__main {
130
- min-height: 100%;
131
- border: $spacer solid $docs-menu-bg;
132
- border-left: 0;
133
-
134
- @include media-breakpoint-down(md) {
135
- min-height: auto;
136
- border: 0;
137
- }
138
-
139
- &__view {
140
- max-width: $app-main-max-width;
141
- padding: 0 $spacer;
142
- margin: auto;
143
- }
144
- }
145
- }
146
- </style>