@bagelink/vue 1.15.413 → 1.15.417
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/dist/components/FloatingPanel.vue.d.ts +1 -0
- package/dist/components/FloatingPanel.vue.d.ts.map +1 -1
- package/dist/components/Loading.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/Upload/UploadInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/Upload/useFileUpload.d.ts +1 -0
- package/dist/components/form/inputs/Upload/useFileUpload.d.ts.map +1 -1
- package/dist/core.css +1 -1
- package/dist/index.cjs +33 -33
- package/dist/index.css +1 -1
- package/dist/index.mjs +3916 -3901
- package/dist/style.css +1 -1
- package/dist/types/BagelForm.d.ts +2 -0
- package/dist/types/BagelForm.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/FloatingPanel.vue +19 -3
- package/src/components/Loading.vue +25 -62
- package/src/components/form/inputs/RichText/index.vue +54 -36
- package/src/components/form/inputs/Upload/UploadInput.vue +1 -0
- package/src/components/form/inputs/Upload/useFileUpload.ts +7 -0
- package/src/types/BagelForm.ts +2 -0
|
@@ -107,6 +107,8 @@ export interface UploadInputProps extends BagelInputShellProps {
|
|
|
107
107
|
* (e.g. `{ imageURL, imageName, extension, altText }`); it is normalized internally.
|
|
108
108
|
*/
|
|
109
109
|
modelValue?: string | string[] | UploadInputValueObject | (string | UploadInputValueObject)[];
|
|
110
|
+
/** Optional upload handler. When omitted, the shared file-storage uploader is used. */
|
|
111
|
+
upload?: (file: File) => Promise<string>;
|
|
110
112
|
width?: string;
|
|
111
113
|
height?: string | 'auto';
|
|
112
114
|
dirPath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -22,12 +22,15 @@ const {
|
|
|
22
22
|
launcherLabel = '',
|
|
23
23
|
/** Show the floating FAB launcher. Set false to drive open state externally. */
|
|
24
24
|
launcher = true,
|
|
25
|
+
/** Show the panel's controls row. Disable when slotted content owns its header. */
|
|
26
|
+
controls = true,
|
|
25
27
|
/** Start open / controlled open state (v-model:open). */
|
|
26
28
|
open = false,
|
|
27
29
|
} = defineProps<{
|
|
28
30
|
launcherIcon?: string
|
|
29
31
|
launcherLabel?: string
|
|
30
32
|
launcher?: boolean
|
|
33
|
+
controls?: boolean
|
|
31
34
|
open?: boolean
|
|
32
35
|
}>()
|
|
33
36
|
|
|
@@ -48,6 +51,7 @@ defineExpose({
|
|
|
48
51
|
<!-- FAB launcher (hidden while open) -->
|
|
49
52
|
<Btn
|
|
50
53
|
v-if="launcher && !isOpen"
|
|
54
|
+
lg
|
|
51
55
|
color="primary" round :icon="launcherIcon" :value="launcherLabel"
|
|
52
56
|
class="floating-panel-fab fixed bottom-1-5 end-1-5 z-9 shadow"
|
|
53
57
|
@click="setOpen(true)"
|
|
@@ -58,7 +62,7 @@ defineExpose({
|
|
|
58
62
|
<Transition name="floating-panel">
|
|
59
63
|
<div v-show="isOpen" class="floating-panel">
|
|
60
64
|
<div class="floating-panel-box">
|
|
61
|
-
<div class="floating-panel-controls flex align-items-center gap-025 p-025 border-bottom">
|
|
65
|
+
<div v-if="controls" class="floating-panel-controls flex align-items-center gap-025 p-025 border-bottom">
|
|
62
66
|
<slot name="controls" :close="() => setOpen(false)">
|
|
63
67
|
<Btn icon="remove" flat thin size="xs" class="ms-auto" @click="setOpen(false)" />
|
|
64
68
|
</slot>
|
|
@@ -81,11 +85,23 @@ defineExpose({
|
|
|
81
85
|
align-items: flex-end;
|
|
82
86
|
pointer-events: none;
|
|
83
87
|
}
|
|
88
|
+
|
|
89
|
+
.floating-panel-fab:hover {
|
|
90
|
+
transform: scale(1.08);
|
|
91
|
+
}
|
|
92
|
+
.floating-panel-fab:active {
|
|
93
|
+
transform: scale(0.94);
|
|
94
|
+
}
|
|
95
|
+
@media (prefers-reduced-motion: reduce) {
|
|
96
|
+
.floating-panel-fab {
|
|
97
|
+
transition: none;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
84
100
|
.floating-panel-box {
|
|
85
101
|
position: relative;
|
|
86
102
|
pointer-events: auto;
|
|
87
|
-
width: min(
|
|
88
|
-
height: min(90vh,
|
|
103
|
+
width: min(520px, calc(100vw - 2rem));
|
|
104
|
+
height: min(90vh, 720px);
|
|
89
105
|
margin: 1rem;
|
|
90
106
|
border-radius: 12px;
|
|
91
107
|
border: 1px solid var(--bgl-border-color, #e0e0e0);
|
|
@@ -55,9 +55,10 @@ const svgCircumference = computed(() => Math.PI * 2 * svgRadius.value)
|
|
|
55
55
|
<!-- Ellipsis Theme -->
|
|
56
56
|
<template v-if="theme === 'ellipsis'">
|
|
57
57
|
<slot />
|
|
58
|
-
<div
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
<div
|
|
59
|
+
class="lds-ellipsis"
|
|
60
|
+
:style="{ '--size': computedSize, '--animation-duration': animationDuration, color: computedColor }"
|
|
61
|
+
/>
|
|
61
62
|
</template>
|
|
62
63
|
|
|
63
64
|
<!-- Ring Theme -->
|
|
@@ -198,75 +199,37 @@ const svgCircumference = computed(() => Math.PI * 2 * svgRadius.value)
|
|
|
198
199
|
}
|
|
199
200
|
|
|
200
201
|
/* Ellipsis Theme */
|
|
201
|
-
.lds-ellipsis,
|
|
202
|
-
.lds-ellipsis div {
|
|
203
|
-
box-sizing: border-box;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
202
|
.lds-ellipsis {
|
|
207
|
-
display: inline-block;
|
|
208
|
-
position: relative;
|
|
209
203
|
width: var(--size);
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
background: currentColor;
|
|
220
|
-
animation-timing-function: cubic-bezier(0, 1, 1, 0);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
.lds-ellipsis div:nth-child(1) {
|
|
224
|
-
left: calc(var(--size) / 10);
|
|
225
|
-
animation: lds-ellipsis1 0.6s infinite;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
.lds-ellipsis div:nth-child(2) {
|
|
229
|
-
left: calc(var(--size) / 10);
|
|
230
|
-
animation: lds-ellipsis2 0.6s infinite;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
.lds-ellipsis div:nth-child(3) {
|
|
234
|
-
left: calc(var(--size) / 2.5);
|
|
235
|
-
animation: lds-ellipsis2 0.6s infinite;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
.lds-ellipsis div:nth-child(4) {
|
|
239
|
-
left: calc(var(--size) / 1.42);
|
|
240
|
-
animation: lds-ellipsis3 0.6s infinite;
|
|
204
|
+
aspect-ratio: 2;
|
|
205
|
+
--dot: no-repeat radial-gradient(circle closest-side, currentColor 90%, transparent);
|
|
206
|
+
background:
|
|
207
|
+
var(--dot) 0% 50%,
|
|
208
|
+
var(--dot) 50% 50%,
|
|
209
|
+
var(--dot) 100% 50%;
|
|
210
|
+
background-size: calc(100% / 3) 50%;
|
|
211
|
+
animation: bgl-loading-dots var(--animation-duration) infinite linear;
|
|
212
|
+
direction: ltr;
|
|
241
213
|
}
|
|
242
214
|
|
|
243
|
-
@keyframes
|
|
244
|
-
|
|
245
|
-
|
|
215
|
+
@keyframes bgl-loading-dots {
|
|
216
|
+
20% {
|
|
217
|
+
background-position: 0% 0%, 50% 50%, 100% 50%;
|
|
246
218
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
transform: scale(1);
|
|
219
|
+
40% {
|
|
220
|
+
background-position: 0% 100%, 50% 0%, 100% 50%;
|
|
250
221
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
@keyframes lds-ellipsis3 {
|
|
254
|
-
0% {
|
|
255
|
-
transform: scale(1);
|
|
222
|
+
60% {
|
|
223
|
+
background-position: 0% 50%, 50% 100%, 100% 0%;
|
|
256
224
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
transform: scale(0);
|
|
225
|
+
80% {
|
|
226
|
+
background-position: 0% 50%, 50% 50%, 100% 100%;
|
|
260
227
|
}
|
|
261
228
|
}
|
|
262
229
|
|
|
263
|
-
@
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
100% {
|
|
269
|
-
transform: translate(calc(var(--size) / 3.33), 0);
|
|
230
|
+
@media (prefers-reduced-motion: reduce) {
|
|
231
|
+
.lds-ellipsis {
|
|
232
|
+
animation: none;
|
|
270
233
|
}
|
|
271
234
|
}
|
|
272
235
|
</style>
|
|
@@ -5,6 +5,7 @@ import { CodeEditor, copyText, Btn, Dialog, BglVideo, Icon, Card, ColorInput, pa
|
|
|
5
5
|
import { watch, onUnmounted, onBeforeUnmount, onMounted, ref, computed, useAttrs } from 'vue'
|
|
6
6
|
import CheckInput from '../CheckInput.vue'
|
|
7
7
|
import NumberInput from '../NumberInput.vue'
|
|
8
|
+
import SelectBtn from '../SelectBtn.vue'
|
|
8
9
|
import SelectInput from '../SelectInput.vue'
|
|
9
10
|
import TextInput from '../TextInput.vue'
|
|
10
11
|
import UploadInput from '../Upload/UploadInput.vue'
|
|
@@ -3622,44 +3623,48 @@ const imgTransform = computed({
|
|
|
3622
3623
|
<!-- Image Modal -->
|
|
3623
3624
|
<Dialog
|
|
3624
3625
|
:open="showImageModal" :title="pendingImageData?.existingImage ? 'Edit Image' : 'Insert Image'"
|
|
3625
|
-
width="
|
|
3626
|
+
width="l" @update:open="showImageModal = $event"
|
|
3626
3627
|
>
|
|
3627
|
-
<
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3628
|
+
<div class="image-dialog-layout">
|
|
3629
|
+
<UploadInput v-model="imgTransform" label="Image" type="image" @keydown.enter="submitImage" />
|
|
3630
|
+
<div class="flex flex-column gap-05 min-w-0">
|
|
3631
|
+
<TextInput
|
|
3632
|
+
v-model="imageForm.src" label="Image URL" type="url" placeholder="https://example.com/image.jpg"
|
|
3633
|
+
@keydown.enter="submitImage"
|
|
3634
|
+
/>
|
|
3635
|
+
<TextInput v-model="imageForm.alt" label="Alt Text" placeholder="Describe the image" />
|
|
3636
|
+
<div class="flex gap-1">
|
|
3637
|
+
<TextInput
|
|
3638
|
+
v-model="imageForm.width" label="Width" placeholder="100% or 500px or auto"
|
|
3639
|
+
help="Examples: 100%, 500px, auto"
|
|
3640
|
+
/>
|
|
3641
|
+
<TextInput
|
|
3642
|
+
v-model="imageForm.height" label="Height" placeholder="auto or 300px"
|
|
3643
|
+
help="Examples: auto, 300px"
|
|
3644
|
+
/>
|
|
3645
|
+
</div>
|
|
3646
|
+
<SelectBtn
|
|
3647
|
+
v-model="imageForm.align" label="Alignment" :options="[
|
|
3648
|
+
{ value: 'full', label: 'Full width (default)', icon: 'width_full' },
|
|
3649
|
+
{ value: 'start', label: 'Float to start (text wraps)', icon: 'align_horizontal_left' },
|
|
3650
|
+
{ value: 'end', label: 'Float to end (text wraps)', icon: 'align_horizontal_right' },
|
|
3651
|
+
]"
|
|
3652
|
+
icon-only
|
|
3653
|
+
/>
|
|
3654
|
+
<TextInput v-model="imageForm.credit" label="Photo Credit" placeholder="Photographer name (optional)" />
|
|
3655
|
+
<TextInput
|
|
3656
|
+
v-model="imageForm.link" label="Link URL" type="url" placeholder="https://example.com (optional)"
|
|
3657
|
+
help="Make the image clickable by linking it to a URL"
|
|
3658
|
+
/>
|
|
3659
|
+
<CheckInput
|
|
3660
|
+
v-if="imageForm.link" v-model="imageForm.linkNewTab" label="Open link in new tab"
|
|
3661
|
+
/>
|
|
3662
|
+
<CheckInput
|
|
3663
|
+
v-model="imageForm.figcaption" label="Show alt text as caption"
|
|
3664
|
+
help="Photo credit will always be shown if provided"
|
|
3665
|
+
/>
|
|
3666
|
+
</div>
|
|
3642
3667
|
</div>
|
|
3643
|
-
<SelectInput
|
|
3644
|
-
v-model="imageForm.align" label="Alignment" :options="[
|
|
3645
|
-
{ value: 'full', label: 'Full width (default)' },
|
|
3646
|
-
{ value: 'start', label: 'Float to start (text wraps)' },
|
|
3647
|
-
{ value: 'end', label: 'Float to end (text wraps)' },
|
|
3648
|
-
]"
|
|
3649
|
-
help="Full width fills the container. Start/End float the image so text flows alongside."
|
|
3650
|
-
/>
|
|
3651
|
-
<TextInput v-model="imageForm.credit" label="Photo Credit" placeholder="Photographer name (optional)" />
|
|
3652
|
-
<TextInput
|
|
3653
|
-
v-model="imageForm.link" label="Link URL" type="url" placeholder="https://example.com (optional)"
|
|
3654
|
-
help="Make the image clickable by linking it to a URL"
|
|
3655
|
-
/>
|
|
3656
|
-
<CheckInput
|
|
3657
|
-
v-if="imageForm.link" v-model="imageForm.linkNewTab" label="Open link in new tab"
|
|
3658
|
-
/>
|
|
3659
|
-
<CheckInput
|
|
3660
|
-
v-model="imageForm.figcaption" label="Show alt text as caption"
|
|
3661
|
-
help="Photo credit will always be shown if provided"
|
|
3662
|
-
/>
|
|
3663
3668
|
<template #footer>
|
|
3664
3669
|
<div class="flex gap-05 w-100 ">
|
|
3665
3670
|
<Btn value="Cancel" flat thin @click="showImageModal = false" />
|
|
@@ -4001,6 +4006,19 @@ display: flex;
|
|
|
4001
4006
|
gap: 0.5rem;
|
|
4002
4007
|
}
|
|
4003
4008
|
|
|
4009
|
+
.image-dialog-layout {
|
|
4010
|
+
display: grid;
|
|
4011
|
+
grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
|
|
4012
|
+
gap: 1rem;
|
|
4013
|
+
align-items: start;
|
|
4014
|
+
}
|
|
4015
|
+
|
|
4016
|
+
@media (max-width: 910px) {
|
|
4017
|
+
.image-dialog-layout {
|
|
4018
|
+
grid-template-columns: 1fr;
|
|
4019
|
+
}
|
|
4020
|
+
}
|
|
4021
|
+
|
|
4004
4022
|
.content-area,
|
|
4005
4023
|
.preview-area {
|
|
4006
4024
|
flex: 1;
|
|
@@ -10,6 +10,7 @@ interface UseFileUploadProps {
|
|
|
10
10
|
capture?: boolean | 'user' | 'environment'
|
|
11
11
|
disabled?: boolean
|
|
12
12
|
namespace?: string
|
|
13
|
+
upload?: (file: File) => Promise<string>
|
|
13
14
|
onFileQueued?: (files: QueueFile[]) => void
|
|
14
15
|
onChange?: () => void
|
|
15
16
|
}
|
|
@@ -109,6 +110,12 @@ export function useFileUpload(props: UseFileUploadProps = {}) {
|
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
try {
|
|
113
|
+
if (props.upload) {
|
|
114
|
+
const pathKey = await props.upload(file.file)
|
|
115
|
+
pk.value.push(pathKey)
|
|
116
|
+
uploadedPathKeys.push(pathKey)
|
|
117
|
+
continue
|
|
118
|
+
}
|
|
112
119
|
const { data } = await files.upload(file.file, {
|
|
113
120
|
onUploadProgress: (e: ProgressEvent) => {
|
|
114
121
|
file.progress = (e.loaded / e.total) * 100 - 1
|
package/src/types/BagelForm.ts
CHANGED
|
@@ -201,6 +201,8 @@ export interface UploadInputProps extends BagelInputShellProps {
|
|
|
201
201
|
* (e.g. `{ imageURL, imageName, extension, altText }`); it is normalized internally.
|
|
202
202
|
*/
|
|
203
203
|
modelValue?: string | string[] | UploadInputValueObject | (string | UploadInputValueObject)[]
|
|
204
|
+
/** Optional upload handler. When omitted, the shared file-storage uploader is used. */
|
|
205
|
+
upload?: (file: File) => Promise<string>
|
|
204
206
|
width?: string
|
|
205
207
|
height?: string | 'auto'
|
|
206
208
|
dirPath?: string
|