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,638 +0,0 @@
|
|
|
1
|
-
import { create_popover_manager } from "../Popover/index.svelte.js"
|
|
2
|
-
import { create_button_manager } from "../Button/index.svelte.js"
|
|
3
|
-
import { create_dropdown_manager } from "../Dropdown/index.svelte.js"
|
|
4
|
-
import { create_text_input_manager } from "../TextInput/index.svelte.js"
|
|
5
|
-
import { create_number_toggler } from "./NumberToggler/index.svelte.js"
|
|
6
|
-
import { create_unique_id, set_closurable } from "../../client/index.js"
|
|
7
|
-
import {
|
|
8
|
-
time_formats,
|
|
9
|
-
granularities,
|
|
10
|
-
month_names,
|
|
11
|
-
days_of_week_names,
|
|
12
|
-
common_timezones,
|
|
13
|
-
get_val_from_time_object,
|
|
14
|
-
get_time_object_from_val,
|
|
15
|
-
get_time_full_from_object,
|
|
16
|
-
} from "./index.js"
|
|
17
|
-
|
|
18
|
-
export function create_time_input_manager(config) {
|
|
19
|
-
let id = create_unique_id(null, 20)
|
|
20
|
-
let picker_year = $state(new Date().getFullYear())
|
|
21
|
-
let picker_month = $state(new Date().getMonth() + 1)
|
|
22
|
-
let is_pick_month_year = $state(false)
|
|
23
|
-
let is_null = $state(false)
|
|
24
|
-
let year = $state(null)
|
|
25
|
-
let day_of_month = $state(null)
|
|
26
|
-
let day_of_week = $state(null)
|
|
27
|
-
let day_of_year = $state(null)
|
|
28
|
-
let week_of_year = $state(null)
|
|
29
|
-
let datetime = $state(null)
|
|
30
|
-
|
|
31
|
-
let day_of_month_button_managers = $state(null)
|
|
32
|
-
let is_show_calendar = $state(true)
|
|
33
|
-
let is_show_granularity_dropdown = $state(false)
|
|
34
|
-
|
|
35
|
-
let popover_manager = $state(null)
|
|
36
|
-
let main_toggle_button_manager = $state(null)
|
|
37
|
-
let left_month_button_manager = $state(null)
|
|
38
|
-
let right_month_button_manager = $state(null)
|
|
39
|
-
let prempt_month_year_button_manager = $state(null)
|
|
40
|
-
let epoch_text_input_manager = $state(null)
|
|
41
|
-
let year_minus_one_button_manager = $state(null)
|
|
42
|
-
let year_plus_one_button_manager = $state(null)
|
|
43
|
-
let year_minus_hundred_button_manager = $state(null)
|
|
44
|
-
let year_plus_hundred_button_manager = $state(null)
|
|
45
|
-
let back_to_calendar_button_manager = $state(null)
|
|
46
|
-
let hour_number_toggler_manager = $state(null)
|
|
47
|
-
let minute_number_toggler_manager = $state(null)
|
|
48
|
-
let second_number_toggler_manager = $state(null)
|
|
49
|
-
let period_days_number_toggler_manager = $state(null)
|
|
50
|
-
let period_hours_number_toggler_manager = $state(null)
|
|
51
|
-
let period_minutes_number_toggler_manager = $state(null)
|
|
52
|
-
let period_seconds_number_toggler_manager = $state(null)
|
|
53
|
-
let set_null_button_manager = $state(null)
|
|
54
|
-
let set_to_now_button_manager = $state(null)
|
|
55
|
-
let reset_timezone_button_manager = $state(null)
|
|
56
|
-
let finish_button_manager = $state(null)
|
|
57
|
-
let timezone_dropdown_manager = $state(null)
|
|
58
|
-
let granularity_dropdown_manager = $state(null)
|
|
59
|
-
let month_dropdown_manager = $state(null)
|
|
60
|
-
|
|
61
|
-
let label = $derived(set_closurable(config?.label, null))
|
|
62
|
-
let is_popover = $derived(set_closurable(config?.is_popover, true))
|
|
63
|
-
let format = $derived(set_closurable(config?.format, "time_full"))
|
|
64
|
-
let is_disabled = $derived(set_closurable(config?.is_disabled, false))
|
|
65
|
-
let granularity_options = $derived(
|
|
66
|
-
set_closurable(config?.granularity_options, ["year", "month", "week", "day", "hour", "minute", "second"])
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
let picker_month_day_of_week = $derived(new Date(picker_year, picker_month - 1, 1).getDay())
|
|
70
|
-
let picker_days_in_month = $derived(new Date(picker_year, picker_month, 0).getDate())
|
|
71
|
-
let boxes_in_picker = $derived(picker_days_in_month + picker_month_day_of_week)
|
|
72
|
-
|
|
73
|
-
let val = $derived(
|
|
74
|
-
is_null
|
|
75
|
-
? null
|
|
76
|
-
: get_val_from_time_object({
|
|
77
|
-
is_null: is_null,
|
|
78
|
-
epoch: epoch_text_input_manager?.val,
|
|
79
|
-
granularity: granularity_dropdown_manager?.val,
|
|
80
|
-
year: year,
|
|
81
|
-
month: month_dropdown_manager?.val,
|
|
82
|
-
day_of_month,
|
|
83
|
-
day_of_week,
|
|
84
|
-
day_of_year,
|
|
85
|
-
week_of_year,
|
|
86
|
-
hour: hour_number_toggler_manager?.val,
|
|
87
|
-
minute: minute_number_toggler_manager?.val,
|
|
88
|
-
second: second_number_toggler_manager?.val,
|
|
89
|
-
days: period_days_number_toggler_manager?.val,
|
|
90
|
-
hours: period_hours_number_toggler_manager?.val,
|
|
91
|
-
minutes: period_minutes_number_toggler_manager?.val,
|
|
92
|
-
seconds: period_seconds_number_toggler_manager?.val,
|
|
93
|
-
timezone: timezone_dropdown_manager?.val,
|
|
94
|
-
format: format,
|
|
95
|
-
})
|
|
96
|
-
)
|
|
97
|
-
|
|
98
|
-
function set_val(input) {
|
|
99
|
-
epoch_text_input_manager.set_val(input?.epoch ?? null)
|
|
100
|
-
granularity_dropdown_manager.set_val(input?.granularity ?? granularity_dropdown_manager?.val ?? "day")
|
|
101
|
-
year = input?.year ?? null
|
|
102
|
-
month_dropdown_manager.set_val(input?.month ?? null)
|
|
103
|
-
day_of_month = input?.day_of_month ?? null
|
|
104
|
-
day_of_week = input?.day_of_week ?? null
|
|
105
|
-
day_of_year = input?.day_of_year ?? null
|
|
106
|
-
week_of_year = input?.week_of_year ?? null
|
|
107
|
-
hour_number_toggler_manager.set_val(input?.hour ?? null)
|
|
108
|
-
minute_number_toggler_manager.set_val(input?.minute ?? null)
|
|
109
|
-
second_number_toggler_manager.set_val(input?.second ?? null)
|
|
110
|
-
timezone_dropdown_manager.set_val(input?.timezone ?? timezone_dropdown_manager?.val ?? null)
|
|
111
|
-
datetime = input?.datetime ?? null
|
|
112
|
-
period_days_number_toggler_manager.set_val(input?.days ?? null)
|
|
113
|
-
period_hours_number_toggler_manager.set_val(input?.hours ?? null)
|
|
114
|
-
period_minutes_number_toggler_manager.set_val(input?.minutes ?? null)
|
|
115
|
-
period_seconds_number_toggler_manager.set_val(input?.seconds ?? null)
|
|
116
|
-
is_null = input == null
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function get_iso_week(year, month, day) {
|
|
120
|
-
const date = new Date(Date.UTC(year, month - 1, day))
|
|
121
|
-
const day_number = (date.getUTCDay() + 6) % 7
|
|
122
|
-
date.setUTCDate(date.getUTCDate() - day_number + 3)
|
|
123
|
-
const first_thursday = new Date(Date.UTC(date.getUTCFullYear(), 0, 4))
|
|
124
|
-
const diff = date - first_thursday
|
|
125
|
-
const week_of_year = Math.ceil(diff / (86400000 * 7) + 1)
|
|
126
|
-
return week_of_year
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function set_day_of_month_button_managers() {
|
|
130
|
-
let day_of_month_button_managers_loc = []
|
|
131
|
-
if (picker_days_in_month > 0) {
|
|
132
|
-
for (let i = 1; i <= picker_days_in_month; i++) {
|
|
133
|
-
let button_manager = create_button_manager({
|
|
134
|
-
type: "soft",
|
|
135
|
-
pt: 0.5,
|
|
136
|
-
pb: 0.5,
|
|
137
|
-
pl: 0,
|
|
138
|
-
pr: 0,
|
|
139
|
-
min_height: 0,
|
|
140
|
-
selected_type: () => {
|
|
141
|
-
if (format == "year_week") {
|
|
142
|
-
return year &&
|
|
143
|
-
picker_year == year &&
|
|
144
|
-
picker_month == month_dropdown_manager?.val &&
|
|
145
|
-
get_iso_week(picker_year, picker_month, i) ==
|
|
146
|
-
get_iso_week(year, month_dropdown_manager?.val, day_of_month)
|
|
147
|
-
? "selected"
|
|
148
|
-
: null
|
|
149
|
-
}
|
|
150
|
-
return year && picker_year == year && picker_month == month_dropdown_manager?.val && i == day_of_month
|
|
151
|
-
? "selected"
|
|
152
|
-
: null
|
|
153
|
-
},
|
|
154
|
-
text: i,
|
|
155
|
-
is_disabled: () => is_disabled,
|
|
156
|
-
on_click: () => set_day_of_month(picker_year, picker_month, i),
|
|
157
|
-
})
|
|
158
|
-
day_of_month_button_managers_loc.push(button_manager)
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
day_of_month_button_managers = day_of_month_button_managers_loc
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
function set_granularity(input) {
|
|
165
|
-
granularity_dropdown_manager.set_val(input)
|
|
166
|
-
is_null = false
|
|
167
|
-
}
|
|
168
|
-
function set_timezone(input) {
|
|
169
|
-
timezone_dropdown_manager.set_val(input)
|
|
170
|
-
is_null = false
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
function set_to_now() {
|
|
174
|
-
const epoch = Math.floor(Date.now() / 1000)
|
|
175
|
-
const time_full = get_time_full_from_object({
|
|
176
|
-
format: format,
|
|
177
|
-
granularity: granularity_dropdown_manager?.val,
|
|
178
|
-
epoch,
|
|
179
|
-
})
|
|
180
|
-
set_val(time_full)
|
|
181
|
-
picker_year = new Date().getFullYear()
|
|
182
|
-
picker_month = new Date().getMonth() + 1
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
function set_year(_year) {
|
|
186
|
-
console.log("set_year", _year)
|
|
187
|
-
year = parseInt(_year)
|
|
188
|
-
picker_year = parseInt(_year)
|
|
189
|
-
epoch_text_input_manager.set_val(null)
|
|
190
|
-
is_null = false
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
function set_month(_month) {
|
|
194
|
-
picker_month = _month
|
|
195
|
-
month_dropdown_manager.set_val(_month)
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
function set_day_of_month(_year, _month, _day_of_month) {
|
|
199
|
-
year = _year
|
|
200
|
-
month_dropdown_manager.set_val(_month)
|
|
201
|
-
day_of_month = _day_of_month
|
|
202
|
-
epoch_text_input_manager.set_val(null)
|
|
203
|
-
is_null = false
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
function set_hour(_hour) {
|
|
207
|
-
hour_number_toggler_manager.set_val(_hour > 23 ? 0 : _hour < 0 ? 23 : _hour)
|
|
208
|
-
epoch_text_input_manager.set_val(null)
|
|
209
|
-
is_null = false
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
function set_minute(_minute) {
|
|
213
|
-
minute_number_toggler_manager.set_val(_minute > 59 ? 0 : _minute < 0 ? 59 : _minute)
|
|
214
|
-
if (Number.isInteger(_minute) && !Number.isInteger(hour_number_toggler_manager?.val)) {
|
|
215
|
-
hour_number_toggler_manager.set_val(0)
|
|
216
|
-
}
|
|
217
|
-
epoch_text_input_manager.set_val(null)
|
|
218
|
-
is_null = false
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
function set_second(_second) {
|
|
222
|
-
second_number_toggler_manager.set_val(_second > 59 ? 0 : _second < 0 ? 59 : _second)
|
|
223
|
-
if (Number.isInteger(_second) && !Number.isInteger(minute_number_toggler_manager?.val)) {
|
|
224
|
-
minute_number_toggler_manager.set_val(0)
|
|
225
|
-
}
|
|
226
|
-
if (Number.isInteger(_second) && !Number.isInteger(hour_number_toggler_manager?.val)) {
|
|
227
|
-
hour_number_toggler_manager.set_val(0)
|
|
228
|
-
}
|
|
229
|
-
epoch_text_input_manager.set_val(null)
|
|
230
|
-
is_null = false
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
function set_picker_data(_picker_year, _picker_month) {
|
|
234
|
-
if (!Number.isInteger(_picker_month)) {
|
|
235
|
-
_picker_month = new Date().getMonth() + 1
|
|
236
|
-
} else {
|
|
237
|
-
if (_picker_month < 1) {
|
|
238
|
-
_picker_month = 12
|
|
239
|
-
_picker_year -= 1
|
|
240
|
-
} else if (_picker_month > 12) {
|
|
241
|
-
_picker_month = 1
|
|
242
|
-
_picker_year += 1
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
if (!Number.isInteger(_picker_year)) {
|
|
246
|
-
_picker_year = new Date().getFullYear()
|
|
247
|
-
}
|
|
248
|
-
_picker_year = Math.max(-10000, Math.min(3000, _picker_year))
|
|
249
|
-
picker_year = _picker_year
|
|
250
|
-
picker_month = _picker_month
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
function handle_left_month() {
|
|
254
|
-
if (["year", "month"].includes(granularity_dropdown_manager?.val)) {
|
|
255
|
-
if (picker_month < 2) {
|
|
256
|
-
picker_month = 12
|
|
257
|
-
picker_year -= 1
|
|
258
|
-
} else {
|
|
259
|
-
picker_month -= 1
|
|
260
|
-
}
|
|
261
|
-
epoch_text_input_manager.set_val(null)
|
|
262
|
-
} else {
|
|
263
|
-
set_picker_data(picker_year, picker_month - 1)
|
|
264
|
-
}
|
|
265
|
-
is_null = false
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
function handle_right_month() {
|
|
269
|
-
if (["year", "month"].includes(granularity_dropdown_manager?.val)) {
|
|
270
|
-
if (picker_month > 11) {
|
|
271
|
-
picker_month = 1
|
|
272
|
-
picker_year += 1
|
|
273
|
-
} else {
|
|
274
|
-
picker_month += 1
|
|
275
|
-
}
|
|
276
|
-
epoch_text_input_manager.set_val(null)
|
|
277
|
-
} else {
|
|
278
|
-
set_picker_data(picker_year, picker_month + 1)
|
|
279
|
-
}
|
|
280
|
-
is_null = false
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
function finish() {
|
|
284
|
-
set_picker_data(val?.year, val?.month)
|
|
285
|
-
popover_manager.close()
|
|
286
|
-
if (typeof config?.on_finish == "function") {
|
|
287
|
-
config?.on_finish(val)
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
function init(config) {
|
|
292
|
-
const time_full = get_time_object_from_val(config?.val, config?.format, config?.granularity, config?.timezone)
|
|
293
|
-
is_show_granularity_dropdown = config?.is_show_granularity_dropdown ?? false
|
|
294
|
-
picker_year = config?.picker_year ?? new Date().getFullYear()
|
|
295
|
-
picker_month = config?.picker_month ?? new Date().getMonth() + 1
|
|
296
|
-
is_pick_month_year = config?.val?.is_pick_month_year ?? false
|
|
297
|
-
epoch_text_input_manager = create_text_input_manager({
|
|
298
|
-
label: "epoch",
|
|
299
|
-
placeholder: "epoch",
|
|
300
|
-
val: time_full?.epoch,
|
|
301
|
-
})
|
|
302
|
-
popover_manager = create_popover_manager({
|
|
303
|
-
type: "dropdown",
|
|
304
|
-
min_width: 320,
|
|
305
|
-
target_width: 340,
|
|
306
|
-
target_height: 350, // tbd can dynamically set later or fix popover dynamic relocatation
|
|
307
|
-
max_height: 400,
|
|
308
|
-
anchor_id: () => `button_${main_toggle_button_manager?.id}`,
|
|
309
|
-
})
|
|
310
|
-
main_toggle_button_manager = create_button_manager({
|
|
311
|
-
type: "outlined",
|
|
312
|
-
is_disabled: () => is_disabled,
|
|
313
|
-
is_compressed: true,
|
|
314
|
-
text: () =>
|
|
315
|
-
!is_null && val?.content
|
|
316
|
-
? val?.content
|
|
317
|
-
: typeof val != "object" && val
|
|
318
|
-
? val
|
|
319
|
-
: `Select ${time_formats?.[format]?.name}`,
|
|
320
|
-
popover_target: () => `popover_${popover_manager?.id}`,
|
|
321
|
-
})
|
|
322
|
-
left_month_button_manager = create_button_manager({
|
|
323
|
-
type: "soft",
|
|
324
|
-
is_uniform: true,
|
|
325
|
-
support_icon: "arrow",
|
|
326
|
-
icon_deg: 270,
|
|
327
|
-
is_disabled: () => is_disabled,
|
|
328
|
-
on_click: () => handle_left_month(),
|
|
329
|
-
})
|
|
330
|
-
right_month_button_manager = create_button_manager({
|
|
331
|
-
type: "soft",
|
|
332
|
-
is_uniform: true,
|
|
333
|
-
support_icon: "arrow",
|
|
334
|
-
icon_deg: 90,
|
|
335
|
-
is_disabled: () => is_disabled,
|
|
336
|
-
on_click: () => handle_right_month(),
|
|
337
|
-
})
|
|
338
|
-
prempt_month_year_button_manager = create_button_manager({
|
|
339
|
-
type: "soft",
|
|
340
|
-
text: () =>
|
|
341
|
-
"year" != granularity_dropdown_manager?.val
|
|
342
|
-
? `${month_names[picker_month - 1]} ${picker_year}`
|
|
343
|
-
: year ?? "Select Year",
|
|
344
|
-
is_disabled: () => is_disabled,
|
|
345
|
-
on_click: () => (is_pick_month_year = !is_pick_month_year),
|
|
346
|
-
})
|
|
347
|
-
year_minus_one_button_manager = create_button_manager({
|
|
348
|
-
type: "outlined",
|
|
349
|
-
text: "-1",
|
|
350
|
-
min_height: 2,
|
|
351
|
-
is_disabled: () => is_disabled,
|
|
352
|
-
on_click: () => set_year((Number.isInteger(year) ? year : picker_year ? picker_year : 0) - 1),
|
|
353
|
-
})
|
|
354
|
-
year_plus_one_button_manager = create_button_manager({
|
|
355
|
-
type: "outlined",
|
|
356
|
-
text: "+1",
|
|
357
|
-
min_height: 2,
|
|
358
|
-
is_disabled: () => is_disabled,
|
|
359
|
-
on_click: () => set_year((Number.isInteger(year) ? year : picker_year ? picker_year : 0) + 1),
|
|
360
|
-
})
|
|
361
|
-
year_minus_hundred_button_manager = create_button_manager({
|
|
362
|
-
type: "outlined",
|
|
363
|
-
text: "-100",
|
|
364
|
-
min_height: 2,
|
|
365
|
-
is_disabled: () => is_disabled,
|
|
366
|
-
on_click: () => set_year((Number.isInteger(year) ? year : picker_year ? picker_year : 0) - 100),
|
|
367
|
-
})
|
|
368
|
-
year_plus_hundred_button_manager = create_button_manager({
|
|
369
|
-
type: "outlined",
|
|
370
|
-
text: "+100",
|
|
371
|
-
min_height: 2,
|
|
372
|
-
is_disabled: () => is_disabled,
|
|
373
|
-
on_click: () => set_year((Number.isInteger(year) ? year : picker_year ? picker_year : 0) + 100),
|
|
374
|
-
})
|
|
375
|
-
back_to_calendar_button_manager = create_button_manager({
|
|
376
|
-
type: "soft",
|
|
377
|
-
text: "Back to Calendar",
|
|
378
|
-
support_icon: "arrow_tailed",
|
|
379
|
-
icon_pos: "left",
|
|
380
|
-
icon_deg: 180,
|
|
381
|
-
is_disabled: () => is_disabled,
|
|
382
|
-
on_click: () => (is_pick_month_year = false),
|
|
383
|
-
})
|
|
384
|
-
hour_number_toggler_manager = create_number_toggler({
|
|
385
|
-
val: config?.hour,
|
|
386
|
-
label: "Hour",
|
|
387
|
-
on_change: (input) => set_hour(input),
|
|
388
|
-
})
|
|
389
|
-
minute_number_toggler_manager = create_number_toggler({
|
|
390
|
-
val: config?.minute,
|
|
391
|
-
label: "Minute",
|
|
392
|
-
on_change: (input) => set_minute(input),
|
|
393
|
-
})
|
|
394
|
-
second_number_toggler_manager = create_number_toggler({
|
|
395
|
-
val: config?.second,
|
|
396
|
-
label: "Second",
|
|
397
|
-
on_change: (input) => set_second(input),
|
|
398
|
-
})
|
|
399
|
-
period_days_number_toggler_manager = create_number_toggler({
|
|
400
|
-
val: config?.days,
|
|
401
|
-
label: "Days",
|
|
402
|
-
})
|
|
403
|
-
period_hours_number_toggler_manager = create_number_toggler({
|
|
404
|
-
val: config?.hours,
|
|
405
|
-
label: "Hours",
|
|
406
|
-
})
|
|
407
|
-
period_minutes_number_toggler_manager = create_number_toggler({
|
|
408
|
-
val: config?.minutes,
|
|
409
|
-
label: "Minutes",
|
|
410
|
-
})
|
|
411
|
-
period_seconds_number_toggler_manager = create_number_toggler({
|
|
412
|
-
val: config?.seconds,
|
|
413
|
-
label: "Seconds",
|
|
414
|
-
})
|
|
415
|
-
set_null_button_manager = create_button_manager({
|
|
416
|
-
type: "outlined",
|
|
417
|
-
text: "Clear",
|
|
418
|
-
is_disabled: () => is_disabled,
|
|
419
|
-
on_click: () => set_val(null),
|
|
420
|
-
})
|
|
421
|
-
set_to_now_button_manager = create_button_manager({
|
|
422
|
-
type: "outlined",
|
|
423
|
-
text: "Set to Now",
|
|
424
|
-
is_disabled: () => is_disabled,
|
|
425
|
-
on_click: () => set_to_now(),
|
|
426
|
-
})
|
|
427
|
-
reset_timezone_button_manager = create_button_manager({
|
|
428
|
-
type: "outlined",
|
|
429
|
-
support_icon: "refresh",
|
|
430
|
-
is_uniform: true,
|
|
431
|
-
is_disabled: () => is_disabled,
|
|
432
|
-
on_click: () => set_timezone(Intl.DateTimeFormat().resolvedOptions().timeZone),
|
|
433
|
-
})
|
|
434
|
-
finish_button_manager = create_button_manager({
|
|
435
|
-
text: "Finish",
|
|
436
|
-
on_click: () => finish(),
|
|
437
|
-
})
|
|
438
|
-
timezone_dropdown_manager = create_dropdown_manager({
|
|
439
|
-
placeholder: "Timezone",
|
|
440
|
-
button_type: "outlined",
|
|
441
|
-
target_width: 180,
|
|
442
|
-
val: time_full?.timezone ?? null,
|
|
443
|
-
selected_font_size: 1.4,
|
|
444
|
-
options: common_timezones.map((h) => ({ key: h?.text, name: `${h?.text} (${h?.offset})` })),
|
|
445
|
-
on_item_click: (input) => set_timezone(input?.key),
|
|
446
|
-
})
|
|
447
|
-
month_dropdown_manager = create_dropdown_manager({
|
|
448
|
-
placeholder: "Month",
|
|
449
|
-
button_type: "outlined",
|
|
450
|
-
target_width: 180,
|
|
451
|
-
selected_font_size: 1.4,
|
|
452
|
-
val: time_full?.month ?? null,
|
|
453
|
-
options: Array.isArray(month_names) ? month_names.map((h, i) => ({ key: i + 1, name: `${i + 1} - ${h}` })) : null,
|
|
454
|
-
on_item_click: (input) => set_month(input?.key),
|
|
455
|
-
})
|
|
456
|
-
granularity_dropdown_manager = create_dropdown_manager({
|
|
457
|
-
placeholder: "Granularity",
|
|
458
|
-
button_type: "outlined",
|
|
459
|
-
target_width: 180,
|
|
460
|
-
selected_font_size: 1.4,
|
|
461
|
-
val: time_full?.granularity ?? "day",
|
|
462
|
-
mt: 1,
|
|
463
|
-
options: Array.isArray(granularity_options)
|
|
464
|
-
? granularity_options.filter((h) => granularities.some((j) => j == h)).map((h) => ({ key: h, name: h }))
|
|
465
|
-
: null,
|
|
466
|
-
on_item_click: (input) => set_granularity(input?.key),
|
|
467
|
-
})
|
|
468
|
-
set_day_of_month_button_managers()
|
|
469
|
-
set_val(config?.val?.is_null ?? config?.val == null ? null : time_full)
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
init(config)
|
|
473
|
-
|
|
474
|
-
return {
|
|
475
|
-
id,
|
|
476
|
-
get val() {
|
|
477
|
-
return val
|
|
478
|
-
},
|
|
479
|
-
get label() {
|
|
480
|
-
return label
|
|
481
|
-
},
|
|
482
|
-
get is_wide_view() {
|
|
483
|
-
return is_wide_view
|
|
484
|
-
},
|
|
485
|
-
get format() {
|
|
486
|
-
return format
|
|
487
|
-
},
|
|
488
|
-
get picker_year() {
|
|
489
|
-
return picker_year
|
|
490
|
-
},
|
|
491
|
-
get picker_month() {
|
|
492
|
-
return picker_month
|
|
493
|
-
},
|
|
494
|
-
get is_pick_month_year() {
|
|
495
|
-
return is_pick_month_year
|
|
496
|
-
},
|
|
497
|
-
get granularity_options() {
|
|
498
|
-
return granularity_options
|
|
499
|
-
},
|
|
500
|
-
get is_disabled() {
|
|
501
|
-
return is_disabled
|
|
502
|
-
},
|
|
503
|
-
get is_popover() {
|
|
504
|
-
return is_popover
|
|
505
|
-
},
|
|
506
|
-
get is_null() {
|
|
507
|
-
return is_null
|
|
508
|
-
},
|
|
509
|
-
get year() {
|
|
510
|
-
return year
|
|
511
|
-
},
|
|
512
|
-
get day_of_month() {
|
|
513
|
-
return day_of_month
|
|
514
|
-
},
|
|
515
|
-
get day_of_week() {
|
|
516
|
-
return day_of_week
|
|
517
|
-
},
|
|
518
|
-
get day_of_year() {
|
|
519
|
-
return day_of_year
|
|
520
|
-
},
|
|
521
|
-
get week_of_year() {
|
|
522
|
-
return week_of_year
|
|
523
|
-
},
|
|
524
|
-
get datetime() {
|
|
525
|
-
return datetime
|
|
526
|
-
},
|
|
527
|
-
get is_show_granularity_dropdown() {
|
|
528
|
-
return is_show_granularity_dropdown
|
|
529
|
-
},
|
|
530
|
-
get epoch_text_input_manager() {
|
|
531
|
-
return epoch_text_input_manager
|
|
532
|
-
},
|
|
533
|
-
get picker_month_day_of_week() {
|
|
534
|
-
return picker_month_day_of_week
|
|
535
|
-
},
|
|
536
|
-
get picker_days_in_month() {
|
|
537
|
-
return picker_days_in_month
|
|
538
|
-
},
|
|
539
|
-
get boxes_in_picker() {
|
|
540
|
-
return boxes_in_picker
|
|
541
|
-
},
|
|
542
|
-
get popover_manager() {
|
|
543
|
-
return popover_manager
|
|
544
|
-
},
|
|
545
|
-
get left_month_button_manager() {
|
|
546
|
-
return left_month_button_manager
|
|
547
|
-
},
|
|
548
|
-
get right_month_button_manager() {
|
|
549
|
-
return right_month_button_manager
|
|
550
|
-
},
|
|
551
|
-
get prempt_month_year_button_manager() {
|
|
552
|
-
return prempt_month_year_button_manager
|
|
553
|
-
},
|
|
554
|
-
get year_minus_one_button_manager() {
|
|
555
|
-
return year_minus_one_button_manager
|
|
556
|
-
},
|
|
557
|
-
get year_plus_one_button_manager() {
|
|
558
|
-
return year_plus_one_button_manager
|
|
559
|
-
},
|
|
560
|
-
get year_minus_hundred_button_manager() {
|
|
561
|
-
return year_minus_hundred_button_manager
|
|
562
|
-
},
|
|
563
|
-
get year_plus_hundred_button_manager() {
|
|
564
|
-
return year_plus_hundred_button_manager
|
|
565
|
-
},
|
|
566
|
-
get back_to_calendar_button_manager() {
|
|
567
|
-
return back_to_calendar_button_manager
|
|
568
|
-
},
|
|
569
|
-
get hour_number_toggler_manager() {
|
|
570
|
-
return hour_number_toggler_manager
|
|
571
|
-
},
|
|
572
|
-
get minute_number_toggler_manager() {
|
|
573
|
-
return minute_number_toggler_manager
|
|
574
|
-
},
|
|
575
|
-
get second_number_toggler_manager() {
|
|
576
|
-
return second_number_toggler_manager
|
|
577
|
-
},
|
|
578
|
-
get period_days_number_toggler_manager() {
|
|
579
|
-
return period_days_number_toggler_manager
|
|
580
|
-
},
|
|
581
|
-
get period_hours_number_toggler_manager() {
|
|
582
|
-
return period_hours_number_toggler_manager
|
|
583
|
-
},
|
|
584
|
-
get period_minutes_number_toggler_manager() {
|
|
585
|
-
return period_minutes_number_toggler_manager
|
|
586
|
-
},
|
|
587
|
-
get period_seconds_number_toggler_manager() {
|
|
588
|
-
return period_seconds_number_toggler_manager
|
|
589
|
-
},
|
|
590
|
-
get set_null_button_manager() {
|
|
591
|
-
return set_null_button_manager
|
|
592
|
-
},
|
|
593
|
-
get set_to_now_button_manager() {
|
|
594
|
-
return set_to_now_button_manager
|
|
595
|
-
},
|
|
596
|
-
get reset_timezone_button_manager() {
|
|
597
|
-
return reset_timezone_button_manager
|
|
598
|
-
},
|
|
599
|
-
get main_toggle_button_manager() {
|
|
600
|
-
return main_toggle_button_manager
|
|
601
|
-
},
|
|
602
|
-
get finish_button_manager() {
|
|
603
|
-
return finish_button_manager
|
|
604
|
-
},
|
|
605
|
-
get timezone_dropdown_manager() {
|
|
606
|
-
return timezone_dropdown_manager
|
|
607
|
-
},
|
|
608
|
-
get granularity_dropdown_manager() {
|
|
609
|
-
return granularity_dropdown_manager
|
|
610
|
-
},
|
|
611
|
-
get month_dropdown_manager() {
|
|
612
|
-
return month_dropdown_manager
|
|
613
|
-
},
|
|
614
|
-
get day_of_month_button_managers() {
|
|
615
|
-
return day_of_month_button_managers
|
|
616
|
-
},
|
|
617
|
-
get is_show_calendar() {
|
|
618
|
-
return is_show_calendar
|
|
619
|
-
},
|
|
620
|
-
month_names,
|
|
621
|
-
days_of_week_names,
|
|
622
|
-
granularities,
|
|
623
|
-
set_val,
|
|
624
|
-
set_granularity,
|
|
625
|
-
set_timezone,
|
|
626
|
-
set_to_now,
|
|
627
|
-
set_year,
|
|
628
|
-
set_month,
|
|
629
|
-
set_day_of_month,
|
|
630
|
-
set_hour,
|
|
631
|
-
set_minute,
|
|
632
|
-
set_second,
|
|
633
|
-
set_picker_data,
|
|
634
|
-
handle_left_month,
|
|
635
|
-
handle_right_month,
|
|
636
|
-
finish,
|
|
637
|
-
}
|
|
638
|
-
}
|