sveltekit-ui 1.1.17 → 1.1.18
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/dist/Components/Alert/index.svelte +88 -0
- package/dist/Components/Alert/index.svelte.js +101 -0
- package/dist/Components/ArrowToggle/index.svelte +62 -0
- package/dist/Components/Attachment/index.svelte +77 -0
- package/dist/Components/Attachment/index.svelte.js +119 -0
- package/dist/Components/Audio/index.svelte +193 -0
- package/dist/Components/Audio/index.svelte.js +463 -0
- package/dist/Components/AudioEditor/index.svelte +252 -0
- package/dist/Components/AudioEditor/index.svelte.js +977 -0
- 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/AuthCodeInput/index.svelte +85 -0
- package/dist/Components/AuthCodeInput/index.svelte.js +95 -0
- package/dist/Components/Breadcrumbs/index.svelte +27 -0
- package/dist/Components/Breadcrumbs/index.svelte.js +88 -0
- package/dist/Components/Button/index.svelte +721 -0
- package/dist/Components/Button/index.svelte.js +375 -0
- package/dist/Components/Chart/Klines/index.svelte +87 -0
- package/dist/Components/Chart/index.svelte +226 -0
- package/dist/Components/Chart/index.svelte.js +1090 -0
- package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +150 -0
- package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +45 -0
- package/dist/Components/ChartInput/DisplayNav/index.svelte +297 -0
- package/dist/Components/ChartInput/EditPanel/index.svelte +155 -0
- package/dist/Components/ChartInput/index.svelte +21 -0
- package/dist/Components/ChartInput/index.svelte.js +671 -0
- package/dist/Components/Checkbox/index.svelte +411 -0
- package/dist/Components/Checkbox/index.svelte.js +178 -0
- package/dist/Components/Code/index.svelte +23 -0
- package/dist/Components/Code/index.svelte.js +33 -0
- package/dist/Components/Color/index.svelte +51 -0
- package/dist/Components/Color/index.svelte.js +31 -0
- package/dist/Components/ColorInput/ChromaPicker/index.svelte +50 -0
- package/dist/Components/ColorInput/ColorPalette/index.svelte +62 -0
- package/dist/Components/ColorInput/OpacityPicker/index.svelte +68 -0
- package/dist/Components/ColorInput/ShowcasePicker/index.svelte +136 -0
- package/dist/Components/ColorInput/index.svelte +70 -0
- package/dist/Components/ColorInput/index.svelte.js +386 -0
- package/dist/Components/ConditionsInput/index.svelte +46 -0
- package/dist/Components/ConditionsInput/index.svelte.js +201 -0
- package/dist/Components/Confetti/index.svelte +98 -0
- package/dist/Components/Confetti/index.svelte.js +94 -0
- package/dist/Components/Content/index.svelte +500 -0
- package/dist/Components/Content/index.svelte.js +910 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +31 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +258 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +31 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +258 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +58 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +206 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +28 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +224 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +44 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +272 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +41 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +202 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +19 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +117 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +60 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +542 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +47 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +185 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +35 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +222 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +20 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +84 -0
- package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +25 -0
- package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +91 -0
- package/dist/Components/ContentInput/AttributesInput/index.svelte +352 -0
- package/dist/Components/ContentInput/AttributesInput/index.svelte.js +1436 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +64 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +97 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +184 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +41 -0
- package/dist/Components/ContentInput/index.svelte +78 -0
- package/dist/Components/ContentInput/index.svelte.js +1197 -0
- package/dist/Components/CronInput/index.svelte +78 -0
- package/dist/Components/CronInput/index.svelte.js +198 -0
- package/dist/Components/DataTypeInput/index.svelte +174 -0
- package/dist/Components/DataTypeInput/index.svelte.js +565 -0
- package/dist/Components/Dropdown/index.svelte +116 -0
- package/dist/Components/Dropdown/index.svelte.js +403 -0
- package/dist/Components/EmailAddress/index.svelte +22 -0
- package/dist/Components/EmailAddress/index.svelte.js +45 -0
- package/dist/Components/ErrorX/index.svelte +58 -0
- package/dist/Components/Eye/index.svelte +57 -0
- package/dist/Components/FileInput/index.svelte +146 -0
- package/dist/Components/FileInput/index.svelte.js +225 -0
- package/dist/Components/Hamburger/index.svelte +99 -0
- package/dist/Components/HorizScrollBox/index.svelte +145 -0
- package/dist/Components/Icon/index.svelte +412 -0
- package/dist/Components/Icon/index.svelte.js +116 -0
- package/dist/Components/IconInput/index.svelte +77 -0
- package/dist/Components/IconInput/index.svelte.js +259 -0
- package/dist/Components/Image/index.svelte +126 -0
- package/dist/Components/Image/index.svelte.js +116 -0
- package/dist/Components/ImageEditor/Image/CropBox/index.svelte +165 -0
- package/dist/Components/ImageEditor/Image/index.svelte +104 -0
- package/dist/Components/ImageEditor/Panels/AI/index.svelte +44 -0
- package/dist/Components/ImageEditor/Panels/Crop/index.svelte +96 -0
- package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +124 -0
- package/dist/Components/ImageEditor/Panels/File/index.svelte +74 -0
- package/dist/Components/ImageEditor/Panels/Filters/index.svelte +46 -0
- package/dist/Components/ImageEditor/Panels/Resize/index.svelte +58 -0
- package/dist/Components/ImageEditor/index.svelte +93 -0
- package/dist/Components/ImageEditor/index.svelte.js +1961 -0
- package/dist/Components/ImageSlider/index.svelte +124 -0
- package/dist/Components/ImageSlider/index.svelte.js +99 -0
- package/dist/Components/InfoBox/index.svelte +89 -0
- package/dist/Components/Json/Nested/index.svelte +157 -0
- package/dist/Components/Json/index.svelte +60 -0
- package/dist/Components/Json/index.svelte.js +594 -0
- package/dist/Components/LabeledItem/index.svelte +102 -0
- package/dist/Components/Layout/NavBar/FullNav/index.svelte +52 -0
- package/dist/Components/Layout/NavBar/NavGuts/index.svelte +87 -0
- package/dist/Components/Layout/NavBar/index.svelte +72 -0
- package/dist/Components/Layout/index.svelte +149 -0
- package/dist/Components/Layout/index.svelte.js +360 -0
- package/dist/Components/Link/index.svelte +47 -0
- package/dist/Components/Link/index.svelte.js +136 -0
- package/dist/Components/LoadingSuccessDiv/index.svelte +51 -0
- package/dist/Components/LoadingWheel/index.svelte +38 -0
- package/dist/Components/Location/index.svelte +79 -0
- package/dist/Components/Location/index.svelte.js +288 -0
- package/dist/Components/LocationInput/index.svelte +197 -0
- package/dist/Components/LocationInput/index.svelte.js +965 -0
- package/dist/Components/Number/index.svelte +47 -0
- package/dist/Components/Number/index.svelte.js +151 -0
- package/dist/Components/PhoneCountryCode/index.svelte +7 -0
- package/dist/Components/PhoneCountryCode/index.svelte.js +260 -0
- package/dist/Components/PhoneNumber/index.svelte +22 -0
- package/dist/Components/PhoneNumber/index.svelte.js +41 -0
- package/dist/Components/Popover/index.svelte +396 -0
- package/dist/Components/Popover/index.svelte.js +319 -0
- package/dist/Components/Qr/index.svelte +85 -0
- package/dist/Components/Qr/index.svelte.js +301 -0
- package/dist/Components/QrInput/index.svelte +47 -0
- package/dist/Components/QrInput/index.svelte.js +218 -0
- package/dist/Components/Slider/index.svelte +239 -0
- package/dist/Components/Slider/index.svelte.js +469 -0
- package/dist/Components/Spacer/index.svelte +41 -0
- package/dist/Components/StoragePicker/DisplayFile/index.svelte +15 -0
- package/dist/Components/StoragePicker/index.svelte +187 -0
- package/dist/Components/StoragePicker/index.svelte.js +592 -0
- package/dist/Components/SuccessCheck/index.svelte +56 -0
- package/dist/Components/TableAdvanced/ColumnInput/index.svelte +117 -0
- package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +456 -0
- package/dist/Components/TableAdvanced/FilterInput/index.svelte +54 -0
- package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +247 -0
- package/dist/Components/TableAdvanced/Pagination/index.svelte +43 -0
- package/dist/Components/TableAdvanced/Pagination/index.svelte.js +97 -0
- package/dist/Components/TableAdvanced/SortByInput/index.svelte +72 -0
- package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +176 -0
- package/dist/Components/TableAdvanced/index.svelte +275 -0
- package/dist/Components/TableAdvanced/index.svelte.js +1565 -0
- package/dist/Components/Tag/index.svelte +45 -0
- package/dist/Components/Tag/index.svelte.js +76 -0
- package/dist/Components/TextArrayInput/index.svelte +108 -0
- package/dist/Components/TextArrayInput/index.svelte.js +239 -0
- package/dist/Components/TextInput/PasswordTooltip/index.svelte +89 -0
- package/dist/Components/TextInput/index.svelte +223 -0
- package/dist/Components/TextInput/index.svelte.js +447 -0
- package/dist/Components/Time/index.svelte +7 -0
- package/dist/Components/Time/index.svelte.js +38 -0
- package/dist/Components/TimeInput/NumberToggler/index.svelte +34 -0
- package/dist/Components/TimeInput/NumberToggler/index.svelte.js +79 -0
- package/dist/Components/TimeInput/index.js +702 -0
- package/dist/Components/TimeInput/index.svelte +211 -0
- package/dist/Components/TimeInput/index.svelte.js +638 -0
- package/dist/Components/Tooltip/index.svelte +143 -0
- package/dist/Components/TransparentBackground/index.svelte +153 -0
- package/dist/Components/TypingDots/index.svelte +84 -0
- package/dist/Components/VariablePathInput/index.svelte +63 -0
- package/dist/Components/VariablePathInput/index.svelte.js +273 -0
- package/dist/Components/VideoTBD/index.svelte +100 -0
- package/dist/Components/XFollow/index.svelte +42 -0
- package/dist/Components/XPost/index.svelte +52 -0
- package/dist/Components/XPost/index.svelte.js +64 -0
- package/dist/Components/YoutubeChannelButton/index.svelte +82 -0
- package/dist/Components/YoutubeVideo/index.svelte +73 -0
- package/dist/Components/YoutubeVideo/index.svelte.js +54 -0
- package/dist/actions/draggable.js +49 -0
- package/dist/actions/index.js +24 -0
- package/dist/actions/no_spaces.js +33 -0
- package/dist/actions/numbers_only.js +26 -0
- package/dist/actions/scroll_y.js +28 -0
- package/dist/actions/stop_scroll_propagation_y.js +42 -0
- package/dist/actions/swipe_handler.js +295 -0
- package/dist/client/astc_formatting/index.js +1128 -0
- package/dist/client/docs/index.js +7622 -0
- package/dist/client/index.js +735 -0
- package/dist/client/types/index.js +2812 -0
- package/dist/index.js +180 -0
- package/dist/style.css +682 -0
- package/package.json +1 -1
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
import { create_unique_id, set_closurable } from "../../client/index.js"
|
|
2
|
+
import { create_icon_manager } from "../Icon/index.svelte.js"
|
|
3
|
+
|
|
4
|
+
export function create_button_manager(config) {
|
|
5
|
+
const id = create_unique_id(null, 20)
|
|
6
|
+
|
|
7
|
+
let type = $derived(set_closurable(config?.type, "primary")) // primary, outlined, soft, plain
|
|
8
|
+
let support_icon = $derived(set_closurable(config?.support_icon, null))
|
|
9
|
+
let is_icon_bg_tint = $derived(set_closurable(config?.is_icon_bg_tint, false))
|
|
10
|
+
let icon_deg = $derived(set_closurable(config?.icon_deg, 0))
|
|
11
|
+
let icon_sw = $derived(set_closurable(config?.icon_sw, 0))
|
|
12
|
+
let icon_size = $derived(set_closurable(config?.icon_size, 1.8))
|
|
13
|
+
let icon_ml = $derived(set_closurable(config?.icon_ml, 0))
|
|
14
|
+
let icon_mr = $derived(set_closurable(config?.icon_mr, 0))
|
|
15
|
+
let icon_pos = $derived(set_closurable(config?.icon_pos, "right"))
|
|
16
|
+
let is_icon_shimmyable = $derived(set_closurable(config?.is_icon_shimmyable, false))
|
|
17
|
+
let icon_movement_stiffness = $derived(set_closurable(config?.icon_movement_stiffness, 0.1))
|
|
18
|
+
let icon_movement_damping = $derived(set_closurable(config?.icon_movement_damping, 0.1))
|
|
19
|
+
let aria_label = $derived(set_closurable(config?.aria_label, null))
|
|
20
|
+
let popover_target = $derived(set_closurable(config?.popover_target, null))
|
|
21
|
+
let is_no_wrap = $derived(set_closurable(config?.is_no_wrap, false))
|
|
22
|
+
let is_word_break_all = $derived(set_closurable(config?.is_word_break_all, false))
|
|
23
|
+
let is_success_animation = $derived(set_closurable(config?.is_success_animation, false))
|
|
24
|
+
let ml = $derived(set_closurable(config?.ml, 0))
|
|
25
|
+
let mr = $derived(set_closurable(config?.mr, 0))
|
|
26
|
+
let mt = $derived(set_closurable(config?.mt, 0))
|
|
27
|
+
let mb = $derived(set_closurable(config?.mb, 0))
|
|
28
|
+
let pl = $derived(set_closurable(config?.pl, 1.1))
|
|
29
|
+
let pr = $derived(set_closurable(config?.pr, 1.1))
|
|
30
|
+
let pt = $derived(set_closurable(config?.pt, 0.3))
|
|
31
|
+
let pb = $derived(set_closurable(config?.pb, 0.3))
|
|
32
|
+
let border_radius = $derived(set_closurable(config?.border_radius, 1))
|
|
33
|
+
let tabindex = $derived(set_closurable(config?.tabindex, 0))
|
|
34
|
+
let is_prevent_default = $derived(set_closurable(config?.is_prevent_default, false))
|
|
35
|
+
let is_stop_propagation = $derived(set_closurable(config?.is_stop_propagation, false))
|
|
36
|
+
let min_height = $derived(set_closurable(config?.min_height, 3.4))
|
|
37
|
+
let fixed_width = $derived(set_closurable(config?.fixed_width, null))
|
|
38
|
+
let min_width = $derived(set_closurable(config?.min_width, null))
|
|
39
|
+
let is_compressed = $derived(set_closurable(config?.is_compressed, false))
|
|
40
|
+
let is_pill = $derived(set_closurable(config?.is_pill, false))
|
|
41
|
+
let is_uniform = $derived(set_closurable(config?.is_uniform, false))
|
|
42
|
+
let cursor = $derived(set_closurable(config?.cursor, "pointer"))
|
|
43
|
+
let text_align = $derived(set_closurable(config?.text_align, "center"))
|
|
44
|
+
let font_size = $derived(set_closurable(config?.font_size, 1.6))
|
|
45
|
+
let line_height = $derived(set_closurable(config?.line_height, 1.2))
|
|
46
|
+
let font_weight = $derived(set_closurable(config?.font_weight, 400))
|
|
47
|
+
let h = $derived(set_closurable(config?.h, null))
|
|
48
|
+
let c = $derived(set_closurable(config?.c, null))
|
|
49
|
+
let l = $derived(set_closurable(config?.l, null))
|
|
50
|
+
let color = $derived(
|
|
51
|
+
set_closurable(config?.color, null) ??
|
|
52
|
+
`oklch(var(--l${Math.min(Math.max(l != null ? l : type == "primary" ? 8 : 2, 0), 24)}-t) ${
|
|
53
|
+
Number.isInteger(c)
|
|
54
|
+
? `var(--c${Math.min(Math.max(c, 0), 24)})`
|
|
55
|
+
: type == "primary"
|
|
56
|
+
? "var(--primary-c)"
|
|
57
|
+
: "var(--c3)"
|
|
58
|
+
} ${h != null ? `var(--h${Math.min(Math.max(h, 0), 24)})` : "var(--primary-h)"})`
|
|
59
|
+
)
|
|
60
|
+
let gradient_to_color = $derived(set_closurable(config?.gradient_to_color, color))
|
|
61
|
+
let gradient_turn = $derived(set_closurable(config?.gradient_turn, 0.3))
|
|
62
|
+
let contrast_color = $derived(
|
|
63
|
+
set_closurable(
|
|
64
|
+
config?.contrast_color,
|
|
65
|
+
`oklch(var(--l${Math.min(Math.max(l != null ? l : 4, 1), 24) > 12 ? 3 : 22}-t) var(--c${Math.min(
|
|
66
|
+
Math.max(c != null ? c : 2, 1),
|
|
67
|
+
3
|
|
68
|
+
)}) ${h ? `var(--h${Math.min(Math.max(h, 0), 24)})` : "var(--primary-h)"})`
|
|
69
|
+
)
|
|
70
|
+
)
|
|
71
|
+
let border_color = $derived(set_closurable(config?.border_color, null))
|
|
72
|
+
let hover_shadow_color = $derived(set_closurable(config?.hover_shadow_color, "transparent"))
|
|
73
|
+
let hover_shadow_size = $derived(set_closurable(config?.hover_shadow_size, 1))
|
|
74
|
+
let text = $derived(set_closurable(config?.text, null))
|
|
75
|
+
let is_loading = $derived(set_closurable(config?.is_loading, false))
|
|
76
|
+
let is_disabled = $derived(set_closurable(config?.is_disabled, false))
|
|
77
|
+
let selected_type = $derived(set_closurable(config?.selected_type, null))
|
|
78
|
+
|
|
79
|
+
let is_error = $state(false)
|
|
80
|
+
let is_success = $state(false)
|
|
81
|
+
let icon_manager = $state(null)
|
|
82
|
+
|
|
83
|
+
let is_hovered = $state(false)
|
|
84
|
+
let is_pointer_down = $state(false)
|
|
85
|
+
let is_simulated_active = $state(config?.is_simulated_active || false)
|
|
86
|
+
|
|
87
|
+
function success_trigger() {
|
|
88
|
+
is_error = false
|
|
89
|
+
is_success = true
|
|
90
|
+
setTimeout(() => {
|
|
91
|
+
is_success = false
|
|
92
|
+
}, 1400)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function error_trigger() {
|
|
96
|
+
is_success = false
|
|
97
|
+
is_error = true
|
|
98
|
+
setTimeout(() => {
|
|
99
|
+
is_error = false
|
|
100
|
+
}, 1400)
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function icon_shimmy_trigger() {
|
|
104
|
+
if (typeof icon_manager?.trigger_shimmy == "function") {
|
|
105
|
+
icon_manager.trigger_shimmy()
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function handle_click(e) {
|
|
110
|
+
if (is_prevent_default) {
|
|
111
|
+
e.preventDefault()
|
|
112
|
+
}
|
|
113
|
+
if (is_stop_propagation) {
|
|
114
|
+
e.stopPropagation()
|
|
115
|
+
}
|
|
116
|
+
if (is_success_animation) {
|
|
117
|
+
success_trigger()
|
|
118
|
+
}
|
|
119
|
+
if (config?.on_click) {
|
|
120
|
+
config?.on_click()
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function pointer_down() {
|
|
125
|
+
is_pointer_down = true
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function pointer_up() {
|
|
129
|
+
is_pointer_down = false
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function pointer_enter() {
|
|
133
|
+
is_hovered = true
|
|
134
|
+
if (config?.on_hover) {
|
|
135
|
+
config?.on_hover(true)
|
|
136
|
+
}
|
|
137
|
+
icon_shimmy_trigger()
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function pointer_leave() {
|
|
141
|
+
is_hovered = false
|
|
142
|
+
if (config?.on_hover) {
|
|
143
|
+
config?.on_hover(false)
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
function simulate_click() {
|
|
148
|
+
is_simulated_active = true
|
|
149
|
+
setTimeout(() => {
|
|
150
|
+
is_simulated_active = false
|
|
151
|
+
}, 800)
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
function focus() {
|
|
155
|
+
let button_el = document?.querySelector(`#button_${id}`)
|
|
156
|
+
if (button_el) {
|
|
157
|
+
button_el.focus()
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
function init(config) {
|
|
162
|
+
if (support_icon) {
|
|
163
|
+
icon_manager = create_icon_manager({
|
|
164
|
+
icon_id: () => support_icon,
|
|
165
|
+
size: () => icon_size,
|
|
166
|
+
sw: () => (icon_sw ? icon_sw : min_height > 0 ? min_height * 12 : 40),
|
|
167
|
+
color: () =>
|
|
168
|
+
is_disabled
|
|
169
|
+
? "var(--g6-t)"
|
|
170
|
+
: type == "primary" || (type == "outlined" && selected_type)
|
|
171
|
+
? is_pointer_down
|
|
172
|
+
? "oklch(from var(--contrast_color) calc(l - var(--l-shift-t)) calc(c + 0.01) h)"
|
|
173
|
+
: is_hovered
|
|
174
|
+
? "oklch(from var(--contrast_color) calc(l + var(--l-shift-t)) calc(c + 0.01) h)"
|
|
175
|
+
: contrast_color
|
|
176
|
+
: is_pointer_down
|
|
177
|
+
? "oklch(from var(--color) calc(l - var(--l-shift-t)) calc(c + 0.01) h)"
|
|
178
|
+
: is_hovered
|
|
179
|
+
? "oklch(from var(--color) calc(l + var(--l-shift-t)) calc(c + 0.01) h)"
|
|
180
|
+
: color,
|
|
181
|
+
deg: () => icon_deg,
|
|
182
|
+
is_shimmyable: () => is_icon_shimmyable && !is_loading && !is_disabled,
|
|
183
|
+
movement_stiffness: () => icon_movement_stiffness,
|
|
184
|
+
movement_damping: () => icon_movement_damping,
|
|
185
|
+
})
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
init(config)
|
|
190
|
+
|
|
191
|
+
return {
|
|
192
|
+
id,
|
|
193
|
+
get type() {
|
|
194
|
+
return type
|
|
195
|
+
},
|
|
196
|
+
get ml() {
|
|
197
|
+
return ml
|
|
198
|
+
},
|
|
199
|
+
get mr() {
|
|
200
|
+
return mr
|
|
201
|
+
},
|
|
202
|
+
get mt() {
|
|
203
|
+
return mt
|
|
204
|
+
},
|
|
205
|
+
get mb() {
|
|
206
|
+
return mb
|
|
207
|
+
},
|
|
208
|
+
get pl() {
|
|
209
|
+
return pl
|
|
210
|
+
},
|
|
211
|
+
get pr() {
|
|
212
|
+
return pr
|
|
213
|
+
},
|
|
214
|
+
get pt() {
|
|
215
|
+
return pt
|
|
216
|
+
},
|
|
217
|
+
get pb() {
|
|
218
|
+
return pb
|
|
219
|
+
},
|
|
220
|
+
get border_radius() {
|
|
221
|
+
return border_radius
|
|
222
|
+
},
|
|
223
|
+
get is_loading() {
|
|
224
|
+
return is_loading
|
|
225
|
+
},
|
|
226
|
+
get is_pointer_down() {
|
|
227
|
+
return is_pointer_down
|
|
228
|
+
},
|
|
229
|
+
get is_prevent_default() {
|
|
230
|
+
return is_prevent_default
|
|
231
|
+
},
|
|
232
|
+
get is_stop_propagation() {
|
|
233
|
+
return is_stop_propagation
|
|
234
|
+
},
|
|
235
|
+
get tabindex() {
|
|
236
|
+
return tabindex
|
|
237
|
+
},
|
|
238
|
+
get is_disabled() {
|
|
239
|
+
return is_disabled
|
|
240
|
+
},
|
|
241
|
+
get selected_type() {
|
|
242
|
+
return selected_type
|
|
243
|
+
},
|
|
244
|
+
get is_hovered() {
|
|
245
|
+
return is_hovered
|
|
246
|
+
},
|
|
247
|
+
get min_height() {
|
|
248
|
+
return min_height
|
|
249
|
+
},
|
|
250
|
+
get fixed_width() {
|
|
251
|
+
return fixed_width
|
|
252
|
+
},
|
|
253
|
+
get min_width() {
|
|
254
|
+
return min_width
|
|
255
|
+
},
|
|
256
|
+
get is_compressed() {
|
|
257
|
+
return is_compressed
|
|
258
|
+
},
|
|
259
|
+
get is_pill() {
|
|
260
|
+
return is_pill
|
|
261
|
+
},
|
|
262
|
+
get is_uniform() {
|
|
263
|
+
return is_uniform
|
|
264
|
+
},
|
|
265
|
+
get cursor() {
|
|
266
|
+
return cursor
|
|
267
|
+
},
|
|
268
|
+
get text_align() {
|
|
269
|
+
return text_align
|
|
270
|
+
},
|
|
271
|
+
get text() {
|
|
272
|
+
return text
|
|
273
|
+
},
|
|
274
|
+
get is_success_animation() {
|
|
275
|
+
return is_success_animation
|
|
276
|
+
},
|
|
277
|
+
get font_size() {
|
|
278
|
+
return font_size
|
|
279
|
+
},
|
|
280
|
+
get line_height() {
|
|
281
|
+
return line_height
|
|
282
|
+
},
|
|
283
|
+
get font_weight() {
|
|
284
|
+
return font_weight
|
|
285
|
+
},
|
|
286
|
+
get color() {
|
|
287
|
+
return color
|
|
288
|
+
},
|
|
289
|
+
get gradient_to_color() {
|
|
290
|
+
return gradient_to_color
|
|
291
|
+
},
|
|
292
|
+
get gradient_turn() {
|
|
293
|
+
return gradient_turn
|
|
294
|
+
},
|
|
295
|
+
get contrast_color() {
|
|
296
|
+
return contrast_color
|
|
297
|
+
},
|
|
298
|
+
get border_color() {
|
|
299
|
+
return border_color
|
|
300
|
+
},
|
|
301
|
+
get hover_shadow_color() {
|
|
302
|
+
return hover_shadow_color
|
|
303
|
+
},
|
|
304
|
+
get hover_shadow_size() {
|
|
305
|
+
return hover_shadow_size
|
|
306
|
+
},
|
|
307
|
+
get support_icon() {
|
|
308
|
+
return support_icon
|
|
309
|
+
},
|
|
310
|
+
get is_icon_bg_tint() {
|
|
311
|
+
return is_icon_bg_tint
|
|
312
|
+
},
|
|
313
|
+
get icon_deg() {
|
|
314
|
+
return icon_deg
|
|
315
|
+
},
|
|
316
|
+
get icon_sw() {
|
|
317
|
+
return icon_sw
|
|
318
|
+
},
|
|
319
|
+
get icon_size() {
|
|
320
|
+
return icon_size
|
|
321
|
+
},
|
|
322
|
+
get icon_ml() {
|
|
323
|
+
return icon_ml
|
|
324
|
+
},
|
|
325
|
+
get icon_mr() {
|
|
326
|
+
return icon_mr
|
|
327
|
+
},
|
|
328
|
+
get icon_pos() {
|
|
329
|
+
return icon_pos
|
|
330
|
+
},
|
|
331
|
+
get is_icon_shimmyable() {
|
|
332
|
+
return is_icon_shimmyable
|
|
333
|
+
},
|
|
334
|
+
get icon_movement_stiffness() {
|
|
335
|
+
return icon_movement_stiffness
|
|
336
|
+
},
|
|
337
|
+
get icon_movement_damping() {
|
|
338
|
+
return icon_movement_damping
|
|
339
|
+
},
|
|
340
|
+
get aria_label() {
|
|
341
|
+
return aria_label
|
|
342
|
+
},
|
|
343
|
+
get popover_target() {
|
|
344
|
+
return popover_target
|
|
345
|
+
},
|
|
346
|
+
get is_no_wrap() {
|
|
347
|
+
return is_no_wrap
|
|
348
|
+
},
|
|
349
|
+
get is_word_break_all() {
|
|
350
|
+
return is_word_break_all
|
|
351
|
+
},
|
|
352
|
+
get is_simulated_active() {
|
|
353
|
+
return is_simulated_active
|
|
354
|
+
},
|
|
355
|
+
get is_success() {
|
|
356
|
+
return is_success
|
|
357
|
+
},
|
|
358
|
+
get is_error() {
|
|
359
|
+
return is_error
|
|
360
|
+
},
|
|
361
|
+
get icon_manager() {
|
|
362
|
+
return icon_manager
|
|
363
|
+
},
|
|
364
|
+
success_trigger,
|
|
365
|
+
error_trigger,
|
|
366
|
+
icon_shimmy_trigger,
|
|
367
|
+
handle_click,
|
|
368
|
+
pointer_down,
|
|
369
|
+
pointer_up,
|
|
370
|
+
pointer_enter,
|
|
371
|
+
pointer_leave,
|
|
372
|
+
simulate_click,
|
|
373
|
+
focus,
|
|
374
|
+
}
|
|
375
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
let { dataset } = $props()
|
|
3
|
+
|
|
4
|
+
let is_boxed = $derived(dataset?.colors.length < 2)
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
{#each dataset.data as kline}
|
|
8
|
+
<div
|
|
9
|
+
class="kline_container"
|
|
10
|
+
style="
|
|
11
|
+
width: {dataset.kline_width_pd * 100}%;
|
|
12
|
+
height: {kline.kline_height * 100}%;
|
|
13
|
+
left: {kline.x * 100}%;
|
|
14
|
+
bottom: {kline.l * 100}%;
|
|
15
|
+
--color_one: {dataset?.color_one};
|
|
16
|
+
--color_two: {dataset?.color_two};
|
|
17
|
+
"
|
|
18
|
+
>
|
|
19
|
+
<div class="kline">
|
|
20
|
+
<div
|
|
21
|
+
class="wick top_wick"
|
|
22
|
+
class:inc={kline.is_closed_higher || is_boxed}
|
|
23
|
+
class:dec={!kline.is_closed_higher && !is_boxed}
|
|
24
|
+
style="
|
|
25
|
+
height: {kline.kline_top_wick_height_pd * 100}%;
|
|
26
|
+
top: 0;
|
|
27
|
+
"
|
|
28
|
+
></div>
|
|
29
|
+
<div
|
|
30
|
+
class="box"
|
|
31
|
+
class:inc={kline.is_closed_higher}
|
|
32
|
+
class:dec={!kline.is_closed_higher && !is_boxed}
|
|
33
|
+
class:dec_box={!kline.is_closed_higher && is_boxed}
|
|
34
|
+
style="min-height: 2px; top: {kline.kline_top_wick_height_pd *
|
|
35
|
+
100}%; bottom: {kline.kline_bottom_wick_height_pd * 100}%;"
|
|
36
|
+
></div>
|
|
37
|
+
<div
|
|
38
|
+
class="wick bottom_wick"
|
|
39
|
+
class:inc={kline.is_closed_higher || is_boxed}
|
|
40
|
+
class:dec={!kline.is_closed_higher && !is_boxed}
|
|
41
|
+
style="height: {kline.kline_bottom_wick_height_pd * 100}%; bottom: 0;"
|
|
42
|
+
></div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
{/each}
|
|
46
|
+
|
|
47
|
+
<style>
|
|
48
|
+
.kline_container {
|
|
49
|
+
position: absolute;
|
|
50
|
+
padding-left: 1px;
|
|
51
|
+
padding-right: 1px;
|
|
52
|
+
/* transform: translateX(-50%); */
|
|
53
|
+
}
|
|
54
|
+
.kline {
|
|
55
|
+
position: relative;
|
|
56
|
+
height: 100%;
|
|
57
|
+
}
|
|
58
|
+
.wick {
|
|
59
|
+
position: absolute;
|
|
60
|
+
left: 50%;
|
|
61
|
+
transform: translateX(-50%);
|
|
62
|
+
width: 2px;
|
|
63
|
+
}
|
|
64
|
+
.top_wick {
|
|
65
|
+
border-top-left-radius: 1px;
|
|
66
|
+
border-top-right-radius: 1px;
|
|
67
|
+
}
|
|
68
|
+
.bottom_wick {
|
|
69
|
+
border-bottom-left-radius: 1px;
|
|
70
|
+
border-bottom-right-radius: 1px;
|
|
71
|
+
}
|
|
72
|
+
.box {
|
|
73
|
+
position: absolute;
|
|
74
|
+
width: 100%;
|
|
75
|
+
border-radius: 0.2rem;
|
|
76
|
+
}
|
|
77
|
+
.inc {
|
|
78
|
+
background-color: var(--color_one);
|
|
79
|
+
}
|
|
80
|
+
.dec {
|
|
81
|
+
background-color: var(--color_two);
|
|
82
|
+
}
|
|
83
|
+
.dec_box {
|
|
84
|
+
border: 1px solid var(--color_one);
|
|
85
|
+
box-sizing: border-box;
|
|
86
|
+
}
|
|
87
|
+
</style>
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import Klines from "./Klines/index.svelte"
|
|
3
|
+
|
|
4
|
+
let { manager } = $props()
|
|
5
|
+
|
|
6
|
+
let grid_width = $state(null)
|
|
7
|
+
$effect(() => {
|
|
8
|
+
manager?.set_grid_width(grid_width)
|
|
9
|
+
})
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
class="grid"
|
|
14
|
+
style="--y_axis_width: {manager?.y_axis_width}rem; --x_axis_height: {manager?.x_axis_height}rem;"
|
|
15
|
+
onmousewheel={(e) => manager?.handle_scroll_frame(e)}
|
|
16
|
+
bind:clientWidth={grid_width}
|
|
17
|
+
>
|
|
18
|
+
{#if manager?.chart_prepped}
|
|
19
|
+
{#each manager?.chart_prepped.frames as frame, i}
|
|
20
|
+
<div
|
|
21
|
+
class="frame"
|
|
22
|
+
style="grid-area: {1 + i} / 1 / {2 +
|
|
23
|
+
i} / 2; aspect-ratio: {frame.aspect_ratio}; --frame_wid: {manager?.grid_width - manager?.y_axis_width}px"
|
|
24
|
+
>
|
|
25
|
+
{#if Array.isArray(manager?.chart_prepped?.x_axis_tics)}
|
|
26
|
+
{#each manager?.chart_prepped?.x_axis_tics as xtic}
|
|
27
|
+
<div class="x_line" style="--left: {xtic?.norm * 100}%;"></div>
|
|
28
|
+
{/each}
|
|
29
|
+
{/if}
|
|
30
|
+
{#if Array.isArray(frame?.shared_y_axiss[frame?.shown_y_axis_index]?.y_axis_tics)}
|
|
31
|
+
{#each frame?.shared_y_axiss[frame?.shown_y_axis_index]?.y_axis_tics as ytic}
|
|
32
|
+
<div class="y_line" style="--bottom: {ytic?.norm * 100}%;"></div>
|
|
33
|
+
{/each}
|
|
34
|
+
{/if}
|
|
35
|
+
{#each frame.shared_y_axiss as shared_y_axis}
|
|
36
|
+
{#each shared_y_axis.datasets as dataset, i}
|
|
37
|
+
<div style="position: absolute; height: 100%; width: 100%; z-index={i + 1}">
|
|
38
|
+
{#if !manager?.datasets || !manager?.datasets?.[dataset?.dataset_id]?.data}
|
|
39
|
+
<!-- no data found -->
|
|
40
|
+
{:else if dataset.type === "klines"}
|
|
41
|
+
<Klines {dataset} />
|
|
42
|
+
{:else if dataset.type === "points"}
|
|
43
|
+
{#each dataset.data as point}
|
|
44
|
+
<div
|
|
45
|
+
style="left: {point.x * 100}%; bottom: {point.y *
|
|
46
|
+
100}%; position: absolute; box-sizing: border-box; padding-left: 1px; padding-right: 1px; width: 4px; height: 4px; border-radius: 50%; transform: translate(-50%, 50%); border: 1px solid {dataset?.color_one}; background-color: {dataset?.color_two};"
|
|
47
|
+
></div>
|
|
48
|
+
{/each}
|
|
49
|
+
{:else if dataset.type === "path"}
|
|
50
|
+
<svg width="100%" height="100%" viewBox="0 0 100 100" preserveAspectRatio="none">
|
|
51
|
+
<path d={dataset?.d} style="fill:none;stroke-width:.2;stroke:{dataset?.color_one}" />
|
|
52
|
+
{#each dataset?.data as datapoint}
|
|
53
|
+
<circle
|
|
54
|
+
cx={100 * datapoint.x}
|
|
55
|
+
cy={100 - datapoint.y * 100}
|
|
56
|
+
r={0.3}
|
|
57
|
+
style="fill:{dataset?.color_two};"
|
|
58
|
+
/>
|
|
59
|
+
{/each}
|
|
60
|
+
</svg>
|
|
61
|
+
{:else if dataset.type === "lines"}
|
|
62
|
+
<svg width="100%" height="100%" viewBox="0 0 100 100" preserveAspectRatio="none">
|
|
63
|
+
{#each dataset?.data as dataline}
|
|
64
|
+
<path
|
|
65
|
+
d="M{dataline.x1 * 100} {100 - dataline.y1 * 100} L{dataline.x2 * 100} {100 - dataline.y2 * 100}"
|
|
66
|
+
style="fill:none;stroke-width:.2;stroke:{dataset?.color_one};"
|
|
67
|
+
/>
|
|
68
|
+
{/each}
|
|
69
|
+
</svg>
|
|
70
|
+
{:else}
|
|
71
|
+
Other
|
|
72
|
+
{/if}
|
|
73
|
+
</div>
|
|
74
|
+
{/each}
|
|
75
|
+
{/each}
|
|
76
|
+
</div>
|
|
77
|
+
<div
|
|
78
|
+
class="floater"
|
|
79
|
+
style="grid-area: {1 + i} / 1 / {2 + i} / 2;"
|
|
80
|
+
role="main"
|
|
81
|
+
onmousemove={(e) => manager?.handle_chart_hover(e, i)}
|
|
82
|
+
onmouseleave={() => manager?.handle_chart_hover_leave(i)}
|
|
83
|
+
>
|
|
84
|
+
{#if manager?.chart_prepped?.x_hovered_percent_decimal != null && !isNaN(manager?.chart_prepped?.x_hovered_percent_decimal)}
|
|
85
|
+
<div class="x_floater_line" style="--left: {manager?.chart_prepped?.x_hovered_percent_decimal * 100}%;"></div>
|
|
86
|
+
{/if}
|
|
87
|
+
{#if frame.y_hovered_percent_decimal != null && !isNaN(frame.y_hovered_percent_decimal)}
|
|
88
|
+
<div class="y_floater_line" style="--bottom: {frame.y_hovered_percent_decimal * 100}%;"></div>
|
|
89
|
+
{/if}
|
|
90
|
+
</div>
|
|
91
|
+
<div
|
|
92
|
+
role="button"
|
|
93
|
+
tabindex="0"
|
|
94
|
+
class="y_axis"
|
|
95
|
+
style="grid-area: {1 + i} / 2 / {2 + i} / 3;"
|
|
96
|
+
onclick={() => frame.change_shown_y_axis()}
|
|
97
|
+
onkeypress={() => frame.change_shown_y_axis()}
|
|
98
|
+
>
|
|
99
|
+
{#if frame?.shared_y_axiss[frame?.shown_y_axis_index]?.y_axis_tics}
|
|
100
|
+
{#each frame?.shared_y_axiss[frame?.shown_y_axis_index]?.y_axis_tics as tic}
|
|
101
|
+
<div class="y_axis_tic_container" style="--bottom: {tic?.norm * 100}%;">
|
|
102
|
+
<div class="y_axis_tic_mark"></div>
|
|
103
|
+
{#if tic?.text}
|
|
104
|
+
<p class="y_axis_tic_text">{tic?.text}</p>
|
|
105
|
+
{/if}
|
|
106
|
+
</div>
|
|
107
|
+
{/each}
|
|
108
|
+
{/if}
|
|
109
|
+
</div>
|
|
110
|
+
{/each}
|
|
111
|
+
<div
|
|
112
|
+
class="x_axis"
|
|
113
|
+
style="grid-area: {1 + manager?.chart_prepped?.frames.length} / 1 / {2 +
|
|
114
|
+
manager?.chart_prepped?.frames.length} / 2;"
|
|
115
|
+
>
|
|
116
|
+
{#if Array.isArray(manager?.chart_prepped?.x_axis_tics)}
|
|
117
|
+
{#each manager?.chart_prepped?.x_axis_tics as tic}
|
|
118
|
+
<div class="x_axis_tic_container" style="--left: {tic?.norm * 100}%;">
|
|
119
|
+
<div class="x_axis_tic_mark"></div>
|
|
120
|
+
{#if tic?.text}
|
|
121
|
+
<p class="x_axis_tic_text">{tic?.text}</p>
|
|
122
|
+
{/if}
|
|
123
|
+
</div>
|
|
124
|
+
{/each}
|
|
125
|
+
{/if}
|
|
126
|
+
</div>
|
|
127
|
+
{/if}
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<style>
|
|
131
|
+
.grid {
|
|
132
|
+
display: grid;
|
|
133
|
+
grid-template-columns: auto var(--y_axis_width);
|
|
134
|
+
grid-template-rows: auto;
|
|
135
|
+
border: 1px solid var(--g9-t);
|
|
136
|
+
border-radius: 1rem;
|
|
137
|
+
overflow: hidden;
|
|
138
|
+
}
|
|
139
|
+
.floater {
|
|
140
|
+
position: relative;
|
|
141
|
+
left: 0;
|
|
142
|
+
right: 0;
|
|
143
|
+
top: 0;
|
|
144
|
+
bottom: 0;
|
|
145
|
+
cursor: crosshair;
|
|
146
|
+
}
|
|
147
|
+
.frame {
|
|
148
|
+
box-sizing: border-box;
|
|
149
|
+
background-color: var(--shadow1-t);
|
|
150
|
+
width: var(--frame_wid);
|
|
151
|
+
position: relative;
|
|
152
|
+
overflow: hidden;
|
|
153
|
+
user-select: none;
|
|
154
|
+
}
|
|
155
|
+
.x_line {
|
|
156
|
+
position: absolute;
|
|
157
|
+
background-color: var(--shadow1-t);
|
|
158
|
+
left: var(--left);
|
|
159
|
+
transform: translateX(-50%);
|
|
160
|
+
width: 1px;
|
|
161
|
+
height: 100%;
|
|
162
|
+
}
|
|
163
|
+
.y_line {
|
|
164
|
+
position: absolute;
|
|
165
|
+
background-color: var(--shadow1-t);
|
|
166
|
+
bottom: var(--bottom);
|
|
167
|
+
transform: translateY(50%);
|
|
168
|
+
width: 100%;
|
|
169
|
+
height: 1px;
|
|
170
|
+
}
|
|
171
|
+
.x_floater_line {
|
|
172
|
+
position: absolute;
|
|
173
|
+
background-color: var(--shadow5-t);
|
|
174
|
+
left: var(--left);
|
|
175
|
+
transform: translateX(-50%);
|
|
176
|
+
width: 1px;
|
|
177
|
+
height: 100%;
|
|
178
|
+
}
|
|
179
|
+
.y_floater_line {
|
|
180
|
+
position: absolute;
|
|
181
|
+
background-color: var(--shadow5-t);
|
|
182
|
+
bottom: var(--bottom);
|
|
183
|
+
transform: translateY(50%);
|
|
184
|
+
width: 100%;
|
|
185
|
+
height: 1px;
|
|
186
|
+
}
|
|
187
|
+
.y_axis {
|
|
188
|
+
position: relative;
|
|
189
|
+
max-width: 7rem;
|
|
190
|
+
cursor: pointer;
|
|
191
|
+
}
|
|
192
|
+
.x_axis {
|
|
193
|
+
position: relative;
|
|
194
|
+
height: 3rem;
|
|
195
|
+
}
|
|
196
|
+
.x_axis_tic_container {
|
|
197
|
+
position: absolute;
|
|
198
|
+
display: flex;
|
|
199
|
+
flex-direction: column;
|
|
200
|
+
left: var(--left);
|
|
201
|
+
transform: translateX(-50%);
|
|
202
|
+
align-items: center;
|
|
203
|
+
}
|
|
204
|
+
.x_axis_tic_mark {
|
|
205
|
+
width: 2px;
|
|
206
|
+
height: 4px;
|
|
207
|
+
}
|
|
208
|
+
.x_axis_tic_text {
|
|
209
|
+
font-size: 1.4rem;
|
|
210
|
+
}
|
|
211
|
+
.y_axis_tic_container {
|
|
212
|
+
position: absolute;
|
|
213
|
+
display: flex;
|
|
214
|
+
bottom: var(--bottom);
|
|
215
|
+
transform: translateY(50%);
|
|
216
|
+
align-items: center;
|
|
217
|
+
}
|
|
218
|
+
.y_axis_tic_mark {
|
|
219
|
+
width: 4px;
|
|
220
|
+
height: 2px;
|
|
221
|
+
}
|
|
222
|
+
.y_axis_tic_text {
|
|
223
|
+
font-size: 1.4rem;
|
|
224
|
+
margin-left: 0.5rem;
|
|
225
|
+
}
|
|
226
|
+
</style>
|