ui-svelte 0.2.10 → 0.2.12
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/charts/ArcChart.svelte +9 -13
- package/dist/charts/ArcChart.svelte.d.ts +3 -3
- package/dist/charts/AreaChart.svelte +347 -118
- package/dist/charts/AreaChart.svelte.d.ts +33 -4
- package/dist/charts/BarChart.svelte +288 -66
- package/dist/charts/BarChart.svelte.d.ts +26 -1
- package/dist/charts/Candlestick.svelte +53 -50
- package/dist/charts/Candlestick.svelte.d.ts +8 -8
- package/dist/charts/LineChart.svelte +391 -91
- package/dist/charts/LineChart.svelte.d.ts +26 -3
- package/dist/charts/PieChart.svelte +333 -92
- package/dist/charts/PieChart.svelte.d.ts +33 -5
- package/dist/charts/css/arc-chart.css +3 -3
- package/dist/charts/css/area-chart.css +127 -29
- package/dist/charts/css/bar-chart.css +114 -8
- package/dist/charts/css/candlestick.css +2 -0
- package/dist/charts/css/line-chart.css +111 -13
- package/dist/charts/css/pie-chart.css +92 -20
- package/dist/control/Audio.svelte +86 -44
- package/dist/control/Audio.svelte.d.ts +4 -1
- package/dist/control/Button.svelte +18 -27
- package/dist/control/Button.svelte.d.ts +3 -2
- package/dist/control/IconButton.svelte +17 -27
- package/dist/control/IconButton.svelte.d.ts +3 -3
- package/dist/control/Image.svelte +123 -0
- package/dist/control/Image.svelte.d.ts +13 -0
- package/dist/control/Record.svelte +144 -98
- package/dist/control/Record.svelte.d.ts +2 -1
- package/dist/control/ToggleGroup.svelte +22 -8
- package/dist/control/ToggleGroup.svelte.d.ts +2 -1
- package/dist/control/ToggleTheme.svelte +13 -11
- package/dist/control/ToggleTheme.svelte.d.ts +3 -2
- package/dist/control/Video.svelte +55 -29
- package/dist/control/Video.svelte.d.ts +1 -0
- package/dist/control/css/btn.css +200 -152
- package/dist/control/css/image.css +56 -0
- package/dist/control/css/media.css +95 -30
- package/dist/control/css/toggle-group.css +269 -84
- package/dist/control/css/video.css +1 -14
- package/dist/css/animations.css +427 -2
- package/dist/css/base.css +13 -347
- package/dist/css/decorations.css +402 -0
- package/dist/css/rich-text.css +485 -0
- package/dist/css/transitions.css +158 -0
- package/dist/css/typography.css +291 -0
- package/dist/display/Accordion.svelte +28 -4
- package/dist/display/Accordion.svelte.d.ts +2 -1
- package/dist/display/Alert.svelte +32 -12
- package/dist/display/Alert.svelte.d.ts +2 -3
- package/dist/display/Avatar.svelte +54 -26
- package/dist/display/Avatar.svelte.d.ts +7 -1
- package/dist/display/AvatarGroup.svelte +26 -18
- package/dist/display/AvatarGroup.svelte.d.ts +9 -3
- package/dist/display/Badge.svelte +11 -4
- package/dist/display/Badge.svelte.d.ts +2 -1
- package/dist/display/Card.svelte +15 -14
- package/dist/display/Card.svelte.d.ts +2 -3
- package/dist/display/Carousel.svelte +130 -99
- package/dist/display/Carousel.svelte.d.ts +6 -4
- package/dist/display/ChatBox.svelte +245 -106
- package/dist/display/ChatBox.svelte.d.ts +32 -5
- package/dist/display/Chip.svelte +31 -17
- package/dist/display/Chip.svelte.d.ts +3 -2
- package/dist/display/Code.svelte +6 -3
- package/dist/display/Code.svelte.d.ts +1 -0
- package/dist/display/Collapsible.svelte +30 -4
- package/dist/display/Collapsible.svelte.d.ts +2 -1
- package/dist/display/Empty.svelte +37 -3
- package/dist/display/Empty.svelte.d.ts +3 -0
- package/dist/display/Item.svelte +31 -18
- package/dist/display/Item.svelte.d.ts +2 -2
- package/dist/display/Map.svelte +488 -0
- package/dist/display/Map.svelte.d.ts +44 -0
- package/dist/display/Section.svelte +14 -12
- package/dist/display/Section.svelte.d.ts +2 -3
- package/dist/display/Skeleton.svelte +32 -0
- package/dist/display/Skeleton.svelte.d.ts +10 -0
- package/dist/display/Table.svelte +94 -132
- package/dist/display/Table.svelte.d.ts +10 -1
- package/dist/display/css/accordion.css +349 -52
- package/dist/display/css/alert.css +18 -25
- package/dist/display/css/avatar-group.css +38 -44
- package/dist/display/css/avatar.css +152 -123
- package/dist/display/css/badge.css +50 -27
- package/dist/display/css/card.css +51 -71
- package/dist/display/css/carousel.css +25 -5
- package/dist/display/css/chat-box.css +158 -26
- package/dist/display/css/chip.css +142 -68
- package/dist/display/css/code.css +2 -6
- package/dist/display/css/collapsible.css +349 -45
- package/dist/display/css/divider.css +8 -6
- package/dist/display/css/empty.css +7 -0
- package/dist/display/css/item.css +311 -89
- package/dist/display/css/map.css +164 -0
- package/dist/display/css/section.css +78 -33
- package/dist/display/css/skeleton.css +58 -0
- package/dist/display/css/table.css +320 -189
- package/dist/form/Checkbox.svelte +11 -5
- package/dist/form/Checkbox.svelte.d.ts +2 -1
- package/dist/form/ColorField.svelte +543 -0
- package/dist/form/ColorField.svelte.d.ts +29 -0
- package/dist/form/ComboBox.svelte +24 -9
- package/dist/form/ComboBox.svelte.d.ts +2 -2
- package/dist/form/CsvField.svelte +62 -136
- package/dist/form/CsvField.svelte.d.ts +2 -2
- package/dist/form/DateField.svelte +33 -15
- package/dist/form/DateField.svelte.d.ts +2 -1
- package/dist/form/DateRange.svelte +436 -0
- package/dist/form/DateRange.svelte.d.ts +24 -0
- package/dist/form/DragDrop.svelte +348 -0
- package/dist/form/DragDrop.svelte.d.ts +32 -0
- package/dist/form/Dropzone.svelte +28 -8
- package/dist/form/Dropzone.svelte.d.ts +2 -2
- package/dist/form/Editor.svelte +626 -0
- package/dist/form/Editor.svelte.d.ts +50 -0
- package/dist/form/ImageCropper.svelte +291 -61
- package/dist/form/ImageCropper.svelte.d.ts +15 -1
- package/dist/form/PasswordField.svelte +120 -75
- package/dist/form/PasswordField.svelte.d.ts +9 -10
- package/dist/form/PhoneField.svelte +34 -16
- package/dist/form/PhoneField.svelte.d.ts +4 -3
- package/dist/form/PinField.svelte +39 -31
- package/dist/form/PinField.svelte.d.ts +3 -3
- package/dist/form/RadioGroup.svelte +4 -4
- package/dist/form/RadioGroup.svelte.d.ts +1 -1
- package/dist/form/Select.svelte +20 -19
- package/dist/form/Select.svelte.d.ts +2 -2
- package/dist/form/Slider.svelte +4 -2
- package/dist/form/Slider.svelte.d.ts +1 -0
- package/dist/form/TextField.svelte +16 -7
- package/dist/form/TextField.svelte.d.ts +2 -2
- package/dist/form/Textarea.svelte +15 -6
- package/dist/form/Textarea.svelte.d.ts +2 -2
- package/dist/form/Toggle.svelte +11 -1
- package/dist/form/Toggle.svelte.d.ts +2 -0
- package/dist/form/css/checkbox.css +18 -2
- package/dist/form/css/color-field.css +141 -0
- package/dist/form/css/control.css +193 -82
- package/dist/form/css/csv-field.css +226 -0
- package/dist/form/css/date-range.css +122 -0
- package/dist/form/css/date.css +24 -2
- package/dist/form/css/drag-drop.css +271 -0
- package/dist/form/css/dropzone.css +153 -34
- package/dist/form/css/editor.css +367 -0
- package/dist/form/css/field.css +4 -0
- package/dist/form/css/image-cropper.css +223 -22
- package/dist/form/css/password.css +1 -1
- package/dist/form/css/radio-group.css +1 -1
- package/dist/form/css/select.css +2 -2
- package/dist/form/css/slider.css +1 -0
- package/dist/form/css/textarea.css +178 -75
- package/dist/form/css/toggle.css +11 -2
- package/dist/hooks/use-table.svelte.d.ts +1 -0
- package/dist/hooks/use-table.svelte.js +6 -0
- package/dist/icons/index.d.ts +38 -2
- package/dist/icons/index.js +40 -4
- package/dist/index.css +16 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.js +10 -2
- package/dist/layout/AppBar.svelte +22 -14
- package/dist/layout/AppBar.svelte.d.ts +2 -1
- package/dist/layout/Footer.svelte +19 -11
- package/dist/layout/Footer.svelte.d.ts +2 -1
- package/dist/layout/Provider.svelte +27 -4
- package/dist/layout/Provider.svelte.d.ts +3 -1
- package/dist/layout/css/app-bar.css +63 -66
- package/dist/layout/css/footer.css +62 -65
- package/dist/navigation/BottomNav.svelte +41 -13
- package/dist/navigation/FooterGroup.svelte +1 -1
- package/dist/navigation/NavMenu.svelte +47 -23
- package/dist/navigation/NavMenu.svelte.d.ts +29 -0
- package/dist/navigation/Pagination.svelte +158 -0
- package/dist/navigation/Pagination.svelte.d.ts +18 -0
- package/dist/navigation/SideNav.svelte +30 -25
- package/dist/navigation/SideNav.svelte.d.ts +2 -3
- package/dist/navigation/Tabs.svelte +17 -7
- package/dist/navigation/Tabs.svelte.d.ts +2 -2
- package/dist/navigation/css/bottom-nav.css +279 -257
- package/dist/navigation/css/footer-group.css +1 -1
- package/dist/navigation/css/footer-nav.css +1 -1
- package/dist/navigation/css/nav-menu.css +332 -106
- package/dist/navigation/css/pagination.css +74 -0
- package/dist/navigation/css/side-nav.css +515 -75
- package/dist/navigation/css/tabs.css +246 -52
- package/dist/overlay/Command.svelte +340 -0
- package/dist/overlay/Command.svelte.d.ts +24 -25
- package/dist/overlay/Drawer.svelte +49 -21
- package/dist/overlay/Drawer.svelte.d.ts +2 -2
- package/dist/overlay/Dropdown.svelte +4 -5
- package/dist/overlay/Modal.svelte +51 -16
- package/dist/overlay/Modal.svelte.d.ts +3 -3
- package/dist/overlay/Toast.svelte +41 -17
- package/dist/overlay/Toast.svelte.d.ts +1 -1
- package/dist/overlay/Tooltip.svelte +40 -26
- package/dist/overlay/Tooltip.svelte.d.ts +2 -2
- package/dist/overlay/css/command.css +80 -0
- package/dist/overlay/css/drawer.css +63 -24
- package/dist/overlay/css/dropdown.css +1 -1
- package/dist/overlay/css/hovercard.css +1 -1
- package/dist/overlay/css/modal.css +27 -27
- package/dist/overlay/css/toast.css +17 -29
- package/dist/overlay/css/tooltip.css +83 -66
- package/dist/stores/theme.svelte.js +26 -1
- package/dist/stores/toast.svelte.d.ts +4 -4
- package/dist/stores/toast.svelte.js +2 -2
- package/package.json +1 -1
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
type Props = {
|
|
48
48
|
data?: CandleData[];
|
|
49
49
|
margin?: Margin;
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
hideVolume?: boolean;
|
|
51
|
+
hideGrid?: boolean;
|
|
52
52
|
candleWidth?: number;
|
|
53
53
|
bullishColor?: Color;
|
|
54
54
|
bearishColor?: Color;
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
loading?: boolean;
|
|
57
57
|
empty?: boolean;
|
|
58
58
|
emptyText?: string;
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
disableZoom?: boolean;
|
|
60
|
+
disableScroll?: boolean;
|
|
61
61
|
initialVisibleCandles?: number;
|
|
62
62
|
minVisibleCandles?: number;
|
|
63
63
|
maxVisibleCandles?: number;
|
|
@@ -67,11 +67,11 @@
|
|
|
67
67
|
theme?: Theme;
|
|
68
68
|
candleStyle?: CandleStyle;
|
|
69
69
|
scaleType?: ScaleType;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
hideCrosshair?: boolean;
|
|
71
|
+
hideYAxisLabels?: boolean;
|
|
72
|
+
hideXAxisLabels?: boolean;
|
|
73
73
|
gridStyle?: GridStyle;
|
|
74
|
-
|
|
74
|
+
hideLastPrice?: boolean;
|
|
75
75
|
indicators?: Indicator[];
|
|
76
76
|
onClick?: (candle: CandleData, index: number) => void;
|
|
77
77
|
onRangeChange?: (start: number, end: number) => void;
|
|
@@ -84,8 +84,8 @@
|
|
|
84
84
|
let {
|
|
85
85
|
data = [],
|
|
86
86
|
margin = { top: 20, right: 60, bottom: 40, left: 60 },
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
hideVolume,
|
|
88
|
+
hideGrid,
|
|
89
89
|
candleWidth = 8,
|
|
90
90
|
bullishColor = 'success' as Color,
|
|
91
91
|
bearishColor = 'danger' as Color,
|
|
@@ -93,8 +93,8 @@
|
|
|
93
93
|
loading,
|
|
94
94
|
empty,
|
|
95
95
|
emptyText = 'No data available',
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
disableZoom,
|
|
97
|
+
disableScroll,
|
|
98
98
|
initialVisibleCandles = 50,
|
|
99
99
|
minVisibleCandles = 10,
|
|
100
100
|
maxVisibleCandles = 200,
|
|
@@ -104,11 +104,11 @@
|
|
|
104
104
|
theme = 'default',
|
|
105
105
|
candleStyle = 'filled',
|
|
106
106
|
scaleType = 'linear',
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
hideCrosshair,
|
|
108
|
+
hideYAxisLabels,
|
|
109
|
+
hideXAxisLabels,
|
|
110
110
|
gridStyle = 'dashed',
|
|
111
|
-
|
|
111
|
+
hideLastPrice,
|
|
112
112
|
indicators = [],
|
|
113
113
|
onClick,
|
|
114
114
|
onRangeChange,
|
|
@@ -374,9 +374,9 @@
|
|
|
374
374
|
let innerWidth = $derived(width - margin.left - margin.right);
|
|
375
375
|
let innerHeight = $derived(chartHeight - margin.top - margin.bottom);
|
|
376
376
|
|
|
377
|
-
let priceHeight = $derived(
|
|
378
|
-
let volumeHeight = $derived(
|
|
379
|
-
let volumeTop = $derived(
|
|
377
|
+
let priceHeight = $derived(!hideVolume ? innerHeight * 0.75 : innerHeight);
|
|
378
|
+
let volumeHeight = $derived(!hideVolume ? innerHeight * 0.2 : 0);
|
|
379
|
+
let volumeTop = $derived(!hideVolume ? priceHeight + 10 : 0);
|
|
380
380
|
|
|
381
381
|
let priceDomain = $derived.by((): [number, number] => {
|
|
382
382
|
if (processedData.length === 0) return [0, 1];
|
|
@@ -399,7 +399,7 @@
|
|
|
399
399
|
});
|
|
400
400
|
|
|
401
401
|
let volumeDomain = $derived.by((): [number, number] => {
|
|
402
|
-
if (
|
|
402
|
+
if (hideVolume || processedData.length === 0) return [0, 1];
|
|
403
403
|
const volumes = processedData.map((d) => d.volume || 0);
|
|
404
404
|
return [0, Math.max(...volumes) * 1.2];
|
|
405
405
|
});
|
|
@@ -419,7 +419,7 @@
|
|
|
419
419
|
);
|
|
420
420
|
|
|
421
421
|
let volumeScale = $derived(
|
|
422
|
-
|
|
422
|
+
!hideVolume ? createLinearScale(volumeDomain, [volumeHeight, 0]) : null
|
|
423
423
|
);
|
|
424
424
|
|
|
425
425
|
let grid = $derived(createGridLines(priceHeight));
|
|
@@ -437,11 +437,11 @@
|
|
|
437
437
|
});
|
|
438
438
|
}
|
|
439
439
|
|
|
440
|
-
let lastCandle = $derived(
|
|
441
|
-
processedData.length > 0 ? processedData[processedData.length - 1] : null
|
|
442
|
-
);
|
|
440
|
+
let lastCandle = $derived(data.length > 0 ? data[data.length - 1] : null);
|
|
443
441
|
let lastPrice = $derived(lastCandle?.close || 0);
|
|
442
|
+
let isLastPriceVisible = $derived(lastPrice >= priceDomain[0] && lastPrice <= priceDomain[1]);
|
|
444
443
|
let lastPriceY = $derived(priceScale(lastPrice));
|
|
444
|
+
let lastPriceYClamped = $derived(Math.max(10, Math.min(priceHeight - 10, lastPriceY)));
|
|
445
445
|
|
|
446
446
|
function getGridDashArray(): string {
|
|
447
447
|
switch (gridStyle) {
|
|
@@ -456,7 +456,7 @@
|
|
|
456
456
|
}
|
|
457
457
|
|
|
458
458
|
function handleWheel(event: WheelEvent): void {
|
|
459
|
-
if (
|
|
459
|
+
if (disableZoom || data.length === 0) return;
|
|
460
460
|
|
|
461
461
|
if (!event.ctrlKey && !event.metaKey) return;
|
|
462
462
|
|
|
@@ -480,14 +480,14 @@
|
|
|
480
480
|
}
|
|
481
481
|
|
|
482
482
|
function handleMouseDown(event: MouseEvent): void {
|
|
483
|
-
if (
|
|
483
|
+
if (disableScroll || data.length === 0) return;
|
|
484
484
|
isDragging = true;
|
|
485
485
|
dragStartX = event.clientX;
|
|
486
486
|
dragStartOffset = scrollOffset;
|
|
487
487
|
}
|
|
488
488
|
|
|
489
489
|
function handleMouseMove(event: MouseEvent): void {
|
|
490
|
-
if (isDragging &&
|
|
490
|
+
if (isDragging && !disableScroll) {
|
|
491
491
|
const deltaX = event.clientX - dragStartX;
|
|
492
492
|
const candlesPerPixel = visibleCandles / innerWidth;
|
|
493
493
|
const candlesDelta = Math.round(-deltaX * candlesPerPixel);
|
|
@@ -498,7 +498,7 @@
|
|
|
498
498
|
);
|
|
499
499
|
}
|
|
500
500
|
|
|
501
|
-
if (
|
|
501
|
+
if (!hideCrosshair && svgEl && containerEl) {
|
|
502
502
|
const rect = svgEl.getBoundingClientRect();
|
|
503
503
|
const x = event.clientX - rect.left - margin.left;
|
|
504
504
|
const y = event.clientY - rect.top - margin.top;
|
|
@@ -533,13 +533,13 @@
|
|
|
533
533
|
let touchStartOffset = $state(0);
|
|
534
534
|
|
|
535
535
|
function handleTouchStart(event: TouchEvent): void {
|
|
536
|
-
if (
|
|
536
|
+
if (disableScroll || data.length === 0) return;
|
|
537
537
|
touchStartX = event.touches[0].clientX;
|
|
538
538
|
touchStartOffset = scrollOffset;
|
|
539
539
|
}
|
|
540
540
|
|
|
541
541
|
function handleTouchMove(event: TouchEvent): void {
|
|
542
|
-
if (
|
|
542
|
+
if (disableScroll || data.length === 0) return;
|
|
543
543
|
event.preventDefault();
|
|
544
544
|
|
|
545
545
|
const deltaX = event.touches[0].clientX - touchStartX;
|
|
@@ -751,7 +751,7 @@
|
|
|
751
751
|
ondblclick={handleDoubleClick}
|
|
752
752
|
>
|
|
753
753
|
<g transform="translate({margin.left}, {margin.top})">
|
|
754
|
-
{#if
|
|
754
|
+
{#if !hideGrid && gridStyle !== 'none'}
|
|
755
755
|
<g class="candlestick-chart-grid">
|
|
756
756
|
{#each grid as line}
|
|
757
757
|
<line
|
|
@@ -776,7 +776,7 @@
|
|
|
776
776
|
/>
|
|
777
777
|
<line x1={0} y1={0} x2={0} y2={priceHeight} class="candlestick-chart-axis-line" />
|
|
778
778
|
|
|
779
|
-
{#if
|
|
779
|
+
{#if !hideYAxisLabels && !hideGrid}
|
|
780
780
|
{#each grid as line}
|
|
781
781
|
<text
|
|
782
782
|
x={-10}
|
|
@@ -790,7 +790,7 @@
|
|
|
790
790
|
{/each}
|
|
791
791
|
{/if}
|
|
792
792
|
|
|
793
|
-
{#if
|
|
793
|
+
{#if !hideXAxisLabels}
|
|
794
794
|
{#each processedData.filter((_, i) => i % Math.ceil(processedData.length / 6) === 0) as d}
|
|
795
795
|
<text
|
|
796
796
|
x={xScale(d.date) + xScale.bandwidth() / 2}
|
|
@@ -804,7 +804,7 @@
|
|
|
804
804
|
{/each}
|
|
805
805
|
{/if}
|
|
806
806
|
|
|
807
|
-
{#if
|
|
807
|
+
{#if !hideVolume}
|
|
808
808
|
<line
|
|
809
809
|
x1={0}
|
|
810
810
|
y1={volumeTop + volumeHeight}
|
|
@@ -864,6 +864,7 @@
|
|
|
864
864
|
y={bodyTop}
|
|
865
865
|
width={candleWidth}
|
|
866
866
|
height={Math.max(bodyHeight, 1)}
|
|
867
|
+
rx={2}
|
|
867
868
|
class={cn(
|
|
868
869
|
'candlestick-chart-candle',
|
|
869
870
|
`is-${colorClass}`,
|
|
@@ -872,7 +873,7 @@
|
|
|
872
873
|
/>
|
|
873
874
|
</g>
|
|
874
875
|
|
|
875
|
-
{#if
|
|
876
|
+
{#if !hideVolume && d.volume && volumeScale}
|
|
876
877
|
{@const volumeBarHeight = volumeScale(volumeDomain[1] - d.volume)}
|
|
877
878
|
<rect
|
|
878
879
|
x={xScale(d.date)}
|
|
@@ -922,20 +923,22 @@
|
|
|
922
923
|
{/if}
|
|
923
924
|
{/each}
|
|
924
925
|
|
|
925
|
-
{#if
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
926
|
+
{#if !hideLastPrice && lastCandle}
|
|
927
|
+
{#if isLastPriceVisible}
|
|
928
|
+
<line
|
|
929
|
+
x1={0}
|
|
930
|
+
y1={lastPriceY}
|
|
931
|
+
x2={innerWidth}
|
|
932
|
+
y2={lastPriceY}
|
|
933
|
+
class="candlestick-chart-last-price is-{lastCandle.close >= lastCandle.open
|
|
934
|
+
? bullishColor
|
|
935
|
+
: bearishColor}"
|
|
936
|
+
stroke-dasharray="4, 2"
|
|
937
|
+
/>
|
|
938
|
+
{/if}
|
|
936
939
|
<rect
|
|
937
940
|
x={innerWidth + 2}
|
|
938
|
-
y={
|
|
941
|
+
y={lastPriceYClamped - 10}
|
|
939
942
|
width={50}
|
|
940
943
|
height={20}
|
|
941
944
|
rx="3"
|
|
@@ -945,7 +948,7 @@
|
|
|
945
948
|
/>
|
|
946
949
|
<text
|
|
947
950
|
x={innerWidth + 27}
|
|
948
|
-
y={
|
|
951
|
+
y={lastPriceYClamped + 4}
|
|
949
952
|
class="candlestick-chart-last-price-label"
|
|
950
953
|
text-anchor="middle"
|
|
951
954
|
font-size="10"
|
|
@@ -954,7 +957,7 @@
|
|
|
954
957
|
</text>
|
|
955
958
|
{/if}
|
|
956
959
|
|
|
957
|
-
{#if
|
|
960
|
+
{#if !hideCrosshair && isCrosshairActive && crosshairPosition}
|
|
958
961
|
<line
|
|
959
962
|
x1={0}
|
|
960
963
|
y1={crosshairPosition.y}
|
|
@@ -1058,7 +1061,7 @@
|
|
|
1058
1061
|
: ''}{tooltipChange.percent.toFixed(2)}%)
|
|
1059
1062
|
</span>
|
|
1060
1063
|
</div>
|
|
1061
|
-
{#if
|
|
1064
|
+
{#if !hideVolume && tooltipData.volume}
|
|
1062
1065
|
<div class="candlestick-chart-tooltip-row candlestick-chart-tooltip-volume">
|
|
1063
1066
|
<span class="candlestick-chart-tooltip-label">Volume:</span>
|
|
1064
1067
|
<span class="candlestick-chart-tooltip-value"
|
|
@@ -36,8 +36,8 @@ type Margin = {
|
|
|
36
36
|
type Props = {
|
|
37
37
|
data?: CandleData[];
|
|
38
38
|
margin?: Margin;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
hideVolume?: boolean;
|
|
40
|
+
hideGrid?: boolean;
|
|
41
41
|
candleWidth?: number;
|
|
42
42
|
bullishColor?: Color;
|
|
43
43
|
bearishColor?: Color;
|
|
@@ -45,8 +45,8 @@ type Props = {
|
|
|
45
45
|
loading?: boolean;
|
|
46
46
|
empty?: boolean;
|
|
47
47
|
emptyText?: string;
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
disableZoom?: boolean;
|
|
49
|
+
disableScroll?: boolean;
|
|
50
50
|
initialVisibleCandles?: number;
|
|
51
51
|
minVisibleCandles?: number;
|
|
52
52
|
maxVisibleCandles?: number;
|
|
@@ -56,11 +56,11 @@ type Props = {
|
|
|
56
56
|
theme?: Theme;
|
|
57
57
|
candleStyle?: CandleStyle;
|
|
58
58
|
scaleType?: ScaleType;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
hideCrosshair?: boolean;
|
|
60
|
+
hideYAxisLabels?: boolean;
|
|
61
|
+
hideXAxisLabels?: boolean;
|
|
62
62
|
gridStyle?: GridStyle;
|
|
63
|
-
|
|
63
|
+
hideLastPrice?: boolean;
|
|
64
64
|
indicators?: Indicator[];
|
|
65
65
|
onClick?: (candle: CandleData, index: number) => void;
|
|
66
66
|
onRangeChange?: (start: number, end: number) => void;
|