@icij/murmur-next 4.0.13 → 4.0.14

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 (38) hide show
  1. package/dist/lib/components/ActiveTextTruncate.vue.d.ts +0 -2
  2. package/dist/lib/components/AdvancedLinkForm.vue.d.ts +2 -3
  3. package/dist/lib/components/Brand.vue.d.ts +1 -3
  4. package/dist/lib/components/DigitsInput.vue.d.ts +0 -2
  5. package/dist/lib/components/DonateForm.vue.d.ts +0 -1
  6. package/dist/lib/components/EmbedForm.vue.d.ts +0 -1
  7. package/dist/lib/components/EmbeddableFooter.vue.d.ts +0 -2
  8. package/dist/lib/components/FollowUsPopover.vue.d.ts +0 -1
  9. package/dist/lib/components/GenericHeader.vue.d.ts +340 -361
  10. package/dist/lib/components/HapticCopy.vue.d.ts +1 -0
  11. package/dist/lib/components/ImddbHeader.vue.d.ts +340 -361
  12. package/dist/lib/components/RangePicker.vue.d.ts +4 -4
  13. package/dist/lib/components/ScaleLegend.vue.d.ts +2 -4
  14. package/dist/lib/components/SecretInput.vue.d.ts +0 -2
  15. package/dist/lib/components/SelectableDropdown.vue.d.ts +5 -5
  16. package/dist/lib/components/SharingOptions.vue.d.ts +1 -1
  17. package/dist/lib/components/SignUpForm.vue.d.ts +1 -1
  18. package/dist/lib/components/TinyPagination.vue.d.ts +3 -2
  19. package/dist/lib/datavisualisations/BarChart.vue.d.ts +8 -16
  20. package/dist/lib/datavisualisations/ColumnChart.vue.d.ts +8 -12
  21. package/dist/lib/datavisualisations/LineChart.vue.d.ts +6 -16
  22. package/dist/lib/datavisualisations/StackedBarChart.vue.d.ts +6 -8
  23. package/dist/lib/datavisualisations/StackedColumnChart.vue.d.ts +4 -6
  24. package/dist/lib/main.d.ts +1 -1
  25. package/dist/lib/maps/ChoroplethMap.vue.d.ts +4 -12
  26. package/dist/lib/maps/ChoroplethMapAnnotation.vue.d.ts +0 -2
  27. package/dist/lib/maps/SymbolMap.vue.d.ts +4 -4
  28. package/dist/lib/murmur.css +1 -1
  29. package/dist/lib/murmur.js +10054 -10582
  30. package/dist/lib/murmur.js.map +1 -1
  31. package/dist/lib/murmur.umd.cjs +34 -38
  32. package/dist/lib/murmur.umd.cjs.map +1 -1
  33. package/lib/assets/images/murmur-textured.png +0 -0
  34. package/lib/components/AdvancedLinkForm.vue +22 -32
  35. package/lib/components/HapticCopy.vue +9 -2
  36. package/lib/components/SecretInput.vue +12 -15
  37. package/lib/components/SharingOptions.vue +10 -20
  38. package/package.json +13 -14
@@ -4,7 +4,6 @@ import {
4
4
  BTabs,
5
5
  BTab,
6
6
  BInputGroup,
7
- BInputGroupAppend,
8
7
  BFormInput
9
8
  } from 'bootstrap-vue-next'
10
9
 
@@ -35,7 +34,6 @@ export default defineComponent({
35
34
  BTabs,
36
35
  BTab,
37
36
  BInputGroup,
38
- BInputGroupAppend,
39
37
  BFormInput,
40
38
  HapticCopy
41
39
  },
@@ -216,13 +214,11 @@ export default defineComponent({
216
214
  class="advanced-link-form__raw__input"
217
215
  @click="selectRaw"
218
216
  />
219
- <b-input-group-append>
220
- <haptic-copy
221
- class="btn-secondary"
222
- :text="link"
223
- @attempt="selectRaw"
224
- />
225
- </b-input-group-append>
217
+ <haptic-copy
218
+ class="btn-secondary"
219
+ :text="link"
220
+ @attempt="selectRaw"
221
+ />
226
222
  </b-input-group>
227
223
  </div>
228
224
  </b-tab>
@@ -236,15 +232,13 @@ export default defineComponent({
236
232
  @click.prevent="selectRich"
237
233
  >{{ titleOrLink }}</a
238
234
  >
239
- <b-input-group-append>
240
- <haptic-copy
241
- class="btn-secondary"
242
- html
243
- :text="linkAsHtml"
244
- :plain="link"
245
- @attempt="selectRich"
246
- />
247
- </b-input-group-append>
235
+ <haptic-copy
236
+ class="btn-secondary"
237
+ html
238
+ :text="linkAsHtml"
239
+ :plain="link"
240
+ @attempt="selectRich"
241
+ />
248
242
  </b-input-group>
249
243
  <p class="text-muted mt-2 mb-0">
250
244
  {{ t('advanced-link-form.rich.description') }}
@@ -264,13 +258,11 @@ export default defineComponent({
264
258
  class="advanced-link-form__markdown__input"
265
259
  @click="selectMarkdown"
266
260
  />
267
- <b-input-group-append>
268
- <haptic-copy
269
- class="btn-secondary"
270
- :text="linkAsMarkdown"
271
- @attempt="selectMarkdown"
272
- />
273
- </b-input-group-append>
261
+ <haptic-copy
262
+ class="btn-secondary"
263
+ :text="linkAsMarkdown"
264
+ @attempt="selectMarkdown"
265
+ />
274
266
  </b-input-group>
275
267
  <p class="text-muted mt-2 mb-0">
276
268
  {{ t('advanced-link-form.markdown.description') }}
@@ -287,13 +279,11 @@ export default defineComponent({
287
279
  class="advanced-link-form__html__input"
288
280
  @click="selectHtml"
289
281
  />
290
- <b-input-group-append>
291
- <haptic-copy
292
- class="btn-secondary"
293
- :text="linkAsHtml"
294
- @attempt="selectHtml"
295
- />
296
- </b-input-group-append>
282
+ <haptic-copy
283
+ class="btn-secondary"
284
+ :text="linkAsHtml"
285
+ @attempt="selectHtml"
286
+ />
297
287
  </b-input-group>
298
288
  </div>
299
289
  </b-tab>
@@ -5,6 +5,7 @@ import { faClipboardCheck } from '@fortawesome/free-solid-svg-icons/faClipboardC
5
5
  import { BTooltip, PopoverPlacement } from 'bootstrap-vue-next'
6
6
 
7
7
  import noop from 'lodash/noop'
8
+ import uniqueId from 'lodash/uniqueId'
8
9
  import {
9
10
  ComponentPublicInstance,
10
11
  computed,
@@ -99,10 +100,13 @@ export default defineComponent({
99
100
  const tooltipContent = ref<string>('')
100
101
  const tooltipTimeout = ref<NodeJS.Timeout | undefined>(undefined)
101
102
  const showClipboardTooltip = ref(false)
103
+ const buttonId = computed(() => uniqueId('haptic-copy-'))
104
+
102
105
  onBeforeMount(() => {
103
106
  library.add(faClipboard)
104
107
  library.add(faClipboardCheck)
105
108
  })
109
+
106
110
  const tooltipContainer = computed((): string | null => {
107
111
  // By default we append the tooltip in the root container using its
108
112
  // id (if any) because BootstrapVue doesn't like HTMLElement for some
@@ -181,13 +185,16 @@ export default defineComponent({
181
185
  onUnmounted(() => {
182
186
  closeTooltip()
183
187
  })
188
+
184
189
  expose({
185
190
  hide: closeTooltip
186
191
  })
192
+
187
193
  return {
188
194
  t,
189
195
  tooltip,
190
196
  el,
197
+ buttonId,
191
198
  showClipboardTooltip,
192
199
  tooltipContainer,
193
200
  tooltipContent,
@@ -203,7 +210,7 @@ export default defineComponent({
203
210
 
204
211
  <template>
205
212
  <button
206
- id="hapticCopy"
213
+ :id="buttonId"
207
214
  ref="el"
208
215
  class="btn haptic-copy"
209
216
  @mouseleave="closeTooltip"
@@ -236,9 +243,9 @@ export default defineComponent({
236
243
  ref="tooltip"
237
244
  :model-value="showClipboardTooltip"
238
245
  :placement="tooltipPlacement"
246
+ :target="buttonId"
239
247
  manual
240
248
  noninteractive
241
- target="hapticCopy"
242
249
  >
243
250
  {{ tooltipContent }}
244
251
  </b-tooltip>
@@ -92,11 +92,9 @@ export default defineComponent({
92
92
 
93
93
  <template>
94
94
  <b-input-group :size="size" class="secret-input">
95
- <b-input-group-prepend v-if="!noToggler">
96
- <b-button variant="link" class="secret-input__toggler" @click="toggle">
97
- <fa fixed-width :icon="togglerIcon" />
98
- </b-button>
99
- </b-input-group-prepend>
95
+ <b-button v-if="!noToggler" variant="link" class="secret-input__toggler" @click="toggle">
96
+ <fa fixed-width :icon="togglerIcon" />
97
+ </b-button>
100
98
  <b-form-input
101
99
  ref="secretInput"
102
100
  class="text-monospace secret-input__input"
@@ -105,16 +103,15 @@ export default defineComponent({
105
103
  :modelValue="value"
106
104
  @click="selectInput"
107
105
  />
108
- <b-input-group-append v-if="!noHapticCopy">
109
- <haptic-copy
110
- class="secret-input__copy"
111
- hide-label
112
- :class="hapticCopyClassList"
113
- :text="value"
114
- @success="selectInput"
115
- @error="selectInput"
116
- />
117
- </b-input-group-append>
106
+ <haptic-copy
107
+ v-if="!noHapticCopy"
108
+ class="secret-input__copy"
109
+ hide-label
110
+ :class="hapticCopyClassList"
111
+ :text="value"
112
+ @success="selectInput"
113
+ @error="selectInput"
114
+ />
118
115
  </b-input-group>
119
116
  </template>
120
117
 
@@ -1,6 +1,7 @@
1
1
  <script lang="ts">
2
2
  import get from 'lodash/get'
3
3
  import reduce from 'lodash/reduce'
4
+ import uniqueId from 'lodash/uniqueId'
4
5
  import { faCode } from '@fortawesome/free-solid-svg-icons/faCode'
5
6
  import {
6
7
  computed,
@@ -117,9 +118,9 @@ export default defineComponent({
117
118
  onBeforeMount(() => {
118
119
  library.add(faCode)
119
120
  })
120
-
121
- const embedForm = ref(null)
122
- const { show } = useModal('embedForm')
121
+
122
+ const embedFormId = uniqueId('embed-form-')
123
+ const { show } = useModal(embedFormId)
123
124
  const style = computed((): CSSProperties => {
124
125
  return {
125
126
  'flex-direction': props.direction
@@ -183,7 +184,7 @@ export default defineComponent({
183
184
  return {
184
185
  style,
185
186
  show,
186
- embedForm,
187
+ embedFormId,
187
188
  valuesFor
188
189
  }
189
190
  }
@@ -212,22 +213,11 @@ export default defineComponent({
212
213
  network="email"
213
214
  v-bind="valuesFor('email')"
214
215
  />
215
- <div
216
- v-show="!noEmbed"
217
- class="sharing-options__link sharing-options__link--embed"
218
- >
219
- <a @click="show">
220
- <fa icon="code" />
221
- <span class="sr-only">Embed</span>
222
- </a>
223
- </div>
224
- <b-modal
225
- id="embedForm"
226
- ref="embedForm"
227
- class="text-dark"
228
- hide-footer
229
- title="Embed on your website"
230
- >
216
+ <a class="sharing-options__link sharing-options__link--embed" @click="show" v-show="!noEmbed">
217
+ <fa icon="code" />
218
+ <span class="sr-only">Embed</span>
219
+ </a>
220
+ <b-modal :id="embedFormId" class="text-dark" hide-footer title="Embed on your website">
231
221
  <embed-form
232
222
  :min-height="iframeMinHeight"
233
223
  :min-width="iframeMinWidth"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icij/murmur-next",
3
- "version": "4.0.13",
3
+ "version": "4.0.14",
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",
@@ -48,12 +48,12 @@
48
48
  "@fortawesome/free-solid-svg-icons": "^6.5.2",
49
49
  "@fortawesome/vue-fontawesome": "^3.0.8",
50
50
  "@storybook/preset-scss": "^1.0.3",
51
- "@storybook/test": "^8.1.4",
51
+ "@storybook/test": "^8.1.10",
52
52
  "@types/topojson": "^3.2.6",
53
53
  "@types/vue-i18n": "^7.0.0",
54
54
  "@vue/compat": "^3.4.27",
55
55
  "bootstrap": "^5.3.3",
56
- "bootstrap-vue-next": "^0.16.6",
56
+ "bootstrap-vue-next": "^0.22.1",
57
57
  "canvas": "^2.11.2",
58
58
  "clipboard": "^2.0.11",
59
59
  "d3": "^7.9.0",
@@ -70,19 +70,18 @@
70
70
  "vue-virtual-scroller": "^2.0.0-beta.8"
71
71
  },
72
72
  "devDependencies": {
73
- "@chromatic-com/storybook": "^1",
74
73
  "@eslint/js": "^9.3.0",
75
74
  "@icij/eslint-config": "^2.0.0",
76
75
  "@intlify/unplugin-vue-i18n": "^4.0.0",
77
76
  "@rushstack/eslint-patch": "^1.8.0",
78
- "@storybook/addon-essentials": "^8.1.4",
79
- "@storybook/addon-interactions": "^8.1.4",
80
- "@storybook/addon-links": "^8.1.4",
81
- "@storybook/addon-mdx-gfm": "^8.1.4",
82
- "@storybook/addon-themes": "^8.1.4",
83
- "@storybook/blocks": "^8.1.4",
84
- "@storybook/vue3": "^8.1.4",
85
- "@storybook/vue3-vite": "^8.1.4",
77
+ "@storybook/addon-essentials": "^8.1.10",
78
+ "@storybook/addon-interactions": "^8.1.10",
79
+ "@storybook/addon-links": "^8.1.10",
80
+ "@storybook/addon-mdx-gfm": "^8.1.10",
81
+ "@storybook/addon-themes": "^8.1.10",
82
+ "@storybook/blocks": "^8.1.10",
83
+ "@storybook/vue3": "^8.1.10",
84
+ "@storybook/vue3-vite": "^8.1.10",
86
85
  "@types/d3": "^7.4.3",
87
86
  "@types/d3-geo": "^3.1.0",
88
87
  "@types/eslint__js": "^8.42.3",
@@ -100,14 +99,14 @@
100
99
  "msw-storybook-addon": "^2.0.2",
101
100
  "prettier": "^3.2.5",
102
101
  "sass": "^1.77.2",
103
- "storybook": "^8.1.4",
102
+ "storybook": "^8.1.10",
104
103
  "typescript": "^5.4.5",
105
104
  "typescript-eslint": "^7.11.0",
106
105
  "unplugin-vue-components": "^0.27.0",
107
106
  "vite": "^5.2.12",
108
107
  "vite-plugin-dts": "^3.9.1",
109
108
  "vitest": "^1.6.0",
110
- "vue-docgen-cli": "^4.79.0",
109
+ "vue-component-meta": "^2.0.21",
111
110
  "vue-headroom": "github:caro3801/vue-headroom"
112
111
  },
113
112
  "peerDependencies": {