@demos-europe/demosplan-ui 0.3.19 → 0.3.21
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/.idea/shelf/Uncommitted_changes_before_Update_at_17_07_2024_15_21_[Changes]/shelved.patch +36 -0
- package/.idea/shelf/Uncommitted_changes_before_Update_at_17_07_2024_15_21__Changes_.xml +4 -0
- package/.idea/workspace.xml +37 -7
- package/.yarn/install-state.gz +0 -0
- package/CHANGELOG.md +20 -1
- package/buildTokens.js +157 -41
- package/dist/demosplan-ui.umd.js +1 -1
- package/package.json +5 -4
- package/src/components/DpButtonRow/DpButtonRow.vue +8 -2
- package/src/components/DpEditor/DpEditor.vue +46 -33
- package/src/components/DpEditor/DpResizableImage.vue +10 -4
- package/src/components/DpEditor/DpUploadModal.vue +29 -15
- package/src/components/DpUploadFiles/DpUpload.vue +9 -1
- package/src/components/DpUploadFiles/DpUploadFiles.vue +7 -0
- package/storybook-static/favicon.svg +7 -0
- package/storybook-static/index.html +123 -0
- package/storybook-static/index.json +1 -0
- package/storybook-static/project.json +1 -0
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js +12 -0
- package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +63 -0
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt +18 -0
- package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/links-0/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/links-0/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-common-assets/fonts.css +31 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/WithTooltip-V3YHNWJZ-TRLNWEGW.js +1 -0
- package/storybook-static/sb-manager/chunk-4IYAVH3S.js +348 -0
- package/storybook-static/sb-manager/chunk-CXYKRFSY.js +9 -0
- package/storybook-static/sb-manager/chunk-LVLAH4SI.js +7 -0
- package/storybook-static/sb-manager/chunk-VFHDXWEA.js +406 -0
- package/storybook-static/sb-manager/chunk-ZEU7PDD3.js +1 -0
- package/storybook-static/sb-manager/formatter-SWP5E3XI-7BGIK6BL.js +156 -0
- package/storybook-static/sb-manager/globals-module-info.js +1 -0
- package/storybook-static/sb-manager/globals.js +1 -0
- package/storybook-static/sb-manager/index.js +1 -0
- package/storybook-static/sb-manager/runtime.js +1 -0
- package/storybook-static/sb-manager/syntaxhighlighter-B5GMVT5T-EA5ASEYD.js +1 -0
- package/storybook-static/stories.json +1 -0
- package/tailwind.config.js +27 -1
- package/tokens/dist/js/boxShadow.js +13 -81
- package/tokens/dist/js/breakpoints.js +1 -1
- package/tokens/dist/js/color.brand.js +19 -7
- package/tokens/dist/js/color.data.js +85 -29
- package/tokens/dist/js/color.palette.js +175 -59
- package/tokens/dist/js/color.ui-tailwind.js +1899 -0
- package/tokens/dist/js/color.ui.js +2063 -57
- package/tokens/dist/js/fontSize.js +1 -1
- package/tokens/dist/js/rounded.js +1 -77
- package/tokens/dist/js/space.js +1 -1
- package/tokens/dist/js/zIndex.js +1 -1
- package/tokens/dist/scss/_boxShadow.scss +1 -1
- package/tokens/dist/scss/_breakpoints.scss +1 -1
- package/tokens/dist/scss/_color.brand.scss +1 -1
- package/tokens/dist/scss/_color.data.scss +1 -1
- package/tokens/dist/scss/_color.palette.scss +1 -1
- package/tokens/dist/scss/_color.ui.scss +1 -1
- package/tokens/dist/scss/_fontSize.scss +1 -1
- package/tokens/dist/scss/_rounded.scss +1 -1
- package/tokens/dist/scss/_space.scss +1 -1
- package/tokens/dist/scss/_zIndex.scss +1 -1
- package/tokens/dist/tailwind/backgroundColor.js +24 -0
- package/tokens/dist/tailwind/borderColor.js +9 -0
- package/tokens/dist/tailwind/color.brand.js +8 -0
- package/tokens/dist/tailwind/color.data.js +30 -0
- package/tokens/dist/tailwind/color.js +5 -0
- package/tokens/dist/tailwind/color.palette.js +60 -0
- package/tokens/dist/tailwind/textColor.js +37 -0
- package/tokens/src/boxShadow.json +16 -8
- package/tokens/src/color/color.brand.json +12 -6
- package/tokens/src/color/color.data.json +56 -28
- package/tokens/src/color/color.palette.json +116 -58
- package/tokens/src/color/color.ui-tailwind.json +401 -0
- package/tokens/src/color/color.ui.json +114 -57
- package/tokens/tokens.color.stories.mdx +83 -34
- package/tokens/tokens.space.stories.mdx +20 -20
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_12_07_2024_08_46_[Changes]/shelved.patch +0 -30538
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_12_07_2024_08_46__Changes_.xml +0 -4
- package/.idea/shelf/Uncommitted_changes_before_Update_at_12_07_2024_14_02_[Changes]/shelved.patch +0 -19
- package/.idea/shelf/Uncommitted_changes_before_Update_at_12_07_2024_14_02__Changes_.xml +0 -4
- package/style/index.css +0 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@demos-europe/demosplan-ui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.21",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Vue components, Vue directives, Design Token and Scss files to build interfaces for demosPlan.",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"plyr": "^3.7.2",
|
|
45
45
|
"qs": "^6.11.0",
|
|
46
46
|
"tippy.js": "^6.3.7",
|
|
47
|
-
"uuid": "^
|
|
47
|
+
"uuid": "^10.0.0",
|
|
48
48
|
"v-tooltip": "2.1.3",
|
|
49
49
|
"vue-click-outside": "^1.1.0",
|
|
50
50
|
"vue-multiselect": "^2.1.6",
|
|
@@ -93,17 +93,18 @@
|
|
|
93
93
|
"path": "^0.12.7",
|
|
94
94
|
"postcss": "^8.4.26",
|
|
95
95
|
"postcss-loader": "^8.0.0",
|
|
96
|
+
"prop-types": "^15.8.1",
|
|
96
97
|
"react": "^18.2.0",
|
|
97
98
|
"react-dom": "^18.2.0",
|
|
98
99
|
"storybook": "7.6.17",
|
|
99
100
|
"storybook-addon-vue-slots": "^0.9.21",
|
|
100
|
-
"string-width": "7.
|
|
101
|
+
"string-width": "7.2.0",
|
|
101
102
|
"style-dictionary": "^3.9.2",
|
|
102
103
|
"style-loader": "^4.0.0",
|
|
103
104
|
"tailwindcss": "^3.2.1",
|
|
104
105
|
"ts-jest": "^29.1.0",
|
|
105
106
|
"ts-loader": "^9.4.4",
|
|
106
|
-
"typescript": "~5.
|
|
107
|
+
"typescript": "~5.5.3",
|
|
107
108
|
"vue-jest": "^3.0.7",
|
|
108
109
|
"vue-loader": "^15",
|
|
109
110
|
"vue-template-compiler": "^2.7.15",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
:class="[
|
|
3
|
+
:class="[align, $attrs.class]"
|
|
4
4
|
class="space-inline-s">
|
|
5
5
|
<dp-button
|
|
6
6
|
v-if="primary"
|
|
@@ -37,7 +37,7 @@ export default {
|
|
|
37
37
|
/**
|
|
38
38
|
* Specifies if the buttons should align left or right inside their container.
|
|
39
39
|
*/
|
|
40
|
-
|
|
40
|
+
alignment: {
|
|
41
41
|
type: String,
|
|
42
42
|
required: false,
|
|
43
43
|
default: 'right'
|
|
@@ -123,6 +123,12 @@ export default {
|
|
|
123
123
|
default: 'solid',
|
|
124
124
|
validator: (prop) => ['solid', 'outline', 'subtle'].includes(prop)
|
|
125
125
|
}
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
computed: {
|
|
129
|
+
align () {
|
|
130
|
+
return this.alignment === 'left' ? 'text-left' : 'text-right'
|
|
131
|
+
}
|
|
126
132
|
}
|
|
127
133
|
}
|
|
128
134
|
</script>
|
|
@@ -29,12 +29,13 @@
|
|
|
29
29
|
<div :class="[readonly ? prefixClass('readonly'): '', prefixClass('menubar')]">
|
|
30
30
|
<!-- Cut -->
|
|
31
31
|
<button
|
|
32
|
-
|
|
32
|
+
:aria-label="translations.cut"
|
|
33
33
|
:class="prefixClass('menubar__button')"
|
|
34
|
+
data-cy="editor:cut"
|
|
35
|
+
:disabled="readonly"
|
|
34
36
|
type="button"
|
|
35
|
-
|
|
36
|
-
v-tooltip="translations.cut"
|
|
37
|
-
:disabled="readonly">
|
|
37
|
+
@click="cut"
|
|
38
|
+
v-tooltip="translations.cut">
|
|
38
39
|
<i
|
|
39
40
|
:class="prefixClass('fa fa-scissors')"
|
|
40
41
|
aria-hidden="true" />
|
|
@@ -42,24 +43,26 @@
|
|
|
42
43
|
❘
|
|
43
44
|
<!-- Undo -->
|
|
44
45
|
<button
|
|
45
|
-
|
|
46
|
+
:aria-label="translations.undo"
|
|
46
47
|
:class="prefixClass('menubar__button')"
|
|
48
|
+
data-cy="editor:undo"
|
|
49
|
+
:disabled="readonly"
|
|
47
50
|
type="button"
|
|
48
|
-
|
|
49
|
-
v-tooltip="translations.undo"
|
|
50
|
-
:disabled="readonly">
|
|
51
|
+
@click="editor.chain().focus().undo().run()"
|
|
52
|
+
v-tooltip="translations.undo">
|
|
51
53
|
<i
|
|
52
54
|
:class="prefixClass('fa fa-reply')"
|
|
53
55
|
aria-hidden="true" />
|
|
54
56
|
</button>
|
|
55
57
|
<!-- Redo -->
|
|
56
58
|
<button
|
|
57
|
-
|
|
59
|
+
:aria-label="translations.redo"
|
|
58
60
|
:class="prefixClass('menubar__button')"
|
|
61
|
+
data-cy="editor:redo"
|
|
62
|
+
:disabled="readonly"
|
|
59
63
|
type="button"
|
|
60
|
-
|
|
61
|
-
v-tooltip="translations.redo"
|
|
62
|
-
:disabled="readonly">
|
|
64
|
+
@click="editor.chain().focus().redo().run()"
|
|
65
|
+
v-tooltip="translations.redo">
|
|
63
66
|
<i
|
|
64
67
|
:class="prefixClass('fa fa-share')"
|
|
65
68
|
aria-hidden="true" />
|
|
@@ -69,12 +72,13 @@
|
|
|
69
72
|
<!-- Bold -->
|
|
70
73
|
|
|
71
74
|
<button
|
|
72
|
-
|
|
75
|
+
:aria-label="translations.bold"
|
|
73
76
|
:class="[editor.isActive('bold') ? prefixClass('is-active'): '', prefixClass('menubar__button')]"
|
|
77
|
+
data-cy="editor:bold"
|
|
78
|
+
:disabled="readonly"
|
|
74
79
|
type="button"
|
|
75
|
-
|
|
76
|
-
v-tooltip="translations.bold"
|
|
77
|
-
:disabled="readonly">
|
|
80
|
+
@click="editor.chain().focus().toggleBold().run()"
|
|
81
|
+
v-tooltip="translations.bold">
|
|
78
82
|
<i
|
|
79
83
|
:class="prefixClass('fa fa-bold')"
|
|
80
84
|
aria-hidden="true" />
|
|
@@ -82,24 +86,26 @@
|
|
|
82
86
|
|
|
83
87
|
<!-- Italic -->
|
|
84
88
|
<button
|
|
85
|
-
|
|
89
|
+
:aria-label="translations.italic"
|
|
86
90
|
:class="[editor.isActive('italic') ? prefixClass('is-active') : '', prefixClass('menubar__button') ]"
|
|
91
|
+
data-cy="editor:italic"
|
|
92
|
+
:disabled="readonly"
|
|
87
93
|
type="button"
|
|
88
|
-
|
|
89
|
-
v-tooltip="translations.italic"
|
|
90
|
-
:disabled="readonly">
|
|
94
|
+
@click="editor.chain().focus().toggleItalic().run()"
|
|
95
|
+
v-tooltip="translations.italic">
|
|
91
96
|
<i
|
|
92
97
|
:class="prefixClass('fa fa-italic')"
|
|
93
98
|
aria-hidden="true" />
|
|
94
99
|
</button>
|
|
95
100
|
<!-- Underline -->
|
|
96
101
|
<button
|
|
97
|
-
|
|
102
|
+
:aria-label="translations.underline"
|
|
98
103
|
:class="[editor.isActive('underline') ? prefixClass('is-active') : '', prefixClass('menubar__button')]"
|
|
104
|
+
data-cy="editor:underline"
|
|
105
|
+
:disabled="readonly"
|
|
99
106
|
type="button"
|
|
100
|
-
|
|
101
|
-
v-tooltip="translations.underline"
|
|
102
|
-
:disabled="readonly">
|
|
107
|
+
@click="editor.chain().focus().toggleUnderline().run()"
|
|
108
|
+
v-tooltip="translations.underline">
|
|
103
109
|
<i
|
|
104
110
|
:class="prefixClass('fa fa-underline')"
|
|
105
111
|
aria-hidden="true" />
|
|
@@ -108,12 +114,13 @@
|
|
|
108
114
|
<!-- Strike through -->
|
|
109
115
|
<button
|
|
110
116
|
v-if="toolbar.strikethrough"
|
|
111
|
-
|
|
117
|
+
:aria-label="translations.strikethrough"
|
|
112
118
|
:class="[editor.isActive('strike') ? prefixClass('is-active') : '', prefixClass('menubar__button')]"
|
|
119
|
+
data-cy="editor:strikethrough"
|
|
120
|
+
:disabled="readonly"
|
|
113
121
|
type="button"
|
|
114
|
-
|
|
115
|
-
v-tooltip="translations.strikethrough"
|
|
116
|
-
:disabled="readonly">
|
|
122
|
+
@click="editor.chain().focus().toggleStrike().run()"
|
|
123
|
+
v-tooltip="translations.strikethrough">
|
|
117
124
|
<i
|
|
118
125
|
:class="prefixClass('fa fa-strikethrough')"
|
|
119
126
|
aria-hidden="true" />
|
|
@@ -123,10 +130,10 @@
|
|
|
123
130
|
:class="prefixClass('inline-block relative')">
|
|
124
131
|
<button
|
|
125
132
|
:class="[editor.isActive('insert') || editor.isActive('delete') ? prefixClass('is-active') : '', prefixClass('menubar__button')]"
|
|
133
|
+
:disabled="readonly"
|
|
126
134
|
type="button"
|
|
127
135
|
@click.stop="toggleSubMenu('diffMenu', !diffMenu.isOpen)"
|
|
128
|
-
@keydown.tab.shift.exact="toggleSubMenu('diffMenu', false)"
|
|
129
|
-
:disabled="readonly">
|
|
136
|
+
@keydown.tab.shift.exact="toggleSubMenu('diffMenu', false)">
|
|
130
137
|
<dp-icon
|
|
131
138
|
class="align-text-top inline-block"
|
|
132
139
|
icon="highlighter" />
|
|
@@ -355,6 +362,7 @@ import DpResizableImage from './DpResizableImage'
|
|
|
355
362
|
import { handleWordPaste } from './libs/handleWordPaste'
|
|
356
363
|
import { maxlengthHint } from '~/utils/'
|
|
357
364
|
import { prefixClassMixin } from '~/mixins'
|
|
365
|
+
import { v4 as uuid } from 'uuid'
|
|
358
366
|
|
|
359
367
|
export default {
|
|
360
368
|
name: 'DpEditor',
|
|
@@ -1041,6 +1049,7 @@ export default {
|
|
|
1041
1049
|
|
|
1042
1050
|
mounted () {
|
|
1043
1051
|
this.editor = new Editor({
|
|
1052
|
+
id: uuid(),
|
|
1044
1053
|
editable: !this.readonly,
|
|
1045
1054
|
extensions: this.collectExtensions(),
|
|
1046
1055
|
content: this.currentValue,
|
|
@@ -1089,9 +1098,13 @@ export default {
|
|
|
1089
1098
|
}
|
|
1090
1099
|
})
|
|
1091
1100
|
|
|
1092
|
-
this.$root.$on('open-image-alt-modal', (
|
|
1093
|
-
this.
|
|
1094
|
-
|
|
1101
|
+
this.$root.$on('open-image-alt-modal', ({ event, imgId, editorId }) => {
|
|
1102
|
+
if (this.editor.options.id !== editorId) {
|
|
1103
|
+
return
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
this.editingImage = imgId
|
|
1107
|
+
this.openUploadModal({ editAltOnly: true, currentAlt: event.target.getAttribute('alt'), imgSrc: event.target.getAttribute('src') })
|
|
1095
1108
|
})
|
|
1096
1109
|
/*
|
|
1097
1110
|
* On form-reset the editor has to be cleared manually.
|
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
<img
|
|
8
8
|
:alt="node.attrs.alt"
|
|
9
9
|
ref="image"
|
|
10
|
+
data-cy="editor:resizableImage"
|
|
10
11
|
:src="node.attrs.src"
|
|
11
12
|
:title="imageTitle"
|
|
12
|
-
@click.ctrl="$root.$emit('open-image-alt-modal', $event, id)">
|
|
13
|
+
@click.ctrl="$root.$emit('open-image-alt-modal', { event: $event, imgId: id, editorId: editor.options.id })">
|
|
13
14
|
</node-view-wrapper>
|
|
14
15
|
</template>
|
|
15
16
|
|
|
@@ -59,7 +60,7 @@ export default {
|
|
|
59
60
|
img.onload = () => {
|
|
60
61
|
this.ratioFactor = img.width / img.height
|
|
61
62
|
|
|
62
|
-
// If the width is not set
|
|
63
|
+
// If the width is not set yet, set it to the image original dimensions
|
|
63
64
|
if (updateSize) {
|
|
64
65
|
this.updateImageDimensions()
|
|
65
66
|
}
|
|
@@ -89,11 +90,16 @@ export default {
|
|
|
89
90
|
|
|
90
91
|
this.initResizeObserver()
|
|
91
92
|
|
|
92
|
-
|
|
93
|
-
// this.$refs.imagewrapper.$el.style.width = this.node.attrs.width + 'px'
|
|
93
|
+
this.$refs.imagewrapper.$el.style.width = this.node.attrs.width + 'px'
|
|
94
94
|
|
|
95
95
|
const updateSize = (this.node.attrs.height > 0) === false || this.node.attrs.height === Infinity
|
|
96
96
|
this.setRatio(updateSize)
|
|
97
|
+
},
|
|
98
|
+
|
|
99
|
+
beforeDestroy () {
|
|
100
|
+
if (this.observer) {
|
|
101
|
+
this.observer.disconnect()
|
|
102
|
+
}
|
|
97
103
|
}
|
|
98
104
|
}
|
|
99
105
|
</script>
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<dp-modal
|
|
3
3
|
ref="uploadModal"
|
|
4
|
-
content-classes="
|
|
4
|
+
content-classes="w-fit"
|
|
5
|
+
data-cy="editor:uploadModal"
|
|
6
|
+
@modal:toggled="(isOpen) => { if (!isOpen) reset() }">
|
|
5
7
|
<template>
|
|
6
8
|
<h3
|
|
7
9
|
v-if="editAltTextOnly"
|
|
@@ -13,7 +15,7 @@
|
|
|
13
15
|
class="u-mb">
|
|
14
16
|
{{ translations.insertImage }}
|
|
15
17
|
</h3>
|
|
16
|
-
<div v-
|
|
18
|
+
<div v-if="!editAltTextOnly">
|
|
17
19
|
<dp-upload-files
|
|
18
20
|
allowed-file-types="img"
|
|
19
21
|
:basic-auth="basicAuth"
|
|
@@ -26,25 +28,34 @@
|
|
|
26
28
|
:tus-endpoint="tusEndpoint"
|
|
27
29
|
@upload-success="setFile" />
|
|
28
30
|
</div>
|
|
31
|
+
<div v-else>
|
|
32
|
+
<img
|
|
33
|
+
:alt="altText"
|
|
34
|
+
class="mb-4"
|
|
35
|
+
:src="this.imgSrc">
|
|
36
|
+
</div>
|
|
29
37
|
<dp-input
|
|
30
38
|
id="altText"
|
|
31
39
|
v-model="altText"
|
|
32
40
|
class="u-mb"
|
|
41
|
+
data-cy="uploadModal:altText"
|
|
33
42
|
:label="{
|
|
34
43
|
hint: translations.altTextHint,
|
|
35
44
|
text: translations.altText,
|
|
36
45
|
}" />
|
|
37
|
-
<div class="u-mt text
|
|
46
|
+
<div class="u-mt text-right w-full space-inline-s">
|
|
38
47
|
<button
|
|
39
48
|
class="btn btn--primary"
|
|
49
|
+
data-cy="uploadModal:save"
|
|
40
50
|
type="button"
|
|
41
|
-
@click="emitAndClose()"
|
|
42
|
-
|
|
51
|
+
@click="emitAndClose()"
|
|
52
|
+
v-text="editAltTextOnly ? Translator.trans('save') : Translator.trans('insert')">
|
|
43
53
|
</button>
|
|
44
54
|
<button
|
|
45
55
|
class="btn btn--secondary"
|
|
56
|
+
data-cy="uploadModal:abort"
|
|
46
57
|
type="button"
|
|
47
|
-
@click="
|
|
58
|
+
@click="closeAndReset()">
|
|
48
59
|
{{ Translator.trans('abort') }}
|
|
49
60
|
</button>
|
|
50
61
|
</div>
|
|
@@ -96,6 +107,7 @@ export default {
|
|
|
96
107
|
fileUrl: '',
|
|
97
108
|
altText: '',
|
|
98
109
|
editAltTextOnly: false,
|
|
110
|
+
imgSrc: '',
|
|
99
111
|
translations: {
|
|
100
112
|
altText: de.altText.default,
|
|
101
113
|
altTextHint: de.image.alt.explanation,
|
|
@@ -107,21 +119,26 @@ export default {
|
|
|
107
119
|
},
|
|
108
120
|
|
|
109
121
|
methods: {
|
|
122
|
+
closeAndReset () {
|
|
123
|
+
this.reset()
|
|
124
|
+
this.$emit('close')
|
|
125
|
+
this.toggleModal()
|
|
126
|
+
},
|
|
127
|
+
|
|
110
128
|
emitAndClose () {
|
|
111
129
|
if (this.editAltTextOnly) {
|
|
112
130
|
this.$emit('add-alt', this.altText)
|
|
113
131
|
} else if (this.fileUrl) {
|
|
114
132
|
this.$emit('insert-image', this.fileUrl, this.altText)
|
|
115
133
|
}
|
|
116
|
-
|
|
134
|
+
|
|
135
|
+
this.closeAndReset()
|
|
117
136
|
},
|
|
118
137
|
|
|
119
|
-
|
|
138
|
+
reset () {
|
|
120
139
|
this.altText = ''
|
|
121
140
|
this.fileUrl = ''
|
|
122
141
|
this.editAltTextOnly = false
|
|
123
|
-
this.$emit('close')
|
|
124
|
-
this.toggleModal()
|
|
125
142
|
},
|
|
126
143
|
|
|
127
144
|
setFile ({ hash }) {
|
|
@@ -131,13 +148,10 @@ export default {
|
|
|
131
148
|
},
|
|
132
149
|
|
|
133
150
|
toggleModal (data) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (willCloseModal) {
|
|
137
|
-
this.$refs.uploader.clearFilesList()
|
|
138
|
-
} else if (data) {
|
|
151
|
+
if (data) {
|
|
139
152
|
this.editAltTextOnly = data.editAltOnly
|
|
140
153
|
this.altText = data.currentAlt
|
|
154
|
+
this.imgSrc = data.imgSrc
|
|
141
155
|
}
|
|
142
156
|
|
|
143
157
|
this.$refs.uploadModal.toggle()
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div
|
|
3
|
+
:data-cy="dataCy"
|
|
4
|
+
ref="fileInput" />
|
|
3
5
|
</template>
|
|
4
6
|
|
|
5
7
|
<script>
|
|
@@ -56,6 +58,12 @@ export default {
|
|
|
56
58
|
required: false
|
|
57
59
|
},
|
|
58
60
|
|
|
61
|
+
dataCy: {
|
|
62
|
+
type: String,
|
|
63
|
+
required: false,
|
|
64
|
+
default: 'upload'
|
|
65
|
+
},
|
|
66
|
+
|
|
59
67
|
/**
|
|
60
68
|
* Maximum file size in bytes for each individual file
|
|
61
69
|
*/
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
:basic-auth="basicAuth"
|
|
17
17
|
:chunk-size="chunkSize"
|
|
18
18
|
:class="[prefixClass('layout__item u-1-of-1-palm'), prefixClass(sideBySide ? 'u-1-of-2' : 'u-1-of-1')]"
|
|
19
|
+
:data-cy="dataCy"
|
|
19
20
|
:max-number-of-files="maxNumberOfFiles"
|
|
20
21
|
:max-file-size="maxFileSize"
|
|
21
22
|
:translations="translations"
|
|
@@ -92,6 +93,12 @@ export default {
|
|
|
92
93
|
required: false
|
|
93
94
|
},
|
|
94
95
|
|
|
96
|
+
dataCy: {
|
|
97
|
+
type: String,
|
|
98
|
+
required: false,
|
|
99
|
+
default: 'uploadFile'
|
|
100
|
+
},
|
|
101
|
+
|
|
95
102
|
/**
|
|
96
103
|
* Use to conditionally validate a required upload field
|
|
97
104
|
* "required" and "needsHiddenInput" need to be set to true in that case
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" width="164" height="164">
|
|
2
|
+
<svg width="164" height="164" viewBox="0 0 164 164" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M22.467 147.762 17.5 15.402a8.062 8.062 0 0 1 7.553-8.35L137.637.016a8.061 8.061 0 0 1 8.565 8.047v144.23a8.063 8.063 0 0 1-8.424 8.054l-107.615-4.833a8.062 8.062 0 0 1-7.695-7.752Z" fill="#FF4785"></path>
|
|
4
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="m128.785.57-15.495.968-.755 18.172a1.203 1.203 0 0 0 1.928 1.008l7.06-5.354 5.962 4.697a1.202 1.202 0 0 0 1.946-.987L128.785.569Zm-12.059 60.856c-2.836 2.203-23.965 3.707-23.965.57.447-11.969-4.912-12.494-7.889-12.494-2.828 0-7.59.855-7.59 7.267 0 6.534 6.96 10.223 15.13 14.553 11.607 6.15 25.654 13.594 25.654 32.326 0 17.953-14.588 27.871-33.194 27.871-19.201 0-35.981-7.769-34.086-34.702.744-3.163 25.156-2.411 25.156 0-.298 11.114 2.232 14.383 8.633 14.383 4.912 0 7.144-2.708 7.144-7.267 0-6.9-7.252-10.973-15.595-15.657C64.827 81.933 51.53 74.468 51.53 57.34c0-17.098 11.76-28.497 32.747-28.497 20.988 0 32.449 11.224 32.449 32.584Z" fill="#fff"></path>
|
|
5
|
+
</svg>
|
|
6
|
+
<style>@media (prefers-color-scheme: light) { :root { filter: none; } }</style>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
|
|
6
|
+
<title>@storybook/cli - Storybook</title>
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
|
|
11
|
+
|
|
12
|
+
<link
|
|
13
|
+
rel="prefetch"
|
|
14
|
+
href="./sb-common-assets/nunito-sans-regular.woff2"
|
|
15
|
+
as="font"
|
|
16
|
+
type="font/woff2"
|
|
17
|
+
crossorigin
|
|
18
|
+
/>
|
|
19
|
+
<link
|
|
20
|
+
rel="prefetch"
|
|
21
|
+
href="./sb-common-assets/nunito-sans-bold.woff2"
|
|
22
|
+
as="font"
|
|
23
|
+
type="font/woff2"
|
|
24
|
+
crossorigin
|
|
25
|
+
/>
|
|
26
|
+
<link rel="stylesheet" href="./sb-common-assets/fonts.css" />
|
|
27
|
+
|
|
28
|
+
<link href="./sb-manager/runtime.js" rel="modulepreload" />
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
<link href="./sb-addons/links-0/manager-bundle.js" rel="modulepreload" />
|
|
32
|
+
|
|
33
|
+
<link href="./sb-addons/essentials-controls-1/manager-bundle.js" rel="modulepreload" />
|
|
34
|
+
|
|
35
|
+
<link href="./sb-addons/essentials-actions-2/manager-bundle.js" rel="modulepreload" />
|
|
36
|
+
|
|
37
|
+
<link href="./sb-addons/essentials-backgrounds-3/manager-bundle.js" rel="modulepreload" />
|
|
38
|
+
|
|
39
|
+
<link href="./sb-addons/essentials-viewport-4/manager-bundle.js" rel="modulepreload" />
|
|
40
|
+
|
|
41
|
+
<link href="./sb-addons/essentials-toolbars-5/manager-bundle.js" rel="modulepreload" />
|
|
42
|
+
|
|
43
|
+
<link href="./sb-addons/essentials-measure-6/manager-bundle.js" rel="modulepreload" />
|
|
44
|
+
|
|
45
|
+
<link href="./sb-addons/essentials-outline-7/manager-bundle.js" rel="modulepreload" />
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
<style>
|
|
49
|
+
#storybook-root[hidden] {
|
|
50
|
+
display: none !important;
|
|
51
|
+
}
|
|
52
|
+
</style>
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
</head>
|
|
56
|
+
<body>
|
|
57
|
+
<div id="root"></div>
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
<script>
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
window['FEATURES'] = {
|
|
64
|
+
"warnOnLegacyHierarchySeparator": true,
|
|
65
|
+
"buildStoriesJson": false,
|
|
66
|
+
"storyStoreV7": true,
|
|
67
|
+
"argTypeTargetsV7": true,
|
|
68
|
+
"legacyDecoratorFileOrder": false,
|
|
69
|
+
"disallowImplicitActionsInRenderV8": false
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
window['REFS'] = {};
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
window['LOGLEVEL'] = "info";
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
window['DOCS_OPTIONS'] = {
|
|
83
|
+
"defaultName": "Docs",
|
|
84
|
+
"autodocs": true
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
window['CONFIG_TYPE'] = "PRODUCTION";
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
</script>
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
<script type="module">
|
|
100
|
+
import './sb-manager/runtime.js';
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
import './sb-addons/links-0/manager-bundle.js';
|
|
104
|
+
|
|
105
|
+
import './sb-addons/essentials-controls-1/manager-bundle.js';
|
|
106
|
+
|
|
107
|
+
import './sb-addons/essentials-actions-2/manager-bundle.js';
|
|
108
|
+
|
|
109
|
+
import './sb-addons/essentials-backgrounds-3/manager-bundle.js';
|
|
110
|
+
|
|
111
|
+
import './sb-addons/essentials-viewport-4/manager-bundle.js';
|
|
112
|
+
|
|
113
|
+
import './sb-addons/essentials-toolbars-5/manager-bundle.js';
|
|
114
|
+
|
|
115
|
+
import './sb-addons/essentials-measure-6/manager-bundle.js';
|
|
116
|
+
|
|
117
|
+
import './sb-addons/essentials-outline-7/manager-bundle.js';
|
|
118
|
+
|
|
119
|
+
</script>
|
|
120
|
+
|
|
121
|
+
<link href="./sb-preview/runtime.js" rel="prefetch" as="script" />
|
|
122
|
+
</body>
|
|
123
|
+
</html>
|