@ibobbyts/svelte-ui-utils 0.2.2 → 0.2.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 +50 -17
- package/dist/{modal → dialog}/ConfirmDialog.svelte +25 -8
- package/dist/{modal → dialog}/ConfirmDialog.svelte.d.ts +11 -2
- package/dist/dialog/ConfirmDialog.svelte.d.ts.map +1 -0
- package/dist/dialog/CsvUploadDialog.svelte +207 -0
- package/dist/dialog/CsvUploadDialog.svelte.d.ts +59 -0
- package/dist/dialog/CsvUploadDialog.svelte.d.ts.map +1 -0
- package/dist/{modal/Modal.svelte → dialog/Dialog.svelte} +37 -15
- package/dist/{modal/Modal.svelte.d.ts → dialog/Dialog.svelte.d.ts} +14 -6
- package/dist/dialog/Dialog.svelte.d.ts.map +1 -0
- package/dist/dialog/ImagePreviewDialog.svelte +75 -0
- package/dist/dialog/ImagePreviewDialog.svelte.d.ts +38 -0
- package/dist/dialog/ImagePreviewDialog.svelte.d.ts.map +1 -0
- package/dist/dialog/InputDialog.svelte +131 -0
- package/dist/dialog/InputDialog.svelte.d.ts +45 -0
- package/dist/dialog/InputDialog.svelte.d.ts.map +1 -0
- package/dist/dialog/PasswordCopyDialog.svelte +95 -0
- package/dist/dialog/PasswordCopyDialog.svelte.d.ts +40 -0
- package/dist/dialog/PasswordCopyDialog.svelte.d.ts.map +1 -0
- package/dist/dialog/index.d.ts +8 -0
- package/dist/dialog/index.d.ts.map +1 -0
- package/dist/dialog/index.js +6 -0
- package/dist/dialog/types.d.ts +4 -0
- package/dist/dialog/types.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/modal/index.d.ts +2 -3
- package/dist/modal/index.d.ts.map +1 -1
- package/dist/modal/index.js +2 -2
- package/dist/style.css +213 -33
- package/package.json +7 -2
- package/dist/modal/ConfirmDialog.svelte.d.ts.map +0 -1
- package/dist/modal/Modal.svelte.d.ts.map +0 -1
- package/dist/modal/types.d.ts +0 -3
- package/dist/modal/types.d.ts.map +0 -1
- /package/dist/{modal → dialog}/types.js +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<svelte:options runes={false} />
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import Dialog from './Dialog.svelte';
|
|
5
|
+
import type { DialogSize } from './types.js';
|
|
6
|
+
|
|
7
|
+
export let open = false;
|
|
8
|
+
export let title = '';
|
|
9
|
+
export let imageUrl = '';
|
|
10
|
+
export let fileName = '';
|
|
11
|
+
export let alt = '';
|
|
12
|
+
export let closeLabel = 'Close dialog';
|
|
13
|
+
export let downloadLabel = 'Download';
|
|
14
|
+
export let size: DialogSize = 'lg';
|
|
15
|
+
export let dismissible = true;
|
|
16
|
+
export let closeOnBackdrop = true;
|
|
17
|
+
export let closeOnEscape = true;
|
|
18
|
+
export let dimBackdrop = true;
|
|
19
|
+
export let blurBackdrop = false;
|
|
20
|
+
export let backdropOpacity: number | string = 0.46;
|
|
21
|
+
export let backdropBlur = '6px';
|
|
22
|
+
export let downloadable = true;
|
|
23
|
+
export let onClose: (() => void) | undefined = undefined;
|
|
24
|
+
|
|
25
|
+
$: resolvedTitle = title || fileName;
|
|
26
|
+
$: resolvedAlt = alt || fileName || title || 'Image preview';
|
|
27
|
+
|
|
28
|
+
function handleDownload() {
|
|
29
|
+
if (!imageUrl || typeof document === 'undefined') {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const link = document.createElement('a');
|
|
34
|
+
link.href = imageUrl;
|
|
35
|
+
link.download = fileName || 'image';
|
|
36
|
+
link.target = '_blank';
|
|
37
|
+
document.body.appendChild(link);
|
|
38
|
+
link.click();
|
|
39
|
+
link.remove();
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<Dialog
|
|
44
|
+
{open}
|
|
45
|
+
title={resolvedTitle}
|
|
46
|
+
{closeLabel}
|
|
47
|
+
{size}
|
|
48
|
+
{dismissible}
|
|
49
|
+
{closeOnBackdrop}
|
|
50
|
+
{closeOnEscape}
|
|
51
|
+
{dimBackdrop}
|
|
52
|
+
{blurBackdrop}
|
|
53
|
+
{backdropOpacity}
|
|
54
|
+
{backdropBlur}
|
|
55
|
+
onClose={onClose}
|
|
56
|
+
>
|
|
57
|
+
<div class="suu-image-preview-dialog">
|
|
58
|
+
{#if imageUrl}
|
|
59
|
+
<img src={imageUrl} alt={resolvedAlt} />
|
|
60
|
+
{/if}
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<svelte:fragment slot="footer">
|
|
64
|
+
{#if downloadable}
|
|
65
|
+
<button
|
|
66
|
+
type="button"
|
|
67
|
+
class="suu-dialog__button suu-dialog__button--primary"
|
|
68
|
+
disabled={!imageUrl}
|
|
69
|
+
on:click={handleDownload}
|
|
70
|
+
>
|
|
71
|
+
{downloadLabel}
|
|
72
|
+
</button>
|
|
73
|
+
{/if}
|
|
74
|
+
</svelte:fragment>
|
|
75
|
+
</Dialog>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { DialogSize } from './types.js';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const ImagePreviewDialog: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
open?: boolean;
|
|
17
|
+
title?: string;
|
|
18
|
+
imageUrl?: string;
|
|
19
|
+
fileName?: string;
|
|
20
|
+
alt?: string;
|
|
21
|
+
closeLabel?: string;
|
|
22
|
+
downloadLabel?: string;
|
|
23
|
+
size?: DialogSize;
|
|
24
|
+
dismissible?: boolean;
|
|
25
|
+
closeOnBackdrop?: boolean;
|
|
26
|
+
closeOnEscape?: boolean;
|
|
27
|
+
dimBackdrop?: boolean;
|
|
28
|
+
blurBackdrop?: boolean;
|
|
29
|
+
backdropOpacity?: number | string;
|
|
30
|
+
backdropBlur?: string;
|
|
31
|
+
downloadable?: boolean;
|
|
32
|
+
onClose?: (() => void) | undefined;
|
|
33
|
+
}, {
|
|
34
|
+
[evt: string]: CustomEvent<any>;
|
|
35
|
+
}, {}, {}, string>;
|
|
36
|
+
type ImagePreviewDialog = InstanceType<typeof ImagePreviewDialog>;
|
|
37
|
+
export default ImagePreviewDialog;
|
|
38
|
+
//# sourceMappingURL=ImagePreviewDialog.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePreviewDialog.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/dialog/ImagePreviewDialog.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA8D7C,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,kBAAkB;;;;;;;;WAVwlB,UAAU;;;;;;sBAA4M,MAAM,GAAG,MAAM;;;cAAoF,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;;;kBAU11B,CAAC;AACtF,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<svelte:options runes={false} />
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import { tick } from 'svelte';
|
|
5
|
+
import Dialog from './Dialog.svelte';
|
|
6
|
+
import type { DialogInputType, DialogSize } from './types.js';
|
|
7
|
+
|
|
8
|
+
export let open = false;
|
|
9
|
+
export let title = 'Input required';
|
|
10
|
+
export let message = '';
|
|
11
|
+
export let inputValue = '';
|
|
12
|
+
export let inputType: DialogInputType = 'text';
|
|
13
|
+
export let inputLabel = '';
|
|
14
|
+
export let placeholder = '';
|
|
15
|
+
export let confirmLabel = 'Confirm';
|
|
16
|
+
export let cancelLabel = 'Cancel';
|
|
17
|
+
export let closeLabel = 'Close dialog';
|
|
18
|
+
export let size: DialogSize = 'sm';
|
|
19
|
+
export let confirmDisabled = false;
|
|
20
|
+
export let cancelDisabled = false;
|
|
21
|
+
export let dismissible = true;
|
|
22
|
+
export let closeOnBackdrop = true;
|
|
23
|
+
export let closeOnEscape = true;
|
|
24
|
+
export let dimBackdrop = true;
|
|
25
|
+
export let blurBackdrop = false;
|
|
26
|
+
export let backdropOpacity: number | string = 0.46;
|
|
27
|
+
export let backdropBlur = '6px';
|
|
28
|
+
export let autofocus = true;
|
|
29
|
+
export let onConfirm: ((value: string) => void | Promise<void>) | undefined = undefined;
|
|
30
|
+
export let onCancel: (() => void) | undefined = undefined;
|
|
31
|
+
export let onClose: (() => void) | undefined = undefined;
|
|
32
|
+
|
|
33
|
+
let inputElement: HTMLInputElement | undefined;
|
|
34
|
+
let inputId = `suu-input-dialog-input-${Math.random().toString(36).slice(2)}`;
|
|
35
|
+
let wasOpen = false;
|
|
36
|
+
|
|
37
|
+
$: if (open && !wasOpen) {
|
|
38
|
+
wasOpen = true;
|
|
39
|
+
void focusInput();
|
|
40
|
+
} else if (!open && wasOpen) {
|
|
41
|
+
wasOpen = false;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async function focusInput() {
|
|
45
|
+
if (!autofocus) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
await tick();
|
|
50
|
+
inputElement?.focus();
|
|
51
|
+
inputElement?.select();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function handleClose() {
|
|
55
|
+
onClose?.();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function handleCancel() {
|
|
59
|
+
onCancel?.();
|
|
60
|
+
onClose?.();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function handleConfirm() {
|
|
64
|
+
if (confirmDisabled) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
void onConfirm?.(inputValue);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function handleInputKeydown(event: KeyboardEvent) {
|
|
72
|
+
if (event.key === 'Enter') {
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
handleConfirm();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
</script>
|
|
78
|
+
|
|
79
|
+
<Dialog
|
|
80
|
+
{open}
|
|
81
|
+
{title}
|
|
82
|
+
{closeLabel}
|
|
83
|
+
{size}
|
|
84
|
+
{dismissible}
|
|
85
|
+
{closeOnBackdrop}
|
|
86
|
+
{closeOnEscape}
|
|
87
|
+
{dimBackdrop}
|
|
88
|
+
{blurBackdrop}
|
|
89
|
+
{backdropOpacity}
|
|
90
|
+
{backdropBlur}
|
|
91
|
+
description={message}
|
|
92
|
+
onClose={handleClose}
|
|
93
|
+
>
|
|
94
|
+
<div class="suu-input-dialog">
|
|
95
|
+
{#if message}
|
|
96
|
+
<p class="suu-input-dialog__message">{message}</p>
|
|
97
|
+
{/if}
|
|
98
|
+
<label class="suu-input-dialog__field" for={inputId}>
|
|
99
|
+
{#if inputLabel}
|
|
100
|
+
<span>{inputLabel}</span>
|
|
101
|
+
{/if}
|
|
102
|
+
<input
|
|
103
|
+
bind:this={inputElement}
|
|
104
|
+
id={inputId}
|
|
105
|
+
type={inputType}
|
|
106
|
+
bind:value={inputValue}
|
|
107
|
+
{placeholder}
|
|
108
|
+
on:keydown={handleInputKeydown}
|
|
109
|
+
/>
|
|
110
|
+
</label>
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<svelte:fragment slot="footer">
|
|
114
|
+
<button
|
|
115
|
+
type="button"
|
|
116
|
+
class="suu-dialog__button"
|
|
117
|
+
disabled={cancelDisabled}
|
|
118
|
+
on:click={handleCancel}
|
|
119
|
+
>
|
|
120
|
+
{cancelLabel}
|
|
121
|
+
</button>
|
|
122
|
+
<button
|
|
123
|
+
type="button"
|
|
124
|
+
class="suu-dialog__button suu-dialog__button--primary"
|
|
125
|
+
disabled={confirmDisabled}
|
|
126
|
+
on:click={handleConfirm}
|
|
127
|
+
>
|
|
128
|
+
{confirmLabel}
|
|
129
|
+
</button>
|
|
130
|
+
</svelte:fragment>
|
|
131
|
+
</Dialog>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { DialogInputType, DialogSize } from './types.js';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const InputDialog: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
open?: boolean;
|
|
17
|
+
title?: string;
|
|
18
|
+
message?: string;
|
|
19
|
+
inputValue?: string;
|
|
20
|
+
inputType?: DialogInputType;
|
|
21
|
+
inputLabel?: string;
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
confirmLabel?: string;
|
|
24
|
+
cancelLabel?: string;
|
|
25
|
+
closeLabel?: string;
|
|
26
|
+
size?: DialogSize;
|
|
27
|
+
confirmDisabled?: boolean;
|
|
28
|
+
cancelDisabled?: boolean;
|
|
29
|
+
dismissible?: boolean;
|
|
30
|
+
closeOnBackdrop?: boolean;
|
|
31
|
+
closeOnEscape?: boolean;
|
|
32
|
+
dimBackdrop?: boolean;
|
|
33
|
+
blurBackdrop?: boolean;
|
|
34
|
+
backdropOpacity?: number | string;
|
|
35
|
+
backdropBlur?: string;
|
|
36
|
+
autofocus?: boolean;
|
|
37
|
+
onConfirm?: ((value: string) => void | Promise<void>) | undefined;
|
|
38
|
+
onCancel?: (() => void) | undefined;
|
|
39
|
+
onClose?: (() => void) | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
[evt: string]: CustomEvent<any>;
|
|
42
|
+
}, {}, {}, string>;
|
|
43
|
+
type InputDialog = InstanceType<typeof InputDialog>;
|
|
44
|
+
export default InputDialog;
|
|
45
|
+
//# sourceMappingURL=InputDialog.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputDialog.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/dialog/InputDialog.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAyG9D,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,WAAW;;;;;gBAVmtB,eAAe;;;;;;WAAiL,UAAU;;;;;;;;sBAA8R,MAAM,GAAG,MAAM;;;gBAAgF,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS;eAAa,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;cAAY,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;;;kBAUz0C,CAAC;AAC/E,KAAK,WAAW,GAAG,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<svelte:options runes={false} />
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import Dialog from './Dialog.svelte';
|
|
5
|
+
import type { DialogSize } from './types.js';
|
|
6
|
+
|
|
7
|
+
export let open = false;
|
|
8
|
+
export let title = 'Copy password';
|
|
9
|
+
export let message = '';
|
|
10
|
+
export let value = '';
|
|
11
|
+
export let valueLabel = 'Password';
|
|
12
|
+
export let copyLabel = 'Copy';
|
|
13
|
+
export let copiedLabel = 'Copied';
|
|
14
|
+
export let doneLabel = 'Done';
|
|
15
|
+
export let closeLabel = 'Close dialog';
|
|
16
|
+
export let size: DialogSize = 'sm';
|
|
17
|
+
export let dismissible = true;
|
|
18
|
+
export let closeOnBackdrop = true;
|
|
19
|
+
export let closeOnEscape = true;
|
|
20
|
+
export let dimBackdrop = true;
|
|
21
|
+
export let blurBackdrop = false;
|
|
22
|
+
export let backdropOpacity: number | string = 0.46;
|
|
23
|
+
export let backdropBlur = '6px';
|
|
24
|
+
export let onClose: (() => void) | undefined = undefined;
|
|
25
|
+
export let onCopy: (() => void | Promise<void>) | undefined = undefined;
|
|
26
|
+
|
|
27
|
+
let copied = false;
|
|
28
|
+
let previousValue = '';
|
|
29
|
+
|
|
30
|
+
$: if (open && value !== previousValue) {
|
|
31
|
+
previousValue = value;
|
|
32
|
+
copied = false;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async function copyValue() {
|
|
36
|
+
if (!value || typeof navigator === 'undefined' || !navigator.clipboard) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
await navigator.clipboard.writeText(value);
|
|
41
|
+
copied = true;
|
|
42
|
+
await onCopy?.();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function handleClose() {
|
|
46
|
+
copied = false;
|
|
47
|
+
onClose?.();
|
|
48
|
+
}
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<Dialog
|
|
52
|
+
{open}
|
|
53
|
+
{title}
|
|
54
|
+
{closeLabel}
|
|
55
|
+
{size}
|
|
56
|
+
{dismissible}
|
|
57
|
+
{closeOnBackdrop}
|
|
58
|
+
{closeOnEscape}
|
|
59
|
+
{dimBackdrop}
|
|
60
|
+
{blurBackdrop}
|
|
61
|
+
{backdropOpacity}
|
|
62
|
+
{backdropBlur}
|
|
63
|
+
onClose={handleClose}
|
|
64
|
+
>
|
|
65
|
+
<div class="suu-password-copy-dialog">
|
|
66
|
+
{#if message}
|
|
67
|
+
<p class="suu-password-copy-dialog__message">{message}</p>
|
|
68
|
+
{/if}
|
|
69
|
+
|
|
70
|
+
<section class="suu-password-copy-dialog__value" aria-label={valueLabel}>
|
|
71
|
+
{#if valueLabel}
|
|
72
|
+
<div class="suu-password-copy-dialog__label">{valueLabel}</div>
|
|
73
|
+
{/if}
|
|
74
|
+
<code class="suu-password-copy-dialog__code">{value}</code>
|
|
75
|
+
</section>
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<svelte:fragment slot="footer">
|
|
79
|
+
<button
|
|
80
|
+
type="button"
|
|
81
|
+
class="suu-dialog__button"
|
|
82
|
+
on:click={handleClose}
|
|
83
|
+
>
|
|
84
|
+
{doneLabel}
|
|
85
|
+
</button>
|
|
86
|
+
<button
|
|
87
|
+
type="button"
|
|
88
|
+
class="suu-dialog__button suu-dialog__button--primary"
|
|
89
|
+
disabled={!value}
|
|
90
|
+
on:click={copyValue}
|
|
91
|
+
>
|
|
92
|
+
{copied ? copiedLabel : copyLabel}
|
|
93
|
+
</button>
|
|
94
|
+
</svelte:fragment>
|
|
95
|
+
</Dialog>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { DialogSize } from './types.js';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const PasswordCopyDialog: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
open?: boolean;
|
|
17
|
+
title?: string;
|
|
18
|
+
message?: string;
|
|
19
|
+
value?: string;
|
|
20
|
+
valueLabel?: string;
|
|
21
|
+
copyLabel?: string;
|
|
22
|
+
copiedLabel?: string;
|
|
23
|
+
doneLabel?: string;
|
|
24
|
+
closeLabel?: string;
|
|
25
|
+
size?: DialogSize;
|
|
26
|
+
dismissible?: boolean;
|
|
27
|
+
closeOnBackdrop?: boolean;
|
|
28
|
+
closeOnEscape?: boolean;
|
|
29
|
+
dimBackdrop?: boolean;
|
|
30
|
+
blurBackdrop?: boolean;
|
|
31
|
+
backdropOpacity?: number | string;
|
|
32
|
+
backdropBlur?: string;
|
|
33
|
+
onClose?: (() => void) | undefined;
|
|
34
|
+
onCopy?: (() => void | Promise<void>) | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
[evt: string]: CustomEvent<any>;
|
|
37
|
+
}, {}, {}, string>;
|
|
38
|
+
type PasswordCopyDialog = InstanceType<typeof PasswordCopyDialog>;
|
|
39
|
+
export default PasswordCopyDialog;
|
|
40
|
+
//# sourceMappingURL=PasswordCopyDialog.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordCopyDialog.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/dialog/PasswordCopyDialog.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA8E7C,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,kBAAkB;;;;;;;;;;WAV0rB,UAAU;;;;;;sBAA4M,MAAM,GAAG,MAAM;;cAAgD,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;aAAW,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS;;;kBAU38B,CAAC;AACtF,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as Dialog } from './Dialog.svelte';
|
|
2
|
+
export { default as ConfirmDialog } from './ConfirmDialog.svelte';
|
|
3
|
+
export { default as InputDialog } from './InputDialog.svelte';
|
|
4
|
+
export { default as CsvUploadDialog } from './CsvUploadDialog.svelte';
|
|
5
|
+
export { default as ImagePreviewDialog } from './ImagePreviewDialog.svelte';
|
|
6
|
+
export { default as PasswordCopyDialog } from './PasswordCopyDialog.svelte';
|
|
7
|
+
export type { ConfirmDialogIntent, DialogInputType, DialogSize } from './types.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as Dialog } from './Dialog.svelte';
|
|
2
|
+
export { default as ConfirmDialog } from './ConfirmDialog.svelte';
|
|
3
|
+
export { default as InputDialog } from './InputDialog.svelte';
|
|
4
|
+
export { default as CsvUploadDialog } from './CsvUploadDialog.svelte';
|
|
5
|
+
export { default as ImagePreviewDialog } from './ImagePreviewDialog.svelte';
|
|
6
|
+
export { default as PasswordCopyDialog } from './PasswordCopyDialog.svelte';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/dialog/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,KAAK,GACL,MAAM,GACN,KAAK,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './toast/index.js';
|
|
2
2
|
export * from './dropdown/index.js';
|
|
3
3
|
export * from './dropdown-search/index.js';
|
|
4
|
-
export * from './
|
|
4
|
+
export * from './dialog/index.js';
|
|
5
5
|
export * from './data-table/index.js';
|
|
6
6
|
export { getUiMessages, resolveUiLanguage, uiLanguages } from './i18n.js';
|
|
7
7
|
export type { UiLanguage, UiMessages } from './i18n.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1E,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './toast/index.js';
|
|
2
2
|
export * from './dropdown/index.js';
|
|
3
3
|
export * from './dropdown-search/index.js';
|
|
4
|
-
export * from './
|
|
4
|
+
export * from './dialog/index.js';
|
|
5
5
|
export * from './data-table/index.js';
|
|
6
6
|
export { getUiMessages, resolveUiLanguage, uiLanguages } from './i18n.js';
|
package/dist/modal/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { default as Modal } from '
|
|
2
|
-
export
|
|
3
|
-
export type { ConfirmDialogIntent, ModalSize } from './types.js';
|
|
1
|
+
export { default as Modal } from '../dialog/Dialog.svelte';
|
|
2
|
+
export * from '../dialog/index.js';
|
|
4
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC3D,cAAc,oBAAoB,CAAC"}
|
package/dist/modal/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as Modal } from '
|
|
2
|
-
export
|
|
1
|
+
export { default as Modal } from '../dialog/Dialog.svelte';
|
|
2
|
+
export * from '../dialog/index.js';
|