sveltekit-ui 1.1.15 → 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.
Files changed (200) hide show
  1. package/package.json +3 -3
  2. package/src/routes/+page.svelte +24 -0
  3. package/dist/Components/Alert/index.svelte +0 -88
  4. package/dist/Components/Alert/index.svelte.js +0 -101
  5. package/dist/Components/ArrowToggle/index.svelte +0 -62
  6. package/dist/Components/Attachment/index.svelte +0 -77
  7. package/dist/Components/Attachment/index.svelte.js +0 -119
  8. package/dist/Components/Audio/index.svelte +0 -193
  9. package/dist/Components/Audio/index.svelte.js +0 -463
  10. package/dist/Components/AudioEditor/index.svelte +0 -252
  11. package/dist/Components/AudioEditor/index.svelte.js +0 -977
  12. package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  13. package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  14. package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  15. package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  16. package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  17. package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  18. package/dist/Components/AuthCodeInput/index.svelte +0 -85
  19. package/dist/Components/AuthCodeInput/index.svelte.js +0 -95
  20. package/dist/Components/Breadcrumbs/index.svelte +0 -27
  21. package/dist/Components/Breadcrumbs/index.svelte.js +0 -88
  22. package/dist/Components/Button/index.svelte +0 -721
  23. package/dist/Components/Button/index.svelte.js +0 -375
  24. package/dist/Components/Chart/Klines/index.svelte +0 -87
  25. package/dist/Components/Chart/index.svelte +0 -226
  26. package/dist/Components/Chart/index.svelte.js +0 -1090
  27. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +0 -150
  28. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +0 -45
  29. package/dist/Components/ChartInput/DisplayNav/index.svelte +0 -297
  30. package/dist/Components/ChartInput/EditPanel/index.svelte +0 -155
  31. package/dist/Components/ChartInput/index.svelte +0 -21
  32. package/dist/Components/ChartInput/index.svelte.js +0 -671
  33. package/dist/Components/Checkbox/index.svelte +0 -411
  34. package/dist/Components/Checkbox/index.svelte.js +0 -178
  35. package/dist/Components/Code/index.svelte +0 -23
  36. package/dist/Components/Code/index.svelte.js +0 -33
  37. package/dist/Components/Color/index.svelte +0 -51
  38. package/dist/Components/Color/index.svelte.js +0 -31
  39. package/dist/Components/ColorInput/ChromaPicker/index.svelte +0 -50
  40. package/dist/Components/ColorInput/ColorPalette/index.svelte +0 -62
  41. package/dist/Components/ColorInput/OpacityPicker/index.svelte +0 -68
  42. package/dist/Components/ColorInput/ShowcasePicker/index.svelte +0 -136
  43. package/dist/Components/ColorInput/index.svelte +0 -70
  44. package/dist/Components/ColorInput/index.svelte.js +0 -386
  45. package/dist/Components/ConditionsInput/index.svelte +0 -46
  46. package/dist/Components/ConditionsInput/index.svelte.js +0 -201
  47. package/dist/Components/Confetti/index.svelte +0 -98
  48. package/dist/Components/Confetti/index.svelte.js +0 -94
  49. package/dist/Components/Content/index.svelte +0 -500
  50. package/dist/Components/Content/index.svelte.js +0 -910
  51. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +0 -31
  52. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +0 -258
  53. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +0 -31
  54. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +0 -258
  55. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +0 -58
  56. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +0 -206
  57. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +0 -28
  58. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +0 -224
  59. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +0 -44
  60. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +0 -272
  61. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +0 -41
  62. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -202
  63. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +0 -19
  64. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +0 -117
  65. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +0 -60
  66. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +0 -542
  67. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +0 -47
  68. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +0 -185
  69. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +0 -35
  70. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +0 -222
  71. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +0 -20
  72. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +0 -84
  73. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +0 -25
  74. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +0 -91
  75. package/dist/Components/ContentInput/AttributesInput/index.svelte +0 -352
  76. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +0 -1436
  77. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +0 -64
  78. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +0 -97
  79. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +0 -184
  80. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +0 -41
  81. package/dist/Components/ContentInput/index.svelte +0 -78
  82. package/dist/Components/ContentInput/index.svelte.js +0 -1197
  83. package/dist/Components/CronInput/index.svelte +0 -78
  84. package/dist/Components/CronInput/index.svelte.js +0 -198
  85. package/dist/Components/DataTypeInput/index.svelte +0 -174
  86. package/dist/Components/DataTypeInput/index.svelte.js +0 -565
  87. package/dist/Components/Dropdown/index.svelte +0 -116
  88. package/dist/Components/Dropdown/index.svelte.js +0 -403
  89. package/dist/Components/EmailAddress/index.svelte +0 -22
  90. package/dist/Components/EmailAddress/index.svelte.js +0 -45
  91. package/dist/Components/ErrorX/index.svelte +0 -58
  92. package/dist/Components/Eye/index.svelte +0 -57
  93. package/dist/Components/FileInput/index.svelte +0 -146
  94. package/dist/Components/FileInput/index.svelte.js +0 -225
  95. package/dist/Components/Hamburger/index.svelte +0 -99
  96. package/dist/Components/HorizScrollBox/index.svelte +0 -145
  97. package/dist/Components/Icon/index.svelte +0 -412
  98. package/dist/Components/Icon/index.svelte.js +0 -116
  99. package/dist/Components/IconInput/index.svelte +0 -77
  100. package/dist/Components/IconInput/index.svelte.js +0 -259
  101. package/dist/Components/Image/index.svelte +0 -126
  102. package/dist/Components/Image/index.svelte.js +0 -116
  103. package/dist/Components/ImageEditor/Image/CropBox/index.svelte +0 -165
  104. package/dist/Components/ImageEditor/Image/index.svelte +0 -104
  105. package/dist/Components/ImageEditor/Panels/AI/index.svelte +0 -44
  106. package/dist/Components/ImageEditor/Panels/Crop/index.svelte +0 -96
  107. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +0 -124
  108. package/dist/Components/ImageEditor/Panels/File/index.svelte +0 -74
  109. package/dist/Components/ImageEditor/Panels/Filters/index.svelte +0 -46
  110. package/dist/Components/ImageEditor/Panels/Resize/index.svelte +0 -58
  111. package/dist/Components/ImageEditor/index.svelte +0 -93
  112. package/dist/Components/ImageEditor/index.svelte.js +0 -1961
  113. package/dist/Components/ImageSlider/index.svelte +0 -124
  114. package/dist/Components/ImageSlider/index.svelte.js +0 -99
  115. package/dist/Components/InfoBox/index.svelte +0 -89
  116. package/dist/Components/Json/Nested/index.svelte +0 -157
  117. package/dist/Components/Json/index.svelte +0 -60
  118. package/dist/Components/Json/index.svelte.js +0 -594
  119. package/dist/Components/LabeledItem/index.svelte +0 -102
  120. package/dist/Components/Layout/NavBar/FullNav/index.svelte +0 -52
  121. package/dist/Components/Layout/NavBar/NavGuts/index.svelte +0 -87
  122. package/dist/Components/Layout/NavBar/index.svelte +0 -72
  123. package/dist/Components/Layout/index.svelte +0 -149
  124. package/dist/Components/Layout/index.svelte.js +0 -360
  125. package/dist/Components/Link/index.svelte +0 -47
  126. package/dist/Components/Link/index.svelte.js +0 -136
  127. package/dist/Components/LoadingSuccessDiv/index.svelte +0 -51
  128. package/dist/Components/LoadingWheel/index.svelte +0 -38
  129. package/dist/Components/Location/index.svelte +0 -79
  130. package/dist/Components/Location/index.svelte.js +0 -288
  131. package/dist/Components/LocationInput/index.svelte +0 -197
  132. package/dist/Components/LocationInput/index.svelte.js +0 -965
  133. package/dist/Components/Number/index.svelte +0 -47
  134. package/dist/Components/Number/index.svelte.js +0 -151
  135. package/dist/Components/PhoneCountryCode/index.svelte +0 -7
  136. package/dist/Components/PhoneCountryCode/index.svelte.js +0 -260
  137. package/dist/Components/PhoneNumber/index.svelte +0 -22
  138. package/dist/Components/PhoneNumber/index.svelte.js +0 -41
  139. package/dist/Components/Popover/index.svelte +0 -396
  140. package/dist/Components/Popover/index.svelte.js +0 -319
  141. package/dist/Components/Qr/index.svelte +0 -85
  142. package/dist/Components/Qr/index.svelte.js +0 -301
  143. package/dist/Components/QrInput/index.svelte +0 -47
  144. package/dist/Components/QrInput/index.svelte.js +0 -218
  145. package/dist/Components/Slider/index.svelte +0 -239
  146. package/dist/Components/Slider/index.svelte.js +0 -469
  147. package/dist/Components/Spacer/index.svelte +0 -41
  148. package/dist/Components/StoragePicker/DisplayFile/index.svelte +0 -15
  149. package/dist/Components/StoragePicker/index.svelte +0 -187
  150. package/dist/Components/StoragePicker/index.svelte.js +0 -592
  151. package/dist/Components/SuccessCheck/index.svelte +0 -56
  152. package/dist/Components/TableAdvanced/ColumnInput/index.svelte +0 -117
  153. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +0 -456
  154. package/dist/Components/TableAdvanced/FilterInput/index.svelte +0 -54
  155. package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +0 -247
  156. package/dist/Components/TableAdvanced/Pagination/index.svelte +0 -43
  157. package/dist/Components/TableAdvanced/Pagination/index.svelte.js +0 -97
  158. package/dist/Components/TableAdvanced/SortByInput/index.svelte +0 -72
  159. package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +0 -176
  160. package/dist/Components/TableAdvanced/index.svelte +0 -275
  161. package/dist/Components/TableAdvanced/index.svelte.js +0 -1565
  162. package/dist/Components/Tag/index.svelte +0 -45
  163. package/dist/Components/Tag/index.svelte.js +0 -76
  164. package/dist/Components/TextArrayInput/index.svelte +0 -108
  165. package/dist/Components/TextArrayInput/index.svelte.js +0 -239
  166. package/dist/Components/TextInput/PasswordTooltip/index.svelte +0 -89
  167. package/dist/Components/TextInput/index.svelte +0 -223
  168. package/dist/Components/TextInput/index.svelte.js +0 -447
  169. package/dist/Components/Time/index.svelte +0 -7
  170. package/dist/Components/Time/index.svelte.js +0 -38
  171. package/dist/Components/TimeInput/NumberToggler/index.svelte +0 -34
  172. package/dist/Components/TimeInput/NumberToggler/index.svelte.js +0 -79
  173. package/dist/Components/TimeInput/index.js +0 -702
  174. package/dist/Components/TimeInput/index.svelte +0 -211
  175. package/dist/Components/TimeInput/index.svelte.js +0 -638
  176. package/dist/Components/Tooltip/index.svelte +0 -143
  177. package/dist/Components/TransparentBackground/index.svelte +0 -153
  178. package/dist/Components/TypingDots/index.svelte +0 -84
  179. package/dist/Components/VariablePathInput/index.svelte +0 -63
  180. package/dist/Components/VariablePathInput/index.svelte.js +0 -273
  181. package/dist/Components/VideoTBD/index.svelte +0 -100
  182. package/dist/Components/XFollow/index.svelte +0 -42
  183. package/dist/Components/XPost/index.svelte +0 -52
  184. package/dist/Components/XPost/index.svelte.js +0 -64
  185. package/dist/Components/YoutubeChannelButton/index.svelte +0 -82
  186. package/dist/Components/YoutubeVideo/index.svelte +0 -73
  187. package/dist/Components/YoutubeVideo/index.svelte.js +0 -54
  188. package/dist/actions/draggable.js +0 -49
  189. package/dist/actions/index.js +0 -24
  190. package/dist/actions/no_spaces.js +0 -33
  191. package/dist/actions/numbers_only.js +0 -26
  192. package/dist/actions/scroll_y.js +0 -28
  193. package/dist/actions/stop_scroll_propagation_y.js +0 -42
  194. package/dist/actions/swipe_handler.js +0 -295
  195. package/dist/client/astc_formatting/index.js +0 -1128
  196. package/dist/client/docs/index.js +0 -7622
  197. package/dist/client/index.js +0 -735
  198. package/dist/client/types/index.js +0 -2812
  199. package/dist/index.js +0 -180
  200. package/dist/style.css +0 -682
@@ -1,45 +0,0 @@
1
- <script>
2
- import Icon from "../Icon/index.svelte"
3
-
4
- let { manager } = $props()
5
- </script>
6
-
7
- {#if manager?.tag_val}
8
- <div style="display: flex;">
9
- <div
10
- class="tag"
11
- style="
12
- --bg_color: oklch(var(--l6-t) var(--c{manager?.tag_val?.color?.c ?? 16}) var(--h{manager?.tag_val?.color
13
- ?.h}) / var(--o4));
14
- --border_color: oklch(var(--l6-t) var(--c{manager?.tag_val?.color?.c ?? 16}) var(--h{manager?.tag_val?.color
15
- ?.h}) / var(--o8));"
16
- >
17
- {#if manager?.tag_val?.display_text}
18
- <p
19
- style="color: oklch(var(--l5-t) var(--c{manager?.tag_val?.color?.c ?? 4}) var(--h{manager?.tag_val?.color
20
- ?.h}));"
21
- >
22
- {manager?.tag_val?.display_text ?? ""}
23
- </p>
24
- {/if}
25
- {#if manager?.tag_val?.icon}
26
- <Icon manager={manager?.icon_manager} />
27
- {/if}
28
- </div>
29
- </div>
30
- {/if}
31
-
32
- <style>
33
- .tag {
34
- display: flex;
35
- flex: 0;
36
- gap: 1rem;
37
- align-items: center;
38
- border-radius: 1rem;
39
- border: 1px solid var(--border_color);
40
- background-color: var(--bg_color);
41
- font-size: 1.4rem;
42
- min-height: 3rem;
43
- padding: 0.1rem 0.8rem;
44
- }
45
- </style>
@@ -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>