@likable-hair/svelte 2.0.4 → 2.0.5
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/simple/common/Menu.svelte +19 -18
- package/dist/components/simple/common/Menu.svelte.d.ts +8 -8
- package/dist/components/simple/dialogs/Dialog.svelte +7 -6
- package/dist/components/simple/dialogs/Dialog.svelte.d.ts +5 -5
- package/dist/components/simple/forms/SimpleTextField.svelte +149 -0
- package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +69 -0
- package/dist/components/simple/forms/Textfield.svelte +1 -0
- package/dist/components/simple/notifiers/AlertBanner.svelte +92 -0
- package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +44 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +1 -1
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
fly
|
|
4
4
|
} from "svelte/transition";
|
|
5
|
-
export let
|
|
5
|
+
export let _top = void 0, _left = void 0, _width = "auto", _height = "auto", _maxHeight = void 0, _overflow = "auto", _boxShadow = void 0, _borderRadius = void 0;
|
|
6
|
+
export let open = false, refreshPosition = false, activator = void 0, anchor = "bottom", closeOnClickOutside = false, inAnimation = fly, inAnimationConfig = {
|
|
6
7
|
duration: 100,
|
|
7
8
|
y: 10
|
|
8
9
|
}, outAnimation = fly, outAnimationConfig = {
|
|
@@ -16,24 +17,24 @@ function calculateMenuPosition(params) {
|
|
|
16
17
|
if (anchor == "bottom") {
|
|
17
18
|
let { left: activatorLeft, top: activatorTop } = params.activator.getBoundingClientRect();
|
|
18
19
|
let activatorHeight = params.activator.offsetHeight;
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
_top = activatorTop + window.scrollY + activatorHeight;
|
|
21
|
+
_left = activatorLeft + window.scrollX;
|
|
21
22
|
} else if (anchor == "bottom-center") {
|
|
22
23
|
let { left: activatorLeft, top: activatorTop } = params.activator.getBoundingClientRect();
|
|
23
24
|
let activatorHeight = params.activator.offsetHeight;
|
|
24
25
|
let activatorWidth = params.activator.offsetWidth;
|
|
25
26
|
let menuWidth = params.menuElement.offsetWidth;
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
_top = activatorTop + window.scrollY + activatorHeight;
|
|
28
|
+
_left = activatorLeft + window.scrollX;
|
|
28
29
|
if (menuWidth > activatorWidth) {
|
|
29
|
-
|
|
30
|
+
_left = _left - (menuWidth - activatorWidth) / 2;
|
|
30
31
|
} else {
|
|
31
|
-
|
|
32
|
+
_left = _left + (activatorWidth - menuWidth) / 2;
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
|
-
if (window.innerWidth + window.scrollX < (
|
|
36
|
-
|
|
36
|
+
if (window.innerWidth + window.scrollX < (_left || 0) + (menuElement?.offsetWidth || 0)) {
|
|
37
|
+
_left = Math.max(
|
|
37
38
|
window.innerWidth + window.scrollX - (menuElement?.offsetWidth || 0),
|
|
38
39
|
0
|
|
39
40
|
);
|
|
@@ -64,7 +65,7 @@ $:
|
|
|
64
65
|
zIndex = maxZIndex + 2;
|
|
65
66
|
}
|
|
66
67
|
$:
|
|
67
|
-
if (!!
|
|
68
|
+
if (!!_width && !!activator && !!menuElement) {
|
|
68
69
|
calculateMenuPosition({ activator, menuElement });
|
|
69
70
|
}
|
|
70
71
|
$:
|
|
@@ -104,14 +105,14 @@ $:
|
|
|
104
105
|
data-uid={currentUid}
|
|
105
106
|
style:z-index={zIndex}
|
|
106
107
|
style:position="absolute"
|
|
107
|
-
style:top={
|
|
108
|
-
style:box-shadow={
|
|
109
|
-
style:border-radius={
|
|
110
|
-
style:left={
|
|
111
|
-
style:height
|
|
112
|
-
style:max-height={
|
|
113
|
-
style:width
|
|
114
|
-
style:overflow
|
|
108
|
+
style:top={_top + "px"}
|
|
109
|
+
style:box-shadow={_boxShadow}
|
|
110
|
+
style:border-radius={_borderRadius}
|
|
111
|
+
style:left={_left + "px"}
|
|
112
|
+
style:height={_height}
|
|
113
|
+
style:max-height={_maxHeight}
|
|
114
|
+
style:width={_width}
|
|
115
|
+
style:overflow={_overflow}
|
|
115
116
|
in:inAnimation={inAnimationConfig}
|
|
116
117
|
out:outAnimation={outAnimationConfig}
|
|
117
118
|
>
|
|
@@ -2,16 +2,16 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
import { type FadeParams, type FlyParams, type SlideParams, type TransitionConfig } from "svelte/transition";
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
|
+
_top?: number | undefined;
|
|
6
|
+
_left?: number | undefined;
|
|
7
|
+
_width?: string | undefined;
|
|
8
|
+
_height?: string | undefined;
|
|
9
|
+
_maxHeight?: string | undefined;
|
|
10
|
+
_overflow?: string | undefined;
|
|
11
|
+
_boxShadow?: string | undefined;
|
|
12
|
+
_borderRadius?: string | undefined;
|
|
5
13
|
open?: boolean | undefined;
|
|
6
|
-
top?: number | undefined;
|
|
7
|
-
left?: number | undefined;
|
|
8
|
-
width: string;
|
|
9
|
-
height: string;
|
|
10
|
-
maxHeight?: string | undefined;
|
|
11
|
-
overflow?: string | undefined;
|
|
12
14
|
refreshPosition?: boolean | undefined;
|
|
13
|
-
boxShadow?: string | undefined;
|
|
14
|
-
borderRadius?: string | undefined;
|
|
15
15
|
activator?: HTMLElement | undefined;
|
|
16
16
|
anchor?: "bottom" | "bottom-center" | undefined;
|
|
17
17
|
closeOnClickOutside?: boolean | undefined;
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { BROWSER } from "esm-env";
|
|
3
3
|
import { beforeUpdate, onMount } from "svelte";
|
|
4
4
|
import Keyboarder, {} from "../../../utils/keyboarder";
|
|
5
|
-
export let open = false,
|
|
5
|
+
export let open = false, transition = "fly-up";
|
|
6
|
+
export let _overlayOpacity = "30%", _overlayColor = "#282828", _overlayBackdropFilter = void 0, _transitionTimingFunction = "cubic-bezier(0.075, 0.82, 0.165, 1)", _transitionDuration = "0.5s";
|
|
6
7
|
let zIndex = 50, localOpen = open, dialogElement, teleportedUid = void 0, hasBeenOpened = false;
|
|
7
8
|
onMount(() => {
|
|
8
9
|
if (!teleportedUid) {
|
|
@@ -61,14 +62,14 @@ function handleOverlayClick() {
|
|
|
61
62
|
>
|
|
62
63
|
<div
|
|
63
64
|
data-dialog={localOpen}
|
|
64
|
-
style:--dialog-overlay-opacity={
|
|
65
|
-
style:--dialog-transition-timing-function={
|
|
66
|
-
style:--dialog-transition-duration={
|
|
65
|
+
style:--dialog-overlay-opacity={_overlayOpacity}
|
|
66
|
+
style:--dialog-transition-timing-function={_transitionTimingFunction}
|
|
67
|
+
style:--dialog-transition-duration={_transitionDuration}
|
|
67
68
|
style:--dialog-z-index={zIndex}
|
|
68
69
|
style:display="flex"
|
|
69
70
|
style:align-items="center"
|
|
70
71
|
style:justify-content="space-between"
|
|
71
|
-
style:backdrop-filter={localOpen ?
|
|
72
|
+
style:backdrop-filter={localOpen ? _overlayBackdropFilter : 'none'}
|
|
72
73
|
class="overlay-container"
|
|
73
74
|
class:overlay-container-active={localOpen}
|
|
74
75
|
class:overlay-container-deactive={!localOpen}
|
|
@@ -76,7 +77,7 @@ function handleOverlayClick() {
|
|
|
76
77
|
bind:this={dialogElement}
|
|
77
78
|
>
|
|
78
79
|
<div
|
|
79
|
-
style:background-color={
|
|
80
|
+
style:background-color={_overlayColor}
|
|
80
81
|
class="overlay"
|
|
81
82
|
class:overlay-active={localOpen}
|
|
82
83
|
class:hidden-behind={!localOpen && !hasBeenOpened}
|
|
@@ -2,12 +2,12 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
open?: boolean | undefined;
|
|
5
|
-
overlayOpacity?: string | undefined;
|
|
6
|
-
overlayColor?: string | undefined;
|
|
7
|
-
overlayBackdropFilter?: string | undefined;
|
|
8
5
|
transition?: "fly-down" | "fly-up" | "fly-horizontal" | "scale" | "fade" | undefined;
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
_overlayOpacity?: string | undefined;
|
|
7
|
+
_overlayColor?: string | undefined;
|
|
8
|
+
_overlayBackdropFilter?: string | undefined;
|
|
9
|
+
_transitionTimingFunction?: string | undefined;
|
|
10
|
+
_transitionDuration?: string | undefined;
|
|
11
11
|
};
|
|
12
12
|
events: {
|
|
13
13
|
click: MouseEvent;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<script>import Icon from "../media/Icon.svelte";
|
|
2
|
+
export let _padding = null, _width = null, _height = null, _backgroundColor = null, _borderRadius = null, _boxShadow = null, _focusBackgroundColor = null, _focusBoxShadow = null, _transition = null, _fontSize = null, _fontWeight = null, _outerGap = null, _innerGap = null, _hintFontSize = null, _hintColor = null, _hintMarginLeft = null, _marginBottom = null;
|
|
3
|
+
export let value = void 0, type = "text", placeholder = void 0, disabled = false, readonly = false, appendIcon = void 0, appendInnerIcon = void 0, prependIcon = void 0, prependInnerIcon = void 0, iconSize = 12, hint = void 0;
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<div
|
|
7
|
+
class="textfield-container"
|
|
8
|
+
style:--simple-textfield-padding={_padding}
|
|
9
|
+
style:--simple-textfield-height={_height}
|
|
10
|
+
style:--simple-textfield-width={_width}
|
|
11
|
+
style:--simple-textfield-background-color={_backgroundColor}
|
|
12
|
+
style:--simple-textfield-border-radius={_borderRadius}
|
|
13
|
+
style:--simple-textfield-box-shadow={_boxShadow}
|
|
14
|
+
style:--simple-textfield-focus-background-color={_focusBackgroundColor}
|
|
15
|
+
style:--simple-textfield-focus-box-shadow={_focusBoxShadow}
|
|
16
|
+
style:--simple-textfield-transition={_transition}
|
|
17
|
+
style:--simple-textfield-font-size={_fontSize}
|
|
18
|
+
style:--simple-textfield-font-weight={_fontWeight}
|
|
19
|
+
style:--simple-textfield-outer-gap={_outerGap}
|
|
20
|
+
style:--simple-textfield-inner-gap={_innerGap}
|
|
21
|
+
style:--simple-textfield-hint-font-size={_hintFontSize}
|
|
22
|
+
style:--simple-textfield-hint-color={_hintColor}
|
|
23
|
+
style:--simple-textfield-hint-margin-left={_hintMarginLeft}
|
|
24
|
+
style:--simple-textfield-margin-bottom={_marginBottom}
|
|
25
|
+
>
|
|
26
|
+
<div class="row">
|
|
27
|
+
<slot name="prepend" {prependIcon} {iconSize}>
|
|
28
|
+
{#if !!prependIcon}
|
|
29
|
+
<Icon name={prependIcon} size={iconSize}></Icon>
|
|
30
|
+
{/if}
|
|
31
|
+
</slot>
|
|
32
|
+
<div class="textfield">
|
|
33
|
+
<slot name="prepend-inner" {prependInnerIcon} {iconSize}>
|
|
34
|
+
{#if !!prependInnerIcon}
|
|
35
|
+
<Icon name={prependInnerIcon} size={iconSize}></Icon>
|
|
36
|
+
{/if}
|
|
37
|
+
</slot>
|
|
38
|
+
{#if type == "text"}
|
|
39
|
+
<input
|
|
40
|
+
bind:value={value}
|
|
41
|
+
placeholder={placeholder}
|
|
42
|
+
type="text"
|
|
43
|
+
disabled={disabled}
|
|
44
|
+
readonly={readonly}
|
|
45
|
+
on:change
|
|
46
|
+
on:input
|
|
47
|
+
on:focus
|
|
48
|
+
on:blur
|
|
49
|
+
on:keydown
|
|
50
|
+
on:keypress
|
|
51
|
+
on:keyup
|
|
52
|
+
/>
|
|
53
|
+
{:else if type == "password"}
|
|
54
|
+
<input
|
|
55
|
+
bind:value={value}
|
|
56
|
+
placeholder={placeholder}
|
|
57
|
+
type="password"
|
|
58
|
+
disabled={disabled}
|
|
59
|
+
readonly={readonly}
|
|
60
|
+
on:change
|
|
61
|
+
on:input
|
|
62
|
+
on:focus
|
|
63
|
+
on:blur
|
|
64
|
+
on:keydown
|
|
65
|
+
on:keypress
|
|
66
|
+
on:keyup
|
|
67
|
+
/>
|
|
68
|
+
{:else if type == "number"}
|
|
69
|
+
<input
|
|
70
|
+
bind:value={value}
|
|
71
|
+
placeholder={placeholder}
|
|
72
|
+
type="number"
|
|
73
|
+
disabled={disabled}
|
|
74
|
+
readonly={readonly}
|
|
75
|
+
on:change
|
|
76
|
+
on:input
|
|
77
|
+
on:focus
|
|
78
|
+
on:blur
|
|
79
|
+
on:keydown
|
|
80
|
+
on:keypress
|
|
81
|
+
on:keyup
|
|
82
|
+
/>
|
|
83
|
+
{/if}
|
|
84
|
+
<slot name="append-inner" {appendInnerIcon} {iconSize}>
|
|
85
|
+
{#if !!appendInnerIcon}
|
|
86
|
+
<Icon name={appendInnerIcon} size={iconSize}></Icon>
|
|
87
|
+
{/if}
|
|
88
|
+
</slot>
|
|
89
|
+
</div>
|
|
90
|
+
<slot name="append" {appendIcon} {iconSize}>
|
|
91
|
+
{#if !!appendIcon}
|
|
92
|
+
<Icon name={appendIcon} size={iconSize}></Icon>
|
|
93
|
+
{/if}
|
|
94
|
+
</slot>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="row">
|
|
97
|
+
<slot name="hint">
|
|
98
|
+
{#if !!hint}
|
|
99
|
+
<span class="hint">{hint}</span>
|
|
100
|
+
{/if}
|
|
101
|
+
</slot>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<style>
|
|
106
|
+
.row {
|
|
107
|
+
display: flex;
|
|
108
|
+
align-items: center;
|
|
109
|
+
gap: var(--simple-textfield-outer-gap, 8px);
|
|
110
|
+
margin-bottom: var(--simple-textfield-margin-bottom, 5px);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.row:last-of-type {
|
|
114
|
+
margin-bottom: 0px;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.hint {
|
|
118
|
+
margin-left: var(--simple-textfield-hint-margin-left, 20px);
|
|
119
|
+
font-size: var(--simple-textfield-hint-font-size, 0.75rem);
|
|
120
|
+
color: var(--simple-textfield-hint-color, grey);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.textfield {
|
|
124
|
+
padding: var(--simple-textfield-padding, 0.65rem 1rem 0.65rem 1rem);
|
|
125
|
+
width: var(--simple-textfield-width, 280px);
|
|
126
|
+
height: var(--simple-textfield-height);
|
|
127
|
+
background-color: var(--simple-textfield-background-color, rgb(244 244 245/1));
|
|
128
|
+
border: none;
|
|
129
|
+
border-radius: var(--simple-textfield-border-radius, 9999px);
|
|
130
|
+
box-shadow: var(--simple-textfield-box-shadow, none);
|
|
131
|
+
transition: var(--simple-textfield-transition, 0.2s);
|
|
132
|
+
gap: var(--simple-textfield-inner-gap, 8px);
|
|
133
|
+
display: flex;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.textfield:focus-within {
|
|
137
|
+
background-color: var(--simple-textfield-focus-background-color, var(--simple-textfield-background-color, rgb(244 244 245/1)));
|
|
138
|
+
box-shadow: var(--simple-textfield-focus-box-shadow, rgba(100, 100, 111, 0.4) 0px 4px 25px 0px);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
input {
|
|
142
|
+
outline: none;
|
|
143
|
+
width: 100%;
|
|
144
|
+
background-color: transparent;
|
|
145
|
+
font-size: var(--simple-textfield-font-size, .9rem);
|
|
146
|
+
font-weight: var(--simple-textfield-font-weight, normal);
|
|
147
|
+
border: none
|
|
148
|
+
}
|
|
149
|
+
</style>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
_padding?: string | null | undefined;
|
|
5
|
+
_width?: string | null | undefined;
|
|
6
|
+
_height?: string | null | undefined;
|
|
7
|
+
_backgroundColor?: string | null | undefined;
|
|
8
|
+
_borderRadius?: string | null | undefined;
|
|
9
|
+
_boxShadow?: string | null | undefined;
|
|
10
|
+
_focusBackgroundColor?: string | null | undefined;
|
|
11
|
+
_focusBoxShadow?: string | null | undefined;
|
|
12
|
+
_transition?: string | null | undefined;
|
|
13
|
+
_fontSize?: string | null | undefined;
|
|
14
|
+
_fontWeight?: string | null | undefined;
|
|
15
|
+
_outerGap?: string | null | undefined;
|
|
16
|
+
_innerGap?: string | null | undefined;
|
|
17
|
+
_hintFontSize?: string | null | undefined;
|
|
18
|
+
_hintColor?: string | null | undefined;
|
|
19
|
+
_hintMarginLeft?: string | null | undefined;
|
|
20
|
+
_marginBottom?: string | null | undefined;
|
|
21
|
+
value?: string | number | undefined;
|
|
22
|
+
type?: "number" | "text" | "password" | undefined;
|
|
23
|
+
placeholder?: string | undefined;
|
|
24
|
+
disabled?: boolean | undefined;
|
|
25
|
+
readonly?: boolean | undefined;
|
|
26
|
+
appendIcon?: string | undefined;
|
|
27
|
+
appendInnerIcon?: string | undefined;
|
|
28
|
+
prependIcon?: string | undefined;
|
|
29
|
+
prependInnerIcon?: string | undefined;
|
|
30
|
+
iconSize?: number | undefined;
|
|
31
|
+
hint?: string | undefined;
|
|
32
|
+
};
|
|
33
|
+
events: {
|
|
34
|
+
change: Event;
|
|
35
|
+
input: Event;
|
|
36
|
+
focus: FocusEvent;
|
|
37
|
+
blur: FocusEvent;
|
|
38
|
+
keydown: KeyboardEvent;
|
|
39
|
+
keypress: KeyboardEvent;
|
|
40
|
+
keyup: KeyboardEvent;
|
|
41
|
+
} & {
|
|
42
|
+
[evt: string]: CustomEvent<any>;
|
|
43
|
+
};
|
|
44
|
+
slots: {
|
|
45
|
+
prepend: {
|
|
46
|
+
prependIcon: string | undefined;
|
|
47
|
+
iconSize: number;
|
|
48
|
+
};
|
|
49
|
+
'prepend-inner': {
|
|
50
|
+
prependInnerIcon: string | undefined;
|
|
51
|
+
iconSize: number;
|
|
52
|
+
};
|
|
53
|
+
'append-inner': {
|
|
54
|
+
appendInnerIcon: string | undefined;
|
|
55
|
+
iconSize: number;
|
|
56
|
+
};
|
|
57
|
+
append: {
|
|
58
|
+
appendIcon: string | undefined;
|
|
59
|
+
iconSize: number;
|
|
60
|
+
};
|
|
61
|
+
hint: {};
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export type SimpleTextFieldProps = typeof __propDef.props;
|
|
65
|
+
export type SimpleTextFieldEvents = typeof __propDef.events;
|
|
66
|
+
export type SimpleTextFieldSlots = typeof __propDef.slots;
|
|
67
|
+
export default class SimpleTextField extends SvelteComponentTyped<SimpleTextFieldProps, SimpleTextFieldEvents, SimpleTextFieldSlots> {
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
@@ -5,6 +5,7 @@ import { createId } from "@paralleldrive/cuid2";
|
|
|
5
5
|
import { onMount } from "svelte";
|
|
6
6
|
let inputId = createId(), focused = false, legendWidth = 0, labelElement = void 0;
|
|
7
7
|
onMount(() => {
|
|
8
|
+
console.warn("TextField component is going to be depracated. Please use SimpleTextField instead.");
|
|
8
9
|
if (labelElement) {
|
|
9
10
|
legendWidth = labelElement.offsetWidth * 0.8 + 8;
|
|
10
11
|
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<script>import { createEventDispatcher } from "svelte";
|
|
2
|
+
export let _cursor = "pointer", _bannerColor = "grey", _borderRadius = null, _paddingLeft = null, _paddingRight = null, _paddingTop = null, _paddingBottom = null, _borderWidth = null, _width = null;
|
|
3
|
+
export let title = void 0, description = void 0, disabled = false;
|
|
4
|
+
let dispatch = createEventDispatcher();
|
|
5
|
+
function handleClickEvent(e) {
|
|
6
|
+
if (!disabled)
|
|
7
|
+
dispatch("click", e);
|
|
8
|
+
}
|
|
9
|
+
function handleKeypressEvent(e) {
|
|
10
|
+
if (!disabled)
|
|
11
|
+
dispatch("keypress", e);
|
|
12
|
+
}
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<div
|
|
16
|
+
style:--alert-banner-color={_bannerColor}
|
|
17
|
+
style:--alert-banner-border-radius={_borderRadius}
|
|
18
|
+
style:--alert-banner-padding-left={_paddingLeft}
|
|
19
|
+
style:--alert-banner-padding-right={_paddingRight}
|
|
20
|
+
style:--alert-banner-padding-top={_paddingTop}
|
|
21
|
+
style:--alert-banner-padding-bottom={_paddingBottom}
|
|
22
|
+
style:--alert-banner-border-width={_borderWidth}
|
|
23
|
+
style:width={_width}
|
|
24
|
+
class="alert-banner-container"
|
|
25
|
+
style:cursor={_cursor}
|
|
26
|
+
on:keypress={handleKeypressEvent}
|
|
27
|
+
on:click={handleClickEvent}
|
|
28
|
+
>
|
|
29
|
+
<div
|
|
30
|
+
class="border-colored"
|
|
31
|
+
></div>
|
|
32
|
+
<div class="body">
|
|
33
|
+
<div class="content">
|
|
34
|
+
<slot name="content" title={title} description={description}>
|
|
35
|
+
{#if !!title}
|
|
36
|
+
<slot name="title" title={title}>
|
|
37
|
+
<div class="title">{title}</div>
|
|
38
|
+
</slot>
|
|
39
|
+
{/if}
|
|
40
|
+
{#if !!description}
|
|
41
|
+
<slot name="description" description={description}>
|
|
42
|
+
<div class="description">{description}</div>
|
|
43
|
+
</slot>
|
|
44
|
+
{/if}
|
|
45
|
+
</slot>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="append">
|
|
48
|
+
<slot name="append" disabled={disabled}></slot>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<style>
|
|
54
|
+
.alert-banner-container {
|
|
55
|
+
position: relative;
|
|
56
|
+
box-shadow: 0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important;
|
|
57
|
+
border-radius: var(--alert-banner-border-radius, 5px);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.border-colored {
|
|
61
|
+
background-color: var(--alert-banner-color);
|
|
62
|
+
position: absolute;
|
|
63
|
+
width: var(--alert-banner-border-width, .7rem);
|
|
64
|
+
top: 0px;
|
|
65
|
+
bottom: 0px;
|
|
66
|
+
border-radius: var(--alert-banner-border-radius, 5px) 0px 0px var(--alert-banner-border-radius, 5px);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.body {
|
|
70
|
+
display: flex;
|
|
71
|
+
justify-content: space-between;
|
|
72
|
+
align-items: center;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.content {
|
|
76
|
+
padding-left: var(--alert-banner-padding-left, .5rem);
|
|
77
|
+
padding-top: var(--alert-banner-padding-top, .3rem);
|
|
78
|
+
padding-bottom: var(--alert-banner-padding-bottom, .3rem);
|
|
79
|
+
padding-right: var(--alert-banner-padding-bottom, .3rem);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.title {
|
|
83
|
+
font-weight: 700;
|
|
84
|
+
font-size: 1.2rem;
|
|
85
|
+
padding-left: 10px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.description {
|
|
89
|
+
padding-left: 10px;
|
|
90
|
+
white-space: pre-wrap;
|
|
91
|
+
}
|
|
92
|
+
</style>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
_cursor?: string | undefined;
|
|
5
|
+
_bannerColor?: string | null | undefined;
|
|
6
|
+
_borderRadius?: string | null | undefined;
|
|
7
|
+
_paddingLeft?: string | null | undefined;
|
|
8
|
+
_paddingRight?: string | null | undefined;
|
|
9
|
+
_paddingTop?: string | null | undefined;
|
|
10
|
+
_paddingBottom?: string | null | undefined;
|
|
11
|
+
_borderWidth?: string | null | undefined;
|
|
12
|
+
_width?: string | null | undefined;
|
|
13
|
+
title?: string | undefined;
|
|
14
|
+
description?: string | undefined;
|
|
15
|
+
disabled?: boolean | undefined;
|
|
16
|
+
};
|
|
17
|
+
events: {
|
|
18
|
+
click: CustomEvent<MouseEvent>;
|
|
19
|
+
keypress: CustomEvent<KeyboardEvent>;
|
|
20
|
+
} & {
|
|
21
|
+
[evt: string]: CustomEvent<any>;
|
|
22
|
+
};
|
|
23
|
+
slots: {
|
|
24
|
+
content: {
|
|
25
|
+
title: string | undefined;
|
|
26
|
+
description: string | undefined;
|
|
27
|
+
};
|
|
28
|
+
title: {
|
|
29
|
+
title: string | undefined;
|
|
30
|
+
};
|
|
31
|
+
description: {
|
|
32
|
+
description: string | undefined;
|
|
33
|
+
};
|
|
34
|
+
append: {
|
|
35
|
+
disabled: boolean;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export type AlertBannerProps = typeof __propDef.props;
|
|
40
|
+
export type AlertBannerEvents = typeof __propDef.events;
|
|
41
|
+
export type AlertBannerSlots = typeof __propDef.slots;
|
|
42
|
+
export default class AlertBanner extends SvelteComponentTyped<AlertBannerProps, AlertBannerEvents, AlertBannerSlots> {
|
|
43
|
+
}
|
|
44
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export { default as FileInputList } from './components/simple/forms/FileInputLis
|
|
|
19
19
|
export { default as Switch } from './components/simple/forms/Switch.svelte';
|
|
20
20
|
export { default as Textarea } from './components/simple/forms/Textarea.svelte';
|
|
21
21
|
export { default as Textfield } from './components/simple/forms/Textfield.svelte';
|
|
22
|
+
export { default as SimpleTextField } from './components/simple/forms/SimpleTextField.svelte';
|
|
22
23
|
export { default as VerticalSwitch } from './components/simple/forms/VerticalSwitch.svelte';
|
|
23
24
|
export { default as VerticalTextSwitch } from './components/simple/forms/VerticalTextSwitch.svelte';
|
|
24
25
|
export { default as CircularLoader } from './components/simple/loaders/CircularLoader.svelte';
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,7 @@ export { default as FileInputList } from './components/simple/forms/FileInputLis
|
|
|
19
19
|
export { default as Switch } from './components/simple/forms/Switch.svelte';
|
|
20
20
|
export { default as Textarea } from './components/simple/forms/Textarea.svelte';
|
|
21
21
|
export { default as Textfield } from './components/simple/forms/Textfield.svelte';
|
|
22
|
+
export { default as SimpleTextField } from './components/simple/forms/SimpleTextField.svelte';
|
|
22
23
|
export { default as VerticalSwitch } from './components/simple/forms/VerticalSwitch.svelte';
|
|
23
24
|
export { default as VerticalTextSwitch } from './components/simple/forms/VerticalTextSwitch.svelte';
|
|
24
25
|
export { default as CircularLoader } from './components/simple/loaders/CircularLoader.svelte';
|