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.
Files changed (156) hide show
  1. package/package.json +1 -1
  2. package/dist/Components/ArrowToggle/index.svelte +0 -62
  3. package/dist/Components/Attachment/index.svelte +0 -77
  4. package/dist/Components/Attachment/index.svelte.js +0 -119
  5. package/dist/Components/AudioEditor/index.svelte +0 -252
  6. package/dist/Components/AudioEditor/index.svelte.js +0 -977
  7. package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  8. package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  9. package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  10. package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  11. package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  12. package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  13. package/dist/Components/Breadcrumbs/index.svelte +0 -27
  14. package/dist/Components/Breadcrumbs/index.svelte.js +0 -88
  15. package/dist/Components/Chart/Klines/index.svelte +0 -87
  16. package/dist/Components/Chart/index.svelte +0 -226
  17. package/dist/Components/Chart/index.svelte.js +0 -1090
  18. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +0 -150
  19. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +0 -45
  20. package/dist/Components/ChartInput/DisplayNav/index.svelte +0 -297
  21. package/dist/Components/ChartInput/EditPanel/index.svelte +0 -155
  22. package/dist/Components/ChartInput/index.svelte +0 -21
  23. package/dist/Components/ChartInput/index.svelte.js +0 -671
  24. package/dist/Components/Color/index.svelte +0 -51
  25. package/dist/Components/Color/index.svelte.js +0 -31
  26. package/dist/Components/ColorInput/ChromaPicker/index.svelte +0 -50
  27. package/dist/Components/ColorInput/ColorPalette/index.svelte +0 -62
  28. package/dist/Components/ColorInput/OpacityPicker/index.svelte +0 -68
  29. package/dist/Components/ColorInput/ShowcasePicker/index.svelte +0 -136
  30. package/dist/Components/ColorInput/index.svelte +0 -70
  31. package/dist/Components/ColorInput/index.svelte.js +0 -386
  32. package/dist/Components/ConditionsInput/index.svelte +0 -46
  33. package/dist/Components/ConditionsInput/index.svelte.js +0 -201
  34. package/dist/Components/Confetti/index.svelte +0 -98
  35. package/dist/Components/Confetti/index.svelte.js +0 -94
  36. package/dist/Components/Content/index.svelte +0 -500
  37. package/dist/Components/Content/index.svelte.js +0 -910
  38. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +0 -31
  39. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +0 -258
  40. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +0 -31
  41. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +0 -258
  42. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +0 -58
  43. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +0 -206
  44. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +0 -28
  45. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +0 -224
  46. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +0 -44
  47. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +0 -272
  48. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +0 -41
  49. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -202
  50. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +0 -19
  51. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +0 -117
  52. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +0 -60
  53. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +0 -542
  54. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +0 -47
  55. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +0 -185
  56. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +0 -35
  57. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +0 -222
  58. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +0 -20
  59. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +0 -84
  60. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +0 -25
  61. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +0 -91
  62. package/dist/Components/ContentInput/AttributesInput/index.svelte +0 -352
  63. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +0 -1436
  64. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +0 -64
  65. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +0 -97
  66. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +0 -184
  67. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +0 -41
  68. package/dist/Components/ContentInput/index.svelte +0 -78
  69. package/dist/Components/ContentInput/index.svelte.js +0 -1197
  70. package/dist/Components/CronInput/index.svelte +0 -78
  71. package/dist/Components/CronInput/index.svelte.js +0 -198
  72. package/dist/Components/DataTypeInput/index.svelte +0 -174
  73. package/dist/Components/DataTypeInput/index.svelte.js +0 -565
  74. package/dist/Components/Dropdown/index.svelte +0 -116
  75. package/dist/Components/Dropdown/index.svelte.js +0 -403
  76. package/dist/Components/ErrorX/index.svelte +0 -58
  77. package/dist/Components/FileInput/index.svelte +0 -146
  78. package/dist/Components/FileInput/index.svelte.js +0 -225
  79. package/dist/Components/Hamburger/index.svelte +0 -99
  80. package/dist/Components/HorizScrollBox/index.svelte +0 -145
  81. package/dist/Components/IconInput/index.svelte +0 -77
  82. package/dist/Components/IconInput/index.svelte.js +0 -259
  83. package/dist/Components/Image/index.svelte +0 -126
  84. package/dist/Components/Image/index.svelte.js +0 -116
  85. package/dist/Components/ImageEditor/Image/CropBox/index.svelte +0 -165
  86. package/dist/Components/ImageEditor/Image/index.svelte +0 -104
  87. package/dist/Components/ImageEditor/Panels/AI/index.svelte +0 -44
  88. package/dist/Components/ImageEditor/Panels/Crop/index.svelte +0 -96
  89. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +0 -124
  90. package/dist/Components/ImageEditor/Panels/File/index.svelte +0 -74
  91. package/dist/Components/ImageEditor/Panels/Filters/index.svelte +0 -46
  92. package/dist/Components/ImageEditor/Panels/Resize/index.svelte +0 -58
  93. package/dist/Components/ImageEditor/index.svelte +0 -93
  94. package/dist/Components/ImageEditor/index.svelte.js +0 -1961
  95. package/dist/Components/ImageSlider/index.svelte +0 -124
  96. package/dist/Components/ImageSlider/index.svelte.js +0 -99
  97. package/dist/Components/Json/Nested/index.svelte +0 -157
  98. package/dist/Components/LabeledItem/index.svelte +0 -102
  99. package/dist/Components/Layout/NavBar/FullNav/index.svelte +0 -52
  100. package/dist/Components/Layout/NavBar/NavGuts/index.svelte +0 -87
  101. package/dist/Components/Layout/NavBar/index.svelte +0 -72
  102. package/dist/Components/Layout/index.svelte +0 -149
  103. package/dist/Components/Layout/index.svelte.js +0 -360
  104. package/dist/Components/LoadingWheel/index.svelte +0 -38
  105. package/dist/Components/LocationInput/index.svelte +0 -197
  106. package/dist/Components/LocationInput/index.svelte.js +0 -965
  107. package/dist/Components/Number/index.svelte +0 -47
  108. package/dist/Components/Number/index.svelte.js +0 -151
  109. package/dist/Components/PhoneCountryCode/index.svelte +0 -7
  110. package/dist/Components/PhoneCountryCode/index.svelte.js +0 -260
  111. package/dist/Components/Popover/index.svelte +0 -396
  112. package/dist/Components/Popover/index.svelte.js +0 -319
  113. package/dist/Components/Spacer/index.svelte +0 -41
  114. package/dist/Components/StoragePicker/DisplayFile/index.svelte +0 -15
  115. package/dist/Components/StoragePicker/index.svelte +0 -187
  116. package/dist/Components/StoragePicker/index.svelte.js +0 -592
  117. package/dist/Components/TableAdvanced/ColumnInput/index.svelte +0 -117
  118. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +0 -456
  119. package/dist/Components/TableAdvanced/FilterInput/index.svelte +0 -54
  120. package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +0 -247
  121. package/dist/Components/TableAdvanced/Pagination/index.svelte +0 -43
  122. package/dist/Components/TableAdvanced/Pagination/index.svelte.js +0 -97
  123. package/dist/Components/TableAdvanced/SortByInput/index.svelte +0 -72
  124. package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +0 -176
  125. package/dist/Components/Tag/index.svelte +0 -45
  126. package/dist/Components/Tag/index.svelte.js +0 -76
  127. package/dist/Components/TextArrayInput/index.svelte +0 -108
  128. package/dist/Components/TextArrayInput/index.svelte.js +0 -239
  129. package/dist/Components/TextInput/PasswordTooltip/index.svelte +0 -89
  130. package/dist/Components/TimeInput/NumberToggler/index.svelte +0 -34
  131. package/dist/Components/TimeInput/NumberToggler/index.svelte.js +0 -79
  132. package/dist/Components/TimeInput/index.js +0 -702
  133. package/dist/Components/TimeInput/index.svelte +0 -211
  134. package/dist/Components/TimeInput/index.svelte.js +0 -638
  135. package/dist/Components/Tooltip/index.svelte +0 -143
  136. package/dist/Components/TransparentBackground/index.svelte +0 -153
  137. package/dist/Components/TypingDots/index.svelte +0 -84
  138. package/dist/Components/VariablePathInput/index.svelte +0 -63
  139. package/dist/Components/VariablePathInput/index.svelte.js +0 -273
  140. package/dist/Components/XFollow/index.svelte +0 -42
  141. package/dist/Components/YoutubeChannelButton/index.svelte +0 -82
  142. package/dist/Components/YoutubeVideo/index.svelte +0 -73
  143. package/dist/Components/YoutubeVideo/index.svelte.js +0 -54
  144. package/dist/actions/draggable.js +0 -49
  145. package/dist/actions/index.js +0 -24
  146. package/dist/actions/no_spaces.js +0 -33
  147. package/dist/actions/numbers_only.js +0 -26
  148. package/dist/actions/scroll_y.js +0 -28
  149. package/dist/actions/stop_scroll_propagation_y.js +0 -42
  150. package/dist/actions/swipe_handler.js +0 -295
  151. package/dist/client/astc_formatting/index.js +0 -1128
  152. package/dist/client/docs/index.js +0 -7622
  153. package/dist/client/index.js +0 -735
  154. package/dist/client/types/index.js +0 -2812
  155. package/dist/index.js +0 -180
  156. package/dist/style.css +0 -682
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sveltekit-ui",
3
- "version": "1.1.16",
3
+ "version": "1.1.17",
4
4
  "description": "A SvelteKit UI component library for building modern web applications",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,62 +0,0 @@
1
- <script>
2
- let { direction = "up", is_open = false, color_one = "var(--g6-t)" } = $props()
3
-
4
- const map = { left: 270, right: 90, down: 180 }
5
- let r_deg = $derived(map?.[direction] ? map?.[direction] : 0)
6
- </script>
7
-
8
- <div class="side_bar_toggle" style="--r_deg: {r_deg}deg; --color_one: {color_one};">
9
- <div class="arrow_container">
10
- <span class="bar_base" class:left_line={is_open} class:left_line_opp={!is_open}></span>
11
- <span class="bar_base right_line" class:right_line={is_open} class:right_line_opp={!is_open}></span>
12
- </div>
13
- </div>
14
-
15
- <style>
16
- .side_bar_toggle {
17
- background-color: transparent;
18
- border: none;
19
- cursor: pointer;
20
- outline: none;
21
- padding: 0;
22
- pointer-events: initial;
23
- width: 1.2rem;
24
- transform: rotate(var(--r_deg));
25
- }
26
- .arrow_container {
27
- position: relative;
28
- height: 1rem;
29
- }
30
- .bar_base {
31
- background: linear-gradient(to left, var(--color_one) 50%, var(--g6-t) 50%) right;
32
- background-size: 200%;
33
- background-position: left;
34
- position: absolute;
35
- width: 0.8rem;
36
- border-radius: 0.1rem;
37
- transition: 0.4s ease;
38
- height: 0.2rem;
39
- transform-origin: center right;
40
- transform: rotate(0);
41
- left: 0;
42
- }
43
- .left_line {
44
- top: 0;
45
- transform-origin: center right;
46
- transform: translateX(0.05rem) rotate(-45deg);
47
- }
48
- .left_line_opp {
49
- top: calc(100% - 0.1rem);
50
- background-position: right;
51
- transform: translateX(0.05rem) rotate(45deg);
52
- }
53
- .right_line {
54
- top: 0;
55
- transform: translateX(-0.05rem) rotate(225deg);
56
- }
57
- .right_line_opp {
58
- top: calc(100% - 0.1rem);
59
- background-position: right;
60
- transform: translateX(-0.05rem) rotate(135deg);
61
- }
62
- </style>
@@ -1,77 +0,0 @@
1
- <script>
2
- import Button from "../Button/index.svelte"
3
- import Popover from "../Popover/index.svelte"
4
- import Image from "../Image/index.svelte"
5
- import Audio from "../Audio/index.svelte"
6
- import Json from "../Json/index.svelte"
7
- import Icon from "../Icon/index.svelte"
8
-
9
- let { manager } = $props()
10
- </script>
11
-
12
- {#snippet display_content()}
13
- {#if ["image/webp", "image/jpeg", "image/png", "image/gif"].includes(manager?.val_prepped?.content_type)}
14
- <Image manager={manager?.val_prepped?.image_manager} />
15
- {:else if ["audio/mpeg", "audio/wav", "audio/ogg", "audio/aac"].includes(manager?.val_prepped?.content_type)}
16
- <Audio manager={manager?.val_prepped?.audio_manager} />
17
- {:else if ["application/json"].includes(manager?.val_prepped?.content_type)}
18
- <Json manager={manager?.val_prepped?.json_manager} />
19
- {/if}
20
- {/snippet}
21
-
22
- <div class="container">
23
- <div style="display: flex; flex: 1; gap: 1rem; justify-content: space-between;">
24
- <div style="display: flex; align-items: center; gap: 1rem; flex: 1; min-width: 0;">
25
- <Icon manager={manager?.val_prepped?.icon_manager} />
26
- <div class="text_container">
27
- <p class="file_name">{manager?.val_prepped?.name}</p>
28
- <p style="margin-top: 0; line-height: 1.4rem; color: var(--g10-t); font-size: 1.2rem;">
29
- {manager?.val_prepped?.content_type}
30
- <span style="color: var(--g6-t); font-size: 1.2rem; margin-left: 1rem;"
31
- >{manager?.val_prepped?.content
32
- ? `${Math.round(((manager?.val_prepped?.content.length * 3) / 4) * 0.001)}KB`
33
- : ""}</span
34
- >
35
- </p>
36
- </div>
37
- </div>
38
- <div style="display: flex; gap: .5rem; flex-shrink: 0;">
39
- <Button manager={manager?.download_button_manager} />
40
- {#if ["image/webp", "image/jpeg", "image/png", "image/gif", "audio/mpeg", "audio/wav", "audio/ogg", "audio/aac", "application/json"].includes(manager?.val_prepped?.content_type)}
41
- <Button manager={manager?.show_content_button_manager} />
42
- {/if}
43
- </div>
44
- </div>
45
- {#if manager?.is_show_content}
46
- {@render display_content()}
47
- {/if}
48
- </div>
49
-
50
- <Popover manager={manager?.show_content_popover_manager}>
51
- {#snippet content()}
52
- {@render display_content()}
53
- {/snippet}
54
- </Popover>
55
-
56
- <style>
57
- .container {
58
- border-radius: 1.5rem;
59
- padding: 0.5rem 1rem;
60
- border: 1px solid var(--shadow5-t);
61
- }
62
- .file_name {
63
- margin: 0;
64
- line-height: 1.4rem;
65
- font-weight: bold;
66
- white-space: nowrap;
67
- overflow: hidden;
68
- text-overflow: ellipsis;
69
- max-width: 100%;
70
- }
71
- .text_container {
72
- display: flex;
73
- flex-direction: column;
74
- overflow: hidden;
75
- min-width: 0;
76
- }
77
- </style>
@@ -1,119 +0,0 @@
1
- import { create_button_manager } from "../Button/index.svelte.js"
2
- import { create_popover_manager } from "../Popover/index.svelte.js"
3
- import { create_image_manager } from "../Image/index.svelte.js"
4
- import { create_audio_manager } from "../Audio/index.svelte.js"
5
- import { create_json_manager } from "../Json/index.svelte.js"
6
- import { create_icon_manager } from "../Icon/index.svelte.js"
7
- import { set_closurable } from "../../client/index.js"
8
-
9
- export function create_attachment_manager(config) {
10
- let val_prepped = $state(null)
11
- let show_content_popover_manager = $state(null)
12
- let show_content_button_manager = $state(null)
13
- let download_button_manager = $state(null)
14
- let is_show_content = $derived(set_closurable(config?.is_show_content, false))
15
-
16
- function set_val_prepped(input) {
17
- if (!input || typeof input != "object" || Array.isArray(input)) {
18
- val_prepped = null
19
- return
20
- }
21
- let val_prepped_loc = {
22
- ...input,
23
- }
24
- if (["image/webp", "image/jpeg", "image/png", "image/gif"].includes(input?.content_type)) {
25
- val_prepped_loc.image_manager = create_image_manager({
26
- src: `data:${input.content_type};base64,${input.content}`,
27
- mime_type: input?.content_type,
28
- display_max_height: 280,
29
- display_max_width: 380,
30
- bg_img_blur: 20,
31
- bg_img_opacity: 0.01,
32
- })
33
- val_prepped_loc.icon_manager = create_icon_manager({
34
- icon_id: "photo",
35
- sw: 30,
36
- })
37
- } else if (["audio/mpeg", "audio/wav", "audio/ogg", "audio/aac"].includes(input?.content_type)) {
38
- val_prepped_loc.audio_manager = create_audio_manager({
39
- // ui_type: "short",
40
- src: `data:${input.content_type};base64,${input.content}`,
41
- type: input?.content_type,
42
- })
43
- val_prepped_loc.icon_manager = create_icon_manager({
44
- icon_id: "file", // tbd
45
- sw: 30,
46
- })
47
- } else if (["application/json"].includes(input?.content_type)) {
48
- const decoded_content = atob(input.content)
49
- const extracted_json = JSON.parse(decoded_content)
50
- val_prepped_loc.json_manager = create_json_manager({
51
- is_edit_mode: false,
52
- is_popover: false,
53
- is_show_buttons: true,
54
- val: extracted_json,
55
- })
56
- val_prepped_loc.icon_manager = create_icon_manager({
57
- icon_id: "file", // tbd
58
- sw: 30,
59
- })
60
- } else {
61
- val_prepped_loc.icon_manager = create_icon_manager({
62
- icon_id: "file",
63
- sw: 30,
64
- })
65
- }
66
- val_prepped = val_prepped_loc
67
- }
68
-
69
- function download_attachment(input) {
70
- const data_url = `data:${input.content_type};base64,${input.content}`
71
- const link = document.createElement("a")
72
- link.href = data_url
73
- link.download = input.name
74
- document.body.appendChild(link)
75
- link.click()
76
- document.body.removeChild(link)
77
- }
78
-
79
- function init(config) {
80
- set_val_prepped(config?.attachment)
81
- show_content_popover_manager = create_popover_manager({
82
- header: "Attachment",
83
- target_width: 400,
84
- target_height: 340,
85
- })
86
- download_button_manager = create_button_manager({
87
- type: "outlined",
88
- is_uniform: true,
89
- support_icon: "download",
90
- on_click: () => download_attachment(config?.attachment),
91
- })
92
- show_content_button_manager = create_button_manager({
93
- type: "outlined",
94
- text: "View",
95
- is_compressed: true,
96
- popover_target: () => `popover_${show_content_popover_manager?.id}`,
97
- })
98
- }
99
-
100
- init(config)
101
-
102
- return {
103
- get val_prepped() {
104
- return val_prepped
105
- },
106
- get show_content_popover_manager() {
107
- return show_content_popover_manager
108
- },
109
- get show_content_button_manager() {
110
- return show_content_button_manager
111
- },
112
- get download_button_manager() {
113
- return download_button_manager
114
- },
115
- get is_show_content() {
116
- return is_show_content
117
- },
118
- }
119
- }
@@ -1,252 +0,0 @@
1
- <script>
2
- import Popover from "../Popover/index.svelte"
3
- import Button from "../Button/index.svelte"
4
- import InfoBox from "../InfoBox/index.svelte"
5
- import HorizScrollBox from "../HorizScrollBox/index.svelte"
6
- import LabeledItem from "../LabeledItem/index.svelte"
7
- import Spacer from "../Spacer/index.svelte"
8
- import Audio from "../Audio/index.svelte"
9
- import FileInput from "../FileInput/index.svelte"
10
- import TextInput from "../TextInput/index.svelte"
11
- import Dropdown from "../Dropdown/index.svelte"
12
- import StoragePicker from "../StoragePicker/index.svelte"
13
-
14
- let { manager, extra_buttons } = $props()
15
- </script>
16
-
17
- {#snippet audio_input()}
18
- <div style="padding-bottom: 20rem;">
19
- {#if manager?.account?.id}
20
- <p style="margin-bottom: 1rem;">
21
- Generated files will be saved to {manager?.account?.name} ({manager?.account?.id})'s temporary storage
22
- </p>
23
- {:else}
24
- <p>No account being used</p>
25
- {/if}
26
- <div style="display: flex; flex-wrap: wrap; gap: 1rem;">
27
- <Button manager={manager?.clear_button_manager} />
28
- <div>
29
- <Button manager={manager?.seed_from_input_popover_button_manager} />
30
- <Popover manager={manager?.seed_from_input_popover_manager}>
31
- {#snippet content()}
32
- <StoragePicker manager={manager?.seed_audio_storage_picker_manager} />
33
- {/snippet}
34
- </Popover>
35
- </div>
36
- {#if extra_buttons}
37
- {@render extra_buttons()}
38
- {/if}
39
- <Button manager={manager?.generate_audio_changes_button_manager} />
40
- </div>
41
- {#if manager?.is_loading_generate_audio && manager?.is_text_to_audio && manager?.text_to_audio_text_input_manager && manager?.text_to_audio_text_input_manager.length > 10}
42
- <p>
43
- This should take around {manager?.text_to_audio_time_in_minutes} minutes.
44
- </p>
45
- {/if}
46
- <InfoBox message={manager?.error_message} mt={0.5} mb={0.5} />
47
- {#if manager?.generated_audio_file_obj}
48
- <div class="card" style="margin: 1rem 0;">
49
- <h3>Generated Audio</h3>
50
- <p>type: {manager?.generated_audio_file_obj?.type}</p>
51
- <p>file name: {manager?.generated_audio_file_obj?.file_name}</p>
52
- <p>size: {manager?.generated_audio_file_obj?.size_kb}KB</p>
53
- <p style="font-size: 1.2rem; color: var(--g10-t); margin-bottom: 1rem">
54
- Note: Currently, our interface does not support extracting cover images directly from the metadata of audio
55
- sources. We may add this feature in the future. At present, displaying images in the Audio component requires
56
- a separate image URL. However, if a cover image is embedded in the audio file's metadata, it can still be
57
- viewed in other applications, such as Apple Finder.
58
- </p>
59
- <Audio manager={manager?.audio_manager} />
60
- <div style="display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem;">
61
- <Button manager={manager?.clear_generated_audio_button_manager} />
62
- <Button manager={manager?.download_audio_file_button_manager} />
63
- <Button manager={manager?.finish_button_manager} />
64
- </div>
65
- </div>
66
- {/if}
67
- <Spacer mt={1} mb={1} />
68
- <LabeledItem
69
- is_disabled={manager?.is_loading_generate_audio || manager?.is_disabled}
70
- label={!manager?.audio_file_obj?.src && manager?.is_text_to_audio ? "Audio Generation" : "Audio File"}
71
- mt={1}
72
- content_min_width={35}
73
- content_max_width={60}
74
- >
75
- {#if !manager?.is_text_to_audio}
76
- <div style="display: flex; margin-bottom: 1rem;">
77
- {#if !manager?.audio_file_obj?.src}
78
- <Button manager={manager?.use_text_to_audio_button_manager} />
79
- <Button manager={manager?.select_file_from_storage_button_manager} />
80
- {/if}
81
- </div>
82
- <StoragePicker manager={manager?.audio_storage_picker_manager} />
83
- {:else}
84
- <Button manager={manager?.use_mp3_file_button_manager} />
85
- <TextInput manager={manager?.text_to_audio_text_input_manager} />
86
- {/if}
87
- </LabeledItem>
88
- {#if manager?.is_text_to_audio}
89
- <LabeledItem
90
- label="Voice"
91
- content_min_width={35}
92
- content_max_width={60}
93
- mt={1}
94
- is_disabled={manager?.title_text_input_manager?.is_disabled}
95
- >
96
- {#if Array.isArray(manager?.voice_options) && manager?.voice_options.length > 0}
97
- <div style="display: flex; gap: 1rem;">
98
- <div>
99
- <p>{manager?.voice_options.find((h) => h?.id == (manager?.voice_id ?? "alloy"))?.name ?? "-"}</p>
100
- <Button manager={manager?.edit_voice_button_manager} />
101
- </div>
102
- <Audio
103
- manager={manager?.voice_options.find((h) => h?.id == (manager?.voice_id ?? "alloy"))?.audio_manager}
104
- />
105
- </div>
106
- <Popover manager={manager?.edit_voice_popover_manager}>
107
- {#snippet content()}
108
- <div>
109
- {#each manager?.voice_options as voice, i}
110
- <div style="padding: 1rem;">
111
- <div style="display: flex; justify-content: space-between; gap: 1rem;">
112
- <p>{voice?.name}{voice?.id == "alloy" ? "(default)" : ""}</p>
113
- {#if Array.isArray(voice?.labels) && voice.labels.length > 0}
114
- <HorizScrollBox>
115
- <div style="display: flex; gap: .5rem;">
116
- {#each voice?.labels as label}
117
- <div
118
- style="border: 1px solid var(--shadow5-t); border-radius: .5rem; padding: .2rem .4rem"
119
- >
120
- <p style="font-size: 1.4rem; white-space: nowrap;">{label}</p>
121
- </div>
122
- {/each}
123
- </div>
124
- </HorizScrollBox>
125
- {/if}
126
- </div>
127
- <div style="display: flex; justify-content: space-between; margin-top: .5rem;">
128
- <Audio manager={voice?.audio_manager} />
129
- <Button manager={voice?.select_button_manager} />
130
- </div>
131
- </div>
132
- {#if i < manager?.voice_options.length - 1}
133
- <Spacer />
134
- {/if}
135
- {/each}
136
- </div>
137
- {/snippet}
138
- </Popover>
139
- {:else}
140
- No voice options found
141
- {/if}
142
- </LabeledItem>
143
- {/if}
144
- <LabeledItem
145
- is_disabled={manager?.is_loading_generate_audio || manager?.is_disabled}
146
- label="File Name"
147
- mt={1}
148
- content_min_width={35}
149
- content_max_width={60}
150
- >
151
- <TextInput manager={manager?.file_name_text_input_manager} />
152
- </LabeledItem>
153
- <Spacer mt={1} />
154
- <h3 style="margin: 0; margin-top: 1rem; font-size: 1.6rem;">Metatags (optional)</h3>
155
- <LabeledItem
156
- label="Title"
157
- content_min_width={35}
158
- content_max_width={60}
159
- mt={1}
160
- is_disabled={manager?.title_text_input_manager?.is_disabled}
161
- >
162
- <TextInput manager={manager?.title_text_input_manager} />
163
- </LabeledItem>
164
- <LabeledItem
165
- label="Album Title"
166
- content_min_width={35}
167
- content_max_width={60}
168
- mt={1}
169
- is_disabled={manager?.album_title_text_input_manager?.is_disabled}
170
- >
171
- <TextInput manager={manager?.album_title_text_input_manager} />
172
- </LabeledItem>
173
- <LabeledItem
174
- label="Cover Image"
175
- content_min_width={35}
176
- content_max_width={60}
177
- mt={1}
178
- is_disabled={manager?.image_storage_picker_manager?.is_disabled}
179
- >
180
- <StoragePicker manager={manager?.image_storage_picker_manager} />
181
- <TextInput manager={manager?.image_description_text_input_manager} />
182
- </LabeledItem>
183
- <LabeledItem
184
- label="Artist"
185
- content_min_width={35}
186
- content_max_width={60}
187
- mt={1}
188
- is_disabled={manager?.artist_text_input_manager?.is_disabled}
189
- >
190
- <TextInput manager={manager?.artist_text_input_manager} />
191
- </LabeledItem>
192
- <LabeledItem
193
- label="Lyrics"
194
- content_min_width={35}
195
- content_max_width={60}
196
- mt={1}
197
- is_disabled={manager?.lyrics_text_input_manager?.is_disabled}
198
- >
199
- <TextInput manager={manager?.lyrics_text_input_manager} />
200
- </LabeledItem>
201
- <LabeledItem
202
- label="Release Year"
203
- content_min_width={35}
204
- content_max_width={60}
205
- mt={1}
206
- is_disabled={manager?.release_year_text_input_manager?.is_disabled}
207
- >
208
- <TextInput manager={manager?.release_year_text_input_manager} />
209
- </LabeledItem>
210
- <LabeledItem
211
- label="Language"
212
- content_min_width={35}
213
- content_max_width={60}
214
- mt={1}
215
- is_disabled={manager?.language_dropdown_manager?.is_disabled}
216
- >
217
- <Dropdown manager={manager?.language_dropdown_manager} />
218
- </LabeledItem>
219
- <Spacer mt={1} mb={1} />
220
- <p style="font-size: 1.4rem; color: var(--g8-t); margin-bottom: .5rem;">Additional Metatags</p>
221
- <Dropdown manager={manager?.additional_metatags_dropdown_manager} />
222
- {#if Array.isArray(manager?.additional_tag_keys_ordered) && manager?.additional_tag_keys_ordered.length > 0}
223
- {#each manager?.additional_tag_keys_ordered as tag_key}
224
- <LabeledItem
225
- is_disabled={manager?.is_loading_generate_audio || manager?.is_disabled}
226
- label={manager?.additional_tags_input_prepped?.[tag_key]?.name}
227
- mt={1}
228
- content_min_width={35}
229
- content_max_width={60}
230
- >
231
- {#if manager?.additional_tags_input_prepped?.[tag_key]?.key == "tbd"}
232
- <!-- tbd -->
233
- {:else}
234
- <TextInput manager={manager?.additional_tags_input_prepped?.[tag_key]?.text_input_manager} />
235
- {/if}
236
- </LabeledItem>
237
- {/each}
238
- {/if}
239
- </div>
240
- {/snippet}
241
-
242
- {#if !manager?.is_popover}
243
- {@render audio_input()}
244
- {:else}
245
- <Popover manager={manager.popover_manager}>
246
- {#snippet content()}
247
- <div>
248
- {@render audio_input()}
249
- </div>
250
- {/snippet}
251
- </Popover>
252
- {/if}