fluent-svelte-extra 1.8.0 → 1.8.2
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.
|
@@ -21,26 +21,35 @@
|
|
|
21
21
|
inline-size: 540px;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
&-container {
|
|
26
26
|
@include flex($direction: row, $align: start);
|
|
27
27
|
#close-button {
|
|
28
28
|
@include flex($direction: column, $align: center, $justify: center);
|
|
29
|
+
color: var(--text-primary);
|
|
29
30
|
top: 0;
|
|
30
31
|
margin-inline-start: 8px;
|
|
31
|
-
block-size:
|
|
32
|
-
inline-size:
|
|
32
|
+
block-size: 48px;
|
|
33
|
+
inline-size: 48px;
|
|
34
|
+
padding: 0;
|
|
33
35
|
border-radius: var(--overlay-corner-radius);
|
|
34
|
-
outline: none;
|
|
35
36
|
border: 1px solid var(--surface-stroke-default);
|
|
36
37
|
background-clip: padding-box;
|
|
37
38
|
background-color: var(--control-on-image-fill-default);
|
|
38
|
-
transition: background-color var(--control-fast-duration)
|
|
39
|
+
transition: background-color var(--control-fast-duration)
|
|
40
|
+
var(--control-fast-out-slow-in-easing),
|
|
41
|
+
color var(--control-fast-duration) var(--control-fast-out-slow-in-easing);
|
|
39
42
|
&:hover {
|
|
40
43
|
background-color: var(--control-on-image-fill-secondary);
|
|
41
|
-
}
|
|
44
|
+
}
|
|
45
|
+
&:active {
|
|
42
46
|
background-color: var(--control-on-image-fill-tertiary);
|
|
43
47
|
}
|
|
48
|
+
&.disabled {
|
|
49
|
+
pointer-events: none;
|
|
50
|
+
color: var(--text-disabled);
|
|
51
|
+
background-color: var(--control-on-image-fill-default) !important;
|
|
52
|
+
}
|
|
44
53
|
}
|
|
45
54
|
}
|
|
46
55
|
|
|
@@ -34,6 +34,7 @@ export let footerElement = null;
|
|
|
34
34
|
const forwardEvents = createEventForwarder(get_current_component(), [
|
|
35
35
|
"open",
|
|
36
36
|
"close",
|
|
37
|
+
"closeByButton",
|
|
37
38
|
"backdropclick",
|
|
38
39
|
"backdropmousedown"
|
|
39
40
|
]);
|
|
@@ -52,6 +53,12 @@ function mountDialog(node) {
|
|
|
52
53
|
function close() {
|
|
53
54
|
open = false;
|
|
54
55
|
}
|
|
56
|
+
function closeByButton() {
|
|
57
|
+
if (closable) {
|
|
58
|
+
close();
|
|
59
|
+
dispatch("closeByButton");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
55
62
|
function handleEscapeKey({ key }) {
|
|
56
63
|
if (key === "Escape" && open && closable)
|
|
57
64
|
close();
|
|
@@ -104,7 +111,13 @@ function handleEscapeKey({ key }) {
|
|
|
104
111
|
{/if}
|
|
105
112
|
</div>
|
|
106
113
|
{#if closeButton}
|
|
107
|
-
<button
|
|
114
|
+
<button
|
|
115
|
+
id="close-button"
|
|
116
|
+
aria-label="Close dialog"
|
|
117
|
+
tabindex="0"
|
|
118
|
+
class:disabled={!closable}
|
|
119
|
+
on:click={closeByButton}
|
|
120
|
+
>
|
|
108
121
|
<svg
|
|
109
122
|
aria-hidden="true"
|
|
110
123
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -124,4 +137,4 @@ function handleEscapeKey({ key }) {
|
|
|
124
137
|
</div>
|
|
125
138
|
{/if}
|
|
126
139
|
|
|
127
|
-
<style >.content-dialog{-webkit-animation:dialog-inner var(--fds-control-fast-duration) var(--fds-control-fast-out-slow-in-easing);animation:dialog-inner var(--fds-control-fast-duration) var(--fds-control-fast-out-slow-in-easing);background-clip:padding-box;background-color:var(--fds-solid-background-base);border:1px solid var(--fds-surface-stroke-default);border-radius:var(--fds-overlay-corner-radius);box-shadow:var(--fds-dialog-shadow);box-sizing:border-box;max-inline-size:calc(100% - 24px);overflow:hidden}.content-dialog.size-min{inline-size:320px}.content-dialog.size-standard{inline-size:448px}.content-dialog.size-max{inline-size:540px}.content-dialog-container{align-items:flex-start;display:flex;flex-direction:row}.content-dialog-container #close-button{-webkit-margin-start:8px;align-items:center;background-clip:padding-box;background-color:var(--fds-control-on-image-fill-default);block-size:
|
|
140
|
+
<style >.content-dialog{-webkit-animation:dialog-inner var(--fds-control-fast-duration) var(--fds-control-fast-out-slow-in-easing);animation:dialog-inner var(--fds-control-fast-duration) var(--fds-control-fast-out-slow-in-easing);background-clip:padding-box;background-color:var(--fds-solid-background-base);border:1px solid var(--fds-surface-stroke-default);border-radius:var(--fds-overlay-corner-radius);box-shadow:var(--fds-dialog-shadow);box-sizing:border-box;max-inline-size:calc(100% - 24px);overflow:hidden}.content-dialog.size-min{inline-size:320px}.content-dialog.size-standard{inline-size:448px}.content-dialog.size-max{inline-size:540px}.content-dialog-container{align-items:flex-start;display:flex;flex-direction:row}.content-dialog-container #close-button{-webkit-margin-start:8px;align-items:center;background-clip:padding-box;background-color:var(--fds-control-on-image-fill-default);block-size:48px;border:1px solid var(--fds-surface-stroke-default);border-radius:var(--fds-overlay-corner-radius);color:var(--fds-text-primary);display:flex;flex-direction:column;inline-size:48px;justify-content:center;margin-inline-start:8px;padding:0;top:0;transition:background-color var(--fds-control-fast-duration) var(--fds-control-fast-out-slow-in-easing),color var(--fds-control-fast-duration) var(--fds-control-fast-out-slow-in-easing)}.content-dialog-container #close-button:hover{background-color:var(--fds-control-on-image-fill-secondary)}.content-dialog-container #close-button:active{background-color:var(--fds-control-on-image-fill-tertiary)}.content-dialog-container #close-button.disabled{background-color:var(--fds-control-on-image-fill-default)!important;color:var(--fds-text-disabled);pointer-events:none}.content-dialog-smoke{align-items:center;block-size:100%;display:flex;flex-direction:column;inline-size:100%;inset-block-start:0;inset-inline-start:0;justify-content:center;position:fixed;z-index:101}.content-dialog-smoke.darken{background-color:var(--fds-smoke-background-default)}.content-dialog :global(.content-dialog-title){color:var(--fds-text-primary);display:block;margin-bottom:12px}.content-dialog-body,.content-dialog-footer{padding:24px}.content-dialog-body{background-color:var(--fds-layer-background-default);color:var(--fds-text-primary);font-family:var(--fds-font-family-text);font-size:var(--fds-body-font-size);font-weight:400;line-height:20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.content-dialog-footer{grid-gap:8px;-webkit-border-before:1px solid var(--fds-card-stroke-default);border-block-start:1px solid var(--fds-card-stroke-default);display:grid;grid-auto-flow:column;grid-auto-rows:1fr;white-space:nowrap}.content-dialog-footer>:global(.button:only-child){inline-size:50%;justify-self:end}</style>
|
package/TextArea/TextArea.scss
CHANGED
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
min-block-size: 30px;
|
|
17
17
|
padding: 6px 12px;
|
|
18
18
|
border-radius: var(--control-corner-radius);
|
|
19
|
-
color: var(--text-primary);
|
|
20
19
|
background-color: transparent;
|
|
21
20
|
&:empty:before {
|
|
22
21
|
content: attr(placeholder);
|
|
@@ -53,7 +52,9 @@
|
|
|
53
52
|
background-color: var(--control-fill-secondary);
|
|
54
53
|
}
|
|
55
54
|
&.disabled {
|
|
56
|
-
cursor: default;
|
|
55
|
+
cursor: default !important;
|
|
56
|
+
|
|
57
|
+
color: var(--text-disabled) !important;
|
|
57
58
|
background-color: var(--control-fill-disabled);
|
|
58
59
|
.text-area-underline {
|
|
59
60
|
display: none;
|
package/TextArea/TextArea.svelte
CHANGED
|
@@ -22,13 +22,12 @@ export let textAreaElement = null;
|
|
|
22
22
|
/** Obtains a bound DOM reference to the TextArea's container element. */
|
|
23
23
|
export let containerElement = null;
|
|
24
24
|
const forwardEvents = createEventForwarder(get_current_component());
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
25
|
+
$: {
|
|
26
|
+
if (disabled && containerElement && textAreaElement) {
|
|
27
|
+
containerElement.blur();
|
|
28
|
+
textAreaElement.blur();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
32
31
|
</script>
|
|
33
32
|
|
|
34
33
|
<!--
|
|
@@ -49,39 +48,33 @@ textarea.
|
|
|
49
48
|
<div
|
|
50
49
|
role="textbox"
|
|
51
50
|
{spellcheck}
|
|
52
|
-
contenteditable
|
|
51
|
+
contenteditable
|
|
53
52
|
tabindex={disabled ? -1 : 1}
|
|
54
53
|
bind:this={textAreaElement}
|
|
55
54
|
use:forwardEvents
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
event: "keypress",
|
|
59
|
-
callback: function (e) {
|
|
60
|
-
if (this.innerText.length + 1 > maxLength) e.preventDefault();
|
|
61
|
-
}
|
|
55
|
+
on:keypress={e => {
|
|
56
|
+
if (maxLength != undefined && this.innerText.length + 1 > maxLength) e.preventDefault();
|
|
62
57
|
}}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
event: "paste",
|
|
66
|
-
callback: function (e) {
|
|
67
|
-
const pastedData = e.clipboardData.getData("text");
|
|
68
|
-
const regex = /^[a-zA-Z0-9@ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]+$/;
|
|
58
|
+
on:paste={e => {
|
|
59
|
+
if (includeImages) return;
|
|
69
60
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
61
|
+
const pastedData = e.clipboardData.getData("text");
|
|
62
|
+
const regex = /^[a-zA-Z0-9@ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]+$/;
|
|
73
63
|
|
|
74
|
-
|
|
64
|
+
if (regex.test(pastedData) !== true) {
|
|
65
|
+
e.preventDefault();
|
|
75
66
|
}
|
|
67
|
+
|
|
68
|
+
if (this.innerText.length + pastedData.length > maxLength) e.preventDefault();
|
|
76
69
|
}}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
event: "focus",
|
|
80
|
-
callback: function (e) {
|
|
81
|
-
e.target.blur();
|
|
82
|
-
}
|
|
70
|
+
on:focus={e => {
|
|
71
|
+
if (disabled) e.target.blur();
|
|
83
72
|
}}
|
|
84
|
-
|
|
73
|
+
class="text-area"
|
|
74
|
+
{disabled}
|
|
75
|
+
{readonly}
|
|
76
|
+
{placeholder}
|
|
77
|
+
{...$$restProps}
|
|
85
78
|
bind:innerText={value}
|
|
86
79
|
/>
|
|
87
80
|
<slot />
|
|
@@ -93,4 +86,4 @@ textarea.
|
|
|
93
86
|
/>
|
|
94
87
|
</div>
|
|
95
88
|
|
|
96
|
-
<style >.text-area{background-color:transparent;border:none;border-radius:var(--fds-control-corner-radius);box-sizing:border-box;
|
|
89
|
+
<style >.text-area{background-color:transparent;border:none;border-radius:var(--fds-control-corner-radius);box-sizing:border-box;cursor:unset;flex-grow:1;flex:1 1 auto;font-family:var(--fds-font-family-text);font-size:var(--fds-body-font-size);font-weight:400;inline-size:100%;line-height:20px;margin:0;min-block-size:30px;outline:none;overflow-x:hidden;overflow-y:auto;padding:6px 12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;word-break:break-all}.text-area:empty:before{color:var(--fds-text-secondary);content:attr(placeholder);display:block;pointer-events:none}.text-area::-webkit-search-cancel-button,.text-area::-webkit-search-decoration,.text-area::-webkit-search-results-button,.text-area::-webkit-search-results-decoration{-webkit-appearance:none}.text-area::-ms-reveal{display:none}.text-area:disabled{color:var(--fds-text-disabled)}.text-area:disabled::-moz-placeholder{color:var(--fds-text-disabled)}.text-area:disabled:-ms-input-placeholder{color:var(--fds-text-disabled)}.text-area:disabled::placeholder{color:var(--fds-text-disabled)}.text-area-container{align-items:center;background-clip:padding-box;background-color:var(--fds-control-fill-default);border:1px solid var(--fds-control-stroke-default);border-radius:var(--fds-control-corner-radius);cursor:text;display:flex;inline-size:100%;position:relative}.text-area-container:hover{background-color:var(--fds-control-fill-secondary)}.text-area-container.disabled{background-color:var(--fds-control-fill-disabled);color:var(--fds-text-disabled)!important;cursor:default!important}.text-area-container.disabled .text-area-underline{display:none}.text-area-container:focus-within{background-color:var(--fds-control-fill-input-active)}.text-area-container:focus-within .text-area::-moz-placeholder{color:var(--fds-text-tertiary)}.text-area-container:focus-within .text-area:-ms-input-placeholder{color:var(--fds-text-tertiary)}.text-area-container:focus-within .text-area::placeholder{color:var(--fds-text-tertiary)}.text-area-container:focus-within .text-area-underline:after{border-bottom:2px solid var(--fds-accent-default)}.text-area-container:focus-within :global(.text-area-clear-button){display:flex}.text-area-underline{block-size:calc(100% + 2px);border-radius:var(--fds-control-corner-radius);inline-size:calc(100% + 2px);inset-block-start:-1px;inset-inline-start:-1px;overflow:hidden;pointer-events:none;position:absolute}.text-area-underline:after{block-size:100%;border-bottom:var(--fds-bottom-border);box-sizing:border-box;content:"";inline-size:100%;inset-block-end:0;inset-inline-start:0;position:absolute}.text-area-buttons{align-items:center;cursor:default;display:flex;flex:0 0 auto}.text-area-buttons >:global(.text-area-button){-webkit-margin-start:6px;margin-inline-start:6px}.text-area-buttons >:global(.text-area-button:first-of-type){-webkit-margin-start:0;margin-inline-start:0}.text-area-buttons >:global(.text-area-button:last-of-type){-webkit-margin-end:4px;margin-inline-end:4px}.text-area-buttons :global(.text-area-clear-button){display:none}</style>
|
package/package.json
CHANGED