sveltekit-ui 1.1.16 → 1.1.17
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/package.json +1 -1
- package/dist/Components/ArrowToggle/index.svelte +0 -62
- package/dist/Components/Attachment/index.svelte +0 -77
- package/dist/Components/Attachment/index.svelte.js +0 -119
- package/dist/Components/AudioEditor/index.svelte +0 -252
- package/dist/Components/AudioEditor/index.svelte.js +0 -977
- package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
- package/dist/Components/Breadcrumbs/index.svelte +0 -27
- package/dist/Components/Breadcrumbs/index.svelte.js +0 -88
- package/dist/Components/Chart/Klines/index.svelte +0 -87
- package/dist/Components/Chart/index.svelte +0 -226
- package/dist/Components/Chart/index.svelte.js +0 -1090
- package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +0 -150
- package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +0 -45
- package/dist/Components/ChartInput/DisplayNav/index.svelte +0 -297
- package/dist/Components/ChartInput/EditPanel/index.svelte +0 -155
- package/dist/Components/ChartInput/index.svelte +0 -21
- package/dist/Components/ChartInput/index.svelte.js +0 -671
- package/dist/Components/Color/index.svelte +0 -51
- package/dist/Components/Color/index.svelte.js +0 -31
- package/dist/Components/ColorInput/ChromaPicker/index.svelte +0 -50
- package/dist/Components/ColorInput/ColorPalette/index.svelte +0 -62
- package/dist/Components/ColorInput/OpacityPicker/index.svelte +0 -68
- package/dist/Components/ColorInput/ShowcasePicker/index.svelte +0 -136
- package/dist/Components/ColorInput/index.svelte +0 -70
- package/dist/Components/ColorInput/index.svelte.js +0 -386
- package/dist/Components/ConditionsInput/index.svelte +0 -46
- package/dist/Components/ConditionsInput/index.svelte.js +0 -201
- package/dist/Components/Confetti/index.svelte +0 -98
- package/dist/Components/Confetti/index.svelte.js +0 -94
- package/dist/Components/Content/index.svelte +0 -500
- package/dist/Components/Content/index.svelte.js +0 -910
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +0 -31
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +0 -258
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +0 -31
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +0 -258
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +0 -58
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +0 -206
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +0 -28
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +0 -224
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +0 -44
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +0 -272
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +0 -41
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -202
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +0 -19
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +0 -117
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +0 -60
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +0 -542
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +0 -47
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +0 -185
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +0 -35
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +0 -222
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +0 -20
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +0 -84
- package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +0 -25
- package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +0 -91
- package/dist/Components/ContentInput/AttributesInput/index.svelte +0 -352
- package/dist/Components/ContentInput/AttributesInput/index.svelte.js +0 -1436
- package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +0 -64
- package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +0 -97
- package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +0 -184
- package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +0 -41
- package/dist/Components/ContentInput/index.svelte +0 -78
- package/dist/Components/ContentInput/index.svelte.js +0 -1197
- package/dist/Components/CronInput/index.svelte +0 -78
- package/dist/Components/CronInput/index.svelte.js +0 -198
- package/dist/Components/DataTypeInput/index.svelte +0 -174
- package/dist/Components/DataTypeInput/index.svelte.js +0 -565
- package/dist/Components/Dropdown/index.svelte +0 -116
- package/dist/Components/Dropdown/index.svelte.js +0 -403
- package/dist/Components/ErrorX/index.svelte +0 -58
- package/dist/Components/FileInput/index.svelte +0 -146
- package/dist/Components/FileInput/index.svelte.js +0 -225
- package/dist/Components/Hamburger/index.svelte +0 -99
- package/dist/Components/HorizScrollBox/index.svelte +0 -145
- package/dist/Components/IconInput/index.svelte +0 -77
- package/dist/Components/IconInput/index.svelte.js +0 -259
- package/dist/Components/Image/index.svelte +0 -126
- package/dist/Components/Image/index.svelte.js +0 -116
- package/dist/Components/ImageEditor/Image/CropBox/index.svelte +0 -165
- package/dist/Components/ImageEditor/Image/index.svelte +0 -104
- package/dist/Components/ImageEditor/Panels/AI/index.svelte +0 -44
- package/dist/Components/ImageEditor/Panels/Crop/index.svelte +0 -96
- package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +0 -124
- package/dist/Components/ImageEditor/Panels/File/index.svelte +0 -74
- package/dist/Components/ImageEditor/Panels/Filters/index.svelte +0 -46
- package/dist/Components/ImageEditor/Panels/Resize/index.svelte +0 -58
- package/dist/Components/ImageEditor/index.svelte +0 -93
- package/dist/Components/ImageEditor/index.svelte.js +0 -1961
- package/dist/Components/ImageSlider/index.svelte +0 -124
- package/dist/Components/ImageSlider/index.svelte.js +0 -99
- package/dist/Components/Json/Nested/index.svelte +0 -157
- package/dist/Components/LabeledItem/index.svelte +0 -102
- package/dist/Components/Layout/NavBar/FullNav/index.svelte +0 -52
- package/dist/Components/Layout/NavBar/NavGuts/index.svelte +0 -87
- package/dist/Components/Layout/NavBar/index.svelte +0 -72
- package/dist/Components/Layout/index.svelte +0 -149
- package/dist/Components/Layout/index.svelte.js +0 -360
- package/dist/Components/LoadingWheel/index.svelte +0 -38
- package/dist/Components/LocationInput/index.svelte +0 -197
- package/dist/Components/LocationInput/index.svelte.js +0 -965
- package/dist/Components/Number/index.svelte +0 -47
- package/dist/Components/Number/index.svelte.js +0 -151
- package/dist/Components/PhoneCountryCode/index.svelte +0 -7
- package/dist/Components/PhoneCountryCode/index.svelte.js +0 -260
- package/dist/Components/Popover/index.svelte +0 -396
- package/dist/Components/Popover/index.svelte.js +0 -319
- package/dist/Components/Spacer/index.svelte +0 -41
- package/dist/Components/StoragePicker/DisplayFile/index.svelte +0 -15
- package/dist/Components/StoragePicker/index.svelte +0 -187
- package/dist/Components/StoragePicker/index.svelte.js +0 -592
- package/dist/Components/TableAdvanced/ColumnInput/index.svelte +0 -117
- package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +0 -456
- package/dist/Components/TableAdvanced/FilterInput/index.svelte +0 -54
- package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +0 -247
- package/dist/Components/TableAdvanced/Pagination/index.svelte +0 -43
- package/dist/Components/TableAdvanced/Pagination/index.svelte.js +0 -97
- package/dist/Components/TableAdvanced/SortByInput/index.svelte +0 -72
- package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +0 -176
- package/dist/Components/Tag/index.svelte +0 -45
- package/dist/Components/Tag/index.svelte.js +0 -76
- package/dist/Components/TextArrayInput/index.svelte +0 -108
- package/dist/Components/TextArrayInput/index.svelte.js +0 -239
- package/dist/Components/TextInput/PasswordTooltip/index.svelte +0 -89
- package/dist/Components/TimeInput/NumberToggler/index.svelte +0 -34
- package/dist/Components/TimeInput/NumberToggler/index.svelte.js +0 -79
- package/dist/Components/TimeInput/index.js +0 -702
- package/dist/Components/TimeInput/index.svelte +0 -211
- package/dist/Components/TimeInput/index.svelte.js +0 -638
- package/dist/Components/Tooltip/index.svelte +0 -143
- package/dist/Components/TransparentBackground/index.svelte +0 -153
- package/dist/Components/TypingDots/index.svelte +0 -84
- package/dist/Components/VariablePathInput/index.svelte +0 -63
- package/dist/Components/VariablePathInput/index.svelte.js +0 -273
- package/dist/Components/XFollow/index.svelte +0 -42
- package/dist/Components/YoutubeChannelButton/index.svelte +0 -82
- package/dist/Components/YoutubeVideo/index.svelte +0 -73
- package/dist/Components/YoutubeVideo/index.svelte.js +0 -54
- package/dist/actions/draggable.js +0 -49
- package/dist/actions/index.js +0 -24
- package/dist/actions/no_spaces.js +0 -33
- package/dist/actions/numbers_only.js +0 -26
- package/dist/actions/scroll_y.js +0 -28
- package/dist/actions/stop_scroll_propagation_y.js +0 -42
- package/dist/actions/swipe_handler.js +0 -295
- package/dist/client/astc_formatting/index.js +0 -1128
- package/dist/client/docs/index.js +0 -7622
- package/dist/client/index.js +0 -735
- package/dist/client/types/index.js +0 -2812
- package/dist/index.js +0 -180
- package/dist/style.css +0 -682
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { create_icon_manager } from "../Icon/index.svelte.js"
|
|
2
|
-
|
|
3
|
-
export function create_tag_manager(config) {
|
|
4
|
-
let val = $state(null)
|
|
5
|
-
let is_dynamic = $state(false)
|
|
6
|
-
let tag_options = $state(null)
|
|
7
|
-
let data_type = $state(null)
|
|
8
|
-
let icon_manager = $state(null)
|
|
9
|
-
|
|
10
|
-
let tag_val = $derived(get_tag_val())
|
|
11
|
-
|
|
12
|
-
function set_tag_options(input) {
|
|
13
|
-
let tag_options_loc = []
|
|
14
|
-
if (Array.isArray(input)) {
|
|
15
|
-
for (let tag_option_input of input) {
|
|
16
|
-
tag_options_loc.push({
|
|
17
|
-
...tag_option_input, // can fix to clean later
|
|
18
|
-
})
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
tag_options = tag_options_loc
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function set_val(input) {
|
|
25
|
-
val = input
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function get_tag_val() {
|
|
29
|
-
if (!is_dynamic) {
|
|
30
|
-
return val
|
|
31
|
-
}
|
|
32
|
-
if (Array.isArray(tag_options)) {
|
|
33
|
-
for (let tag_option of tag_options) {
|
|
34
|
-
if (is_match(tag_option?.match_for, val)) {
|
|
35
|
-
return tag_option
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return null
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function init(config) {
|
|
43
|
-
val = config?.val
|
|
44
|
-
data_type = config?.data_type
|
|
45
|
-
is_dynamic = !!config?.is_dynamic
|
|
46
|
-
icon_manager = create_icon_manager({
|
|
47
|
-
icon_id: () => tag_val?.icon,
|
|
48
|
-
color: "oklch(var(--l10-t) var(--c{manager?.tag_val?.color?.c ?? 11}) var(--h{manager?.tag_val?.color?.h}))",
|
|
49
|
-
size: 1.6,
|
|
50
|
-
sw: 50,
|
|
51
|
-
})
|
|
52
|
-
set_tag_options(config?.tag_options)
|
|
53
|
-
}
|
|
54
|
-
init(config)
|
|
55
|
-
|
|
56
|
-
return {
|
|
57
|
-
get val() {
|
|
58
|
-
return val
|
|
59
|
-
},
|
|
60
|
-
get tag_val() {
|
|
61
|
-
return tag_val
|
|
62
|
-
},
|
|
63
|
-
get tag_options() {
|
|
64
|
-
return tag_options
|
|
65
|
-
},
|
|
66
|
-
get data_type() {
|
|
67
|
-
return data_type
|
|
68
|
-
},
|
|
69
|
-
get icon_manager() {
|
|
70
|
-
return icon_manager
|
|
71
|
-
},
|
|
72
|
-
init,
|
|
73
|
-
set_tag_options,
|
|
74
|
-
set_val,
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import Button from "../Button/index.svelte"
|
|
3
|
-
import Popover from "../Popover/index.svelte"
|
|
4
|
-
import TextInput from "../TextInput/index.svelte"
|
|
5
|
-
|
|
6
|
-
let { manager } = $props()
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
{#snippet text_array_input()}
|
|
10
|
-
{#if manager?.label || manager?.error_message}
|
|
11
|
-
<div>
|
|
12
|
-
{#if manager?.label}
|
|
13
|
-
<p class="label">{manager?.label}:</p>
|
|
14
|
-
{/if}
|
|
15
|
-
{#if manager?.error_message}
|
|
16
|
-
<p class="error_text">{manager?.error_message}</p>
|
|
17
|
-
{/if}
|
|
18
|
-
</div>
|
|
19
|
-
{/if}
|
|
20
|
-
<div
|
|
21
|
-
style="margin-left: {manager?.ml}rem; margin-right: {manager?.mr}rem; margin-top: {manager?.mt}rem; margin-bottom: {manager?.mb}rem; --br: {manager?.border_radius}rem;"
|
|
22
|
-
>
|
|
23
|
-
<div class="input_container">
|
|
24
|
-
<TextInput manager={manager?.input_text_manager} />
|
|
25
|
-
<div class="plus">
|
|
26
|
-
<Button manager={manager?.add_button_manager} />
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
{#if Array.isArray(manager?.val) && manager?.val.length > 0}
|
|
30
|
-
<div class="list_items_container">
|
|
31
|
-
{#each manager?.val as item, i}
|
|
32
|
-
<div class="list_item">
|
|
33
|
-
<div class="display_item" class:is_disabled={manager?.is_disabled}>
|
|
34
|
-
<p>{item}</p>
|
|
35
|
-
</div>
|
|
36
|
-
<div style="display: flex; flex-wrap: 1; margin-left: .5rem; margin-right: .3rem; gap: .5rem;">
|
|
37
|
-
{#if i > 0}
|
|
38
|
-
<Button manager={manager?.val_prepped?.[i]?.left_button_manager} />
|
|
39
|
-
{/if}
|
|
40
|
-
{#if i < manager?.val?.length - 1}
|
|
41
|
-
<Button manager={manager?.val_prepped?.[i]?.right_button_manager} />
|
|
42
|
-
{/if}
|
|
43
|
-
<Button manager={manager?.val_prepped?.[i]?.delete_button_manager} />
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
{/each}
|
|
47
|
-
</div>
|
|
48
|
-
{/if}
|
|
49
|
-
</div>
|
|
50
|
-
{/snippet}
|
|
51
|
-
|
|
52
|
-
{#if !manager?.is_popover}
|
|
53
|
-
{@render text_array_input()}
|
|
54
|
-
{:else}
|
|
55
|
-
<Popover manager={manager.popover_manager}>
|
|
56
|
-
{#snippet content()}
|
|
57
|
-
{@render text_array_input()}
|
|
58
|
-
{/snippet}
|
|
59
|
-
{#snippet footer()}
|
|
60
|
-
<Button manager={manager?.finish_button_manager} />
|
|
61
|
-
{/snippet}
|
|
62
|
-
</Popover>
|
|
63
|
-
{/if}
|
|
64
|
-
|
|
65
|
-
<style>
|
|
66
|
-
.input_container {
|
|
67
|
-
position: relative;
|
|
68
|
-
display: flex;
|
|
69
|
-
flex-direction: column;
|
|
70
|
-
}
|
|
71
|
-
.is_disabled {
|
|
72
|
-
color: var(--g12-t);
|
|
73
|
-
}
|
|
74
|
-
.plus {
|
|
75
|
-
position: absolute;
|
|
76
|
-
top: 50%;
|
|
77
|
-
right: 1rem;
|
|
78
|
-
transform: translateY(-50%);
|
|
79
|
-
user-select: none;
|
|
80
|
-
height: 1.5rem;
|
|
81
|
-
width: 1.5rem;
|
|
82
|
-
z-index: 2;
|
|
83
|
-
display: flex;
|
|
84
|
-
justify-content: center;
|
|
85
|
-
align-items: center;
|
|
86
|
-
}
|
|
87
|
-
.list_items_container {
|
|
88
|
-
display: flex;
|
|
89
|
-
flex-wrap: wrap;
|
|
90
|
-
gap: 0.5rem;
|
|
91
|
-
margin-top: .6rem;
|
|
92
|
-
}
|
|
93
|
-
.list_item {
|
|
94
|
-
display: flex;
|
|
95
|
-
align-items: center;
|
|
96
|
-
border: 2px solid var(--shadow2-t);
|
|
97
|
-
border-radius: var(--br);
|
|
98
|
-
background-color: var(--shadow2-t);
|
|
99
|
-
justify-content: space-between;
|
|
100
|
-
padding: 0.2rem 0 0.2rem 1rem;
|
|
101
|
-
}
|
|
102
|
-
.display_item {
|
|
103
|
-
max-width: 100%;
|
|
104
|
-
overflow: scroll;
|
|
105
|
-
word-wrap: break-word;
|
|
106
|
-
text-align: start;
|
|
107
|
-
}
|
|
108
|
-
</style>
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
import { create_unique_id, set_closurable } from "../../client/index.js"
|
|
2
|
-
import { create_text_input_manager } from "../TextInput/index.svelte.js"
|
|
3
|
-
import { create_button_manager } from "../Button/index.svelte.js"
|
|
4
|
-
import { create_popover_manager } from "../Popover/index.svelte.js"
|
|
5
|
-
|
|
6
|
-
export function create_text_array_input_manager(config) {
|
|
7
|
-
let id = create_unique_id(null, 20)
|
|
8
|
-
let val = $state(null)
|
|
9
|
-
let input_text_manager = $state(null)
|
|
10
|
-
let add_button_manager = $state(null)
|
|
11
|
-
let val_prepped = $state(null)
|
|
12
|
-
|
|
13
|
-
let ml = $derived(set_closurable(config?.ml, 0))
|
|
14
|
-
let mr = $derived(set_closurable(config?.mr, 0))
|
|
15
|
-
let mt = $derived(set_closurable(config?.mt, 0))
|
|
16
|
-
let mb = $derived(set_closurable(config?.mb, 0))
|
|
17
|
-
let name = $derived(set_closurable(config?.name, "textarray"))
|
|
18
|
-
let border_radius = $derived(set_closurable(config?.border_radius, 1))
|
|
19
|
-
let is_no_spaces = $derived(set_closurable(config?.is_no_spaces, false))
|
|
20
|
-
let max_length = $derived(set_closurable(config?.max_length, 255))
|
|
21
|
-
let is_disabled = $derived(set_closurable(config?.is_disabled, null))
|
|
22
|
-
let label = $derived(set_closurable(config?.label, null))
|
|
23
|
-
let placeholder = $derived(set_closurable(config?.placeholder, null))
|
|
24
|
-
let header = $derived(set_closurable(config?.header, "Text Array Input"))
|
|
25
|
-
let is_popover = $derived(set_closurable(config?.is_popover, false))
|
|
26
|
-
let popover_manager = $state(null)
|
|
27
|
-
let finish_button_manager = $state(null)
|
|
28
|
-
|
|
29
|
-
function set_val_prepped() {
|
|
30
|
-
let val_prepped_loc = []
|
|
31
|
-
if (Array.isArray(val)) {
|
|
32
|
-
for (let i = 0; i < val.length; i++) {
|
|
33
|
-
let left_button_manager = create_button_manager({
|
|
34
|
-
type: "outlined",
|
|
35
|
-
is_uniform: true,
|
|
36
|
-
support_icon: "arrow",
|
|
37
|
-
icon_deg: 270,
|
|
38
|
-
l: 6,
|
|
39
|
-
c: 1,
|
|
40
|
-
min_height: 2.6,
|
|
41
|
-
border_radius: 0.8,
|
|
42
|
-
is_disabled: () => is_disabled,
|
|
43
|
-
on_click: () => shift_item(i, -1),
|
|
44
|
-
})
|
|
45
|
-
let right_button_manager = create_button_manager({
|
|
46
|
-
type: "outlined",
|
|
47
|
-
is_uniform: true,
|
|
48
|
-
support_icon: "arrow",
|
|
49
|
-
icon_deg: 90,
|
|
50
|
-
l: 6,
|
|
51
|
-
c: 1,
|
|
52
|
-
min_height: 2.6,
|
|
53
|
-
border_radius: 0.8,
|
|
54
|
-
is_disabled: () => is_disabled,
|
|
55
|
-
on_click: () => shift_item(i, 1),
|
|
56
|
-
})
|
|
57
|
-
let delete_button_manager = create_button_manager({
|
|
58
|
-
type: "outlined",
|
|
59
|
-
is_uniform: true,
|
|
60
|
-
support_icon: "x",
|
|
61
|
-
l: 6,
|
|
62
|
-
c: 1,
|
|
63
|
-
min_height: 2.6,
|
|
64
|
-
border_radius: 0.8,
|
|
65
|
-
is_disabled: () => is_disabled,
|
|
66
|
-
on_click: () => delete_item(i),
|
|
67
|
-
})
|
|
68
|
-
val_prepped_loc.push({
|
|
69
|
-
left_button_manager: left_button_manager,
|
|
70
|
-
right_button_manager: right_button_manager,
|
|
71
|
-
delete_button_manager: delete_button_manager,
|
|
72
|
-
})
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
val_prepped = val_prepped_loc
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function add_item() {
|
|
79
|
-
if (!is_disabled) {
|
|
80
|
-
if (input_text_manager?.val) {
|
|
81
|
-
if (!Array.isArray(val)) {
|
|
82
|
-
val = [input_text_manager?.val]
|
|
83
|
-
} else {
|
|
84
|
-
val.push(input_text_manager?.val)
|
|
85
|
-
}
|
|
86
|
-
set_val_prepped()
|
|
87
|
-
input_text_manager.set_val("")
|
|
88
|
-
input_text_manager.set_focus()
|
|
89
|
-
}
|
|
90
|
-
if (config?.on_change) {
|
|
91
|
-
config?.on_change(val)
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function delete_item(index) {
|
|
97
|
-
if (!is_disabled) {
|
|
98
|
-
if (!Array.isArray(val)) {
|
|
99
|
-
val = null
|
|
100
|
-
} else {
|
|
101
|
-
val.splice(index, 1)
|
|
102
|
-
}
|
|
103
|
-
set_val_prepped()
|
|
104
|
-
if (config?.on_change) {
|
|
105
|
-
config?.on_change(val)
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
function shift_item(index, shift_by) {
|
|
110
|
-
if (!is_disabled && Array.isArray(val) && index < val.length && !isNaN(shift_by)) {
|
|
111
|
-
let new_index = index + shift_by
|
|
112
|
-
if (shift_by < 0) {
|
|
113
|
-
if (new_index < 0) {
|
|
114
|
-
new_index = 0
|
|
115
|
-
}
|
|
116
|
-
} else {
|
|
117
|
-
if (new_index >= val.length) {
|
|
118
|
-
new_index = val.length - 1
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
const item = val.splice(index, 1)[0]
|
|
122
|
-
val.splice(new_index, 0, item)
|
|
123
|
-
set_val_prepped()
|
|
124
|
-
if (config?.on_change) {
|
|
125
|
-
config.on_change(val)
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
function set_val(input) {
|
|
131
|
-
val = input
|
|
132
|
-
set_val_prepped()
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function finish() {
|
|
136
|
-
popover_manager.close()
|
|
137
|
-
if (typeof config?.on_finish == "function") {
|
|
138
|
-
config?.on_finish(val)
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
function init(config) {
|
|
143
|
-
val = config?.val ?? null
|
|
144
|
-
input_text_manager = create_text_input_manager({
|
|
145
|
-
placeholder: () => placeholder,
|
|
146
|
-
is_no_spaces: () => is_no_spaces,
|
|
147
|
-
})
|
|
148
|
-
add_button_manager = create_button_manager({
|
|
149
|
-
type: "outlined",
|
|
150
|
-
is_uniform: true,
|
|
151
|
-
support_icon: "plus",
|
|
152
|
-
l: 6,
|
|
153
|
-
c: 1,
|
|
154
|
-
min_height: 2.6,
|
|
155
|
-
mr: 0,
|
|
156
|
-
border_radius: 0.8,
|
|
157
|
-
is_disabled: () => is_disabled || !input_text_manager?.val || input_text_manager?.val.length < 1,
|
|
158
|
-
on_click: () => add_item(),
|
|
159
|
-
})
|
|
160
|
-
popover_manager = create_popover_manager({
|
|
161
|
-
header: () => header,
|
|
162
|
-
min_width: 280,
|
|
163
|
-
target_width: 600,
|
|
164
|
-
min_height: 250,
|
|
165
|
-
target_height: 600,
|
|
166
|
-
type: "center",
|
|
167
|
-
})
|
|
168
|
-
finish_button_manager = create_button_manager({
|
|
169
|
-
text: "Finish",
|
|
170
|
-
mt: 1,
|
|
171
|
-
on_click: () => finish(),
|
|
172
|
-
})
|
|
173
|
-
set_val_prepped()
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
init(config)
|
|
177
|
-
|
|
178
|
-
return {
|
|
179
|
-
id,
|
|
180
|
-
get val() {
|
|
181
|
-
return val
|
|
182
|
-
},
|
|
183
|
-
get name() {
|
|
184
|
-
return name
|
|
185
|
-
},
|
|
186
|
-
get label() {
|
|
187
|
-
return label
|
|
188
|
-
},
|
|
189
|
-
get placeholder() {
|
|
190
|
-
return placeholder
|
|
191
|
-
},
|
|
192
|
-
get is_no_spaces() {
|
|
193
|
-
return is_no_spaces
|
|
194
|
-
},
|
|
195
|
-
get max_length() {
|
|
196
|
-
return max_length
|
|
197
|
-
},
|
|
198
|
-
get is_disabled() {
|
|
199
|
-
return is_disabled
|
|
200
|
-
},
|
|
201
|
-
get border_radius() {
|
|
202
|
-
return border_radius
|
|
203
|
-
},
|
|
204
|
-
get ml() {
|
|
205
|
-
return ml
|
|
206
|
-
},
|
|
207
|
-
get mr() {
|
|
208
|
-
return mr
|
|
209
|
-
},
|
|
210
|
-
get mt() {
|
|
211
|
-
return mt
|
|
212
|
-
},
|
|
213
|
-
get mb() {
|
|
214
|
-
return mb
|
|
215
|
-
},
|
|
216
|
-
get input_text_manager() {
|
|
217
|
-
return input_text_manager
|
|
218
|
-
},
|
|
219
|
-
get add_button_manager() {
|
|
220
|
-
return add_button_manager
|
|
221
|
-
},
|
|
222
|
-
get val_prepped() {
|
|
223
|
-
return val_prepped
|
|
224
|
-
},
|
|
225
|
-
get is_popover() {
|
|
226
|
-
return is_popover
|
|
227
|
-
},
|
|
228
|
-
get popover_manager() {
|
|
229
|
-
return popover_manager
|
|
230
|
-
},
|
|
231
|
-
get finish_button_manager() {
|
|
232
|
-
return finish_button_manager
|
|
233
|
-
},
|
|
234
|
-
add_item,
|
|
235
|
-
delete_item,
|
|
236
|
-
shift_item,
|
|
237
|
-
set_val,
|
|
238
|
-
}
|
|
239
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
let {
|
|
3
|
-
password_min_length = null,
|
|
4
|
-
is_password_requires_lowercase = false,
|
|
5
|
-
is_password_requires_uppercase = false,
|
|
6
|
-
is_password_requires_number = false,
|
|
7
|
-
is_password_requires_special_char = false,
|
|
8
|
-
val = null,
|
|
9
|
-
} = $props()
|
|
10
|
-
|
|
11
|
-
let contains_lowercase_letter = $derived(val ? val.toUpperCase() != val : false)
|
|
12
|
-
let contains_uppercase_letter = $derived(val ? val.toLowerCase() != val : false)
|
|
13
|
-
let contains_number = $derived(val ? /[0-9]/.test(val) : false)
|
|
14
|
-
let contains_special_char = $derived(val ? /[!-\/:-@[-`{-~]/.test(val) : false)
|
|
15
|
-
let is_password_long_enough = $derived(val ? val.length > password_min_length : false)
|
|
16
|
-
|
|
17
|
-
let is_password_standard_met = $derived(
|
|
18
|
-
(!is_password_requires_lowercase || (is_password_requires_lowercase && contains_lowercase_letter)) &&
|
|
19
|
-
(!is_password_requires_uppercase || (is_password_requires_uppercase && contains_uppercase_letter)) &&
|
|
20
|
-
(!is_password_requires_special_char || (is_password_requires_special_char && contains_special_char)) &&
|
|
21
|
-
(!is_password_requires_number || (is_password_requires_number && contains_number)) &&
|
|
22
|
-
is_password_long_enough
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
let is_show_password_tip = $derived(val ? val.length > 0 && !is_password_standard_met : false)
|
|
26
|
-
</script>
|
|
27
|
-
|
|
28
|
-
{#snippet check_x(is_check)}
|
|
29
|
-
<div class="icon_frame" style="--color1: var(--primary-t); --color2: var(--g6-t);">
|
|
30
|
-
{#if is_check}
|
|
31
|
-
<svg id="check" class="svg_cover" data-name="check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
32
|
-
<path fill="none" stroke="var(--color1)" stroke-width="75" d="M432.4 116.9L177.5 371.7l-104-104" />
|
|
33
|
-
</svg>
|
|
34
|
-
{:else}
|
|
35
|
-
<svg id="x" class="svg_cover" data-name="x" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
36
|
-
<path fill="none" stroke="var(--color2)" stroke-width="75" d="M75 437L437 75M75 75l362 362" />
|
|
37
|
-
</svg>
|
|
38
|
-
{/if}
|
|
39
|
-
</div>
|
|
40
|
-
{/snippet}
|
|
41
|
-
|
|
42
|
-
{#if is_show_password_tip}
|
|
43
|
-
<div class="password_guide">
|
|
44
|
-
<div class="check_container">
|
|
45
|
-
{@render check_x(contains_lowercase_letter)}
|
|
46
|
-
<p class="label">Lowercase Letter</p>
|
|
47
|
-
</div>
|
|
48
|
-
<div class="check_container">
|
|
49
|
-
{@render check_x(contains_uppercase_letter)}
|
|
50
|
-
<p class="label">Uppercase Letter</p>
|
|
51
|
-
</div>
|
|
52
|
-
<div class="check_container">
|
|
53
|
-
{@render check_x(contains_number)}
|
|
54
|
-
<p class="label">Number</p>
|
|
55
|
-
</div>
|
|
56
|
-
<div class="check_container">
|
|
57
|
-
{@render check_x(contains_special_char)}
|
|
58
|
-
<p class="label">Special Character</p>
|
|
59
|
-
</div>
|
|
60
|
-
<div class="check_container">
|
|
61
|
-
{@render check_x(is_password_long_enough)}
|
|
62
|
-
<p class="label">8 characters or more</p>
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
65
|
-
{/if}
|
|
66
|
-
|
|
67
|
-
<style>
|
|
68
|
-
.password_guide {
|
|
69
|
-
margin-left: 0.5rem;
|
|
70
|
-
}
|
|
71
|
-
.check_container {
|
|
72
|
-
display: flex;
|
|
73
|
-
align-items: center;
|
|
74
|
-
}
|
|
75
|
-
.label {
|
|
76
|
-
margin-left: 0.3rem;
|
|
77
|
-
font-size: 1.4rem;
|
|
78
|
-
line-height: 1.6rem;
|
|
79
|
-
}
|
|
80
|
-
.icon_frame {
|
|
81
|
-
width: 1.1rem;
|
|
82
|
-
height: 1.1rem;
|
|
83
|
-
display: flex;
|
|
84
|
-
align-items: center;
|
|
85
|
-
}
|
|
86
|
-
.svg_cover {
|
|
87
|
-
width: 100%;
|
|
88
|
-
}
|
|
89
|
-
</style>
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import TextInput from "../../TextInput/index.svelte"
|
|
3
|
-
import Button from "../../Button/index.svelte"
|
|
4
|
-
|
|
5
|
-
let { manager } = $props()
|
|
6
|
-
</script>
|
|
7
|
-
|
|
8
|
-
<div class="segment">
|
|
9
|
-
<div style="width: 100%;">
|
|
10
|
-
<Button manager={manager?.number_plus_one_button_manager} />
|
|
11
|
-
</div>
|
|
12
|
-
<p class="time_text">{manager?.label}</p>
|
|
13
|
-
<TextInput manager={manager?.number_text_input_manager} />
|
|
14
|
-
<div style="width: 100%;">
|
|
15
|
-
<Button manager={manager?.number_minus_one_button_manager} />
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
<style>
|
|
20
|
-
.segment {
|
|
21
|
-
display: flex;
|
|
22
|
-
flex: 1;
|
|
23
|
-
flex-direction: column;
|
|
24
|
-
align-items: center;
|
|
25
|
-
justify-content: center;
|
|
26
|
-
border: 1px solid var(--shadow2-t);
|
|
27
|
-
border-radius: 1rem;
|
|
28
|
-
margin: 0.1rem;
|
|
29
|
-
}
|
|
30
|
-
.time_text {
|
|
31
|
-
font-size: 1.2rem;
|
|
32
|
-
color: var(--g8-t);
|
|
33
|
-
}
|
|
34
|
-
</style>
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { create_text_input_manager } from "../../TextInput/index.svelte.js"
|
|
2
|
-
import { create_button_manager } from "../../Button/index.svelte.js"
|
|
3
|
-
|
|
4
|
-
export function create_number_toggler(config) {
|
|
5
|
-
let number_plus_one_button_manager = $state(null)
|
|
6
|
-
let number_minus_one_button_manager = $state(null)
|
|
7
|
-
let number_text_input_manager = $state(null)
|
|
8
|
-
let label = $state(null)
|
|
9
|
-
|
|
10
|
-
function handle_change(input) {
|
|
11
|
-
if (typeof config?.on_change == "function") {
|
|
12
|
-
config?.on_change(input)
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function set_val(input) {
|
|
17
|
-
if (input != number_text_input_manager?.val) {
|
|
18
|
-
number_text_input_manager?.set_val(input)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function init(config) {
|
|
23
|
-
label = config?.label
|
|
24
|
-
number_plus_one_button_manager = create_button_manager({
|
|
25
|
-
type: "soft",
|
|
26
|
-
support_icon: "arrow",
|
|
27
|
-
icon_pos: "center",
|
|
28
|
-
min_height: 2.4,
|
|
29
|
-
pt: 0,
|
|
30
|
-
g_base: 8,
|
|
31
|
-
icon_sw: 40,
|
|
32
|
-
on_click: () =>
|
|
33
|
-
number_text_input_manager.set_val(
|
|
34
|
-
Number.isInteger(number_text_input_manager?.val) ? number_text_input_manager?.val + 1 : 0
|
|
35
|
-
),
|
|
36
|
-
})
|
|
37
|
-
number_minus_one_button_manager = create_button_manager({
|
|
38
|
-
type: "soft",
|
|
39
|
-
support_icon: "arrow",
|
|
40
|
-
icon_pos: "center",
|
|
41
|
-
icon_deg: 180,
|
|
42
|
-
min_height: 2.4,
|
|
43
|
-
pt: 0,
|
|
44
|
-
g_base: 8,
|
|
45
|
-
icon_sw: 40,
|
|
46
|
-
on_click: () =>
|
|
47
|
-
number_text_input_manager.set_val(
|
|
48
|
-
Number.isInteger(number_text_input_manager?.val) ? number_text_input_manager?.val - 1 : 0
|
|
49
|
-
),
|
|
50
|
-
})
|
|
51
|
-
number_text_input_manager = create_text_input_manager({
|
|
52
|
-
type: "number",
|
|
53
|
-
placeholder: "-",
|
|
54
|
-
val: config?.val,
|
|
55
|
-
on_change: (input) => handle_change(input),
|
|
56
|
-
})
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
init(config)
|
|
60
|
-
|
|
61
|
-
return {
|
|
62
|
-
get val() {
|
|
63
|
-
return number_text_input_manager?.val
|
|
64
|
-
},
|
|
65
|
-
get label() {
|
|
66
|
-
return label
|
|
67
|
-
},
|
|
68
|
-
get number_plus_one_button_manager() {
|
|
69
|
-
return number_plus_one_button_manager
|
|
70
|
-
},
|
|
71
|
-
get number_minus_one_button_manager() {
|
|
72
|
-
return number_minus_one_button_manager
|
|
73
|
-
},
|
|
74
|
-
get number_text_input_manager() {
|
|
75
|
-
return number_text_input_manager
|
|
76
|
-
},
|
|
77
|
-
set_val,
|
|
78
|
-
}
|
|
79
|
-
}
|